From 3fac5cd13ff58cb37fe79aa774a4c1b70756e749 Mon Sep 17 00:00:00 2001 From: Timo Sirainen <timo.sirainen@open-xchange.com> Date: Fri, 13 Dec 2024 16:12:27 +0200 Subject: [PATCH] lib-sieve: storage: ldap: Drop support for ldap_hosts --- configure.ac | 9 ++++--- src/lib-sieve/storage/ldap/sieve-ldap-db.c | 24 ++++--------------- .../ldap/sieve-ldap-storage-settings.c | 2 -- .../ldap/sieve-ldap-storage-settings.h | 1 - .../storage/ldap/sieve-ldap-storage.c | 2 +- 5 files changed, 11 insertions(+), 27 deletions(-) diff --git a/configure.ac b/configure.ac index ff074b608..f7e262fb5 100644 --- a/configure.ac +++ b/configure.ac @@ -107,9 +107,12 @@ have_ldap=no if test $want_ldap != no; then AC_CHECK_LIB(ldap, ldap_init, [ AC_CHECK_HEADER(ldap.h, [ - AC_CHECK_LIB(ldap, ldap_initialize, [ - AC_DEFINE(LDAP_HAVE_INITIALIZE,, [Define if you have ldap_initialize]) - ]) + AC_CHECK_LIB(ldap, ldap_initialize, :, [ + AC_MSG_ERROR([ + cannot build with LDAP support: function ldap_initialize() not found + (OpenLDAP >= 2.4 required) + ]) + ], $LDAP_LIBS) AC_CHECK_LIB(ldap, ldap_start_tls_s, [ AC_DEFINE(LDAP_HAVE_START_TLS_S,, [Define if you have ldap_start_tls_s]) ]) diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-db.c b/src/lib-sieve/storage/ldap/sieve-ldap-db.c index 1e783c362..9c412f81a 100644 --- a/src/lib-sieve/storage/ldap/sieve-ldap-db.c +++ b/src/lib-sieve/storage/ldap/sieve-ldap-db.c @@ -260,9 +260,7 @@ static int db_ldap_connect_finish(struct ldap_connection *conn, int ret) if (ret == LDAP_SERVER_DOWN) { e_error(storage->event, "db: " - "Can't connect to server: %s", - *set->uris != '\0' ? - set->uris : set->hosts); + "Can't connect to server: %s", set->uris); return -1; } if (ret != LDAP_SUCCESS) { @@ -754,24 +752,10 @@ int sieve_ldap_db_connect(struct ldap_connection *conn) i_gettimeofday(&start); i_assert(conn->pending_count == 0); if (conn->ld == NULL) { - if (*set->uris != '\0') { -#ifdef LDAP_HAVE_INITIALIZE - if (ldap_initialize(&conn->ld, - set->uris) != LDAP_SUCCESS) - conn->ld = NULL; -#else - e_error(storage->event, "db: " - "Your LDAP library doesn't support " - "'uris' setting, use 'hosts' instead."); - return -1; -#endif - } else - conn->ld = ldap_init(set->hosts, LDAP_PORT); - - if (conn->ld == NULL) { + if (ldap_initialize(&conn->ld, set->uris) != LDAP_SUCCESS) { e_error(storage->event, "db: " - "ldap_init() failed with hosts: %s", - set->hosts); + "ldap_init() failed with uris: %s", + set->uris); return -1; } diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.c b/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.c index 7324eb1d4..f80dcd66e 100644 --- a/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.c +++ b/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.c @@ -25,7 +25,6 @@ static bool sieve_ldap_settings_check(void *_set, pool_t pool, const char **error_r); static const struct setting_define sieve_ldap_setting_defines[] = { - DEF(STR, hosts), DEF(STR, uris), DEF(STR, dn), DEF(STR, dnpass), @@ -51,7 +50,6 @@ static const struct setting_define sieve_ldap_setting_defines[] = { }; const struct sieve_ldap_settings sieve_ldap_default_settings = { - .hosts = "", .uris = "", .dn = "", .dnpass = "", diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.h b/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.h index 420a40556..21038342e 100644 --- a/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.h +++ b/src/lib-sieve/storage/ldap/sieve-ldap-storage-settings.h @@ -4,7 +4,6 @@ struct sieve_ldap_settings { pool_t pool; - const char *hosts; const char *uris; const char *dn; const char *dnpass; diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-storage.c b/src/lib-sieve/storage/ldap/sieve-ldap-storage.c index 38edfef3a..3777448d0 100644 --- a/src/lib-sieve/storage/ldap/sieve-ldap-storage.c +++ b/src/lib-sieve/storage/ldap/sieve-ldap-storage.c @@ -60,7 +60,7 @@ sieve_ldap_storage_init(struct sieve_storage *storage) sieve_storage_set_critical(storage, "%s", error); return -1; } - if (*ldap_set->uris == '\0' && *ldap_set->hosts == '\0') { + if (*ldap_set->uris == '\0') { sieve_storage_set_critical(storage, "sieve_script %s { ldap_uris / ldap_hosts } not set", storage->name); -- GitLab