[Dovecot] Error messages in log
Hi,
I would like to eliminate some of the error messages which appear in my dovecot logfile.
I already understand that the message: doveconf: Warning: SSL is disabled because global ssl=no, ignoring ssl=yes for subsection is fixed in the current development code.
However, I also get a lot of: lda(peter): Error: User peter doesn't have home dir set, disabling duplicate database Is there a way to eliminate/supress these messages? I'm operating with virtual users, so checking for a home directory doesn't make a lot of sense. Is there a setting in the .conf file which can control this?
Possibly more concerning is this message: May 10 23:31:23 imap(peter): Error: link(/mnt/user/Maildir/peter/dovecot.index.log, /mnt/user/Maildir/peter/dovecot.index.log.2) failed: Function not implemented I'm not sure exactly what I was doing at the time - probably experimenting with Sieve filters. Has this compromised my maildir? I have already disabled copy with hard links - is there another 'hardlink' setting available?
Thank you for any advice!
root@Tower:~# doveconf -n # 2.0.12: /usr/local/etc/dovecot/dovecot.conf doveconf: Warning: SSL is disabled because global ssl=no, ignoring ssl=yes for subsection doveconf: Warning: SSL is disabled because global ssl=no, ignoring ssl=yes for subsection # OS: Linux 2.6.36.2-unRAID i686 Slackware 13.1.0 fuse.shfs disable_plaintext_auth = no listen = * log_path = /var/log/mail.log mail_location = maildir:/mnt/user/Maildir/%u maildir_copy_with_hardlinks = no managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date passdb { args = /etc/passwd.dovecot driver = passwd-file } plugin { sieve = /mnt/user/Maildir/%u/.dovecot.sieve sieve_dir = /mnt/user/Maildir/%u/ sieve_global_path = /var/lib/dovecot/default.sieve } postmaster_address = postmaster@bellfamily.org.uk protocols = imap sieve service auth { user = root } service imap-login { inet_listener imap { port = 143 } } ssl = no userdb { args = /etc/passwd.dovecot driver = passwd-file } protocol lda { mail_plugins = sieve } root@Tower:~#
--
Peter Bell Mob: +63 (0) 9287 340 343 Tagum City, Philippines. Tel: +63 (0) 84 400 5085 email/msn: peter@bellfamily.org.uk Tel: +44 (0) 118 331 0000
On Wed, May 11, 2011 at 11:35:37AM +0800, Peter Bell wrote:
Possibly more concerning is this message: May 10 23:31:23 imap(peter): Error: link(/mnt/user/Maildir/peter/dovecot.index.log, /mnt/user/Maildir/peter/dovecot.index.log.2) failed: Function not implemented
Basically you are nesting homedir/meta data inside the Maildir root. This is where the errors stem from. Sieve scripts and index data should not reside within same.
mail_location = maildir:/mnt/user/Maildir/%u
This is a bit overcomplicated. Try using a construct like:
mail_location = maildir:~/Maildir
http://wiki2.dovecot.org/MailLocation/Maildir
This however requires home directories to be set accordingly in the User Database:
userdb { args = /etc/passwd.dovecot driver = passwd-file
http://wiki2.dovecot.org/AuthDatabase/Passwd
With the changes in place the nesting can be avoided by simplifying:
plugin { sieve = /mnt/user/Maildir/%u/.dovecot.sieve sieve_dir = /mnt/user/Maildir/%u/
sieve = ~/.dovecot.sieve sieve_dir = ~/sieve
Regards Thomas
On 11.5.2011, at 6.35, Peter Bell wrote:
However, I also get a lot of: lda(peter): Error: User peter doesn't have home dir set, disabling duplicate database Is there a way to eliminate/supress these messages? I'm operating with virtual users, so checking for a home directory doesn't make a lot of sense. Is there a setting in the .conf file which can control this?
http://wiki2.dovecot.org/VirtualUsers/Home
Possibly more concerning is this message: May 10 23:31:23 imap(peter): Error: link(/mnt/user/Maildir/peter/dovecot.index.log, /mnt/user/Maildir/peter/dovecot.index.log.2) failed: Function not implemented
So apparently your fuse filesystem doesn't support link().
I'm not sure exactly what I was doing at the time - probably experimenting with Sieve filters. Has this compromised my maildir? I have already disabled copy with hard links - is there another 'hardlink' setting available?
Nope. I don't remember what all places uses link(), but looks like at least copying .log to .log.2 file. It doesn't really matter if it fails though.
Thank you to you, Timo, and to Thomas, for you helpful replies!
On Wednesday, 11 May, 2011 05:42 PM, Timo Sirainen wrote:
On 11.5.2011, at 6.35, Peter Bell wrote:
However, I also get a lot of: lda(peter): Error: User peter doesn't have home dir set, disabling duplicate database Is there a way to eliminate/supress these messages? I'm operating with virtual users, so checking for a home directory doesn't make a lot of sense. Is there a setting in the .conf file which can control this?
Ah, thanks for that pointer - I seem to have missed that page in my enthusiasm to get Dovecot up and running in my Slackware environment.
Perhaps I simply ignored mention of 'home' directories in my belief that they didn't apply to a virtual user situation.
I will have a go at restructuring things.
Possibly more concerning is this message: May 10 23:31:23 imap(peter): Error: link(/mnt/user/Maildir/peter/dovecot.index.log, /mnt/user/Maildir/peter/dovecot.index.log.2) failed: Function not implemented
So apparently your fuse filesystem doesn't support link().
That is correct. This system is, essentially, a parity-protected file server, with logical file space which spans physical devices. However, the big benefit of the system is that, unlike most RAID configurations, each physical drive can be mounted individually and the filesystem (ReiserFS) written/read in isolation. I suspect that, technically, it would be possible to add link(), but I guess that the conflation of stand-alone drive/logical spanning makes it a little complex. I will try starting a discussion on this topic over on the 'other' forum. Anyway, having been badly bitten by a RAID system which fell over and failed to respond to any of the prescribed recovery procedures, some years ago, I feel more comfortable with this solution. The system will recover from any single drive failure and,even if more than one drive fails simultaneously, I can still recover all files on the remaining drives.
I'm not sure exactly what I was doing at the time - probably experimenting with Sieve filters. Has this compromised my maildir? I have already disabled copy with hard links - is there another 'hardlink' setting available?
Nope. I don't remember what all places uses link(), but looks like at least copying .log to .log.2 file. It doesn't really matter if it fails though.
Okay, so I'm guessing that this is simply a rollover log file - one file, reaching a certain size is renamed [linked], and a new log file started? When I have a little spare time I may try grepping the Dovecot code.
--
Peter Bell Mob: +63 (0) 9287 340 343 Tagum City, Philippines. Tel: +63 (0) 84 400 5085 email/msn: peter@bellfamily.org.uk Tel: +44 (0) 118 331 0000
On Wed, 2011-05-11 at 20:02 +0800, Peter Bell wrote:
Possibly more concerning is this message: May 10 23:31:23 imap(peter): Error: link(/mnt/user/Maildir/peter/dovecot.index.log, /mnt/user/Maildir/peter/dovecot.index.log.2) failed: Function not implemented
So apparently your fuse filesystem doesn't support link().
That is correct. This system is, essentially, a parity-protected file server, with logical file space which spans physical devices. However, the big benefit of the system is that, unlike most RAID configurations, each physical drive can be mounted individually and the filesystem (ReiserFS) written/read in isolation. I suspect that, technically, it would be possible to add link(), but I guess that the conflation of stand-alone drive/logical spanning makes it a little complex. I will try starting a discussion on this topic over on the 'other' forum.
One directory's all files are probably in one filesystem, so link() within a single directory should be simple to implement I think? That's all Dovecot needs.
I'm not sure exactly what I was doing at the time - probably experimenting with Sieve filters. Has this compromised my maildir? I have already disabled copy with hard links - is there another 'hardlink' setting available?
Nope. I don't remember what all places uses link(), but looks like at least copying .log to .log.2 file. It doesn't really matter if it fails though.
Okay, so I'm guessing that this is simply a rollover log file - one file, reaching a certain size is renamed [linked], and a new log file started?
Right. Not having a .log.2 mainly affects things like dsync and QRESYNC extension.
When I have a little spare time I may try grepping the Dovecot code.
there are link() and nfs_safe_link() calls.
On Wednesday, 11 May, 2011 08:26 PM, Timo Sirainen wrote:
On Wed, 2011-05-11 at 20:02 +0800, Peter Bell wrote:
I suspect that, technically, it would be possible to add link(), but I guess that the conflation of stand-alone drive/logical spanning makes it a little complex. I will try starting a discussion on this topic over on the 'other' forum.
One directory's all files are probably in one filesystem, so link() within a single directory should be simple to implement I think? That's all Dovecot needs.
Yes, sure. I think that it might be a little more complicated to find a generalised solution which will meet all requirements for the implementation of link().
When I have a little spare time I may try grepping the Dovecot code.
there are link() and nfs_safe_link() calls.
Thanks for that info!
--
Peter Bell Mob: +63 (0) 9287 340 343 Tagum City, Philippines. Tel: +63 (0) 84 400 5085 email/msn: peter@bellfamily.org.uk Tel: +44 (0) 118 331 0000
participants (3)
-
Peter Bell
-
Thomas Leuxner
-
Timo Sirainen