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" |