Today I finally caught up with my mail. I've now read all the mails from the Dovecot list from this year and all my private mails from last few years (totaling around 500 unread mails). If you think there's still something I should have replied to, please re-send it because I've either missed it or just skipped it for some reason. (Except there are still a couple of mails from this week I've yet to reply to.) Besides reading mails I've also fixed a lot of bugs today. What's left from my original 1.0 roadmap is: - Solaris sendfile is broken? Is it? Can someone try? You can test it with maildir by setting mail_save_crlf=yes, saving a somewhat large mail and FETCHing it (and truss that it really uses sendfile) - LDA: empty mail gives an error. - quota code should probably be always doing some quota_set_critical() instead of using mail_storage_set_critical(), so that quota_last_error() would work properly - rfc2557 support for BODYSTRUCTURE, as specified by RFC3501 - keywords: add some limits to how many there can be - don't return \* in PERMANENTFLAGS when we're full - mbox: how well does dirty sync + status work? it reads the last mail every time? not very good.. - mbox: dirty state should be stored to index (with mbox_very_dirty_syncs) I think 1.0 could be released without any of those changes. But what about the connection hangs that some people have had? Do they still occur? Is it only with SSL? I guess I should look at my previous ssl-proxy rewrite, figure out what went wrong with it and try again. I'm thinking about releasing 1.0 RC1 within a few days. Would be nice if that release actually worked, so testing would be appreciated :) You can try it by getting the dovecot-latest from http://dovecot.org/nightly/ The current changes include: * PAM: If user's password is expired, give "Password expired" error message to the user. Now actually working thanks to Vaidas Pilkauskas * Relicensed dovecot-auth, lib-sql and lib-ntlm to MIT license. See COPYING file for more information. * Abuse prevention: When creating a mailbox, limit the number of hierarchies (up to 20) and the length of the mailbox name within a hierarchy (up to 200 characters). * mbox: If saved mail doesn't end with LF, add it ourself so that the mails always have one empty line before the next From-line. + Added --with-statedir configure option which defaults to $localstatedir/lib/dovecot. ssl-parameters.dat is permanently stored in that directory and is copied to login_dirs from there. + IMAP: Support SASL-IR extension (SASL initial response) + Support initial SASL response with LOGIN mechanism. Patch by Anders Karlsson + Added PLAIN-MD4 password scheme. Patch by Andrey Panin. + Added support for XFS disk quotas. Patch by Pawel Jarosz + If another process deletes the opened mailbox, try to handle it without writing errors to log file. Handles the most common cases. + Added TLS support for LDAP if the library supports it. - Dovecot corrupted mbox files which had CR+LF linefeeds in headers - MySQL code could have crashed while escaping strings - MD4 code with NTLM authentication was broken with 64bit systems. Patch by Andrey Panin - Plugin loading was broken in some OSes (eg. FreeBSD) - Several fixes to handling empty values in configuration file - Several fixes to dictionary quota backend and dict server. Also changed how they're configured. - deliver: Fixed plugin handling settings - mbox_min_index_size handling was somewhat broken - passdb passwd-file: extra_args field wasn't read unless the file was also used as userdb. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 191 bytes Desc: This is a digitally signed message part Url : http://dovecot.org/pipermail/dovecot/attachments/20060618/42d4ba60/attachment.pgp
Quoting Timo Sirainen:> I'm thinking about releasing 1.0 RC1 within a few days. Would be nice if > that release actually worked, so testing would be appreciated :) You can > try it by getting the dovecot-latest from http://dovecot.org/nightly/epoll gets deactivated on my FC5 system. I looked around a little bit and found that for the test, linux/unistd.h should be included instead of asm/unistd.h (the former #includes the latter). Patch attached. -------------- next part -------------- diff -u -r1.277.2.11 configure.in --- dovecot/configure.in 17 Jun 2006 19:32:13 -0000 1.277.2.11 +++ dovecot/configure.in 18 Jun 2006 00:11:35 -0000 @@ -377,7 +377,7 @@ #include <sys/epoll.h> #include <errno.h> - #include <asm/unistd.h> + #include <linux/unistd.h> _syscall1 (int, epoll_create, int, size)
Hi, Timo Sirainen wrote:> Today I finally caught up with my mail. I've now read all the mails from > the Dovecot list from this year and all my private mails from last few > years (totaling around 500 unread mails). > > If you think there's still something I should have replied to, please > re-send it because I've either missed it or just skipped it for some > reason. (Except there are still a couple of mails from this week I've > yet to reply to.) > > Besides reading mails I've also fixed a lot of bugs today. What's left > from my original 1.0 roadmap is: > > - Solaris sendfile is broken? Is it? Can someone try? You can test it > with maildir by setting mail_save_crlf=yes, saving a somewhat large > mail and FETCHing it (and truss that it really uses sendfile) > - LDA: empty mail gives an error. > - quota code should probably be always doing some quota_set_critical() > instead of using mail_storage_set_critical(), so that quota_last_error() > would work properly > - rfc2557 support for BODYSTRUCTURE, as specified by RFC3501 > - keywords: add some limits to how many there can be > - don't return \* in PERMANENTFLAGS when we're full > - mbox: how well does dirty sync + status work? it reads the last mail every > time? not very good.. > - mbox: dirty state should be stored to index (with mbox_very_dirty_syncs) > > I think 1.0 could be released without any of those changes. > > But what about the connection hangs that some people have had? Do they > still occur? Is it only with SSL? I guess I should look at my previous > ssl-proxy rewrite, figure out what went wrong with it and try again. > > I'm thinking about releasing 1.0 RC1 within a few days. Would be nice if > that release actually worked, so testing would be appreciated :) You can > try it by getting the dovecot-latest from http://dovecot.org/nightly/ > > The current changes include: > > * PAM: If user's password is expired, give "Password expired" error > message to the user. Now actually working thanks to Vaidas Pilkauskas > * Relicensed dovecot-auth, lib-sql and lib-ntlm to MIT license. See > COPYING file for more information. > * Abuse prevention: When creating a mailbox, limit the number of > hierarchies (up to 20) and the length of the mailbox name within > a hierarchy (up to 200 characters). > * mbox: If saved mail doesn't end with LF, add it ourself so that the > mails always have one empty line before the next From-line. > > + Added --with-statedir configure option which defaults to > $localstatedir/lib/dovecot. ssl-parameters.dat is permanently > stored in that directory and is copied to login_dirs from there. > + IMAP: Support SASL-IR extension (SASL initial response) > + Support initial SASL response with LOGIN mechanism. Patch by Anders > Karlsson > + Added PLAIN-MD4 password scheme. Patch by Andrey Panin. > + Added support for XFS disk quotas. Patch by Pawel Jarosz >I compiled dovecot-20060618.tar.gz on Debian Sarge in order to test XFS disk quotas. My config: protocols = imap imaps pop3 pop3s ssl_disable = yes disable_plaintext_auth = no log_timestamp = "%Y-%m-%d %H:%M:%S " mail_extra_groups = mail mail_debug = yes protocol imap { mail_plugins = quota imap_quota mail_plugin_dir = /usr/lib/dovecot/imap } protocol pop3 { pop3_uidl_format = %v.%u } auth_debug = yes auth default { mechanisms = plain passdb shadow { } userdb passwd { } user = root } plugin { quota = fs } # lsmod|grep quota quota_v2 10240 0 # mount|grep sda9 /dev/sda9 on /home type xfs (rw,usrquota) # cat /etc/mtab |grep sda9 /dev/sda9 /home xfs rw,usrquota 0 0 # quota -v dumitru Disk quotas for user dumitru (uid 1048): Filesystem blocks quota limit grace files quota limit grace /dev/sda9 557452 5242880 5451776 16427 0 0 There is no errors in logs regarding quota, but the problem is that server reports wrong quota info. Request: A004 getquota "" Response: * QUOTA "" (STORAGE 2286043136 20971520) Getquota completed.> + If another process deletes the opened mailbox, try to handle it > without writing errors to log file. Handles the most common cases. > + Added TLS support for LDAP if the library supports it. > - Dovecot corrupted mbox files which had CR+LF linefeeds in headers > - MySQL code could have crashed while escaping strings > - MD4 code with NTLM authentication was broken with 64bit systems. > Patch by Andrey Panin > - Plugin loading was broken in some OSes (eg. FreeBSD) > - Several fixes to handling empty values in configuration file > - Several fixes to dictionary quota backend and dict server. > Also changed how they're configured. > - deliver: Fixed plugin handling settings > - mbox_min_index_size handling was somewhat broken > - passdb passwd-file: extra_args field wasn't read unless the file > was also used as userdb. > >Regards, Dumitru
On 169, 06 18, 2006 at 02:30:02AM +0300, Timo Sirainen wrote:> Today I finally caught up with my mail. I've now read all the mails from > the Dovecot list from this year and all my private mails from last few > years (totaling around 500 unread mails). > > If you think there's still something I should have replied to, please > re-send it because I've either missed it or just skipped it for some > reason. (Except there are still a couple of mails from this week I've > yet to reply to.) > > Besides reading mails I've also fixed a lot of bugs today. What's left > from my original 1.0 roadmap is: > > - Solaris sendfile is broken? Is it? Can someone try? You can test it > with maildir by setting mail_save_crlf=yes, saving a somewhat large > mail and FETCHing it (and truss that it really uses sendfile) > - LDA: empty mail gives an error. > - quota code should probably be always doing some quota_set_critical() > instead of using mail_storage_set_critical(), so that quota_last_error() > would work properly > - rfc2557 support for BODYSTRUCTURE, as specified by RFC3501 > - keywords: add some limits to how many there can be > - don't return \* in PERMANENTFLAGS when we're full > - mbox: how well does dirty sync + status work? it reads the last mail every > time? not very good.. > - mbox: dirty state should be stored to index (with mbox_very_dirty_syncs) > > I think 1.0 could be released without any of those changes. > > But what about the connection hangs that some people have had? Do they > still occur? Is it only with SSL? I guess I should look at my previous > ssl-proxy rewrite, figure out what went wrong with it and try again. > > I'm thinking about releasing 1.0 RC1 within a few days. Would be nice if > that release actually worked, so testing would be appreciated :) You can > try it by getting the dovecot-latest from http://dovecot.org/nightly/Here is a big problem with transaction support in MySQL driver: it simpy doesn't work :( sql_transaction_commit_s() function fails and MySQL reports this error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ';UPDATE ... Looks like mysql_query() chokes if query contains semicolon. IMHO we must just use MySQL BEGIN/COMMIT/ROLLBACK and let users care about transaction safety of their databases.> The current changes include: > > * PAM: If user's password is expired, give "Password expired" error > message to the user. Now actually working thanks to Vaidas Pilkauskas > * Relicensed dovecot-auth, lib-sql and lib-ntlm to MIT license. See > COPYING file for more information. > * Abuse prevention: When creating a mailbox, limit the number of > hierarchies (up to 20) and the length of the mailbox name within > a hierarchy (up to 200 characters). > * mbox: If saved mail doesn't end with LF, add it ourself so that the > mails always have one empty line before the next From-line. > > + Added --with-statedir configure option which defaults to > $localstatedir/lib/dovecot. ssl-parameters.dat is permanently > stored in that directory and is copied to login_dirs from there. > + IMAP: Support SASL-IR extension (SASL initial response) > + Support initial SASL response with LOGIN mechanism. Patch by Anders > Karlsson > + Added PLAIN-MD4 password scheme. Patch by Andrey Panin. > + Added support for XFS disk quotas. Patch by Pawel Jarosz > + If another process deletes the opened mailbox, try to handle it > without writing errors to log file. Handles the most common cases. > + Added TLS support for LDAP if the library supports it. > - Dovecot corrupted mbox files which had CR+LF linefeeds in headers > - MySQL code could have crashed while escaping strings > - MD4 code with NTLM authentication was broken with 64bit systems. > Patch by Andrey Panin > - Plugin loading was broken in some OSes (eg. FreeBSD) > - Several fixes to handling empty values in configuration file > - Several fixes to dictionary quota backend and dict server. > Also changed how they're configured. > - deliver: Fixed plugin handling settings > - mbox_min_index_size handling was somewhat broken > - passdb passwd-file: extra_args field wasn't read unless the file > was also used as userdb. >-- Andrey Panin | Linux and UNIX system administrator pazke@donpac.ru | PGP key: wwwkeys.pgp.net -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://dovecot.org/pipermail/dovecot/attachments/20060618/f9d7c097/attachment.pgp
>If you think there's still something I should have replied to, please >re-send it because I've either missed it or just skipped it for some >reason.(Except there are still a couple of mails from this week I've >yet to reply to.)Timo look at this message - http://www.dovecot.org/list/dovecot/2006-June/013958.html. I compiled dovecot-latest (dovecot-20060618.tar.gz , configured --with-ioloop=poll), but same problem: Jun 19 07:43:25 srv1 dovecot: Dovecot v1.0.beta9 starting up Jun 19 07:43:26 srv1 dovecot: auth(default): pgsql: Connected to hosting Jun 19 07:44:09 srv1 dovecot: pop3-login: Login: user=<ramas>, method=PLAIN, rip=192.168.0.3, lip=192.168.0.6, TLS Jun 19 07:44:09 srv1 dovecot: POP3(ramas): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0 Jun 19 19:18:21 srv1 dovecot: auth(default): sql(ramas,192.168.0.3): Password query failed: Jun 19 19:18:21 srv1 dovecot: auth(default): invalid I/O fd 8, callback 0x8065170 Jun 19 19:19:21 srv1 dovecot: pop3-login: Disconnected: Inactivity: method=PLAIN, rip=192.168.0.3, lip=192.168.0.6, TLS gdb /usr/libexec/dovecot/dovecot-auth 30056 GNU gdb Red Hat Linux (6.3.0.0-1.122rh) 0xffffe410 in __kernel_vsyscall () (gdb) x 0x8065170 0x8065170 <get_result>: 0x83e58955 (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb7debe3e in __lll_mutex_lock_wait () from /lib/libc.so.6 #2 0xb7d6b94c in _L_lock_100 () from /lib/libc.so.6 #3 0xb7d6b8ea in fflush () from /lib/libc.so.6 #4 0xb7e5a973 in pqFlush () from /usr/lib/libpq.so.3 #5 0xb7e57cb0 in PQconsumeInput () from /usr/lib/libpq.so.3 #6 0x0806518c in get_result () #7 0x0806abe8 in io_loop_handler_run () #8 0x0806a28c in io_loop_run () #9 0x08058da5 in main () Also tryed compile with epoll, got this error: Jun 19 06:55:23 srv1 dovecot: auth(default): sql(ramas,192.168.0.3): Password query failed: Jun 19 06:55:23 srv1 dovecot: pop3-login: Disconnected: user=<ramas>, method=PLAIN, rip=192.168.0.3, lip=192.168.0.6, TLS Jun 19 06:55:26 srv1 dovecot: auth(default): io_loop_handle_add: epoll_ctl(3, 9): No such file or directory Jun 19 06:55:26 srv1 dovecot: pop3-login: Disconnected: method=PLAIN, rip=192.168.0.3, lip=192.168.0.6, TLS Jun 19 06:55:26 srv1 dovecot: child 11758 (auth) returned error 89 Jun 19 06:55:27 srv1 dovecot: auth(default): pgsql: Connected to hosting Jun 19 06:55:27 srv1 dovecot: pop3-login: Login: user=<ramas>, method=PLAIN, rip=192.168.0.3, lip=192.168.0.6, TLS Jun 19 06:55:27 srv1 dovecot: POP3(ramas): Disconnected: Logged out top=0/0, retr=2/3429, del=2/2, size=3395 Users passwords stored on PostgreSQL (7.4.11) another server. Machine - Linux, kernel 2.6.16.20 Thank you. Ramunas -------------- next part -------------- An HTML attachment was scrubbed... URL: http://dovecot.org/pipermail/dovecot/attachments/20060619/3947f916/attachment.htm
Timo Sirainen wrote:> If you think there's still something I should have replied to, please > re-send it because I've either missed it or just skipped it for some > reason. (Except there are still a couple of mails from this week I've > yet to reply to.)beta 9 still has a permissions problem when a user creates a new folder in a public namespace. The file dovecot-shared is used to assign permissions and ownership for new files, but not for new directories. In the example below, the public directory .myTest was created by user mark. Other users cannot read it. All users are in the group Everyone. These are real system users. [root@tesla Maildir]# ls -la /home/public/Maildir/ total 103k drwxrws--- 11 dovecot Everyone 4.1k Jun 20 11:17 ./ drwxrwxrwx 3 root root 4.1k Jun 7 09:15 ../ drwxrws--- 2 dovecot Everyone 13k May 24 14:43 cur/ -rw-rw---- 1 dovecot Everyone 0 May 12 13:46 dovecot-shared drwx--S--- 5 mark Everyone 4.1k Jun 20 11:17 .myTest/ drwxrws--- 2 dovecot Everyone 4.1k May 24 14:44 new/ drwxrws--- 2 dovecot Everyone 4.1k May 19 17:48 tmp/ Note that a message moved into the .myTest directory has correct permissions [root@tesla Maildir]# ls -la /home/public/Maildir/.myTest/cur/ total 259k drwx--S--- 2 mark Everyone 4.1k Jun 20 11:19 ./ drwx--S--- 5 mark Everyone 4.1k Jun 20 11:17 ../ -rw-rw---- 1 mark Everyone 234k Jun 16 04:02 11508.P2Q3.my.example.com:2,S Workaround is to set umask=0007 in dovecot.conf, but this gives loose permissions on private mailboxes. Mark
On Sun, 2006-06-18 at 02:30 +0300, Timo Sirainen wrote:> Today I finally caught up with my mail. I've now read all the mails from > the Dovecot list from this year and all my private mails from last few > years (totaling around 500 unread mails). > > If you think there's still something I should have replied to, please > re-send it because I've either missed it or just skipped it for some > reason. (Except there are still a couple of mails from this week I've > yet to reply to.)Not sure if I sent this before, but here it goes again: We are having a lot of problems with Outlook 2003 (and, but I couldn't verify this) Outlook 2000 when using dovecot + IMAP. Outlook 2002 works like a charm. The problem is best described as totally random disconnects. Hitting Send/Receive a couple of times usually makes it work again, sometimes not. Does anyone experience the same issues, or is it just us again? :) For now, and I'm totally guessing here, I think that 2003 and 2000 expect some wacky NOOP behavior. Cheers, Marc
Timo Sirainen wrote: [snip]> > I'm thinking about releasing 1.0 RC1 within a few days. Would be nice if > that release actually worked, so testing would be appreciated :) You can > try it by getting the dovecot-latest from http://dovecot.org/nightly/There was a change to how configure detects if kqueue is supported (made sometime after the 10th (I suspect the change on the 16th, but haven't looked too closely) which prevents it from being detected on NetBSD. Forcing kqueue to be used for file change and i/o loop by hacking up the configure script allows it to be used. It also works correctly, save for the messages: Jun 21 17:22:13 intrepid dovecot: auth(default): kevent(10) in io_loop_handle_remove failed: Bad file descriptor Jun 21 17:22:13 intrepid dovecot: auth(default): kevent(12) in io_loop_handle_remove failed: Bad file descriptor Jun 21 17:22:13 intrepid dovecot: auth(default): kevent(11) in io_loop_handle_remove failed: Bad file descriptor This doesn't appear to cause any bad side effects though, as logging in and mail notification both work just fine. ScottE
Hi Timo, I copy my email to this thread, so its more organized: http://dovecot.org/list/dovecot/2006-June/014205.html Thanks Oliver Timo Sirainen wrote:> If you think there's still something I should have replied to, please > re-send it because I've either missed it or just skipped it for some > reason. (Except there are still a couple of mails from this week I've > yet to reply to.) >-- Oliver Schulze L. <oliver at samera.com.py>
On Wed, 2006-06-21 at 17:23 -0700, Scott Ellis wrote:> Timo Sirainen wrote: > [snip] > > > > I'm thinking about releasing 1.0 RC1 within a few days. Would be nice if > > that release actually worked, so testing would be appreciated :) You can > > try it by getting the dovecot-latest from http://dovecot.org/nightly/ > > There was a change to how configure detects if kqueue is supported (made > sometime after the 10th (I suspect the change on the 16th, but haven't > looked too closely) which prevents it from being detected on NetBSD. > Forcing kqueue to be used for file change and i/o loop by hacking up the > configure script allows it to be used.Any idea what exactly? I noticed one test had == instead of =. Was it just because of that? http://dovecot.org/list/dovecot-cvs/2006-June/005920.html> Jun 21 17:22:13 intrepid dovecot: auth(default): kevent(10) in > io_loop_handle_remove failed: Bad file descriptorWell, these aren't good anyway.. Would be nice to know where those came from. If you want you could change i_error calls to i_panic in src/lib/ioloop-kqueue.c and then get gdb backtraces when it crashes (http://dovecot.org/bugreport.html) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 191 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20060624/a82c266b/attachment.bin>
On Tue, 2006-06-20 at 11:33 -0700, Mark Nienberg wrote:> Timo Sirainen wrote: > > If you think there's still something I should have replied to, please > > re-send it because I've either missed it or just skipped it for some > > reason. (Except there are still a couple of mails from this week I've > > yet to reply to.) > > beta 9 still has a permissions problem when a user creates a new folder in a public > namespace. The file dovecot-shared is used to assign permissions and ownership for > new files, but not for new directories. > > In the example below, the public directory .myTest was created by user mark. Other > users cannot read it. All users are in the group Everyone. These are real system > users. > > [root at tesla Maildir]# ls -la /home/public/Maildir/ > total 103k > drwxrws--- 11 dovecot Everyone 4.1k Jun 20 11:17 ./ > drwxrwxrwx 3 root root 4.1k Jun 7 09:15 ../ > drwxrws--- 2 dovecot Everyone 13k May 24 14:43 cur/ > -rw-rw---- 1 dovecot Everyone 0 May 12 13:46 dovecot-shared > drwx--S--- 5 mark Everyone 4.1k Jun 20 11:17 .myTest/ > drwxrws--- 2 dovecot Everyone 4.1k May 24 14:44 new/ > drwxrws--- 2 dovecot Everyone 4.1k May 19 17:48 tmp/Each created folder is supposed to have their own dovecot-shared file. Having the dovecot-shared in here makes it used only for INBOX, nothing else. Also if you create new folders the dovecot-shared file isn't copied or anything else. So you always have to create it manually for each shared folder.. I don't think I'm going to change this behavior before writing proper shared folder support, sometimes after v1.0. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 191 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20060624/9a524eb3/attachment.bin>