X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=functions.sh;h=773e5225ba53d8162be00c17f7d10f1adc9eb683;hb=a0b0241a8a528c25da8763e783b42f43db156f6a;hp=d94cc14698cf3306b7e951561a7667c30c8ab455;hpb=1f360eda34c38dfef45ad4d76ad13ca700185176;p=carnet-tools-cn.git diff --git a/functions.sh b/functions.sh index d94cc14..773e522 100644 --- a/functions.sh +++ b/functions.sh @@ -333,8 +333,16 @@ cp_get_ldap_suffix() { return 1 fi - RET="`awk '/^suffix/{exit}END{gsub(/"/, "", $2); print $2}' /etc/ldap/slapd.conf`" - + 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 + return 2 + fi + [ -z "$RET" ] && echo "cp_get_ldap_suffix: No LDAP suffix in /etc/ldap/slapd.conf" >&2 [ -z "$echo_return" ] || echo $RET CP_ECHO_RETURN="$echo_return" @@ -354,9 +362,9 @@ cp_get_ldap_realm() { echo "cp_get_ldap_realm: /etc/ldap/slapd.conf: No such file" >&2 return 1 fi - - RET="`awk '/^suffix/{exit}END{gsub(/"/, "", $2); print $2}' \ - /etc/ldap/slapd.conf | awk -F, '{print $1}' | awk -F= '{print $2}'`" + + 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 "$echo_return" ] || echo $RET