Skip to content
Commit 38154963 authored by Fred Thomsen's avatar Fred Thomsen
Browse files

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@mycompany.com'],
  '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: default avatarFred Thomsen <me@fredthomsen.net>
parent c6f63c7f
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment