Mercurial > dovecot > core-2.2
changeset 1709:044fdf70f11a HEAD
Give better error message if uid/gid not found from ldap and no default was
set.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 22 Aug 2003 08:06:53 +0300 |
parents | 0731fc436585 |
children | f1377239867e |
files | src/auth/db-ldap.c src/auth/userdb-ldap.c |
diffstat | 2 files changed, 17 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/db-ldap.c Fri Aug 22 07:57:49 2003 +0300 +++ b/src/auth/db-ldap.c Fri Aug 22 08:06:53 2003 +0300 @@ -54,8 +54,8 @@ MEMBER(pass_attrs) NULL, MEMBER(pass_filter) NULL, MEMBER(default_pass_scheme) "crypt", - MEMBER(user_global_uid) 0, - MEMBER(user_global_gid) 0 + MEMBER(user_global_uid) (uid_t)-1, + MEMBER(user_global_gid) (gid_t)-1 }; static struct ldap_connection *ldap_connections = NULL;
--- a/src/auth/userdb-ldap.c Fri Aug 22 07:57:49 2003 +0300 +++ b/src/auth/userdb-ldap.c Fri Aug 22 08:06:53 2003 +0300 @@ -127,18 +127,25 @@ attr = ldap_next_attribute(conn->ld, entry, ber); } - if (user.virtual_user == NULL) { + if (user.virtual_user == NULL) i_error("LDAP: No username in reply"); - urequest->userdb_callback(NULL, request->context); + else if (user.uid == (uid_t)-1) { + i_error("ldap(%s): uidNumber not set and no default given in " + "user_global_uid", user.virtual_user); + } else if (user.gid == (gid_t)-1) { + i_error("ldap(%s): gidNumber not set and no default given in " + "user_global_gid", user.virtual_user); + } else if (ldap_next_entry(conn->ld, entry) != NULL) { + i_error("ldap(%s): Multiple replies found for user", + user.virtual_user); } else { - if (ldap_next_entry(conn->ld, entry) != NULL) { - i_error("LDAP: Multiple replies found for user %s", - user.virtual_user); - } else { - urequest->userdb_callback(&user, request->context); - } + urequest->userdb_callback(&user, request->context); + t_pop(); + return; } + /* error */ + urequest->userdb_callback(NULL, request->context); t_pop(); }