fixup ldap SSL/TLS options, make TLS default in helper, Closes: Trac#13
authorMicah Anderson <micah@riseup.net>
Sat, 24 Nov 2007 23:23:08 +0000 (23:23 +0000)
committerMicah Anderson <micah@riseup.net>
Sat, 24 Nov 2007 23:23:08 +0000 (23:23 +0000)
AUTHORS
ChangeLog
handlers/ldap.helper.in
handlers/ldap.in

diff --git a/AUTHORS b/AUTHORS
index ea31cba9cb37782274fe3c1f741e28362b1a6a7f..71a032b78c466e19ba0dc5d02cbc0b8f0120724b 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -24,3 +24,4 @@ Jamie McClelland -- cstream patches
 ale -- ldap cleanup
 Sami Haahtinen <ressu@ressukka.net>
 Matthew Palmer -- mysql enhancements
+romain.tartiere@healthgrid.org -- ldap fixes
index 6ebf602df2d72d5e46bc867879907a2e603e2147..34589c24b45cd8883bf51c0c66502ddc1d77dea2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,8 @@ version 0.9.5 -- unreleased
           instead of on/off
         . Fixed problem that caused combination of slapcat and compress to not work
           together (Closes: Trac#29)
+        . Applied patch from romain.tartiere@healthgrid.org to fix the SSL/TLS options
+          to be correct, also set TLS to be the default over SSL (Closes: Trac#13)
        maildir:
         . Added an examples file (Closes: Trac#23)
         . Applied patch from Anarcat that fixes the cp/mkdir calls to not use GNU 
index 5ccbe7e860726e3ab822270d24b3cb332ab828ef..35b47a34e0b397f3638d9f8a5a1b78501402d778 100644 (file)
@@ -7,13 +7,17 @@ while true; do
       checkBox "ldap action wizard" "check options (slapcat OR ldapsearch)" \
          "slapcat" "export ldif using slapcat" yes \
          "ldapsearch" "export ldif using ldapsearch" no \
-         "compress" "compress the ldif output files" yes
+         "compress" "compress the ldif output files" yes \
+         "ssl" "use SSL (deprecated)" no \
+         "tls" "use TLS extended operations (RFC2246, RFC2830)" yes
       status=$?
       compress="compress = no"
       method="method = <unset>"
       restart="restart = no"
       binddn=""
       passwordfile=""
+      ssl="ssl = no"
+      tls="tls = no"
       [ $status = 1 ] && return;
       result="$REPLY"
       for opt in $result; do
@@ -33,6 +37,8 @@ while true; do
               binddn="binddn = $REPLY"
               require_packages ldap-utils
               ;;
+            '"ssl"') ssl="ssl = yes";;
+            '"tls"') tls="tls = yes";;
          esac
       done
       get_next_filename $configdirectory/30.ldap
@@ -42,6 +48,8 @@ $compress
 $restart
 $binddn
 $passwordfile
+$ssl
+$tls
 # backupdir = /var/backups/ldap
 # conf = /etc/ldap/slapd.conf
 # databases = all
index f6f87c77a46ce83eba218aa0d87c09cb29555e75..e5e21bad7a029bcf1fc96298f4095f436413e55e 100644 (file)
@@ -13,9 +13,10 @@ getconf method ldapsearch
 getconf passwordfile
 getconf binddn
 getconf ldaphost
-getconf tls yes
+getconf ssl yes
+getconf tls no
 
-if [ $tls = 'yes' ]; then
+if [ $ssl = 'yes' ]; then
    URLBASE="ldaps"
 else
    URLBASE="ldap"
@@ -56,10 +57,14 @@ if [ "$ldif" == "yes" ]; then
       if [ "$method" == "slapcat" ]; then
          execstr="$SLAPCAT -f $conf -b $dbsuffix"
       else
+         LDAPARGS=""
+         if [ "$tls" == "yes" ]; then
+            LDAPARGS="-ZZ"
+         fi
          if [ -n "$ldaphost" ]; then
-            execstr="$LDAPSEARCH -H $URLBASE://$ldaphost -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile"
+            execstr="$LDAPSEARCH $LDAPARGS -H $URLBASE://$ldaphost -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile"
          else
-            execstr="$LDAPSEARCH -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile"
+            execstr="$LDAPSEARCH -H $URLBASE://$ldaphost -x -L -b ""$dbsuffix"" -D ""$binddn"" -y $passwordfile"
          fi
          [ -f "$passwordfile" ] || fatal "Password file $passwordfile not found. When method is set to ldapsearch, you must also specify a password file."
          debug "$execstr"