[Dovecot] Managesieve fails to retrieve scripts > 8kB on Dovecot 1.1.16

John Marshall john.marshall at riverwillow.com.au
Sat Jun 20 02:18:34 EEST 2009


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.

> 1) 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

> 2) Do the logs say anything? Segfault perhaps (signal 11) ?

The logs show successful managesieve-login and then nothing.

> 3) 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20090620/01a74906/attachment-0001.bin 


More information about the dovecot mailing list