]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: struct ldap_settings - Move to db-ldap-settings.[ch] [BUILD-BROKEN]
authorMarco Bettini <marco.bettini@open-xchange.com>
Tue, 12 Mar 2024 14:13:37 +0000 (14:13 +0000)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:39:59 +0000 (10:39 +0200)
(build broken until next commits)

src/auth/Makefile.am
src/auth/db-ldap-settings.c [new file with mode: 0644]
src/auth/db-ldap-settings.h [new file with mode: 0644]
src/auth/db-ldap.c
src/auth/db-ldap.h

index c4c5fb3578966cd373d254bd22224ca431dc6f53..9c4b1112d4d0a21c4710336b640ad95ecd1392cc 100644 (file)
@@ -72,7 +72,7 @@ auth_LDADD = $(auth_libs) $(LIBDOVECOT) $(AUTH_LIBS) $(BINARY_LDFLAGS) $(AUTH_LU
 auth_DEPENDENCIES = $(auth_libs) $(LIBDOVECOT_DEPS)
 auth_SOURCES = main.c
 
-ldap_sources = db-ldap.c passdb-ldap.c userdb-ldap.c
+ldap_sources = db-ldap.c db-ldap-settings.c passdb-ldap.c userdb-ldap.c
 lua_sources = db-lua.c passdb-lua.c userdb-lua.c
 
 libauth_la_DEPENDENCIES = $(LIBDOVECOT_DEPS)
@@ -155,6 +155,7 @@ headers = \
        auth-worker-connection.h \
        auth-worker-server.h \
        db-ldap.h \
+       db-ldap-settings.h \
        db-sql.h \
        db-passwd-file.h \
        db-oauth2.h \
diff --git a/src/auth/db-ldap-settings.c b/src/auth/db-ldap-settings.c
new file mode 100644 (file)
index 0000000..cdb7d3d
--- /dev/null
@@ -0,0 +1,84 @@
+/* Copyright (c) 2005-2024 Dovecot authors, see the included COPYING file */
+
+#include "lib.h"
+#include "settings.h"
+#include "db-ldap-settings.h"
+
+#undef DEF
+/*
+#define DEF(type, name) \
+       SETTING_DEFINE_STRUCT_##type("passdb_"#name, name, struct auth_passdb_settings)
+*/
+#define DEF_STR(name) DEF_STRUCT_STR(name, ldap_settings)
+#define DEF_INT(name) DEF_STRUCT_INT(name, ldap_settings)
+#define DEF_BOOL(name) DEF_STRUCT_BOOL(name, ldap_settings)
+
+static struct setting_def ldap_setting_defs[] = {
+       DEF_STR(hosts),
+       DEF_STR(uris),
+       DEF_STR(dn),
+       DEF_STR(dnpass),
+       DEF_BOOL(auth_bind),
+       DEF_STR(auth_bind_userdn),
+       DEF_BOOL(tls),
+       DEF_BOOL(sasl_bind),
+       DEF_STR(sasl_mech),
+       DEF_STR(sasl_realm),
+       DEF_STR(sasl_authz_id),
+       DEF_STR(tls_ca_cert_file),
+       DEF_STR(tls_ca_cert_dir),
+       DEF_STR(tls_cert_file),
+       DEF_STR(tls_key_file),
+       DEF_STR(tls_cipher_suite),
+       DEF_STR(tls_require_cert),
+       DEF_STR(deref),
+       DEF_STR(scope),
+       DEF_STR(base),
+       DEF_INT(ldap_version),
+       DEF_STR(debug_level),
+       DEF_STR(ldaprc_path),
+       DEF_STR(user_attrs),
+       DEF_STR(user_filter),
+       DEF_STR(pass_attrs),
+       DEF_STR(pass_filter),
+       DEF_STR(iterate_attrs),
+       DEF_STR(iterate_filter),
+       DEF_STR(default_pass_scheme),
+       DEF_BOOL(blocking),
+
+       { 0, NULL, 0 }
+};
+
+static struct ldap_settings ldap_default_settings = {
+       .hosts = NULL,
+       .uris = NULL,
+       .dn = NULL,
+       .dnpass = NULL,
+       .auth_bind = FALSE,
+       .auth_bind_userdn = NULL,
+       .tls = FALSE,
+       .sasl_bind = FALSE,
+       .sasl_mech = NULL,
+       .sasl_realm = NULL,
+       .sasl_authz_id = NULL,
+       .tls_ca_cert_file = NULL,
+       .tls_ca_cert_dir = NULL,
+       .tls_cert_file = NULL,
+       .tls_key_file = NULL,
+       .tls_cipher_suite = NULL,
+       .tls_require_cert = NULL,
+       .deref = "never",
+       .scope = "subtree",
+       .base = NULL,
+       .ldap_version = 3,
+       .debug_level = "0",
+       .ldaprc_path = "",
+       .user_attrs = "homeDirectory=home,uidNumber=uid,gidNumber=gid",
+       .user_filter = "(&(objectClass=posixAccount)(uid=%u))",
+       .pass_attrs = "uid=user,userPassword=password",
+       .pass_filter = "(&(objectClass=posixAccount)(uid=%u))",
+       .iterate_attrs = "uid=user",
+       .iterate_filter = "(objectClass=posixAccount)",
+       .default_pass_scheme = "crypt",
+       .blocking = FALSE
+};
diff --git a/src/auth/db-ldap-settings.h b/src/auth/db-ldap-settings.h
new file mode 100644 (file)
index 0000000..8fe2e86
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef DB_LDAP_SETTINGS_H
+#define DB_LDAP_SETTINGS_H
+
+struct ldap_settings {
+       const char *hosts;
+       const char *uris;
+       const char *dn;
+       const char *dnpass;
+       bool auth_bind;
+       const char *auth_bind_userdn;
+
+       bool tls;
+       bool sasl_bind;
+       const char *sasl_mech;
+       const char *sasl_realm;
+       const char *sasl_authz_id;
+
+       const char *tls_ca_cert_file;
+       const char *tls_ca_cert_dir;
+       const char *tls_cert_file;
+       const char *tls_key_file;
+       const char *tls_cipher_suite;
+       const char *tls_require_cert;
+
+       const char *deref;
+       const char *scope;
+       const char *base;
+       unsigned int ldap_version;
+
+       const char *ldaprc_path;
+       const char *debug_level;
+
+       const char *user_attrs;
+       const char *user_filter;
+       const char *pass_attrs;
+       const char *pass_filter;
+       const char *iterate_attrs;
+       const char *iterate_filter;
+
+       const char *default_pass_scheme;
+       bool blocking;
+
+       /* ... */
+       int ldap_deref, ldap_scope, ldap_tls_require_cert_parsed;
+       uid_t uid;
+       gid_t gid;
+};
+
+#endif
index 7a75354d40c7deb36ff65edd686e194d15654de1..2fdabf9efd7a3c64a201f093983e661819eb594f 100644 (file)
@@ -87,80 +87,6 @@ struct db_ldap_sasl_bind_context {
        const char *authzid;
 };
 
-#define DEF_STR(name) DEF_STRUCT_STR(name, ldap_settings)
-#define DEF_INT(name) DEF_STRUCT_INT(name, ldap_settings)
-#define DEF_BOOL(name) DEF_STRUCT_BOOL(name, ldap_settings)
-
-static struct setting_def setting_defs[] = {
-       DEF_STR(hosts),
-       DEF_STR(uris),
-       DEF_STR(dn),
-       DEF_STR(dnpass),
-       DEF_BOOL(auth_bind),
-       DEF_STR(auth_bind_userdn),
-       DEF_BOOL(tls),
-       DEF_BOOL(sasl_bind),
-       DEF_STR(sasl_mech),
-       DEF_STR(sasl_realm),
-       DEF_STR(sasl_authz_id),
-       DEF_STR(tls_ca_cert_file),
-       DEF_STR(tls_ca_cert_dir),
-       DEF_STR(tls_cert_file),
-       DEF_STR(tls_key_file),
-       DEF_STR(tls_cipher_suite),
-       DEF_STR(tls_require_cert),
-       DEF_STR(deref),
-       DEF_STR(scope),
-       DEF_STR(base),
-       DEF_INT(ldap_version),
-       DEF_STR(debug_level),
-       DEF_STR(ldaprc_path),
-       DEF_STR(user_attrs),
-       DEF_STR(user_filter),
-       DEF_STR(pass_attrs),
-       DEF_STR(pass_filter),
-       DEF_STR(iterate_attrs),
-       DEF_STR(iterate_filter),
-       DEF_STR(default_pass_scheme),
-       DEF_BOOL(blocking),
-
-       { 0, NULL, 0 }
-};
-
-static struct ldap_settings default_ldap_settings = {
-       .hosts = NULL,
-       .uris = NULL,
-       .dn = NULL,
-       .dnpass = NULL,
-       .auth_bind = FALSE,
-       .auth_bind_userdn = NULL,
-       .tls = FALSE,
-       .sasl_bind = FALSE,
-       .sasl_mech = NULL,
-       .sasl_realm = NULL,
-       .sasl_authz_id = NULL,
-       .tls_ca_cert_file = NULL,
-       .tls_ca_cert_dir = NULL,
-       .tls_cert_file = NULL,
-       .tls_key_file = NULL,
-       .tls_cipher_suite = NULL,
-       .tls_require_cert = NULL,
-       .deref = "never",
-       .scope = "subtree",
-       .base = NULL,
-       .ldap_version = 3,
-       .debug_level = "0",
-       .ldaprc_path = "",
-       .user_attrs = "homeDirectory=home,uidNumber=uid,gidNumber=gid",
-       .user_filter = "(&(objectClass=posixAccount)(uid=%u))",
-       .pass_attrs = "uid=user,userPassword=password",
-       .pass_filter = "(&(objectClass=posixAccount)(uid=%u))",
-       .iterate_attrs = "uid=user",
-       .iterate_filter = "(objectClass=posixAccount)",
-       .default_pass_scheme = "crypt",
-       .blocking = FALSE
-};
-
 static struct ldap_connection *ldap_connections = NULL;
 
 static int db_ldap_bind(struct ldap_connection *conn);
index bb8a78afd9157bb82f3316a2f6190f9b29274579..e0a161a41d53bab21b2d523eae405dc3387e7771 100644 (file)
@@ -20,6 +20,7 @@
 #define DB_LDAP_IDLE_RECONNECT_SECS 60
 
 #include <ldap.h>
+#include "db-ldap-settings.h"
 
 struct auth_request;
 struct ldap_connection;
@@ -29,51 +30,6 @@ typedef void db_search_callback_t(struct ldap_connection *conn,
                                  struct ldap_request *request,
                                  LDAPMessage *res);
 
-struct ldap_settings {
-       const char *hosts;
-       const char *uris;
-       const char *dn;
-       const char *dnpass;
-       bool auth_bind;
-       const char *auth_bind_userdn;
-
-       bool tls;
-       bool sasl_bind;
-       const char *sasl_mech;
-       const char *sasl_realm;
-       const char *sasl_authz_id;
-
-       const char *tls_ca_cert_file;
-       const char *tls_ca_cert_dir;
-       const char *tls_cert_file;
-       const char *tls_key_file;
-       const char *tls_cipher_suite;
-       const char *tls_require_cert;
-
-       const char *deref;
-       const char *scope;
-       const char *base;
-       unsigned int ldap_version;
-
-       const char *ldaprc_path;
-       const char *debug_level;
-
-       const char *user_attrs;
-       const char *user_filter;
-       const char *pass_attrs;
-       const char *pass_filter;
-       const char *iterate_attrs;
-       const char *iterate_filter;
-
-       const char *default_pass_scheme;
-       bool blocking;
-
-       /* ... */
-       int ldap_deref, ldap_scope, ldap_tls_require_cert_parsed;
-       uid_t uid;
-       gid_t gid;
-};
-
 enum ldap_request_type {
        LDAP_REQUEST_TYPE_SEARCH,
        LDAP_REQUEST_TYPE_BIND