Also do the subgroups/transitive stuff dance when considering if a user is in a group...
authorPeter Palfrader <peter@palfrader.org>
Sun, 23 Nov 2008 21:08:45 +0000 (22:08 +0100)
committerPeter Palfrader <peter@palfrader.org>
Sun, 23 Nov 2008 21:08:45 +0000 (22:08 +0100)
debian/changelog
ud-generate

index e92398b..26510c0 100644 (file)
@@ -4,8 +4,11 @@ userdir-ldap (0.3.XX) unstable; urgency=low
   * Fix group does not exist warning (layout/spacing issues).
   * call addGroups with the proper number of arguments, when doing so
     recursively.
+  * Also do the subgroups/transitive stuff dance when considering
+    if a user is in a group for exporting them to a host in the
+    first place.
 
- -- Peter Palfrader <weasel@debian.org>  Sun, 23 Nov 2008 22:07:47 +0100
+ -- Peter Palfrader <weasel@debian.org>  Sun, 23 Nov 2008 22:08:17 +0100
 
 userdir-ldap (0.3.51) unstable; urgency=low
 
index 11a82a8..f1ed0b0 100755 (executable)
@@ -91,13 +91,10 @@ def IsInGroup(DnRecord):
   if DnRecord[1].has_key("supplementaryGid") == 0:
      return 0;
 
-  # Check the supplementary groups
-  for I in DnRecord[1]["supplementaryGid"]:
-     s = I.split('@', 1)
-     group = s[0]
-     if len(s) == 2 and s[1] != CurrentHost:
-           continue;
-     if Allowed.has_key(group):
+  supgroups=[]
+  addGroups(supgroups, DnRecord[1]["supplementaryGid"], GetAttr(DnRecord,"uid"))
+  for g in supgroups:
+     if Allowed.has_key(g):
         return 1;
   return 0;