X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Futils.py;h=377d191348d51df9ecd62669cc1c3f244a655f19;hb=4cbcf2ec05c369e20897afb68770826468b84fdf;hp=be3c65161e8fee8c203f6954715ec50fa9445d3f;hpb=1380c07106a7209b878ca6e4248e55b23fd1e0c2;p=dak.git diff --git a/daklib/utils.py b/daklib/utils.py index be3c6516..377d1913 100644 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -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,23 @@ def gpg_get_key_addresses(fingerprint): ################################################################################ +def get_logins_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', 'keyfingerprint']) + login = {} + for elem in Attrs: + login[elem[1]['keyFingerPrint'][0]] = elem[1]['uid'][0] + return login + +################################################################################ + def clean_symlink (src, dest, root): """ Relativize an absolute symlink from 'src' -> 'dest' relative to 'root'.