aboutsummaryrefslogtreecommitdiff
path: root/handlers/ldap
diff options
context:
space:
mode:
Diffstat (limited to 'handlers/ldap')
-rw-r--r--handlers/ldap20
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"