From: Peter Palfrader Date: Sat, 15 Nov 2008 10:20:24 +0000 (+0100) Subject: ud-generate: Support $gid@$host supplementary group entries for users. X-Git-Tag: userdir-ldap-0.3.50 X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=commitdiff_plain;h=3df10925d4b02126ef1fc91c0f9a6b71cf7b80c6 ud-generate: Support $gid@$host supplementary group entries for users. --- diff --git a/debian/changelog b/debian/changelog index ee5c53b..047262c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +userdir-ldap (0.3.50) unstable; urgency=low + + * ud-generate: Support $gid@$host supplementary group entries for users. + + -- Peter Palfrader 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 diff --git a/ud-generate b/ud-generate index d209700..e25411c 100755 --- a/ud-generate +++ b/ud-generate @@ -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;