aboutsummaryrefslogtreecommitdiff
path: root/src/backend/libpq/auth.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2012-10-02 23:25:05 -0400
committerPeter Eisentraut <peter_e@gmx.net>2012-10-02 23:25:05 -0400
commit6bd176095b59c1d7acfed3adf7648d04d7b2916f (patch)
tree8769fa55f0792b3747aa5e74123ae0cd8159a3bf /src/backend/libpq/auth.c
parentce754579491bfcfc1c83b737fa5373c2e3fc4b39 (diff)
downloadpostgresql-6bd176095b59c1d7acfed3adf7648d04d7b2916f.tar.gz
postgresql-6bd176095b59c1d7acfed3adf7648d04d7b2916f.zip
Improve some LDAP authentication error messages
Diffstat (limited to 'src/backend/libpq/auth.c')
-rw-r--r--src/backend/libpq/auth.c19
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);