mikkel at euro123.dk
2007-Oct-17 11:55 UTC
[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 don?t 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
mikkel at euro123.dk
2007-Oct-19 07:46 UTC
[Dovecot] Problem with bodystructure/partial fetch using 1.1*
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 at 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 don?t 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 > > >