LDAP: support HDB backend just as the BDB one
[matthijs/upstream/backupninja.git] / handlers / ldap.helper.in
index 5ccbe7e860726e3ab822270d24b3cb332ab828ef..a00c40ae6734e7abc77da377d5ebd1bb8e88e24a 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
@@ -53,19 +61,24 @@ done
 
 ldap_wizard() {
    bdb=no
+   hdb=no
    ldbm=no
    for backend in `grep -e "^backend" /etc/ldap/slapd.conf | @AWK@ '{print $2}'`; do
-      if [ "$backend" == "bdb" -a "$bdb" == "no" ]; then
+      if [ "$backend" == "bdb" ]; then
          bdb=yes
-      elif [ "$backend" == "ldbm" -a "$ldbm" == "no" ]; then
+      elif [ "$backend" == "hdb" ]; then
+         hdb=yes
+      elif [ "$backend" == "ldbm" ]; then
          ldbm=yes
       fi
    done    
 
-   if [ "$bdb" == "yes" -a "$ldbm" == "no" ]; then
-     msgBox "ldap action wizard" "It looks like the backend in your slapd.conf is set to BDB. If this is not the case, exit this wizard! From this point on, we will assume BDB backend, which might have disasterious consequences if this is incorrect."
-     _RESTART=no
-     ldap_create_file
+   if [ "$bdb" == "yes" -o "$hdb" == "yes" ]; then
+      if [ "$ldbm" == "no" ]; then
+         msgBox "ldap action wizard" "It looks like the backend in your slapd.conf is set to BDB or HDB. If this is not the case, exit this wizard! From this point on, we will assume BDB or HDB backend, which might have disasterious consequences if this is incorrect."
+         _RESTART=no
+         ldap_create_file
+      fi
    elif [ "$ldbm" == "yes" ]; then
      msgBox "ldap action wizard" "It looks like the backend in your slapd.conf is set to LDBM. Because of this, you will have less options (because it is not safe to use slapcat while slapd is running LDBM)." 
      _RESTART=yes
@@ -75,4 +88,3 @@ ldap_wizard() {
      return
    fi
 }
-