fix UWLDAP multiple-UID bug

This commit is contained in:
Max Erenberg 2021-11-02 19:01:22 -04:00
parent ae48bcd98a
commit 620ef8ef8e
3 changed files with 17 additions and 3 deletions

View File

@ -1 +1 @@
1.0.6
1.0.7

View File

@ -37,10 +37,18 @@ class UWLDAPService:
conn = self._get_conn()
conn.search(
self.uwldap_base, filter_str, attributes=['ou'],
self.uwldap_base, filter_str, attributes=['ou', 'uid'],
size_limit=len(usernames))
for entry in conn.entries:
uid = dn_to_uid(entry.entry_dn)
# some records in UWLDAP have two UIDs because UIDs
# were historically limited to 8 characters
uid = None
for uw_uid in entry.uid.values:
if uw_uid in user_indices:
uid = uw_uid
break
# sanity check
assert uid is not None
idx = user_indices[uid]
program = entry.ou.value
if program:

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
ceo (1.0.7-buster1) buster; urgency=medium
* Fix bug in UWLDAP get_programs_for_users.
-- Max Erenberg <merenber@csclub.uwaterloo.ca> Tue, 02 Nov 2021 22:56:24 +0000
ceo (1.0.6-buster1) buster; urgency=medium
* Fix bug in sender email address.