Fix crash in ud-generate
authorPaul Wise <pabs@debian.org>
Tue, 14 Jun 2016 02:29:48 +0000 (10:29 +0800)
committerPaul Wise <pabs@debian.org>
Tue, 14 Jun 2016 02:29:55 +0000 (10:29 +0800)
Traceback (most recent call last):
  File "/usr/bin/ud-generate", line 1498, in <module>
    ud_generate()
  File "/usr/bin/ud-generate", line 1481, in ud_generate
    generate_all(generate_dir, l)
  File "/usr/bin/ud-generate", line 1229, in generate_all
    GenDNS(accounts, global_dir + "dns-zone")
  File "/usr/bin/ud-generate", line 820, in GenDNS
    if a.is_guest_account(): continue
  File "/usr/lib/pymodules/python2.7/UDLdap.py", line 91, in is_guest_account
    return 'guest' in self['supplementaryGid']
  File "/usr/lib/pymodules/python2.7/UDLdap.py", line 48, in __getitem__
    raise IndexError, "No such key: %s (dn: %s)"%(key, self.dn)
IndexError: No such key: supplementaryGid (dn: uid=debtags,ou=users,dc=debian,dc=org)

UDLdap.py

index e917542..cb7dfa4 100644 (file)
--- a/UDLdap.py
+++ b/UDLdap.py
@@ -88,7 +88,7 @@ class Account:
         return self['accountStatus'] == 'active' and self.numkeys() != 0
 
     def is_guest_account(self):
-        return 'guest' in self['supplementaryGid']
+        return supplementaryGid in self and 'guest' in self['supplementaryGid']
 
     def latitude_dec(self, anonymized=False):
         return userdir_ldap.DecDegree(self['latitude'], anonymized)