Univention Bugzilla – Bug 21027
proof_uniquemember prüft Existienz von Gruppenmitgliedern mit ungenauem LDAP-Filter
Last modified: 2022-06-30 14:39:18 CEST
Die Existenz eines Gruppenmitglieds wird nicht durch eine Suche in SCOPE_BASE mit der DN des Mitglieds sondern umständlich nach SCOPE_ONELEVEL durchgeführt. Zeile 141: res_pU=lo.search_s(base, ldap.SCOPE_ONELEVEL, filter, ['objectClass']) Dabei sind die Variablen belegt mit: n=string.find(member,',') base=member[n+1:] filter=member[:n] Das ist in mehreren Fällen Problematisch, u.a. wenn "base" garnicht exitiert. Besser ist eine Suche direkt nach der DN: res_pU=lo.search_s(member, ldap.SCOPE_BASE, '', ['objectClass'])
Ganz so einfach ist es nicht, anstelle eines leeren Results gibt es jetzt eine ldap.NO_SUCH_OBJECT Exception die abgefangen und wie ein leeres Result behandelt werden muss.
Created attachment 2943 [details] verbesserte Version des Skriptes Das Angehängte Skript behebt diesen Bug sowie Bug #21026
Das Skript ist mittlerweile deutlich umgeschrieben, so dass es nicht so einfach ersetzt werden kann.
This issue has been filed against UCS 2.4. UCS 2.4 is out of maintenance and many UCS components have vastly changed in later releases. Thus, this issue is now being closed. If this issue still occurs in newer UCS versions, please use "Clone this bug". In this case please provide detailed information on how this issue is affecting you.