John Marshall schreef:
After some help with debugging tips on #dovecot, I have established that a sieve script on Dovecot 1.1.16 has to be less than 8kB in order to be retrieved by a managesieve client. I have been using managesieve for about 6 months over as many 1.1.n versions of dovecot as have been around during that time and hit this problem when I upgraded to Dovecot 1.1.16. I have gone back to Dovecot 1.1.15 and can once again manage my 9kB sieve script remotely.
Symptoms were that managesieve login was OK but instead of displaying my sieve script, the script editing window was empty. After 30 seconds the client gave me a timeout message. If I entered a small script in the empty client edit window and saved it, the new, small script was saved to the server and became active. I could then successfully retrieve and edit that small script.
I tried hacking a few lines at a time out of my 9kB script (locally on the server). When it was down to 8.4KB I still couldn't get it through managesieve. The next hack took it down to 7.7kB and I could get that through managesieve. So, I'm guessing there's a magic 8192 number in there somewhere - perhaps a buffer?
I cannot reproduce your problem at my end with the given information. A 14 kb script is no problem here (tried with large comment and repetitive if statements). I am using the same client you have.
A few questions:
- What is your exact config (i.e. dovecot -n)
- Do the logs say anything? Segfault perhaps (signal 11) ?
- Could you provide (an anonymized version of) the script you are trying to upload? (Make sure the version you send me is problematic as well)
If it truly does hang at some point, you could use the strace tool to get an idea what it the managesieve daemon doing at that time. If you are not using TLS, you can use the ngrep tool to capture the TCP traffic between client and server. That may also prove useful.
Regards,
-- Stephan Bosch stephan@rename-it.nl