Re: [Dovecot] 1.0.rc30 released
On 6.4.2007, at 21.14, Justin McAleer wrote: Timo Sirainen wrote: On 6.4.2007, at 17.55, Justin McAleer wrote: Timo, in rc30, deliver is not creating user directories properly. It looks like it goes straight to creating the maildir, without creating the home directory first if it doesn't exist. It also seems to be doing this before chrooting, as the following errors occur even after manually creating the home directory (with proper permissions): Apr 6 10:26:23 node7 postfix/qmgr[21815]: D2242D39A5: from=, size=556, nrcpt=1 (queue active) Apr 6 10:26:23 node7 deliver([EMAIL PROTECTED]): mkdir(/cur) failed: Permission denied Looks like deliver doesn't chroot at all if you did chrooting by using /./ in the home directory. Since deliver doesn't work that great chrooted anyway (can't send bounces by running sendmail), maybe this is a good thing. For the record, I was not using /./ in the home directory. For this user the home directory (and maildir) is /var/mailstore/af/4f/ 510590. While that may be a good thing, that deliver fails to create a user's maildir is a big problem for me, as I will have to actively provision maildirs for all new accounts before they can receive mail (or be converted)... so for the record, can I no longer count on dovecot to create user directories that don't exist? Umm. So are you even trying to use the chrooting? Deliver doesn't try to do that by default. So if it's trying to create /cur directory, it sees the mail directory as /. Also, the convert plugin seems to assume the home dir exists when it tries to create it's lock file. However, manually creating the home dir does allow convert to continue successfully. This happens only if it the source storage creation succeeds. So you're moving user's home directory also? All I'm dealing with here is mail. I'm converting from CommuniGate mailboxes to dovecot, so the whole concept of a home directory is just a technicality. In fact, I was initially just setting users' home to '' and using the mail_location setting to generate the path. The only reason I went back to setting home is because convert seems to create it's lock file in the home dir (so lock creation was failing trying to open /.temp...). Here is what I'm feeding to convert: Yea, it does. Maybe you could set the home directory to be the CommuniGate's directory? In any case I don't really like the idea of convert plugin creating home directory. An alternative is for you to create the home directory yourself before Dovecot runs: http://wiki.dovecot.org/PostLoginScripting PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] 1.0.rc30 released
quote who=Timo Sirainen http://dovecot.org/releases/dovecot-1.0.rc30.tar.gz http://dovecot.org/releases/dovecot-1.0.rc30.tar.gz.sig So, this is it. Unless you can find a new and important bug within a week, this release is the same as v1.0. I'll only update the version number and NEWS file. Yeah -- Kind Regards, Gavin Henry. Managing Director. T +44 (0) 1224 279484 M +44 (0) 7930 323266 F +44 (0) 1224 824887 E [EMAIL PROTECTED] Open Source. Open Solutions(tm). http://www.suretecsystems.com/
Re: [Dovecot] 1.0.rc30 released
Timo Sirainen wrote: + Send list of CA names to client when using ssl_verify_client_cert=yes. This is wonderful news! Thank you for implementing this so quickly into the official distribution.
Re: [Dovecot] 1.0.rc30 released
Timo Sirainen wrote: Changes since rc29: * PAM: Lowercase the PAM service name when calling with args = *. Linux PAM did this internally already, but at least BSD didn't. If your PAM file used to be in /etc/pam.d/IMAP or POP3 file you'll need to lowercase it now. + Send list of CA names to client when using ssl_verify_client_cert=yes. - IMAP: If message body started with line feed, it wasn't counted in BODY and BODYSTRUCTURE replies' line count field. - deliver didn't load plugins before chrooting Timo, in rc30, deliver is not creating user directories properly. It looks like it goes straight to creating the maildir, without creating the home directory first if it doesn't exist. It also seems to be doing this before chrooting, as the following errors occur even after manually creating the home directory (with proper permissions): Apr 6 10:26:23 node7 postfix/qmgr[21815]: D2242D39A5: from=, size=556, nrcpt=1 (queue active) Apr 6 10:26:23 node7 deliver([EMAIL PROTECTED]): mkdir(/cur) failed: Permission denied Apr 6 10:26:23 node7 deliver([EMAIL PROTECTED]): mkdir(/cur) failed: Permission denied Apr 6 10:26:23 node7 postfix/pipe[26800]: D2242D39A5: to=[EMAIL PROTECTED], relay=dovecot, delay=232, delays=232/0/0/0.01, dsn=4.3.0, status=deferred (temporary failure) Also, the convert plugin seems to assume the home dir exists when it tries to create it's lock file. However, manually creating the home dir does allow convert to continue successfully. Apr 6 10:42:15 node7 dovecot: POP3([EMAIL PROTECTED]): open(/var/mailstore/af/4f/510590/.temp.node7.neonova.net.26842.6454b11667006c6f) failed: No such file or directory Apr 6 10:42:15 node7 dovecot: child 26842 (pop3) returned error 89 The 510590 directory did not exist in both of these examples, and I'm using %h as the mail location (but adding a subdir to that didn't make a difference).
Re: [Dovecot] 1.0.rc30 released
Timo Sirainen wrote: http://dovecot.org/releases/dovecot-1.0.rc30.tar.gz http://dovecot.org/releases/dovecot-1.0.rc30.tar.gz.sig So, this is it. Unless you can find a new and important bug within a week, this release is the same as v1.0. I'll only update the version number and NEWS file. Changes since rc29: * PAM: Lowercase the PAM service name when calling with args = *. Linux PAM did this internally already, but at least BSD didn't. If your PAM file used to be in /etc/pam.d/IMAP or POP3 file you'll need to lowercase it now. + Send list of CA names to client when using ssl_verify_client_cert=yes. - IMAP: If message body started with line feed, it wasn't counted in BODY and BODYSTRUCTURE replies' line count field. - deliver didn't load plugins before chrooting One other thing about the convert plugin, sorry. Unless I'm mistaken, the mailbox_list_copy_subscriptions function should call mailbox_name_convert before adding the new folders to the subscriptions file. That's not being done currently, so if any renaming takes place the user gets subscribed to non-existant or even invalid folders. I simply did this, though it is some code duplication: 228a242 const char *dest_name; 234c248,250 if (mail_storage_set_subscribed(dest_storage, list-name, --- dest_name = mailbox_name_convert(dest_storage, source_storage, list-name); if (mail_storage_set_subscribed(dest_storage, dest_name,
Re: [Dovecot] 1.0.rc30 released
On 6.4.2007, at 17.55, Justin McAleer wrote: Timo, in rc30, deliver is not creating user directories properly. It looks like it goes straight to creating the maildir, without creating the home directory first if it doesn't exist. It also seems to be doing this before chrooting, as the following errors occur even after manually creating the home directory (with proper permissions): Apr 6 10:26:23 node7 postfix/qmgr[21815]: D2242D39A5: from=, size=556, nrcpt=1 (queue active) Apr 6 10:26:23 node7 deliver([EMAIL PROTECTED]): mkdir(/cur) failed: Permission denied Looks like deliver doesn't chroot at all if you did chrooting by using /./ in the home directory. Since deliver doesn't work that great chrooted anyway (can't send bounces by running sendmail), maybe this is a good thing. Also, the convert plugin seems to assume the home dir exists when it tries to create it's lock file. However, manually creating the home dir does allow convert to continue successfully. This happens only if it the source storage creation succeeds. So you're moving user's home directory also? Anyway, I don't think I'll be changing any of this code in v1.0 branch. But the subscription name changing .. yea, I'll fix that for v1.0. Guess I'll still have to put out rc31 :( PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] 1.0.rc30 released
On April 6, 2007 12:45:07 PM +0300 Timo Sirainen [EMAIL PROTECTED] wrote: http://dovecot.org/releases/dovecot-1.0.rc30.tar.gz http://dovecot.org/releases/dovecot-1.0.rc30.tar.gz.sig So, this is it. Unless you can find a new and important bug within a week, this release is the same as v1.0. I'll only update the version number and NEWS file. Yay! Another really-real-this-time release candidate! ;-)
Re: [Dovecot] 1.0.rc30 released
Timo Sirainen wrote: On 6.4.2007, at 17.55, Justin McAleer wrote: Timo, in rc30, deliver is not creating user directories properly. It looks like it goes straight to creating the maildir, without creating the home directory first if it doesn't exist. It also seems to be doing this before chrooting, as the following errors occur even after manually creating the home directory (with proper permissions): Apr 6 10:26:23 node7 postfix/qmgr[21815]: D2242D39A5: from=, size=556, nrcpt=1 (queue active) Apr 6 10:26:23 node7 deliver([EMAIL PROTECTED]): mkdir(/cur) failed: Permission denied Looks like deliver doesn't chroot at all if you did chrooting by using /./ in the home directory. Since deliver doesn't work that great chrooted anyway (can't send bounces by running sendmail), maybe this is a good thing. For the record, I was not using /./ in the home directory. For this user the home directory (and maildir) is /var/mailstore/af/4f/510590. While that may be a good thing, that deliver fails to create a user's maildir is a big problem for me, as I will have to actively provision maildirs for all new accounts before they can receive mail (or be converted)... so for the record, can I no longer count on dovecot to create user directories that don't exist? Also, the convert plugin seems to assume the home dir exists when it tries to create it's lock file. However, manually creating the home dir does allow convert to continue successfully. This happens only if it the source storage creation succeeds. So you're moving user's home directory also? All I'm dealing with here is mail. I'm converting from CommuniGate mailboxes to dovecot, so the whole concept of a home directory is just a technicality. In fact, I was initially just setting users' home to '' and using the mail_location setting to generate the path. The only reason I went back to setting home is because convert seems to create it's lock file in the home dir (so lock creation was failing trying to open /.temp...). Here is what I'm feeding to convert: convert_mail = mbox:/var/mailstore/%d/%1n.sub/%1.1n.sub/%n.macnt:INBOX=/var/mailstore/%d/%1n.sub/%1.1n.sub/%n.macnt/INBOX.mbox And an example of the user's home/maildir: /var/mailstore/af/4f/510590 mail_location = maildir:%h:INDEX=/var/indexes/%2Mi/%2.2Mi/%i The index location here would be /var/indexes/af/4f/510590 (local disk). One of the source hacks I've made for the CommuniGate format was setting a mask of *.mbox rather than just * when calling the mail_storage_mailbox_list_init functions... I didn't think that could cause a problem like this though. I also strip off the .mbox extension, and any occurance of .folder in the dest_name string in mailbox_name_convert(). All of that works perfectly so far in my testing, though, as long as the user's home directory already exists :) Anyway, I don't think I'll be changing any of this code in v1.0 branch. But the subscription name changing .. yea, I'll fix that for v1.0. Guess I'll still have to put out rc31 :( -- Justin McAleer Director of Development Neonova Network Services