Merge pull request #124 from ryanpetrello/fix-7335

force python-ldap to create a new SSL context for OPT_X_TLS_REQUIRE_CERT
This commit is contained in:
Ryan Petrello 2017-07-31 15:04:50 -04:00 committed by GitHub
commit 9c29b0a92f

View File

@ -86,6 +86,13 @@ class LDAPBackend(BaseLDAPBackend):
settings = property(_get_settings, _set_settings)
def authenticate(self, username, password):
if self.settings.START_TLS and ldap.OPT_X_TLS_REQUIRE_CERT in self.settings.CONNECTION_OPTIONS:
# with python-ldap, if you want to set connection-specific TLS
# parameters, you must also specify OPT_X_TLS_NEWCTX = 0
# see: https://stackoverflow.com/a/29722445
# see: https://stackoverflow.com/a/38136255
self.settings.CONNECTION_OPTIONS[ldap.OPT_X_TLS_NEWCTX] = 0
if not self.settings.SERVER_URI:
return None
if not feature_enabled('ldap'):