From 3c76f01a2ac4f7735551cfe079bd0d4adfd9adec Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 23 Feb 2024 23:20:20 +0000 Subject: [PATCH] :bug: Fix TypeError arising when argument to str.startswith, endswith or find is 'bytes' rather than 'str' --- ldaptor/entryhelpers.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ldaptor/entryhelpers.py b/ldaptor/entryhelpers.py index 4d661a24..26143b1d 100644 --- a/ldaptor/entryhelpers.py +++ b/ldaptor/entryhelpers.py @@ -173,7 +173,7 @@ def match(self, filter): possibleMatches = [ x[len(filter.substrings[0].value) :] for x in possibleMatches - if x.lower().startswith(filter.substrings[0].value.lower()) + if x.lower().startswith(filter.substrings[0].value.decode().lower()) ] del substrings[0] @@ -183,7 +183,7 @@ def match(self, filter): possibleMatches = [ x[: -len(filter.substrings[0].value)] for x in possibleMatches - if x.lower().endswith(filter.substrings[-1].value.lower()) + if x.lower().endswith(filter.substrings[-1].value.decode().lower()) ] del substrings[-1] @@ -191,7 +191,7 @@ def match(self, filter): assert isinstance(substrings[0], pureldap.LDAPFilter_substrings_any) r = [] for possible in possibleMatches: - i = possible.lower().find(substrings[0].value.lower()) + i = possible.lower().find(substrings[0].value.decode().lower()) if i >= 0: r.append(possible[i:]) possibleMatches = r