]> git.decadent.org.uk Git - dak.git/commitdiff
Implement get_login_from_ldap function
authorLuca Falavigna <dktrkranz@debian.org>
Wed, 29 Aug 2012 16:17:42 +0000 (16:17 +0000)
committerLuca Falavigna <dktrkranz@debian.org>
Wed, 29 Aug 2012 16:17:42 +0000 (16:17 +0000)
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
daklib/utils.py

index be3c65161e8fee8c203f6954715ec50fa9445d3f..f702db3fd74d44a93caa314310458fe1a4b16387 100644 (file)
@@ -40,6 +40,7 @@ import time
 import re
 import email as modemail
 import subprocess
+import ldap
 
 from dbconn import DBConn, get_architecture, get_component, get_suite, \
                    get_override_type, Keyring, session_wrapper, \
@@ -1410,6 +1411,19 @@ def gpg_get_key_addresses(fingerprint):
 
 ################################################################################
 
+def get_login_from_ldap(fingerprint):
+    """retrieve login from LDAP linked to a given fingerprint"""
+
+    LDAPDn = Cnf['Import-LDAP-Fingerprints::LDAPDn']
+    LDAPServer = Cnf['Import-LDAP-Fingerprints::LDAPServer']
+    l = ldap.open(LDAPServer)
+    l.simple_bind_s('','')
+    Attrs = l.search_s(LDAPDn, ldap.SCOPE_ONELEVEL,
+                       '(keyfingerprint=%s)' % fingerprint, ['uid'])
+    return Attrs[0][1]['uid'][0]
+
+################################################################################
+
 def clean_symlink (src, dest, root):
     """
     Relativize an absolute symlink from 'src' -> 'dest' relative to 'root'.