Hi all, I compiled a 64-bit Dovecot stable (13-03-2005) version on a Solaris 9 box with gcc 3.4.2. OpenSSL and libiconv are compiled 64-bit also. The configure I use: export CPPFLAGS="-m64 -I/var/tmp/openssl/include" export LDFLAGS="-m64 -L/var/tmp/openssl/lib" ./configure \ --prefix=/opt/dovecot \ --sysconfdir=/etc/opt/dovecot \ --disable-shared \ --with-libiconv-prefix=/var/tmp/iconv \ --without-passwd-file \ --without-shadow \ --without-vpopmail \ --without-static-userdb \ --with-ssl=openssl \ --with-ssldir=/etc/opt/dovecot/cert \ --without-pop3d Dovecot is running fine, all email clients are running fine, except for Pine (4.62). When saving a mail to another IMAP mailbox, Pine report an error message and the logfile shows: Mar 14 16:33:28 tbox dovecot: [ID 107833 local1.error] IMAP(tstud1): utime(/var/tmp/var_mailstore/ t/tstud1/.Drafts/tmp/1110814408.P2681Q0M979308.tbox) failed: Value too large for defined data type Compiling Dovecot in 32-bit, saving mail within Pine is doing just fine. I guess this is caused by maildir-save.c, line 219. Is this a bug in Solaris or Dovecot? -Remy
On 14.3.2005, at 22:16, Remy Zandwijk wrote:> Mar 14 16:33:28 tbox dovecot: [ID 107833 local1.error] IMAP(tstud1): > utime(/var/tmp/var_mailstore/ > t/tstud1/.Drafts/tmp/1110814408.P2681Q0M979308.tbox) failed: Value > too large for defined data type > > Compiling Dovecot in 32-bit, saving mail within Pine is doing just > fine. > > I guess this is caused by maildir-save.c, line 219. Is this a bug in > Solaris or Dovecot?Looks like it's a bug in utc_mktime() function which is based on code from Cyrus.. And looks like they've since figured out a way to fix it: + /* Some gmtime() implementations are broken and will return + * NULL for time_ts larger than 40 bits even on 64-bit platforms + * so we'll just cap it at 40 bits */ + if(bits > 40) bits = 40; I'll implement a similar fix. If you change TIME_T_MAX_BITS in config.h to 40 it should work? -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20050315/7319a5fb/attachment-0001.bin>
>Looks like it's a bug in utc_mktime() function which is based on code from >Cyrus.. And looks like they've since figured out a way to fix it: > >+ /* Some gmtime() implementations are broken and will return >+ * NULL for time_ts larger than 40 bits even on 64-bit platforms >+ * so we'll just cap it at 40 bits */ >+ if(bits > 40) bits = 40; > >I'll implement a similar fix. If you change TIME_T_MAX_BITS in config.h to >40 it should work?I downloaded and compiled dovecot-1.0-stable 15-03-2005 and the fix works :-) Thanks Timo! Remy