Hello dovecot users, I have updated the MANAGESIEVE patch to (hopefully) fix the compilation issues reported by Robin Breathe. This is a patch against the latest stable release 1.0.3. It currently won't compile with 1.1 due to significant changes in the master code. Change Log V6 ------------- - Corked the client output stream while producing the capability greeting and on other some other occasions as well. Some naive client implementations expect to receive this as a single tcp frame and it is a good practice to do so anyway. Using this change the Thunderbird sieve extension (v0.1.1) seemed to work. However, scripts larger than a tcp frame still caused failures. All these issues are fixed in the latest version of the sieve add-on (currently v0.1.4). - Cleaned up the new proxy source. My editor made the indentation a complete mess in terms of TABs vs spaces. - Added TRYLATER response codes to BYE and NO messages where appropriate. - Recopied the libsieve library into this patch to incorporate any changes that were made (only sieve-cmu.c still needs to be compared to the old cmu-sieve.c). This also solves the __attribute__((unused)) GCC dependencies. These were fixed long ago by Timo.... the code duplication beast strikes again. (Will have to do this again for dovecot 1.1) - Removed spurious return value from void function in src/lib-sieve/sieve-implementation.c as reported by Robin Breathe. GCC fails to report these issues. The function involved is currently not used and serves only as an example on how dovecot could support multiple sieve back-ends... This patch still includes (yet another) instance of the CMU Sieve source, as explained in one of my previous e-mails (http://dovecot.org/list/dovecot/2006-July/015016.html). The patch can be downloaded at: http://sinas.rename-it.nl/~sirius/dovecot-1.0.3-MANAGESIEVE-v6.diff.gz The README.managesieve is located in the root of the dovecot source tree after applying the patch. Have fun testing the patch. Don't hesitate to notify me when there are problems. Regards, -- Stephan Bosch stephan at rename-it.nl IRC: Freenode, #dovecot, S[r]us
Stephan Bosch wrote:> I have updated the MANAGESIEVE patch to (hopefully) fix the compilation > issues reported by Robin Breathe. This is a patch against the latest > stable release 1.0.3. It currently won't compile with 1.1 due to > significant changes in the master code.I can confirm that it's now compiling fairly cleanly with Sun CC under Solaris 10 again, thanks.> Change Log V6 > ------------- > > - Corked the client output stream while producing the capability greeting and on > other some other occasions as well. Some naive client implementations expect to > receive this as a single tcp frame and it is a good practice to do so anyway. > Using this change the Thunderbird sieve extension (v0.1.1) seemed to work. However, > scripts larger than a tcp frame still caused failures. All these issues are fixed > in the latest version of the sieve add-on (currently v0.1.4).Should the current incarnation of the patch support TLS, or is there anything I need to do to enable TLS for managesieve; the Thunderbird Sieve extension hangs when "Use TLS" option is selected. Configuration below: # ./dovecot -n # 1.0.3: /app/dovecot/1.0.3-managesieve/etc/dovecot.conf base_dir: /dovecot/run-managesieve/ protocols: managesieve listen: imap.brookes.ac.uk:12000 ssl_cert_file: /app/openssl/certs/public/dovecot.pem disable_plaintext_auth: no login_dir: /dovecot/run-managesieve/login login_executable: /app/dovecot/1.0.3-managesieve/libexec/dovecot/managesieve-login login_processes_count: 16 login_max_processes_count: 512 max_mail_processes: 8192 verbose_proctitle: yes first_valid_uid: 900 first_valid_gid: 10 mail_location: maildir:%h/Maildir:INDEX=/dovecot/index/%u:CONTROL=/dovecot/control/%u mail_debug: yes mail_executable: /app/dovecot/1.0.3-managesieve/libexec/dovecot/managesieve mail_plugin_dir: /app/dovecot/1.0.3-managesieve/lib/dovecot/managesieve namespace: type: private inbox: yes auth default: cache_size: 8192 verbose: yes debug: yes passdb: driver: pam args: cache_key=%u%r%l%s dovecot userdb: driver: passwd plugin: quota: fs Regards, Robin
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 16 Aug 2007, Stephan Bosch wrote:> I have updated the MANAGESIEVE patch to (hopefully) fix the compilation > issues reported by Robin Breathe. This is a patch against the latest > stable release 1.0.3. It currently won't compile with 1.1 due toI have the problem that, if I do not explicitly set login_dir = /var/run/dovecot/login Managesieve-login dies with: dovecot: Aug 17 16:01:18 Error: managesieve-login: chroot(login) failed: No such file or directory dovecot: Aug 17 16:01:18 Error: managesieve-login: chroot(login) failed: No such file or directory dovecot: Aug 17 16:01:18 Error: managesieve-login: chroot(login) failed: No such file or directory dovecot: Aug 17 16:01:18 Error: child 11480 (login) returned error 89 dovecot: Aug 17 16:01:18 Error: child 11481 (login) returned error 89 dovecot: Aug 17 16:01:18 Error: child 11482 (login) returned error 89 There is the default run-directory missing, I guess. If I start the command from command line, it uses /usr/local/dovecot-1.0.3/var/run/dovecot/login - however the base directory does not exists. I did not explicitly assigned login_dir in the .conf: Some settings of dovecot -n # 1.0.3: /usr/local/dovecot-1.0.3/etc/dovecot.conf base_dir: /var/run/dovecot/ log_path: /var/log/dovecot/dovecot.log protocols: imap imaps pop3 pop3s managesieve login_dir(default): /var/run/dovecot//login login_dir(imap): /var/run/dovecot//login login_dir(pop3): /var/run/dovecot//login login_dir(managesieve): /var/run/dovecot/login Note the difference of the last two lines (double slash)! Secondly, I suggest to add to the README.managesieve, that the server is using the CONTROL= directory to store the sieve scripts and that you can set mail_location= to change that, e.g.: protocol managesieve { # Without the login_dir managesieve-login fails to start up login_dir = /var/run/dovecot/login listen = *:2000 # Otherwise the Sieve scripts would be placed into the CONTROL= dir mail_location = maildir:%h/Maildir } Bye. - -- Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQEVAwUBRsWs1C9SORjhbDpvAQKAagf/YQta9xt1iEdzZDL+eUjEsVWX6uWwjFkC Ge8AH85u4AOghBS8GrsVGPTyAGJP7T+wtwLjiPZI+/PVkWnQkVNYcOfMAmQRzcWl vHhWhWgMKCHpZGsRrnmK+IzjK9IYSqQ9ApR5V7YXDHWfag6dhmvUjL4sD287o9EJ Ssl/KkpZ1c3HPFp4GCxepxtoQXoTu9dl+wfUytYleKnh3kBN1zRy0nhxYzEsVkUO B2aJzk0BoAy3DS5E2H3+clB1d013TzbjFotibmIs8kVzSsfkTkqlDPTxodjTUg2c heV8S1ZQFq2+S50uvbCH7Lh4uaAEnr/9UKylqiOEtp1pcS9vMJUIXg==rgxC -----END PGP SIGNATURE-----
Reasonably Related Threads
- MANAGESIEVE patch v7 for dovecot 1.0.3
- Sometimes Dovecot v1.0.3 does not accept new connections
- Latest MANAGESIEVE patch -- how to start daemon?
- MANAGESIEVE patch v7 for dovecot 1.0.3 and TLS
- Released Sieve v0.1.1 and ManageSieve v0.11.2 for Dovecot v1.2.alpha4