New [KEYRING] flag to indicate the debian keyring should be synced to this host. userdir-ldap-0.3.19
authorPeter Palfrader <peter@palfrader.org>
Fri, 18 Apr 2008 12:34:05 +0000 (14:34 +0200)
committerPeter Palfrader <peter@palfrader.org>
Fri, 18 Apr 2008 12:34:05 +0000 (14:34 +0200)
debian/changelog
ud-generate

index 7d115ad..e9975f0 100644 (file)
@@ -1,3 +1,10 @@
+userdir-ldap (0.3.19) unstable; urgency=low
+
+  * New [KEYRING] flag to indicate the debian keyring should be synced
+    to this host.
+
+ -- Peter Palfrader <weasel@debian.org>  Fri, 18 Apr 2008 14:33:50 +0200
+
 userdir-ldap (0.3.18) unstable; urgency=low
 
   * Various ud-fingerserv fixes.
index 8537f0c..ec62981 100755 (executable)
@@ -21,7 +21,7 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-import string, re, time, ldap, getopt, sys, os, pwd, posix, socket, base64, sha
+import string, re, time, ldap, getopt, sys, os, pwd, posix, socket, base64, sha, shutil
 from userdir_ldap import *;
 
 global Allowed;
@@ -35,6 +35,8 @@ CurrentHost = "";
 EmailCheck = re.compile("^([^ <>@]+@[^ ,<>@]+)?$");
 BSMTPCheck = re.compile(".*mx 0 (gluck)\.debian\.org\..*",re.DOTALL);
 DNSZone = ".debian.net"
+Keyrings = [ "/org/keyring.debian.org/keyrings/debian-keyring.gpg",
+             "/org/keyring.debian.org/keyrings/debian-keyring.pgp" ]
 
 def Sanitize(Str):
   return Str.translate(string.maketrans("\n\r\t","$$$"))
@@ -759,6 +761,10 @@ def GenHosts(l,File):
    raise;
   Done(File,F,None);
 
+def GenKeyrings(l,OutDir):
+  for k in Keyrings:
+    shutil.copy(k, OutDir)
+
 # Connect to the ldap server
 l = ldap.open(LDAPServer);
 F = open(PassDir+"/pass-"+pwd.getpwuid(os.getuid())[0],"r");
@@ -812,10 +818,11 @@ GenMailBool(l,GlobalDir+"mail-callout","mailCallout");
 GenMailList(l,GlobalDir+"mail-rbl","mailRBL");
 GenMailList(l,GlobalDir+"mail-rhsbl","mailRHSBL");
 GenMailList(l,GlobalDir+"mail-whitelist","mailWhitelist");
+GenKeyrings(l,GlobalDir);
 
 # Compatibility.
 GenForward(l,GlobalDir+"forward-alias");
-   
+
 while(1):
    Line = F.readline();
    if Line == "":
@@ -886,3 +893,11 @@ while(1):
 
    if ExtraList.has_key("[PRIVATE]"):
       DoLink(GlobalDir,OutDir,"debian-private")
+
+   if ExtraList.has_key("[KEYRING]"):
+      for k in Keyrings:
+        DoLink(GlobalDir,OutDir,os.path.basename(k))
+   else:
+     for k in Keyrings:
+       try: posix.remove(OutDir+os.path.basename(k));
+       except: pass;