From: Michael Tremer Date: Sun, 18 Nov 2018 13:27:04 +0000 (+0000) Subject: accounts: Don't rely on objects being of class posixAccount X-Git-Url: http://git.ipfire.org/?p=ipfire.org.git;a=commitdiff_plain;h=73a54cb65219fe09f412510af2534343f97e222d accounts: Don't rely on objects being of class posixAccount Signed-off-by: Michael Tremer --- diff --git a/src/backend/accounts.py b/src/backend/accounts.py index fb0f52a0..229e730a 100644 --- a/src/backend/accounts.py +++ b/src/backend/accounts.py @@ -66,13 +66,13 @@ class Accounts(Object): def search(self, query): # Search for exact matches - accounts = self._search("(&(objectClass=posixAccount) \ + accounts = self._search("(&(objectClass=person) \ (|(uid=%s)(mail=%s)(sipAuthenticationUser=%s)(telephoneNumber=%s)(homePhone=%s)(mobile=%s)))" \ % (query, query, query, query, query, query)) # Find accounts by name if not accounts: - for account in self._search("(&(objectClass=posixAccount)(|(cn=*%s*)(uid=*%s*)))" % (query, query)): + for account in self._search("(&(objectClass=person)(|(cn=*%s*)(uid=*%s*)))" % (query, query)): if not account in accounts: accounts.append(account) @@ -86,10 +86,10 @@ class Accounts(Object): return result[0] def get_by_uid(self, uid): - return self._search_one("(&(objectClass=posixAccount)(uid=%s))" % uid) + return self._search_one("(&(objectClass=person)(uid=%s))" % uid) def get_by_mail(self, mail): - return self._search_one("(&(objectClass=posixAccount)(mail=%s))" % mail) + return self._search_one("(&(objectClass=inetOrgPerson)(mail=%s))" % mail) find = get_by_uid @@ -105,7 +105,7 @@ class Accounts(Object): (&(objectClass=sipRoutingObject)(sipLocalAddress=%s)))" % (sip_id, sip_id)) def get_by_phone_number(self, number): - return self._search_one("(&(objectClass=posixAccount) \ + return self._search_one("(&(objectClass=inetOrgPerson) \ (|(sipAuthenticationUser=%s)(telephoneNumber=%s)(homePhone=%s)(mobile=%s)))" \ % (number, number, number, number))