fi
}
-# by ico, Wed, 20 Apr 2005 21:09:54 +0200
+# by ico, Wed, 07 Dec 2011 13:30:02 +0100
cp_get_ldap_suffix() {
[ "$CP_SCRIPT_DEBUG" ] && set -vx
# but preserving initial state so it could be used afterwards
CP_ECHO_RETURN=""
- if [ ! -f /etc/ldap/slapd.conf ]; then
- echo "cp_get_ldap_suffix: /etc/ldap/slapd.conf: No such file" >&2
- return 2
+
+ if [ -d /etc/ldap/slapd.d/ ]; then
+ RET="`grep -r olcSuffix /etc/ldap/slapd.d/|awk '{print $2}'`"
+ elif [ -f /etc/ldap/slapd.conf ]; then
+ RET="`awk '/^suffix/ { exit }
+ END { gsub(/"/, "", $2); print $2 }' \
+ < /etc/ldap/slapd.conf`"
+ else
+ if [ ! -d /etc/ldap/slapd.d/ ]; then
+ echo "cp_get_ldap_suffix: /etc/ldap/slapd.d/: No such directory" >&2
+ return 2
+ elif [ ! -f /etc/ldap/slapd.conf ]; then
+ echo "cp_get_ldap_suffix: /etc/ldap/slapd.conf: No such file" >&2
+ return 2
+ fi
fi
-
- RET="`awk '/^suffix/ { exit }
- END { gsub(/"/, "", $2); print $2 }' \
- < /etc/ldap/slapd.conf`"
+
if [ "`echo $RET | sed 's/,/ /g' | wc -w`" -gt 2 ]; then
RET=""
- echo "cp_get_ldap_suffix: Invalid LDAP suffix in /etc/ldap/slapd.conf" >&2
+ echo "cp_get_ldap_suffix: Invalid LDAP suffix in /etc/ldap/slapd.d/" >&2
return 2
fi
- [ -z "$RET" ] && echo "cp_get_ldap_suffix: No LDAP suffix in /etc/ldap/slapd.conf" >&2
+ [ -z "$RET" ] && echo "cp_get_ldap_suffix: No LDAP suffix in /etc/ldap/slapd.d/ or /etc/ldap/slapd.conf" >&2
[ -z "$echo_return" ] || echo $RET
CP_ECHO_RETURN="$echo_return"
}
# but preserving initial state so it could be used afterwards
CP_ECHO_RETURN=""
- if [ ! -f /etc/ldap/slapd.conf ]; then
- echo "cp_get_ldap_realm: /etc/ldap/slapd.conf: No such file" >&2
+ if [ ! -d /etc/ldap/slapd.d/ ]; then
+ echo "cp_get_ldap_suffix: /etc/ldap/slapd.d/: No such directory" >&2
+ return 2
+ elif [ ! -f /etc/ldap/slapd.conf ]; then
+ echo "cp_get_ldap_suffix: /etc/ldap/slapd.conf: No such file" >&2
return 2
fi
cp_get_ldap_suffix || true
RET="`echo $RET | awk -F, '{print $1}' | awk -F= '{print $2}'`"
- [ -z "$RET" ] && echo "cp_get_ldap_realm: No LDAP REALM in /etc/ldap/slapd.conf" >&2
+ [ -z "$RET" ] && echo "cp_get_ldap_realm: No LDAP REALM in /etc/ldap/slapd.d/" >&2
+ [ -z "$echo_return" ] || echo $RET
+ CP_ECHO_RETURN="$echo_return"
}
# if fqdn is name.dom3.dom2.dom1.hr, check if this host is MX for