Commit 3815496
committed
Handle empty search results w/references
If a search result is empty but there are result reference locations
that are returned, then the current code will return invalid information
or throw an AttributeError.
Address issue #70.
The search result would be in the format a dn string and then a dictionary
containing the proper information about the user, but when the search is
empty you just end up with the search references as shown below, and
obviously the second item in each tuple is not a dict:
[(None, ['ldap://ForestDnsZones.mycompany.com/DC=ForestDnsZones,DC=mycompany,DC=com']),
(None, ['ldap://DomainDnsZones.mycompany.com/DC=DomainDnsZones,DC=mycompany,DC=com']),
(None, ['ldap://mycompany.com/CN=Configuration,DC=mycompany,DC=com'])]
A successful search looks something like this:
[('CN=My Name,OU=Users,OU=Accounts,DC=mycompany,DC=com',
{'accountExpires': [b'9223372036854775807'],
'cn': [b'First Last'],
'userPrincipalName': [b'[email protected]'],
'whenChanged': [b'20210119003635.0Z'],
'whenCreated': [b'20201005164610.0Z']}),
(None, ['ldap://ForestDnsZones.mycompany.com/DC=ForestDnsZones,DC=mycompany,DC=com']),
(None, ['ldap://DomainDnsZones.mycompany.com/DC=DomainDnsZones,DC=mycompany,DC=com']),
(None, ['ldap://mycompany.com/CN=Configuration,DC=mycompany,DC=com'])]
Signed-off-by: Fred Thomsen <[email protected]>1 parent c6f63c7 commit 3815496
1 file changed
+2
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
184 | 184 | | |
185 | 185 | | |
186 | 186 | | |
187 | | - | |
| 187 | + | |
| 188 | + | |
188 | 189 | | |
189 | 190 | | |
190 | 191 | | |
| |||
0 commit comments