Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5006:129aa779a7f8 HEAD
Last change for making ldap_bind() error handling better was actually
broken.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 16 Jan 2007 15:25:40 +0200 |
parents | 7a8f68b0cc31 |
children | 37e0b70b8926 |
files | src/auth/db-ldap.c |
diffstat | 1 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/db-ldap.c Tue Jan 16 15:18:23 2007 +0200 +++ b/src/auth/db-ldap.c Tue Jan 16 15:25:40 2007 +0200 @@ -127,7 +127,7 @@ i_fatal("LDAP: Unknown scope option '%s'", str); } -const char *ldap_get_error(struct ldap_connection *conn) +static int ldap_get_errno(struct ldap_connection *conn) { int ret, err; @@ -135,10 +135,15 @@ if (ret != LDAP_SUCCESS) { i_error("LDAP: Can't get error number: %s", ldap_err2string(ret)); - return "??"; + return -1; } - return ldap_err2string(err); + return err; +} + +const char *ldap_get_error(struct ldap_connection *conn) +{ + return ldap_err2string(ldap_get_errno(conn)); } void db_ldap_add_delayed_request(struct ldap_connection *conn, @@ -410,7 +415,7 @@ msgid = ldap_bind(conn->ld, conn->set.dn, conn->set.dnpass, LDAP_AUTH_SIMPLE); if (msgid == -1) { - db_ldap_connect_finish(conn, ldap_get_error(conn)); + db_ldap_connect_finish(conn, ldap_get_errno(conn)); i_free(ldap_request); return -1; }