[Dovecot] Problem with bodystructure/partial fetch using 1.1*
Hi there
I'm using dovecot-1.1b2/b3 with deliver. All information is stored in an SQL database and no errors related to this issue are written to the logs (actually I get no errors at all).
I've run into at problem; FETCH BODYSTRUCTURE is broken after upgrading to dovecot 1.1b2 (same issue with 1.1b3). BODUSTRUCTURE only returns information from the first section (with incorrect content-type/disposition) and discards everything else.
This problem is somehow related to deliver; IMAP returns the correct BODYSTRUCTURE for e-mails received before the upgrade, but an incorrect for ones received after the upgrade. This tells me that IMAP is working properly but somehow the MIME sections are being corrupted doing mail delivery (if I fetch the complete body nothing seems to be wrong).
Also if I fetch a section something is not right - instead of just the section I get part of the Content-type header as well (but only half the header).
Obviously this makes various webmail clients go somewhat crazy while Outlook/Thunderbirds dont mind (since they fetch the complete body and do the MIME parsing themselves).
These are my compile options (GCC 3.4.3 on Solaris 10): CPPFLAGS=-I/opt/pkgsrc/pkg/include/mysql LDFLAGS=-L/opt/pkgsrc/pkg/lib/mysql ./configure --prefix=/opt/freeware/dovecot-1.1b2 --with-pop3d --with-deliver --with-mysql --with-prefetch-userdb --with-sql --with-gnu-ld --with-ssl=no --enable-header-install make; make install
Everything else works flawlessly.
Have anyone else experienced at problem like this?
Best wishes, Mikkel
Configuration: /opt/freeware/dovecot-1.1b3/sbin/dovecot -c /local/config/dovecot2.conf -n # 1.1.beta3: /local/config/dovecot2.conf Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 768). Either grow the limit or change login_max_processes_count and max_mail_processes settings log_path: /local/log/dovecot.run info_log_path: /local/log/dovecot.run protocols: imap pop3 ssl_disable: yes disable_plaintext_auth: no login_dir: /opt/freeware/dovecot-1.1b3/var/run/dovecot/login login_executable(default): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap-login login_executable(imap): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap-login login_executable(pop3): /opt/freeware/dovecot-1.1b3/libexec/dovecot/pop3-login login_process_per_connection: no first_valid_uid: 105 first_valid_gid: 105 mmap_disable: yes dotlock_use_excl: yes mail_nfs_storage: yes mail_nfs_index: yes mail_executable(default): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap mail_executable(imap): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap mail_executable(pop3): /opt/freeware/dovecot-1.1b3/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota trash mail_plugins(imap): quota imap_quota trash mail_plugins(pop3): quota mail_plugin_dir(default): /opt/freeware/dovecot-1.1b3/lib/dovecot/imap mail_plugin_dir(imap): /opt/freeware/dovecot-1.1b3/lib/dovecot/imap mail_plugin_dir(pop3): /opt/freeware/dovecot-1.1b3/lib/dovecot/pop3 imap_client_workarounds(default): outlook-idle delay-newmail tb-extra-mailbox-sep imap_client_workarounds(imap): outlook-idle delay-newmail tb-extra-mailbox-sep imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login digest-md5 cram-md5 ntlm rpa apop anonymous passdb: driver: sql args: /local/config/dovecot-sql2.conf userdb: driver: prefetch userdb: driver: sql args: /local/config/dovecot-sql2.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail plugin: quota: maildir quota_rule: *:storage=102400:messages=5000 quota_rule2: Trash:storage=10M trash: /local/config/dovecot-trash.conf
I somehow solved this compiling with gmake instead of make. I think it's related to libiconv and not to Dovecot.
Sorry for the confusion.
- Mikkel
On Wed, October 17, 2007 1:55 pm, mikkel@euro123.dk wrote:
Hi there
I'm using dovecot-1.1b2/b3 with deliver. All information is stored in an SQL database and no errors related to this issue are written to the logs (actually I get no errors at all).
I've run into at problem; FETCH BODYSTRUCTURE is broken after upgrading to dovecot 1.1b2 (same issue with 1.1b3). BODUSTRUCTURE only returns information from the first section (with incorrect content-type/disposition) and discards everything else.
This problem is somehow related to deliver; IMAP returns the correct BODYSTRUCTURE for e-mails received before the upgrade, but an incorrect for ones received after the upgrade. This tells me that IMAP is working properly but somehow the MIME sections are being corrupted doing mail delivery (if I fetch the complete body nothing seems to be wrong).
Also if I fetch a section something is not right - instead of just the section I get part of the Content-type header as well (but only half the header).
Obviously this makes various webmail clients go somewhat crazy while Outlook/Thunderbirds dont mind (since they fetch the complete body and do the MIME parsing themselves).
These are my compile options (GCC 3.4.3 on Solaris 10): CPPFLAGS=-I/opt/pkgsrc/pkg/include/mysql LDFLAGS=-L/opt/pkgsrc/pkg/lib/mysql ./configure --prefix=/opt/freeware/dovecot-1.1b2 --with-pop3d --with-deliver --with-mysql --with-prefetch-userdb --with-sql --with-gnu-ld --with-ssl=no --enable-header-install make; make install
Everything else works flawlessly.
Have anyone else experienced at problem like this?
Best wishes, Mikkel
Configuration: /opt/freeware/dovecot-1.1b3/sbin/dovecot -c /local/config/dovecot2.conf -n # 1.1.beta3: /local/config/dovecot2.conf Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 768). Either grow the limit or change login_max_processes_count and max_mail_processes settings log_path: /local/log/dovecot.run info_log_path: /local/log/dovecot.run protocols: imap pop3 ssl_disable: yes disable_plaintext_auth: no login_dir: /opt/freeware/dovecot-1.1b3/var/run/dovecot/login login_executable(default): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap-login login_executable(imap): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap-login login_executable(pop3): /opt/freeware/dovecot-1.1b3/libexec/dovecot/pop3-login login_process_per_connection: no first_valid_uid: 105 first_valid_gid: 105 mmap_disable: yes dotlock_use_excl: yes mail_nfs_storage: yes mail_nfs_index: yes mail_executable(default): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap mail_executable(imap): /opt/freeware/dovecot-1.1b3/libexec/dovecot/imap mail_executable(pop3): /opt/freeware/dovecot-1.1b3/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota trash mail_plugins(imap): quota imap_quota trash mail_plugins(pop3): quota mail_plugin_dir(default): /opt/freeware/dovecot-1.1b3/lib/dovecot/imap mail_plugin_dir(imap): /opt/freeware/dovecot-1.1b3/lib/dovecot/imap mail_plugin_dir(pop3): /opt/freeware/dovecot-1.1b3/lib/dovecot/pop3 imap_client_workarounds(default): outlook-idle delay-newmail tb-extra-mailbox-sep imap_client_workarounds(imap): outlook-idle delay-newmail tb-extra-mailbox-sep imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login digest-md5 cram-md5 ntlm rpa apop anonymous passdb: driver: sql args: /local/config/dovecot-sql2.conf userdb: driver: prefetch userdb: driver: sql args: /local/config/dovecot-sql2.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail plugin: quota: maildir quota_rule: *:storage=102400:messages=5000 quota_rule2: Trash:storage=10M trash: /local/config/dovecot-trash.conf
On Fri, 2007-10-19 at 09:46 +0200, mikkel@euro123.dk wrote:
I somehow solved this compiling with gmake instead of make. I think it's related to libiconv and not to Dovecot.
I don't think iconv matters there. Beta2 parsed messages wrong while saving them, so maybe the problem was broken data in dovecot.index.cache? Beta3 should have fixed this.
participants (2)
-
mikkel@euro123.dk
-
Timo Sirainen