Bug 40014 - errors in dovecot listener with CamelCase domain
errors in dovecot listener with CamelCase domain
Product: UCS
Classification: Unclassified
Component: Mail - Dovecot
UCS 4.1
Other Linux
: P5 normal (vote)
: UCS 4.1-0-errata
Assigned To: Daniel Tröder
Sönke Schwardt-Krummrich
Depends on:
Blocks: 40018
  Show dependency treegraph
Reported: 2015-11-18 12:32 CET by Daniel Tröder
Modified: 2015-12-09 16:43 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Tröder univentionstaff 2015-11-18 12:32:12 CET
A case sensitive comparisons in the dovecot listener can lead to deleting a shared folder instead of moving it, when
* mail/dovecot/mailbox/delete=yes and
* the FQDN of the server is not all lowercase and
* the folder should be moved to a different mailHomeServer.

Another case sensitive comparisons in the dovecot listener can lead to a shared folder not being created on the target host, when
* the FQDN of the server is not all lowercase and
* the folders mailHomeServer is modified.
Comment 1 Daniel Tröder univentionstaff 2015-11-18 15:48:00 CET
Code change: r65704
YAML (r65705): 2015-11-18-univention-mail-dovecot.yaml
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2015-12-09 14:16:36 CET
Correct fix for the current state of listener.
The listener modules's LDAP filter defined via global variable "filter" is interpreted by the listener (NOT the LDAP server!). Because of this, the LDAP filter does case sensitive comparisons. So the case of the FQDN of the host has to match with the LDAP attribute "univentionMailHomeServer". Otherwise the object is ignored by the listener.

Later on, in handler() the comparison is done case insensitive which now results in correct behaviour.

I was unable to reproduce the faulty behaviour with the new package.

OK: code change
OK: functional test
  → """An error in the dovecot listener could lead to the unintended
       deletion of a shared folder, when it should just have been renamed"""
  → the unintended deletion may be triggered by any LDAP object change 
    (e.g. adjusting IMAP quota)
Comment 3 Sönke Schwardt-Krummrich univentionstaff 2015-12-09 14:35:45 CET
(In reply to Sönke Schwardt-Krummrich from comment #2)

Fixed as discussed with Daniel.
Comment 4 Janek Walkenhorst univentionstaff 2015-12-09 16:43:45 CET