View Issue Details

IDProjectCategoryView StatusLast Update
0004417SOGoWeb Preferencespublic2018-03-22 16:35
ReporterASolana Assigned To 
PriorityhighSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformLinuxOSUbuntuOS Version16.04
Product Version3.2.10 
Summary0004417: Vacation rule deleted on sieve server if enable/disable autoreplay is actived
Description

If User activates "Enable/Disable auto reply on" options on Vacation rule when this new configuration is saved then Vacation rule is deleted in sieve file on sieve server, but no pop-up errors appears in SOGo and lets Vacation rule as if was fully enabled.

There's a Francis comment on bug 4392 that says:
"SOGo won't offer actions related to imap4flags if the extension is not listed in the server's capabilities."

Perhaps there's some wrong sieve extension check about dates in Vacation rule.

Steps To Reproduce
  1. If a Vacation is activated without "Enable/Disable auto reply on" dates then it's saved in sieve server without problems.

  2. At this point, if I activate "Enable/Disable auto reply on" in Vacation

  3. then if I save the new configuration the Vacation rule disappears on sieve file on sieve server, but remains as activated on SOGo, so it's lying me it's not true.

Other sieve rules remain in sieve file, only vacation rule disappears.

Additional Information

Our imap/sieve proxy server and sieve servers has the same sieve extensions configurated and these are the extensions offered:

"SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags notify envelope body relational regex subaddress copy"

As you can see no "date" extension is available.

I've activated imap debug in Sogo server but there's no errors in sogo log file, no error on SOGo Vacation webpage, no pop-up with errors messages.

I've upload 20180309.vacation.with.begin.finish.dates.txt file with some sogo log lines, but no errors are shown.

TagsNo tags attached.

Activities

ASolana

ASolana

2018-03-09 18:34

reporter  

20180309.vacation.with.begin.finish.dates.txt (6,891 bytes)   
1. sieve file contents (just on antispam filter):

# cat sogo.script 
require ["fileinto"];
if allof (header :contains "X-Spam" "yes") {
    fileinto "Spam";
}



2. I activate Vacation rule (without any begin/finish date) and sogo log shows sieve server (perdition) doesn't offer "date" extension:


Mar 09 18:40:10 sogod [57858]: |SOGo| starting method 'GET' on uri '/SOGo/dav/'
Mar 09 18:40:10 sogod [57858]: |SOGo| request took 0.001659 seconds to execute
Mar 09 18:40:10 sogod [57858]: |SOGo| starting method 'GET' on uri '/SOGo/dav/'
Mar 09 18:40:10 sogod [57858]: |SOGo| request took 0.001432 seconds to execute
Mar 09 18:40:12 sogod [57858]: |SOGo| starting method 'GET' on uri '/SOGo/dav/'
Mar 09 18:40:12 sogod [57858]: |SOGo| request took 0.001173 seconds to execute
Mar 09 18:40:13 sogod [57858]: |SOGo| starting method 'POST' on uri '/SOGo/so/usuari.ana/Preferences/save'
D

S[0x55bac3c36720]: OK "You are so in"
C: SETACTIVE ""
S[0x55bac3c36720]: OK
C: DELETESCRIPT "sogo"
S[0x55bac3c36720]: OK
C: PUTSCRIPT "sogo" {94+}
require ["fileinto"];
if allof (header :contains "X-Spam" "yes") {
    fileinto "Spam";
}

S[0x55bac3c36720]: OK
C: SETACTIVE "sogo"
S[0x55bac3c36720]: OK
S[0x55bac39036f0]: "IMPLEMENTATION" "perdition"
S[0x55bac39036f0]: "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags notify envelope body relational regex subaddress copy"
S[0x55bac39036f0]: "SASL" "PLAIN"
S[0x55bac39036f0]: "NOTIFY" "mailto"
S[0x55bac39036f0]: "VERSION" "1.18"
S[0x55bac39036f0]: OK "perdition ready on ragnor.upc.edu 0003658f"
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

S[0x55bac39036f0]: OK "You are so in"
S[0x55bac3a3d6d0]: "IMPLEMENTATION" "perdition"
S[0x55bac3a3d6d0]: "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags notify envelope body relational regex subaddress copy"
S[0x55bac3a3d6d0]: "SASL" "PLAIN"
S[0x55bac3a3d6d0]: "NOTIFY" "mailto"
S[0x55bac3a3d6d0]: "VERSION" "1.18"
S[0x55bac3a3d6d0]: OK "perdition ready on ragnor.upc.edu 0003658f"
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

S[0x55bac3a3d6d0]: OK "You are so in"
C: SETACTIVE ""
S[0x55bac3a3d6d0]: OK
C: DELETESCRIPT "sogo"
S[0x55bac3a3d6d0]: OK
C: PUTSCRIPT "sogo" {517+}
require ["fileinto","vacation"];
if allof ( not exists ["list-help", "list-unsubscribe", "list-subscribe", "list-owner", "list-post", "list-archive", "list-id", "Mailing-List"], not header :comparator "i;ascii-casemap" :is "Precedence" ["list", "bulk", "junk"], not header :comparator "i;ascii-casemap" :matches "To" "Multiple recipients of*" ) { vacation :days 7 :subject "No'toy ni'taré" :addresses ["usuari.ana@upcnet.es"] text:

.
;
}
if allof (header :contains "X-Spam" "yes") {
    fileinto "Spam";
}

S[0x55bac3a3d6d0]: OK
C: SETACTIVE "sogo"
S[0x55bac3a3d6d0]: OK
S[0x55bac3b03bb0]: "IMPLEMENTATION" "perdition"
S[0x55bac3b03bb0]: "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags notify envelope body relational regex subaddress copy"
S[0x55bac3b03bb0]: "SASL" "PLAIN"
S[0x55bac3b03bb0]: "NOTIFY" "mailto"
S[0x55bac3b03bb0]: "VERSION" "1.18"
S[0x55bac3b03bb0]: OK "perdition ready on ragnor.upc.edu 0003658f"
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

S[0x55bac3b03bb0]: OK "You are so in"
S[0x55bac34578f0]: "IMPLEMENTATION" "perdition"
S[0x55bac34578f0]: "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags notify envelope body relational regex subaddress copy"
S[0x55bac34578f0]: "SASL" "PLAIN"
S[0x55bac34578f0]: "NOTIFY" "mailto"
S[0x55bac34578f0]: "VERSION" "1.18"
S[0x55bac34578f0]: OK "perdition ready on ragnor.upc.edu 0003658f"
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

S[0x55bac34578f0]: OK "You are so in"
C: SETACTIVE ""
S[0x55bac34578f0]: OK
C: DELETESCRIPT "sogo"
S[0x55bac34578f0]: OK
C: PUTSCRIPT "sogo" {94+}
require ["fileinto"];
if allof (header :contains "X-Spam" "yes") {
    fileinto "Spam";
}

S[0x55bac34578f0]: OK
C: SETACTIVE "sogo"
S[0x55bac34578f0]: OK
S[0x55bac463d410]: "IMPLEMENTATION" "perdition"
S[0x55bac463d410]: "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags notify envelope body relational regex subaddress copy"
S[0x55bac463d410]: "SASL" "PLAIN"
S[0x55bac463d410]: "NOTIFY" "mailto"
S[0x55bac463d410]: "VERSION" "1.18"
S[0x55bac463d410]: OK "perdition ready on ragnor.upc.edu 0003658f"
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

S[0x55bac463d410]: OK "You are so in"
S[0x55bac39ba670]: "IMPLEMENTATION" "perdition"
S[0x55bac39ba670]: "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags notify envelope body relational regex subaddress copy"
S[0x55bac39ba670]: "SASL" "PLAIN"
S[0x55bac39ba670]: "NOTIFY" "mailto"
S[0x55bac39ba670]: "VERSION" "1.18"
S[0x55bac39ba670]: OK "perdition ready on ragnor.upc.edu 0003658f"
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

S[0x55bac39ba670]: OK "You are so in"
C: SETACTIVE ""
S[0x55bac39ba670]: OK
C: DELETESCRIPT "sogo"
S[0x55bac39ba670]: OK
C: PUTSCRIPT "sogo" {5Mar 09 18:40:13 sogod [57858]: |SOGo| request took 0.437883 seconds to execute
Mar 09 18:40:13 sogod [57858]: 10.4.198.78, 10.4.206.31 "POST /SOGo/so/usuari.ana/Preferences/save HTTP/1.1" 200 0/56143 0.441 - - 0



3. sieve file contents at this point (antispam filter + Vacation filter):

# cat sogo.script 
require ["fileinto","vacation"];
if allof ( not exists ["list-help", "list-unsubscribe", "list-subscribe", "list-owner", "list-post", "list-archive", "list-id", "Mailing-List"], not header :comparator "i;ascii-casemap" :is "Precedence" ["list", "bulk", "junk"], not header :comparator "i;ascii-casemap" :matches "To" "Multiple recipients of*" ) { vacation :days 7 :subject "No'toy ni'taré" :addresses ["usuari.ana@upcnet.es"] text:

.
;
}
if allof (header :contains "X-Spam" "yes") {
    fileinto "Spam";
}



4. Then I activate Begin date in Vacation filter, after saving the configuration Vacation rule is deleted form sieve file on sieve server

# cat sogo.script 
require ["fileinto"];
if allof (header :contains "X-Spam" "yes") {
    fileinto "Spam";
}


and sogo log just shows a lines about saving preferences action

Mar 09 18:46:10 sogod [57858]: |SOGo| starting method 'GET' on uri '/SOGo/dav/'
Mar 09 18:46:10 sogod [57858]: |SOGo| request took 0.001251 seconds to execute
Mar 09 18:46:10 sogod [57858]: |SOGo| starting method 'POST' on uri '/SOGo/so/usuari.ana/Preferences/save'
Mar 09 18:46:10 sogod [58511]: |SOGo| starting method 'GET' on uri '/SOGo/dav/'
Mar 09 18:46:10 sogod [58511]: |SOGo| request took 0.001635 seconds to execute
Mar 09 18:46:11 sogod [57858]: |SOGo| request took 0.573388 seconds to execute
Mar 09 18:46:11 sogod [57858]: 10.4.198.78, 10.4.206.31 "POST /SOGo/so/usuari.ana/Preferences/save HTTP/1.1" 200 0/56173 0.576 - - 0
Mar 09 18:46:11 sogod [57858]: |SOGo| starting method 'GET' on uri '/SOGo/dav/'




and SOGo preferences still shows an active Vacation  but is deleted on server !!!





ludovic

ludovic

2018-03-16 13:07

administrator   ~0012723

I've tested with v4 and I can't reproduce this issue.

ASolana

ASolana

2018-03-22 16:35

reporter   ~0012796

A more accurated SOGO 3.2.10 issue description when "date" extension is not offered by sieve server (cyrus 2.4.17-caldav-beta9-Debian) is:

  • If "Enable auto reply on" is enabled => sieve file is deleted on sieve server without any error or advice message to user

  • If "Disable auto reply on"is enabled => vacation filter is not modified (it just lies to user who thinks this option is enabled)

Issue History

Date Modified Username Field Change
2018-03-09 18:34 ASolana New Issue
2018-03-09 18:34 ASolana File Added: 20180309.vacation.with.begin.finish.dates.txt
2018-03-16 13:07 ludovic Severity major => minor
2018-03-16 13:07 ludovic Description Updated
2018-03-16 13:07 ludovic Steps to Reproduce Updated
2018-03-16 13:07 ludovic Note Added: 0012723
2018-03-22 16:35 ASolana Note Added: 0012796