diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2012-10-02 23:25:05 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2012-10-02 23:25:05 -0400 |
commit | 6bd176095b59c1d7acfed3adf7648d04d7b2916f (patch) | |
tree | 8769fa55f0792b3747aa5e74123ae0cd8159a3bf /src | |
parent | ce754579491bfcfc1c83b737fa5373c2e3fc4b39 (diff) | |
download | postgresql-6bd176095b59c1d7acfed3adf7648d04d7b2916f.tar.gz postgresql-6bd176095b59c1d7acfed3adf7648d04d7b2916f.zip |
Improve some LDAP authentication error messages
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/libpq/auth.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index 74036e2493b..ca470e18835 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -2161,6 +2161,7 @@ CheckLDAPAuth(Port *port) char *attributes[2]; char *dn; char *c; + int count; /* * Disallow any characters that we would otherwise need to escape, @@ -2223,17 +2224,21 @@ CheckLDAPAuth(Port *port) return STATUS_ERROR; } - if (ldap_count_entries(ldap, search_message) != 1) + count = ldap_count_entries(ldap, search_message); + if (count != 1) { - if (ldap_count_entries(ldap, search_message) == 0) + if (count == 0) ereport(LOG, - (errmsg("LDAP search failed for filter \"%s\" on server \"%s\": no such user", - filter, port->hba->ldapserver))); + (errmsg("LDAP user \"%s\" does not exist", port->user_name), + errdetail("LDAP search for filter \"%s\" on server \"%s\" returned no entries.", + filter, port->hba->ldapserver))); else ereport(LOG, - (errmsg("LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)", - filter, port->hba->ldapserver, - (long) ldap_count_entries(ldap, search_message)))); + (errmsg("LDAP user \"%s\" is not unique", port->user_name), + errdetail_plural("LDAP search for filter \"%s\" on server \"%s\" returned %d entry.", + "LDAP search for filter \"%s\" on server \"%s\" returned %d entries.", + count, + filter, port->hba->ldapserver, count))); pfree(filter); ldap_msgfree(search_message); |