diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index a776bc3ed7..171f870d17 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -135,14 +135,6 @@ static int CheckBSDAuth(Port *port, char *user); #else #include -/* Correct header from the Platform SDK */ -typedef -ULONG (*__ldap_start_tls_sA) (IN PLDAP ExternalHandle, - OUT PULONG ServerReturnValue, - OUT LDAPMessage **result, - IN PLDAPControlA * ServerControls, - IN PLDAPControlA * ClientControls -); #endif static int CheckLDAPAuth(Port *port); @@ -2348,48 +2340,7 @@ InitializeLDAPConnection(Port *port, LDAP **ldap) #ifndef WIN32 if ((r = ldap_start_tls_s(*ldap, NULL, NULL)) != LDAP_SUCCESS) #else - static __ldap_start_tls_sA _ldap_start_tls_sA = NULL; - - if (_ldap_start_tls_sA == NULL) - { - /* - * Need to load this function dynamically because it may not exist - * on Windows, and causes a load error for the whole exe if - * referenced. - */ - HANDLE ldaphandle; - - ldaphandle = LoadLibrary("WLDAP32.DLL"); - if (ldaphandle == NULL) - { - /* - * should never happen since we import other files from - * wldap32, but check anyway - */ - ereport(LOG, - (errmsg("could not load library \"%s\": error code %lu", - "WLDAP32.DLL", GetLastError()))); - ldap_unbind(*ldap); - return STATUS_ERROR; - } - _ldap_start_tls_sA = (__ldap_start_tls_sA) (pg_funcptr_t) GetProcAddress(ldaphandle, "ldap_start_tls_sA"); - if (_ldap_start_tls_sA == NULL) - { - ereport(LOG, - (errmsg("could not load function _ldap_start_tls_sA in wldap32.dll"), - errdetail("LDAP over SSL is not supported on this platform."))); - ldap_unbind(*ldap); - FreeLibrary(ldaphandle); - return STATUS_ERROR; - } - - /* - * Leak LDAP handle on purpose, because we need the library to - * stay open. This is ok because it will only ever be leaked once - * per process and is automatically cleaned up on process exit. - */ - } - if ((r = _ldap_start_tls_sA(*ldap, NULL, NULL, NULL, NULL)) != LDAP_SUCCESS) + if ((r = ldap_start_tls_s(*ldap, NULL, NULL, NULL, NULL)) != LDAP_SUCCESS) #endif { ereport(LOG,