diff options
Diffstat (limited to 'handlers/ldap')
| -rw-r--r-- | handlers/ldap | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/handlers/ldap b/handlers/ldap index ee46831..ba3d78a 100644 --- a/handlers/ldap +++ b/handlers/ldap @@ -12,6 +12,14 @@ getconf restart no  getconf method ldapsearch  getconf passwordfile  getconf binddn +getconf ldaphost +getconf tls yes + +if [ $tls = 'yes' ]  +   URLBASE="ldaps" +else +   URLBASE="ldap" +fi  status="ok" @@ -54,9 +62,17 @@ if [ "$ldif" == "yes" ]; then           debug "$execstr"        else           if [ "$compress" == "yes" ]; then -            execstr="$LDAPSEARCH -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile | $GZIP" +            if [ -n "$ldaphost" ] +               execstr="$LDAPSEARCH -H $URLBASE://$ldaphost -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile | $GZIP" +            else +               execstr="$LDAPSEARCH -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile | $GZIP" +            fi           else -            execstr="$LDAPSEARCH -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile" +            if [ -n "$ldaphost" ] +               execstr="$LDAPSEARCH -H $URLBASE://$ldaphost -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile" +            else +               execstr="$LDAPSEARCH -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile" +            fi           fi           [ -f "$passwordfile" ] || fatal "Password file $passwordfile not found. When method is set to ldapsearch, you must also specify a password file."           debug "$execstr"  | 
