From: Peter Eisentraut Date: Wed, 13 Sep 2017 12:20:45 +0000 (-0400) Subject: Define LDAP_NO_ATTRS if necessary. X-Git-Tag: REL_11_BETA1~1618 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1a2fdc99a4b341feb6c01304e58f01dd0e095d9a;p=postgresql Define LDAP_NO_ATTRS if necessary. Commit 83aaac41c66959a3ebaec7daadc4885b5f98f561 introduced the use of LDAP_NO_ATTRS to avoid requesting a dummy attribute when doing search+bind LDAP authentication. It turns out that not all LDAP implementations define that macro, but its value is fixed by the protocol so we can define it ourselves if it's missing. Author: Thomas Munro Reported-By: Ashutosh Sharma Discussion: https://postgr.es/m/CAE9k0Pm6FKCfPCiAr26-L_SMGOA7dT_k0%2B3pEbB8%2B-oT39xRpw%40mail.gmail.com --- diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index 62ff624dbd..39a57d4835 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -2398,6 +2398,11 @@ InitializeLDAPConnection(Port *port, LDAP **ldap) #define LPH_USERNAME "$username" #define LPH_USERNAME_LEN (sizeof(LPH_USERNAME) - 1) +/* Not all LDAP implementations define this. */ +#ifndef LDAP_NO_ATTRS +#define LDAP_NO_ATTRS "1.1" +#endif + /* * Return a newly allocated C string copied from "pattern" with all * occurrences of the placeholder "$username" replaced with "user_name".