Re: [Dovecot] 1.0.rc30 released

2007-04-07 Thread Timo Sirainen

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

2007-04-06 Thread Gavin Henry
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

2007-04-06 Thread Johnny Chadda

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

2007-04-06 Thread Justin McAleer

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

2007-04-06 Thread Justin McAleer

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

2007-04-06 Thread Timo Sirainen

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

2007-04-06 Thread Frank Cusack

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

2007-04-06 Thread Justin McAleer

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