@@ -2161,6 +2161,7 @@ CheckLDAPAuth(Port *port)
21612161char * attributes [2 ];
21622162char * dn ;
21632163char * c ;
2164+ int count ;
21642165
21652166/*
21662167 * Disallow any characters that we would otherwise need to escape,
@@ -2223,17 +2224,21 @@ CheckLDAPAuth(Port *port)
22232224return STATUS_ERROR ;
22242225}
22252226
2226- if (ldap_count_entries (ldap ,search_message )!= 1 )
2227+ count = ldap_count_entries (ldap ,search_message );
2228+ if (count != 1 )
22272229{
2228- if (ldap_count_entries ( ldap , search_message ) == 0 )
2230+ if (count == 0 )
22292231ereport (LOG ,
2230- (errmsg ("LDAP search failed for filter \"%s\" on server \"%s\": no such user" ,
2231- filter ,port -> hba -> ldapserver )));
2232+ (errmsg ("LDAP user \"%s\" does not exist" ,port -> user_name ),
2233+ errdetail ("LDAP search for filter \"%s\" on server \"%s\" returned no entries." ,
2234+ filter ,port -> hba -> ldapserver )));
22322235else
22332236ereport (LOG ,
2234- (errmsg ("LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)" ,
2235- filter ,port -> hba -> ldapserver ,
2236- (long )ldap_count_entries (ldap ,search_message ))));
2237+ (errmsg ("LDAP user \"%s\" is not unique" ,port -> user_name ),
2238+ errdetail_plural ("LDAP search for filter \"%s\" on server \"%s\" returned %d entry." ,
2239+ "LDAP search for filter \"%s\" on server \"%s\" returned %d entries." ,
2240+ count ,
2241+ filter ,port -> hba -> ldapserver ,count )));
22372242
22382243pfree (filter );
22392244ldap_msgfree (search_message );