ud-generate: Support $gid@$host supplementary group entries for users. userdir-ldap-0.3.50
authorPeter Palfrader <peter@palfrader.org>
Sat, 15 Nov 2008 10:20:24 +0000 (11:20 +0100)
committerPeter Palfrader <peter@palfrader.org>
Sat, 15 Nov 2008 10:20:24 +0000 (11:20 +0100)
debian/changelog
ud-generate

index ee5c53b..047262c 100644 (file)
@@ -1,3 +1,9 @@
+userdir-ldap (0.3.50) unstable; urgency=low
+
+  * ud-generate: Support $gid@$host supplementary group entries for users.
+
+ -- Peter Palfrader <weasel@debian.org>  Sat, 15 Nov 2008 11:20:09 +0100
+
 userdir-ldap (0.3.49) unstable; urgency=low
 
   * ud-replicate: Only link ssh-rsa-shadow to var/lib/misc/$host and etc/ssh
index d209700..e25411c 100755 (executable)
@@ -89,7 +89,11 @@ def IsInGroup(DnRecord):
 
   # Check the supplementary groups
   for I in DnRecord[1]["supplementaryGid"]:
-     if Allowed.has_key(I):
+     s = I.split('@', 1)
+     group = s[0]
+     if len(s) == 2 and s[1] != CurrentHost:
+           continue;
+     if Allowed.has_key(group):
         return 1;
   return 0;
 
@@ -376,10 +380,14 @@ def GenGroup(l,File):
          continue;
 
       for I in x[1]["supplementaryGid"]:
-         if GroupMap.has_key(I):
-            GroupMap[I].append(GetAttr(x,"uid"));
+         s = I.split('@', 1)
+         group = s[0]
+         if len(s) == 2 and s[1] != CurrentHost:
+            continue;
+         if GroupMap.has_key(group):
+            GroupMap[group].append(GetAttr(x,"uid"));
          else:
-            print "Group does not exist ",I,"but",GetAttr(x,"uid"),"is in it";
+            print "Group does not exist ",group,"but",GetAttr(x,"uid"),"is in it";
 
    # Output the group file.
    J = 0;