X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;ds=sidebyside;f=functions.sh;h=9b549f5430486ec4ff8c04bcf302ad541799deb5;hb=c36c7532f58f6554cce86a585ed83e92784699ff;hp=96d132f2f685aab8044f4f64d70f0942a0101472;hpb=5a800b1f6c62a25cc219cf11942ebcc9bbd07e3d;p=carnet-tools-cn.git diff --git a/functions.sh b/functions.sh index 96d132f..9b549f5 100644 --- a/functions.sh +++ b/functions.sh @@ -448,25 +448,31 @@ cp_get_ldap_suffix() { # but preserving initial state so it could be used afterwards CP_ECHO_RETURN="" - if [ ! -d /etc/ldap/slapd.d/ ]; then - echo "cp_get_ldap_suffix: /etc/ldap/slapd.d/: No such directory" >&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`" - RET="`grep -r olcSuffix /etc/ldap/slapd.d/|awk '{print $2}'`" if [ "`echo $RET | sed 's/,/ /g' | wc -w`" -gt 2 ]; then RET="" 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.d/" >&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" } @@ -481,8 +487,11 @@ cp_get_ldap_realm() { # but preserving initial state so it could be used afterwards CP_ECHO_RETURN="" - if [ ! -f /etc/ldap/slapd.d/ ]; then - echo "cp_get_ldap_realm: /etc/ldap/slapd.d/: No such directory" >&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