# HG changeset patch # User Marcin Kuzminski # Date 1319063701 -7200 # Node ID 9b80fb893e7f376bf15f68a284ebfaa52b96b7b8 # Parent 67168195a676a32dc1c8e9a448344c33e9f1c1bc fix for issue #277, - cleaned the LDAP code a little diff -r 67168195a676 -r 9b80fb893e7f rhodecode/lib/auth_ldap.py --- a/rhodecode/lib/auth_ldap.py Wed Oct 19 10:13:10 2011 +0200 +++ b/rhodecode/lib/auth_ldap.py Thu Oct 20 00:35:01 2011 +0200 @@ -53,8 +53,10 @@ if self.TLS_KIND == 'LDAPS': port = port or 689 ldap_server_type = ldap_server_type + 's' - - self.TLS_REQCERT = ldap.__dict__['OPT_X_TLS_' + tls_reqcert] + + OPT_X_TLS_DEMAND = 2 + self.TLS_REQCERT = getattr(ldap, 'OPT_X_TLS_%s' % tls_reqcert, + OPT_X_TLS_DEMAND) self.LDAP_SERVER_ADDRESS = server self.LDAP_SERVER_PORT = port @@ -63,12 +65,12 @@ self.LDAP_BIND_PASS = bind_pass self.LDAP_SERVER = "%s://%s:%s" % (ldap_server_type, - self.LDAP_SERVER_ADDRESS, - self.LDAP_SERVER_PORT) + self.LDAP_SERVER_ADDRESS, + self.LDAP_SERVER_PORT) self.BASE_DN = base_dn self.LDAP_FILTER = ldap_filter - self.SEARCH_SCOPE = ldap.__dict__['SCOPE_' + search_scope] + self.SEARCH_SCOPE = getattr(ldap, 'SCOPE_%s' % search_scope) self.attr_login = attr_login def authenticate_ldap(self, username, password): @@ -88,7 +90,9 @@ if "," in username: raise LdapUsernameError("invalid character in username: ,") try: - ldap.set_option(ldap.OPT_X_TLS_CACERTDIR, '/etc/openldap/cacerts') + if hasattr(ldap,'OPT_X_TLS_CACERTDIR'): + ldap.set_option(ldap.OPT_X_TLS_CACERTDIR, + '/etc/openldap/cacerts') ldap.set_option(ldap.OPT_REFERRALS, ldap.OPT_OFF) ldap.set_option(ldap.OPT_RESTART, ldap.OPT_ON) ldap.set_option(ldap.OPT_TIMEOUT, 20)