Mercurial > dovecot > original-hg > dovecot-1.2
changeset 3094:d78e9a31b6d8 HEAD
Move default filters/attrs to setting defaults rather than check it from
code. Also fixes a crash.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 13 Jan 2005 20:37:00 +0200 |
parents | ff153dc3910a |
children | 8f254acc036c |
files | src/auth/db-ldap.c src/auth/passdb-ldap.c src/auth/userdb-ldap.c |
diffstat | 3 files changed, 10 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/db-ldap.c Thu Jan 13 20:04:34 2005 +0200 +++ b/src/auth/db-ldap.c Thu Jan 13 20:37:00 2005 +0200 @@ -56,10 +56,10 @@ MEMBER(scope) "subtree", MEMBER(base) NULL, MEMBER(ldap_version) 2, - MEMBER(user_attrs) NULL, - MEMBER(user_filter) NULL, - MEMBER(pass_attrs) NULL, - MEMBER(pass_filter) NULL, + MEMBER(user_attrs) "uid,homeDirectory,,,uidNumber,gidNumber", + MEMBER(user_filter) "(&(objectClass=posixAccount)(uid=%u))", + MEMBER(pass_attrs) "uid,userPassword", + MEMBER(pass_filter) "(&(objectClass=posixAccount)(uid=%u))", MEMBER(default_pass_scheme) "crypt", MEMBER(user_global_uid) (uid_t)-1, MEMBER(user_global_gid) (gid_t)-1
--- a/src/auth/passdb-ldap.c Thu Jan 13 20:04:34 2005 +0200 +++ b/src/auth/passdb-ldap.c Thu Jan 13 20:37:00 2005 +0200 @@ -16,9 +16,6 @@ #include <ldap.h> #include <stdlib.h> -/* using posixAccount */ -#define DEFAULT_ATTRIBUTES "uid,userPassword" - enum ldap_user_attr { ATTR_VIRTUAL_USER = 0, ATTR_PASSWORD, @@ -163,14 +160,8 @@ var_expand(str, conn->set.base, vars); base = t_strdup(str_c(str)); - if (conn->set.pass_filter == NULL) { - filter = t_strdup_printf("(&(objectClass=posixAccount)(%s=%s))", - attr_names[ATTR_VIRTUAL_USER], - ldap_escape(auth_request->user)); - } else { - var_expand(str, conn->set.pass_filter, vars); - filter = str_c(str); - } + var_expand(str, conn->set.pass_filter, vars); + filter = str_c(str); auth_request_ref(auth_request); ldap_request->callback = handle_request; @@ -243,9 +234,7 @@ passdb_ldap_conn = i_new(struct passdb_ldap_connection, 1); passdb_ldap_conn->conn = conn = db_ldap_init(args); - db_ldap_set_attrs(conn, conn->set.pass_attrs ? - conn->set.pass_attrs : DEFAULT_ATTRIBUTES, - &passdb_ldap_conn->attrs, + db_ldap_set_attrs(conn, conn->set.pass_attrs, &passdb_ldap_conn->attrs, &passdb_ldap_conn->attr_names); passdb_ldap_cache_key = auth_cache_parse_key(conn->set.pass_filter); }
--- a/src/auth/userdb-ldap.c Thu Jan 13 20:04:34 2005 +0200 +++ b/src/auth/userdb-ldap.c Thu Jan 13 20:37:00 2005 +0200 @@ -14,9 +14,6 @@ #include <ldap.h> #include <stdlib.h> -/* using posixAccount */ -#define DEFAULT_ATTRIBUTES "uid,homeDirectory,,,uidNumber,gidNumber" - enum ldap_user_attr { ATTR_VIRTUAL_USER = 0, ATTR_HOME, @@ -176,14 +173,8 @@ var_expand(str, conn->set.base, vars); base = t_strdup(str_c(str)); - if (conn->set.user_filter == NULL) { - filter = t_strdup_printf("(&(objectClass=posixAccount)(%s=%s))", - attr_names[ATTR_VIRTUAL_USER], - ldap_escape(auth_request->user)); - } else { - var_expand(str, conn->set.user_filter, vars); - filter = str_c(str); - } + var_expand(str, conn->set.user_filter, vars); + filter = str_c(str); request = i_new(struct userdb_ldap_request, 1); request->request.callback = handle_request; @@ -208,9 +199,7 @@ userdb_ldap_conn = i_new(struct userdb_ldap_connection, 1); userdb_ldap_conn->conn = conn = db_ldap_init(args); - db_ldap_set_attrs(conn, conn->set.user_attrs ? - conn->set.user_attrs : DEFAULT_ATTRIBUTES, - &userdb_ldap_conn->attrs, + db_ldap_set_attrs(conn, conn->set.user_attrs, &userdb_ldap_conn->attrs, &userdb_ldap_conn->attr_names); }