X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-generate;h=e27b6fab9e0dc80c78077a95e35e448f112528dd;hb=7a0e9808163461d1e1ff7e2e0ee9c5e69ed33b9b;hp=def318686242a6abb8ee4bc3a850241ff5bb39bf;hpb=068a588b206be799352a8113e7ac5627500649e2;p=mirror%2Fuserdir-ldap.git diff --git a/ud-generate b/ud-generate index def3186..e27b6fa 100755 --- a/ud-generate +++ b/ud-generate @@ -202,6 +202,8 @@ def GenGroup(l,File): # Output the group file. Counter = 0; for x in GroupMap.keys(): + if GroupIDMap.has_key(x) == 0: + continue; Line = "%s:x:%u:" % (x,GroupIDMap[x]); Comma = ''; for I in GroupMap[x]: @@ -305,12 +307,23 @@ def GenDNS(l,File): F.write("; %s\n"%(EmailAddress(x))); for z in x[1]["dnszoneentry"]: Split = string.split(string.lower(z)); - for y in range(0,len(Split)): - if Split[y] == "$": - Split[y] = "\n\t"; - - Line = string.join(Split," ") + "\n"; - F.write(Line); + if string.lower(Split[1]) == 'in': + for y in range(0,len(Split)): + if Split[y] == "$": + Split[y] = "\n\t"; + Line = string.join(Split," ") + "\n"; + F.write(Line); + + # Write some identication information + if string.lower(Split[2]) != "cname": + Line = "%s IN TXT \"%s\"\n"%(Split[0],EmailAddress(x)); + for y in x[1]["keyfingerprint"]: + Line = Line + "%s IN TXT \"PGP %s\"\n"%(Split[0],FormatPGPKey(y)); + F.write(Line); + else: + Line = "; Err %s"%(str(Split)); + F.write(Line); + F.write("\n"); except: pass; @@ -345,7 +358,8 @@ PasswdAttrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"uid=*",\ "gecos","loginshell","userpassword","shadowlastchange",\ "shadowmin","shadowmax","shadowwarning","shadowinactive", "shadowexpire","emailforward","latitude","longitude",\ - "allowedhosts","sshrsaauthkey","dnszoneentry","cn","sn"]); + "allowedhosts","sshrsaauthkey","dnszoneentry","cn","sn",\ + "keyfingerprint"]); # Open the control file if len(sys.argv) == 1: