On Fri, 19 Jun 2009, 23:20 +0200, Stephan Bosch wrote:
John Marshall schreef:
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 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.
Thank you Stephen for looking at this. I have just uninstalled Dovecot 1.1.15 and re-built and installed Dovecot 1.1.16 and the problem is back.
- What is your exact config (i.e. dovecot -n)
1.1.16: /usr/local/etc/dovecot.conf
OS: FreeBSD 7.2-RELEASE i386
protocols: imap imaps pop3 pop3s managesieve listen: 192.0.2.1 ssl_listen: 192.0.2.1 ssl_ca_file: /usr/local/openssl/certs/example.CACERT.pem ssl_cert_file: /usr/local/openssl/certs/mail.example.com.CERT.pem ssl_key_file: /usr/local/openssl/private/mail.example.com.KEY.pem login_dir: /var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(pop3): /usr/local/libexec/dovecot/pop3-login login_executable(managesieve): /usr/local/libexec/dovecot/managesieve-login verbose_proctitle: yes first_valid_uid: 1234 last_valid_uid: 1234 first_valid_gid: 1234 last_valid_gid: 1234 mail_privileged_group: mail mail_location: maildir:%h/Maildir mail_debug(default): no mail_debug(imap): no mail_debug(pop3): no mail_debug(managesieve): yes maildir_copy_preserve_filename: yes mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(pop3): /usr/local/libexec/dovecot/pop3 mail_executable(managesieve): /usr/local/libexec/dovecot/managesieve mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3 mail_plugin_dir(managesieve): /usr/local/lib/dovecot/managesieve imap_client_workarounds(default): delay-newmail netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(pop3): imap_client_workarounds(managesieve): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh pop3_client_workarounds(managesieve): sieve_storage(default): sieve_storage(imap): sieve_storage(pop3): sieve_storage(managesieve): %h/sieve sieve(default): sieve(imap): sieve(pop3): sieve(managesieve): %h/.dovecot.sieve auth default: mechanisms: gssapi gss-spnego plain gssapi_hostname: mail.example.com passdb: driver: passwd-file args: /path/to/password-file userdb: driver: static args: uid=1234 gid=1234 home=/path/to/maildirs/%d/%n socket: type: listen client: path: /var/run/dovecot/auth-client mode: 432 master: path: /var/run/dovecot/auth-master mode: 384 user: maildirs_owner group: maildirs_group plugin: sieve: %h/.dovecot.sieve
- Do the logs say anything? Segfault perhaps (signal 11) ?
The logs show successful managesieve-login and then nothing.
- 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)
The problem is not uploading. The problem is downloading. If I copy my sieve script to my client (by other means) I can upload it fine. The problem is that the client cannot retrieve it from the server for editing if it is bigger than 8kB. Here is a sample "problem" script:
This is a sieve script file full of comments
<--- snip (above line repeated 200 times) ---> keep;
If I lose 26 of those 200 comment lines then I can download as well as upload the script.
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.
It doesn't "hang". The script edit window pops up empty and 30 seconds later I see pop-up dialogue box: window title is "Alert"; Text is "A Timeout occured". I click OK to acknowledge the timeout and then I can enter/upload a large or small script or import/edit/upload a large or small script.
I don't have ngrep but if you can suggest a useful incantation for tcpdump I can provide that for you.
I reverted to 1.1.15 and everything worked again; I upgraded to 1.1.16 and the problem returned - all without touching the config or sieve script or client. The Thunderbird/Sieve client, by the way, is on FreeBSD not Microsoft.
-- John Marshall