Hello,
in devpi_ldap/main.py/line 175 there is:
if any(attribute_name in x.get('attributes', {}) for x in conn.response):
but I had scenario when conn.response returned dict {attributes:{'dn':[]}} and attribute_name was set to "dn"
which, I guess, should result with transition to line 181 elif attribute_name in ('dn', 'distinguishedName'):
Maybe something like this should solve this problem but I don't think it's beautiful solution, rather hotfix suggestion (I'm sorry if this looks insolent, I'm always try to offer some solution when I found problem):
if any(attribute_name in x.get('attributes', {}) and x.get('attributes', {})[attribute_name] for x in conn.response):