Bug 45503 - typo in ldap filter of staff class
typo in ldap filter of staff class
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Ucsschool-lib
UCS@school 4.1 R2
Other Linux
: P5 normal (vote)
: UCS@school 4.1 R2 v14
Assigned To: Daniel Tröder
Florian Best
:
Depends on:
Blocks: 45044 45504
  Show dependency treegraph
 
Reported: 2017-10-11 11:01 CEST by Daniel Tröder
Modified: 2017-10-16 21:33 CEST (History)
0 users

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 3: Will affect average number of installed domains
How will those affected feel about the bug?: 3: A User would likely not purchase the product
User Pain: 0.154
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Tröder univentionstaff 2017-10-11 11:01:15 CEST
Implementing the permission checks for Bug #45044 I found a typo in Teacher.type_filter which has been there since 4.1r2.
It is used in User.lookup(), and although it didn't make problems until today I think it is potentially problematic enough to be fixed in both 4.1r2 and 4.2.
Comment 1 Daniel Tröder univentionstaff 2017-10-11 11:03:28 CEST
Typo on my part: Staff.type_filter
Comment 2 Daniel Tröder univentionstaff 2017-10-11 11:28:47 CEST
commit 391ba4d8
ucs-school-lib 9.0.33-7.284.201710111126
Comment 3 Florian Best univentionstaff 2017-10-11 11:50:44 CEST
It would be nice if you say what typo there actually is in this bug report.
Comment 4 Florian Best univentionstaff 2017-10-11 12:29:04 CEST
There was a ")" too much in the ldap filter.

As univention.admin.filter.parse() is broken this was not really relevant until now.

>>> str(conjunction('&', [parse('(&(!(objectClass=ucsschoolTeacher))(objectClass=ucsschoolStaff)))'), parse('ucsschoolSchool=foo')]))                                                                                                                                            
'(&(&(!(objectClass=ucsschoolTeacher))(objectClass=ucsschoolStaff))(ucsschoolSchool=foo))'

OK: fix
(~OK: YAML)
Comment 5 Florian Best univentionstaff 2017-10-12 19:13:55 CEST
The reason it was not detected prior was Bug #37170.
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2017-10-16 21:33:08 CEST
UCS@school 4.1 R2 v14 has been released.

http://docs.software-univention.de/changelog-ucsschool-4.1R2v14-de.html

If this error occurs again, please clone this bug.