-config_query_option OPENLDAP_SLAPD 'Build SLAPD, the standalone LDAP
daemon?' y \
- '--enable-slapd --enable-modules' '--disable-slapd' &&
-
-if echo $OPENLDAP_SLAPD | grep -q enable; then
- config_query_option SLAPD_DNSSRV 'Enable DNS backend? (LDAP server
locator)' n \
- '--enable-dnssrv=mod' '--disable-dnssrv' &&
- config_query_option SLAPD_META 'Enable metadirectory backend?' n \
- '--enable-meta=mod' '--disable-meta' &&
- config_query_option SLAPD_MONITOR 'Enable LDAP server monitor backend?' y \
- '--enable-monitor=mod' '--disable-monitor' &&
- config_query_option SLAPD_SOCK 'Enable sock backend?' n \
- '--enable-sock=mod' '--disable-sock' &&
- config_query_option SLAPD_RELAY 'Enable relay backend?' n \
- '--enable-relay=mod' '--disable-relay' &&
- config_query_option SLAPD_ACL 'Enable EXPERIMENTAL loadable ACL?' n \
- '--enable-dynacl' '--disable-dynacl' &&
- if echo $SLAPD_ACL|grep -q enable; then
- config_query_option SLAPD_ACI 'Enable per-object access control' n \
- '--enable-aci' '--disable-aci'
- fi &&
- config_query_option SLAPD_CLEAR 'Enable cleartext passwords?' y \
- '--enable-cleartext' '--disable-cleartext' &&
- config_query_option SLAPD_CRYPT 'Enable crypt passwords?' n \
- '--enable-crypt' '--disable-crypt' &&
- config_query_option SLAPD_REV 'Enable reverse lookup of client hostnames?'
n \
- '--enable-rlookups' '--disable-rlookups'
-fi &&
+config_query_option OPENLDAP_OPTS "Enable IPv6 support?" y \
+ "--enable-ipv6" \
+ "--disable-ipv6" &&
-config_query OPENLDAP_NTLM "Enable NTLM API support (needed for Evolution
Exchange plugin)?" n &&
+config_query_option OPENLDAP_OPTS "Enable proctitle support?" y \
+ "--enable-proctitle" \
+ "--disable-proctitle" &&
+
+config_query_option OPENLDAP_OPTS "Enable debugging?" y \
+ "--enable-debug" \
+ "--disable-debug" &&
+
+config_query_option OPENLDAP_OPTS "Enable threads support (not recommended
for shell backend in SLAPD)?" y \
+ "--with-threads" \
+ "--without-threads" &&
-config_query_multi SLAPD_OVERLAYS \
- "which overlays do you want supported?" \
- none all \
- accesslog auditlog collect constraint dds deref dyngroup \
- dynlist memberof ppolicy proxycache refint retcode rwm \
- seqmod sssvlv syncprov translucent unique valsort
-
-if list_find "$SLAPD_OVERLAYS" "all"; then
- SLAPD_OVERLAYS="all"
-elif list_find "$SLAPD_OVERLAYS" "none"; then
- SLAPD_OVERLAYS="none"
+if list_find "$OPENLDAP_OPTS" "--with-threads"; then
+ config_query_option OPENLDAP_OPTS "Enable implicitly yielding select?" y \
+ "--with-yielding-select=auto" \
+ "--without-yielding-select"
fi &&
-if echo $OPENLDAP_SLURPD |grep -q enable ; then
- if list_find "$SLAPD_OVERLAYS" "syncprov"; then
- message 'slurpd has been replaced by the syncprov overlay'
+config_query_list OPENLDAP_TLS "Which backend do you want for TLS/SSL
support?" \
+ none \
+ openssl \
+ gnutls \
+ moznss &&
+
+# backporting legacy options
+for o in OPENLDAP_SLAPD OPENLDAP_SLURPD SLAPD_DNSSRV SLAPD_META
SLAPD_MONITOR \
+ SLAPD_SOCK SLAPD_RELAY SLAPD_ACL SLAPD_ACI SLAPD_CLEAR SLAPD_CRYPT \
+ SLAPD_REV; do
+ if [[ -n ${!o} ]]; then
+ list_add "OPENLDAP_OPTS" "${!o}"
+ persistent_remove ${o}
+ fi
+done &&
+
+config_query_option OPENLDAP_OPTS 'Build SLAPD, the standalone LDAP daemon
(client-only otherwise)?' y \
+ '--enable-slapd --enable-modules' \
+ '--disable-slapd' &&
+
+if list_find "$OPENLDAP_OPTS" "--enable-slapd"; then
+ config_query_option OPENLDAP_OPTS 'Enable DNS backend (LDAP server
locator)?' n \
+ '--enable-dnssrv=mod' \
+ '--disable-dnssrv' &&
+
+ config_query_option OPENLDAP_OPTS 'Enable Memory-Mapped database backend?'
y \
+ '--enable-mdb=mod' \
+ '--disable-mdb' &&
+
+ config_query_option OPENLDAP_OPTS 'Enable LDAP backend?' n \
+ '--enable-ldap=mod' \
+ '--disable-ldap' &&
+
+ if list_find "$OPENLDAP_OPTS" "--enable-ldap=mod"; then
+ config_query_option OPENLDAP_OPTS 'Enable metadirectory backend?' n \
+ '--enable-meta=mod' \
+ '--disable-meta'
+ else
+ list_add "OPENLDAP_OPTS" "--disable-meta"
+ fi &&
+
+ config_query_option OPENLDAP_OPTS 'Enable LDAP server monitor backend?' y \
+ '--enable-monitor=mod' \
+ '--disable-monitor' &&
+
+ config_query_option OPENLDAP_OPTS 'Enable sock backend?' n \
+ '--enable-sock=mod' \
+ '--disable-sock' &&
+
+ config_query_option OPENLDAP_OPTS 'Enable relay backend?' y \
+ '--enable-relay=mod' \
+ '--disable-relay' &&
+
+ config_query_option OPENLDAP_OPTS 'Enable null backend?' n \
+ '--enable-null=mod' \
+ '--disable-null' &&
+
+ config_query_option OPENLDAP_OPTS 'Enable run-time loadable ACL support
(experimental)?' n \
+ '--enable-dynacl' \
+ '--disable-dynacl' &&
+
+ if list_find "$OPENLDAP_OPTS" "--enable-dynacl"; then
+ config_query_option OPENLDAP_OPTS 'Enable per-object access control
(experimental)?' n \
+ '--enable-aci' \
+ '--disable-aci'
+ fi &&
+
+ if [[ $OPENLDAP_TLS != none ]]; then
+ config_query_option OPENLDAP_OPTS 'Enable LAN Manager passwords?' n \
+ '--enable-lmpasswd' \
+ '--disable-lmpasswd'
+ fi &&
+
+ config_query_option OPENLDAP_OPTS 'Enable cleartext passwords?' y \
+ '--enable-cleartext' \
+ '--disable-cleartext' &&
+
+ config_query_option OPENLDAP_OPTS "Enable crypt(3)'ed passwords?" n \
+ "--enable-crypt" \
+ "--disable-crypt" &&
+
+ config_query_option OPENLDAP_OPTS 'Enable reverse lookup of client
hostnames?' n \
+ '--enable-rlookups' \
+ '--disable-rlookups' &&
+
+ config_query_option OPENLDAP_OPTS 'Enable SLAPI support (experimental)?' n
\
+ '--enable-slapi' \
+ '--disable-slapi' &&
+
+ config_query_multi SLAPD_OVERLAYS "Which overlays do you want supported?" \
+ none \
+ all \
+ accesslog \
+ auditlog \
+ collect \
+ constraint \
+ dds \
+ deref \
+ dyngroup \
+ dynlist \
+ memberof \
+ ppolicy \
+ proxycache \
+ refint \
+ retcode \
+ rwm \
+ seqmod \
+ sssvlv \
+ syncprov \
+ translucent \
+ unique \
+ valsort &&
+
+ if list_find "$OPENLDAP_OPTS" "--enable-meta" || list_find
"$SLAPD_OVERLAYS" "rwm"; then
+ list_add "OPENLDAP_OPTS" "--enable-rewrite"
else
- message 'slurpd has been replaced by the syncprov overlay, adding it' &&
- SLAPD_OVERLAYS="${SLAPD_OVERLAYS} syncprov"
+ config_query_option OPENLDAP_OPTS 'Enable DN rewriting?' y \
+ '--enable-rewrite=auto' \
+ '--disable-rewrite'
+ fi &&
+
+ # migrating slurpd to syncprov
+ if list_find "$OPENLDAP_OPTS" "--enable-slurpd"; then
+ if list_find "$SLAPD_OVERLAYS" "syncprov"; then
+ message 'slurpd has been replaced by the syncprov overlay'
+ else
+ message 'slurpd has been replaced by the syncprov overlay, adding it'
&&
+ list_add "SLAPD_OVERLAYS" "syncprov"
+ fi &&
+
+ list_remove "OPENLDAP_OPTS" "--enable-slurpd"
fi &&
- persistent_remove OPENLDAP_SLURPD
+
+ config_query_multi OPENLDAP_MP 'Which method do you want for multiple
precision statistics?' \
+ auto \
+ bignum \
+ gmp
fi &&
+config_query OPENLDAP_NTLM "Enable NTLM API support (needed for Evolution
Exchange plugin)?" n &&
+
message "${MESSAGE_COLOR}If you care about security, check out http://timof.qipc.org/ldap/libldap.html .$DEFAULT_COLOR" &&
message "${MESSAGE_COLOR}The patch is not in the spell anymore because of
version mismatch...$DEFAULT_COLOR."
diff --git a/collab/openldap/DEPENDS b/collab/openldap/DEPENDS
index e3b7aa3..7840dd8 100755
--- a/collab/openldap/DEPENDS
+++ b/collab/openldap/DEPENDS
@@ -6,70 +6,85 @@ optional_depends SYSTEM-LOGGER \
'--disable-syslog' \
'for syslog support' &&
-optional_depends cyrus-sasl '--with-cyrus-sasl' '--without-cyrus-sasl' \
- 'for SASL authentication, if SLAPD is a backend authenticator for SASL,
say "no"' &&
+optional_depends LIBSASL \
+ '--with-cyrus-sasl' \
+ '--without-cyrus-sasl' \
+ 'for SASL authentication, if SLAPD is a backend
authenticator for SASL, say "no"' &&
-if echo $OPENLDAP_SLAPD | grep -q enable; then
- optional_depends db '--enable-bdb=mod --enable-hdb=mod' \
- '--disable-bdb --disable-hdb' \
- 'for Berkeley DB backend (recommended)' &&
+if list_find "$OPENLDAP_OPTS" "--enable-slapd"; then
+ case OPENLDAP_MP in
+ auto) OPTS="--with-mp=auto $OPTS"
+ ;;
+ bignum) depends openssl "--with-mp=bignum"
+ ;;
+ gmp) depends gmp "--with-mp=gmp"
+ ;;
+ esac &&
- optional_depends ODBC-MGR \
- '--enable-sql=mod' \
- '--disable-sql' \
- 'for SQL backend (experimental)' &&
- if [[ $(get_spell_provider $SPELL ODBC-MGR) ]]; then
- if is_depends_enabled $SPELL unixodbc; then
- depends unixodbc --with-odbc=unixodbc
- elif is_depends_enabled $SPELL libiodbc; then
- depends libiodbc --with-odbc=iodbc
- else
- message "${PROBLEM_COLOR}unknown ODBC provider selected, please update
spell${DEFAULT_COLOR}"
- fi
- fi &&
+ if is_depends_enabled $SPELL $(get_spell_provider $SPELL LIBSASL); then
+ config_query_option OPENLDAP_OPTS "Enable (Cyrus) SASL password
verification?" n \
+ "--enable-spasswd" \
+ "--disable-spasswd"
+ fi &&