]> granicus.if.org Git - postgresql/commitdiff
Define LDAP_NO_ATTRS if necessary.
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 13 Sep 2017 12:20:45 +0000 (08:20 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 13 Sep 2017 12:22:42 +0000 (08:22 -0400)
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

src/backend/libpq/auth.c

index 62ff624dbd70eadd4522436a17ebed4434aae25d..39a57d48353b2b3fddd404701bbfdeffb59f48b8 100644 (file)
@@ -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".