X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=blobdiff_plain;f=ud-gpgimport;h=8c7ad738fa21ceeeb99f3baa154fdba5f1d2592a;hp=de79b71f56805f027f6ae75125aa3808686009e9;hb=9e1e7b0639b1265bf39acd330122f40123451c56;hpb=db36cbb61b95f316e9f9bc0d89aea2d3bef3dc54 diff --git a/ud-gpgimport b/ud-gpgimport index de79b71..8c7ad73 100755 --- a/ud-gpgimport +++ b/ud-gpgimport @@ -51,34 +51,31 @@ if len(arguments) == 0: # Main program starts here # Connect to the ldap server -l = ldap.open(LDAPServer); if NoAct == 0: - print "Accessing LDAP directory as '" + AdminUser + "'"; - Password = getpass(AdminUser + "'s password: "); - UserDn = "uid=" + AdminUser + "," + BaseDn; - l.simple_bind_s(UserDn,Password); + l = passwdAccessLDAP(LDAPServer, BaseDn, AdminUser) else: + l = ldap.open(LDAPServer); l.simple_bind_s("",""); # Download the existing key list and put it into a map print "Fetching key list..", sys.stdout.flush(); -Attrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"keyfingerprint=*",["keyfingerprint","uid"]); +Attrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"keyFingerPrint=*",["keyFingerPrint","uid"]); KeyMap = {}; KeyCount = {}; for x in Attrs: try: # Sense a bad fingerprint.. Slapd has problems, it will store a null # value that ldapsearch doesn't show up.. detect and remove - if len(x[1]["keyfingerprint"]) == 0 or x[1]["keyfingerprint"][0] == "": + if len(x[1]["keyFingerPrint"]) == 0 or x[1]["keyFingerPrint"][0] == "": print; print "Fixing bad fingerprint for",x[1]["uid"][0], sys.stdout.flush(); if NoAct == 0: l.modify_s("uid="+x[1]["uid"][0]+","+BaseDn,\ - [(ldap.MOD_DELETE,"keyfingerprint",None)]); + [(ldap.MOD_DELETE,"keyFingerPrint",None)]); else: - for I in x[1]["keyfingerprint"]: + for I in x[1]["keyFingerPrint"]: KeyMap[I] = [x[1]["uid"][0],0]; if KeyCount.has_key(x[1]["uid"][0]): KeyCount[x[1]["uid"][0]] = KeyCount[x[1]["uid"][0]] + 1; @@ -144,7 +141,7 @@ while(1): continue; UID = UID[0] - Rec = [(ldap.MOD_ADD,"keyfingerprint",Split2[9])]; + Rec = [(ldap.MOD_ADD,"keyFingerPrint",Split2[9])]; Dn = "uid=" + UID + "," + BaseDn; print "Adding key 0x"+Split2[9],"to",UID; if KeyCount.has_key(UID): @@ -179,5 +176,5 @@ for x in KeyMap.keys(): print "**",KeyMap[x][0],"no longer has any keys"; if NoAct == 0: l.modify_s("uid="+KeyMap[x][0]+","+BaseDn,\ - [(ldap.MOD_DELETE,"keyfingerprint",x)]); + [(ldap.MOD_DELETE,"keyFingerPrint",x)]);