Bug 51861 - Configure use of Sieve scripts with OX
Configure use of Sieve scripts with OX
Status: NEW
Product: UCS
Classification: Unclassified
Component: Mail
UCS 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: Mail maintainers
Mail maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-08-20 13:10 CEST by Christian Völker
Modified: 2023-06-08 10:25 CEST (History)
1 user (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 2: Improvement: Would be a product improvement
Who will be affected by this bug?: 1: Will affect a very few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.023
Enterprise Customer affected?: Yes
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2020081121000343, 2023052221000519
Bug group (optional): Workaround is available
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Völker univentionstaff 2020-08-20 13:10:25 CEST
Default sieve scripts with OX work fine so far. Just note below customer comment:
=============================
für den Fall das der User kein Skript haben will funktioniert ucr set mail/dovecot/sieve/spam=no.

Jetzt gibt es aber auch die Variante das der Kunde einen Spamfilter auch schon im OX per Default haben will. Dann muss ja in dem Fall das Skript Open-Xchange.sieve heißen.

Wir haben das Ganze einmal analysiert und dafür muss in der Datei  /usr/lib/python2.7/dist-packages/univention/mail/dovecot.py

folgende Änderung vorgenommen werden:


        def upload_activate_sieve_script(self, email, file): 
               try: 
                       master_name, master_pw = self.get_masteruser_credentials() 
                       ca_file = self.listener.configRegistry.get("mail/dovecot/sieve/client/cafile", "/etc/univention/ssl/ucsCA/CAcert.pem") 
                       fqdn = "%s.%s" % (self.listener.configRegistry['hostname'], self.listener.configRegistry['domainname']) 
                       fqdn = self.listener.configRegistry.get("mail/dovecot/sieve/client/server", fqdn) 
                       _cmd = [ 
                               "sieve-connect", "--user", "%s*%s" % (email, master_name), 
                               "--server", fqdn, 
                               "--noclearauth", "--noclearchan", 
                               "--tlscafile", ca_file, 
-                               "--remotesieve", "default"]
+                               "--remotesieve", "Open-Xchange"]


Daher wäre unser Vorschlag hier eine UCS Variable einzusetzen in der man den Namen des Skriptes definieren kann. Sprich wenn die Variable nicht gesetzt ist wird hier default.sieve ausgerollt, wenn die Variable gesetzt ist wird <Variablenwert>.sieve ausgerollt.

=================================================
Comment 1 Mirac Erdemiroglu univentionstaff 2023-05-24 16:05:54 CEST
Customer affected Ticket2023052221000519
UCS 5.0-3 errata 668
Installed: mailserver=12.0
server/role: domaincontroller_slave

Workaround helps, to create the sieve/Open-Xchange.sieve if OX been using, 
the dovecot.py will be under

/usr/lib/python3/dist-packages/univention/mail/dovecot.py


def upload_activate_sieve_script(self, email, file): 
               try: 
                       master_name, master_pw = self.get_masteruser_credentials() 
                       ca_file = self.listener.configRegistry.get("mail/dovecot/sieve/client/cafile", "/etc/univention/ssl/ucsCA/CAcert.pem") 
                       fqdn = "%s.%s" % (self.listener.configRegistry['hostname'], self.listener.configRegistry['domainname']) 
                       fqdn = self.listener.configRegistry.get("mail/dovecot/sieve/client/server", fqdn) 
                       _cmd = [ 
                               "sieve-connect", "--user", "%s*%s" % (email, master_name), 
                               "--server", fqdn, 
                               "--noclearauth", "--noclearchan", 
                               "--tlscafile", ca_file, 
-                               "--remotesieve", "default"]
+                               "--remotesieve", "Open-Xchange"]


After the dovecot.py is modifed, restart the service
systemctl restart univention-directory-listener.service