[Dovecot] Expire plugin - empty expires table

2013-12-08 Thread Peter Šori
Hello,

 

Dovecot does not fill expires table when moving messages to Trash or Junk
folder.

I looked all over mailing list and googled around and cannot find what could
be wrong - pleas help :)

 

Dict works for quota, so I presume connection to mysql is not a problem -
mailuser has Select,Insert,Update,Delete privileges over

quota and expires table (log below for deleting message)

 

dovecot log does not show any problems, not even with mail_debug.

 

doveadm -A works

 




 

dovecot -n

 

# 2.2.6: /etc/dovecot/dovecot.conf

# OS: Linux 3.10.17-gentoo x86_64 Gentoo Base System release 2.2 xfs

auth_mechanisms = plain login

dict {

  expire = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext

  quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext

}

hostname = @.

listen = *

login_greeting = * ready.

mail_access_groups = vmail

mail_attachment_dir = /data/vmail/attachments

mail_attachment_fs = sis-queue /data/vmail/attachments/queue:posix

mail_attachment_hash = %{sha256}

mail_location =
mdbox:/data/vmail/storage/%d/%n/:ALT=/data/vmail/altstorage/%d/%n/:INDEX=/da
ta/vmail/indexes/%d/%n/

mail_plugins =  expire quota zlib mail_log notify

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 ihave

mdbox_preallocate_space = yes

mdbox_rotate_interval = 1 days

namespace Unwanted {

  hidden = no

  inbox = no

  list = yes

  location = maildir:/data/vmail/unwanted/%d/%n/

  mailbox Ham {

auto = subscribe

  }

  mailbox Spam {

auto = subscribe

  }

  prefix = Unwanted.

  separator = .

  subscriptions = yes

  type = private

}

namespace inbox {

  hidden = no

  inbox = yes

  list = yes

  location =
mdbox:/data/vmail/storage/%d/%n/:ALT=/data/vmail/altstorage/%d/%n/:INDEX=/da
ta/vmail/indexes/%d/%n/

  mailbox Archives {

auto = subscribe

special_use = \Archive

  }

  mailbox Drafts {

auto = subscribe

special_use = \Drafts

  }

  mailbox Folders {

auto = subscribe

  }

  mailbox Junk {

auto = subscribe

special_use = \Junk

  }

  mailbox Sent {

auto = subscribe

special_use = \Sent

  }

  mailbox Trash {

auto = subscribe

special_use = \Trash

  }

  prefix = 

  separator = .

  subscriptions = yes

  type = private

}

passdb {

  args = /etc/dovecot/dovecot-sql.conf.ext

  driver = sql

}

plugin {

  expire = Trash 1 Trash.* 1 Junk 2

  expire_dict = proxy::expire

  mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename

  mail_log_fields = uid box msgid from subject, size, vsize, flags

  quota = dict:User quota::proxy::quota

  quota_exceeded_message = Quota exceeded (mailbox is full)

  quota_grace = 10%%

  quota_rule = *:storage=1G

  quota_rule2 = Trash:storage=+100M

  quota_rule3 = Junk:ignore

  quota_status_nouser = DUNNO

  quota_status_overquota = 552 5.2.2 Mailbox is full

  quota_status_success = DUNNO

  quota_warning = storage=95%% quota-warning 95 %u

  quota_warning2 = storage=85%% quota-warning 85 %u

  quota_warning3 = storage=70%% quota-warning 70 %u

  sieve = /data/vmail/sieve/%d/%n/.dovecot.sieve

  sieve_before = /data/vmail/sieve/before.sieve

  sieve_default = /data/vmail/sieve/default.sieve

  sieve_dir = /data/vmail/sieve/%d/%n/sieve

  sieve_global_dir = /data/vmail/sieve/

  zlib_save = bz2

  zlib_save_level = 9

}

postmaster_address = postmas...@fingerprints.si

protocols = imap sieve

service auth {

  unix_listener /var/spool/postfix/private/auth {

group = postfix

mode = 0666

user = postfix

  }

}

service dict {

  unix_listener dict {

group = vmail

mode = 0660

  }

}

service managesieve-login {

  inet_listener sieve {

port = 4190

  }

}

service quota-status {

  client_limit = 1

  executable = quota-status -p postfix

  inet_listener {

port = 12340

  }

}

service quota-warning {

  executable = script /usr/bin/dovecot-quota-warning.sh

  unix_listener quota-warning {

mode = 0666

user = vmail

  }

  user = vmail

}

ssl_cert = /etc/ssl/certs/san_*.-2048.crt

ssl_key = /etc/ssl/private/san_*.-2048.key

userdb {

  args = /etc/dovecot/dovecot-sql.conf.ext

  driver = sql

}

protocol lda {

  mail_plugins = expire sieve zlib

}

protocol imap {

  mail_plugins =  expire quota zlib mail_log notify expire imap_quota
quota

}

protocol sieve {

  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

}

 



Re: [Dovecot] bug report: doveadm assertion failure mail_index_map_lookup_seq_range

2013-12-08 Thread Ephraim Vishniac
Since reporting this (from the wrong account, sorry), I've tried to 
investigate whether the problem exists in 2.2.9. While building 2.2.9 
was no problem, I balked at actually installing it for fear of causing 
trouble with future system updates. (Or current operation, for that matter.)


Could somebody please check whether this is problem is already fixed?

On 12/6/13, 8:33 AM, email-from-bobby wrote:
A negated subject search on an empty folder causes an assertion 
failure in doveadm. To reproduce:


bash-3.2# doveadm mailbox create -u ephraim Freshly Empty
bash-3.2# doveadm search -u ephraim mailbox Freshly Empty NOT 
subject '***JUNK MAIL***'
doveadm(ephraim): Panic: file mail-index-map.c: line 548 
(mail_index_map_lookup_seq_range): assertion failed: (first_uid = 
last_uid\

)
doveadm(ephraim): Error: Raw backtrace: 2 
libdovecot.0.dylib  0x000100347463 
default_fatal_handler + 486 - 3 \
  libdovecot.0.dylib  0x0001003472c0 
default_fatal_handler + 67 - 4 libdovecot.0.dylib  
0x000\
100347705 i_fatal + 0 - 5 libdovecot-storage.0.dylib  
0x0001002a799f mail_index_map_lookup_seq_range + 309 - 6  \
 libdovecot-storage.0.dylib  0x0001002b6d4f 
mail_index_lookup_seq_range + 12 - 7 
lib20_fts_plugin.so \
0x0001003fe325 fts_search_lookup + 3307 - 8 
lib20_fts_plugin.so 0x0001003fddfb 
fts_search_lookup + 1985 -\
 9   lib20_fts_plugin.so 0x0001003fd6e2 
fts_search_lookup + 168 - 10 lib20_fts_plugin.so 0x00\
01003ff148 fts_mailbox_allocated + 1139 - 11 
doveadm 0x0001001dd3d2 
doveadm_mail_iter_init + 1\
99 - 12  doveadm 0x0001001df3ce cmd_search_run + 138 - 13 
doveadm 0x0\
001001d94f9 doveadm_mail_next_user + 196 - 14 
doveadm 0x0001001d9ad1 
doveadm_mail_try_run + 77\
6 - 15  doveadm 0x0001001e1a09 main + 
1150 - 16  libdyld.dylib 0x7fff915\

ba5fd start + 1 - 17  ??? 0x0009 0x0 + 9
Abort trap: 6
bash-3.2#

A positive search is no problem:

bash-3.2# doveadm search -u ephraim mailbox Freshly Empty subject 
'***JUNK MAIL***'

bash-3.2#

Version and configuration info:

bash-3.2# 
/Applications/Server.app/Contents/ServerRoot/usr/sbin/dovecotd --version

2.2.5
bash-3.2# 
/Applications/Server.app/Contents/ServerRoot/usr/sbin/dovecotd -n

# 2.2.5: /Library/Server/Mail/Config/dovecot/dovecot.conf
# OS: Darwin 13.0.0 x86_64  hfs
auth_mechanisms = cram-md5 login apop plain digest-md5
auth_realms = mail.vishniac.com
auth_socket_path = /var/run/dovecot/auth-userdb
auth_username_format = %n
debug_log_path = /Library/Logs/Mail/mail-debug.log
default_internal_user = _dovecot
default_login_user = _dovenull
disable_plaintext_auth = no
first_valid_gid = 6
first_valid_uid = 6
hostname = mail.vishniac.com
imap_id_log = *
imap_id_send = name * version *
imap_urlauth_submit_user = submit
info_log_path = /Library/Logs/Mail/mail-info.log
log_path = /Library/Logs/Mail/mail-err.log
login_log_format_elements = user=%u method=%m rip=%r lip=%l mpid=%e %c
mail_access_groups = mail
mail_attribute_dict = 
file:/Library/Server/Mail/Data/attributes/attributes.dict

mail_location = maildir:/Library/Server/Mail/Data/mail/users/%u
mail_log_prefix = %s(pid %p user %u): 
mail_plugins = quota zlib acl fts fts_sk
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 ihave

mdbox_rotate_size = 200 M
namespace acl-mailboxes {
  list = children
  location = 
maildir:/Library/Server/Mail/Data/mail/users/%%u:INDEX=/Library/Server/Mail/Data/mail/shared/%%u

  prefix = shared.%%u.
  separator = .
  subscriptions = no
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
special_use = \Drafts
  }
  mailbox Junk {
special_use = \Junk
  }
  mailbox Sent {
special_use = \Sent
  }
  mailbox Sent Messages {
special_use = \Sent
  }
  mailbox Trash {
special_use = \Trash
  }
  prefix =
}
namespace list-archives {
  list = children
  location = 
maildir:/Library/Server/Mail/Data/listserver/messages/archive/lists/%%u:INDEX=/Library/Server/Mail/Data/listserver/mess\

ages/archive/shared/%%u
  prefix = archives.%%u.
  separator = .
  subscriptions = no
  type = shared
}
passdb {
  driver = od
}
passdb {
  args = /Library/Server/Mail/Config/dovecot/submit.passdb
  driver = passwd-file
}
plugin {
  acl = 
vfile:/Library/Server/Mail/Config/dovecot/global-acls:cache_secs=300
  acl_shared_dict = 
file:/Library/Server/Mail/Data/shared/shared-mailboxes

  fts = sk
  quota = maildir:User quota
  quota_warning = storage=100%% quota-exceeded %u
  sieve = /Library/Server/Mail/Data/rules/%u/dovecot.sieve
  sieve_dir = 

[Dovecot] dsync-local crashes due to assertion failures

2013-12-08 Thread Fabian Groffen
Hi,

I have two servers that share nothing, running dovecot version 2.2.9.
The first server hosts the original mail base, which I want to sync
using dovecot to the second server.  With some trial and error I managed
to get synchronisation running using tcp sockets.  Now for some accounts
I see dsync-local crashing on the server that has the original mail base
(which is still the only of the two that receives new mail).  The log
shows:

Dec  8 03:13:14 zeus dovecot: dsync-local(someuser): Panic: file mail-index-tr
ansaction-export.c: line 203 (log_append_ext_hdr_update): assertion failed: (u32
.offset + u32.size = ext_hdr_size)
Dec  8 03:13:14 zeus dovecot: dsync-local(someuser): Error: Raw backtrace: 
/usr/lib64/dovecot/libdovecot.so.0(+0x70ea0) [0x7f3ee4137ea0] - 
/usr/lib64/dovecot/libdovecot.so.0(+0x70efe) [0x7f3ee4137efe] - 
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f3ee40ebd2c] - 
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_export+0xbed) 
[0x7f3ee442e89d] - /usr/lib64/dovecot/libdovecot-storage.so.0(+0x89104) 
[0x7f3ee442d104] - 
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit_full+0xb2)
 [0x7f3ee442d592] - 
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit+0xc) 
[0x7f3ee442d63c] - 
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_sync_commit+0xb6) 
[0x7f3ee44372b6] - /usr/lib64/dovecot/libdovecot-storage.so.0(+0x335d6) 
[0x7f3ee43d75d6] - /usr/lib64/dovecot/libdovecot-storage.so.0(+0x328bc) 
[0x7f3ee43d68bc] - /usr/lib64/dovecot/libdovecot-storage.so.0(+0x32d83) 
[0x7f3ee43d6d83] - 
/usr/lib64/dovecot/libdovecot-storage.so.0(maildir_storage_sync_init+0xd9) 
[0x7f3ee43d7199] - 
/usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x2e) 
[0x7f3ee43e7f2e] - 
/usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync+0x27) [0x7f3ee43e8047] 
- dovecot/doveadm-server(dsync_brain_master_send_mailbox+0xcf) [0x41f17f] - 
dovecot/doveadm-server(dsync_brain_run+0x2c8) [0x41d738] - 
dovecot/doveadm-server() [0x41dd70] - dovecot/doveadm-server() [0x42eda0] - 
/usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f3ee41495a6] - 
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0xbd) [0x7f3ee414a62d] 
- /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f3ee4149008] - 
dovecot/doveadm-server() [0x41bb6c] - dovecot/doveadm-server() [0x40ee3b] - 
dovecot/doveadm-server() [0x419581] - 
/usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x36)
 [0x7f3ee41495a6] - 
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0xbd) [0x7f3ee414a62d] 
- /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f3ee4149008] - 
/usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f3ee40f1643]
Dec  8 03:13:14 zeus dovecot: dsync-local(someuser): Fatal: master: 
service(doveadm): child 14116 killed with signal 6 (core dumps disabled)

It seems that despite these crashes, some data is being transferred.
Newer accounts seem not to have problems, this happens with older
accounts only, for as far as I can see.  I tried removing the index
files, but that didn't seem to help.

Any ideas on what I can do here?  Both servers are configured to use
maildir storage.

Thanks,
Fabian

-- 
Fabian Groffen
Gentoo on a different level


signature.asc
Description: Digital signature


Re: [Dovecot] bug report: doveadm assertion failure mail_index_map_lookup_seq_range

2013-12-08 Thread Timo Sirainen
On 6.12.2013, at 15.33, email-from-bobby email-from-bo...@vishniac.com wrote:

 A negated subject search on an empty folder causes an assertion failure in 
 doveadm. To reproduce:
 
 bash-3.2# doveadm mailbox create -u ephraim Freshly Empty
 bash-3.2# doveadm search -u ephraim mailbox Freshly Empty NOT subject 
 '***JUNK MAIL***'
 doveadm(ephraim): Panic: file mail-index-map.c: line 548 
 (mail_index_map_lookup_seq_range): assertion failed: (first_uid = last_uid\
 )

Fixed: http://hg.dovecot.org/dovecot-2.2/rev/d837bd49ddee

 bash-3.2# /Applications/Server.app/Contents/ServerRoot/usr/sbin/dovecotd -n
 # 2.2.5: /Library/Server/Mail/Config/dovecot/dovecot.conf

But note that if you build Dovecot yourself, you lose several Apple-patched 
functionality, at least unless you add the patches yourself (AFAIK not yet 
publicly available).



Re: [Dovecot] No Dovecot 2.2.9 on OpenBSD 5.4 amd64

2013-12-08 Thread Timo Sirainen
On 7.12.2013, at 6.35, Philippe Lelédy dove...@leledy.fr wrote:

 doveconf -n
 # 2.2.9: /etc/dovecot/dovecot.conf
 doveconf: Fatal: pool_system_realloc(536870912): Out of memory

Maybe this shows where it’s failing:

DEBUG_OUTOFMEM=1 gdb —args doveconf -n
bt full



Re: [Dovecot] base_dir= problems

2013-12-08 Thread Timo Sirainen
On 7.12.2013, at 6.22, Philippe Lelédy dove...@leledy.fr wrote:

 I first let base_dir = with it's default value of /var/dovecot.
 I changed my mind and now I have
 
 doveconf -n
 # 2.1.17: /etc/dovecot/dovecot.conf
 # OS: OpenBSD 5.4 amd64  ffs
 base_dir = /var/run/dovecot/
 
 After a few days, imap clients couldn't login. Here the problem
 
 Dec 04 17:03:16 imap-login: Fatal: Corrupted SSL parameters file: 
 /var/dovecot/ssl-parameters.dat
 Dec 04 17:03:16 imap-login: Fatal: Corrupted SSL parameters file: 
 /var/dovecot/ssl-parameters.dat
 Dec 04 17:03:16 master: Error: mkdir(/var/dovecot) failed: Read-only file 
 system
 Dec 04 17:03:16 master: Error: safe_mkstemp(/var/dovecot/mounts.tmp.) failed: 
 No such file or directory
 Dec 04 17:03:16 master: Error: file_dotlock_open(/var/dovecot/instances) 
 failed: No such file or directory
 Dec 04 17:03:16 ssl-params: Fatal: creat(/var/dovecot/ssl-parameters.dat.tmp) 
 failed: No such file or directory

You still have state_dir=/var/dovecot (and don’t place it under /var/run/, it’s 
meant to be durable).



Re: [Dovecot] zlib config questions

2013-12-08 Thread Timo Sirainen
On 6.12.2013, at 21.28, Sven Hartge s...@svenhartge.de wrote:

 And, please anybody correct me if I am wrong, if you use imap_zlib then
 the IMAP connection is compressed as well which may allow Dovecot to
 skip the decompressing state completely and just deliver the compressed
 stream directly. (Althought I don't know anymore where I read this and
 may be totally wrong and bogus. Please confirm with anyone knowing the
 code. Thanks.)

No, that’s not done. I don’t think it would be a good idea either.



Re: [Dovecot] imap crash 2.2.9 hg

2013-12-08 Thread Timo Sirainen
On 6.12.2013, at 7.51, Oli Schacher dove...@lists.wgwh.ch wrote:

 With dovecot built from the latest 2.2.9 hg (342f6962390e) we get imap
 crashes. This only affects one account which is used by multiple
 clients. The first few logins seem to work ok, but after a few seconds
 the log is flooded with
..
 #0  0x7f6fdcb9ef40 in mail_index_view_is_inconsistent () from 
 /usr/lib64/dovecot/libdovecot-storage.so.0
 No symbol table info available.
 #1  0x7f6fdcb4f73b in mailbox_is_inconsistent () from 
 /usr/lib64/dovecot/libdovecot-storage.so.0
 No symbol table info available.

Yeah, I noticed too and fixed it some days ago on my desktop. Just forgot to 
commit to hg: http://hg.dovecot.org/dovecot-2.2/rev/0595d54ab34a



Re: [Dovecot] Dsync error: Couldn't drop privileges: getgrnam

2013-12-08 Thread Timo Sirainen
On 5.12.2013, at 22.18, Alan McGinlay - SICS al...@sics.se wrote:

 mail_privileged_group = vmail
..
 mail_location = maildir:~/Maildir
..
 dsync(alantestu...@whatever.com): Error: user alantestu...@whatever.com: 
 Couldn't drop privileges: getgrnam(vmail) failed: No such file or directory 
 (in mail_privileged_group setting)

You don’t have vmail group in your system? Either create it or remove this 
setting. Most likely you want to remove it, since this setting was meant only 
for mbox format, while you’re using maildir.



Re: [Dovecot] Dovecot readable compressed mail archive

2013-12-08 Thread Timo Sirainen
On 4.12.2013, at 20.52, Dave Hall daveh...@cs.binghamton.edu wrote:

 Is Dovecot able to create and/or read any sort of compressed mail archive?  
 We have a large installation with a few users who need to keep a large amount 
 of email available.  With maildir this means a large number of individual 
 files, leading to additional load on our backup process.  Even using a 
 compressed mbox file as an archive would help, but only if Dovecot is able to 
 interact with this file seamlessly while keeping current email in the maildir 
 format.

You could move the old mails to a compressed mbox file, but it would need to be 
in a separate namespace, e.g. INBOX maildir and Archive/INBOX mbox. Also the 
archive updating doesn’t have any existing scripts.

On top of that you could also use virtual plugin to merge the old and new mails 
into the same folder (e.g. NewMails/INBOX maildir, Archive/INBOX mbox, while 
INBOX = virtual). http://wiki2.dovecot.org/Plugins/Virtual The main problem 
would be archive updating though. Virtual plugin would suddenly see a lot of 
old mails getting expunged, while a lot of new mails arrive at the other 
folder. So basically it means that the user’s client will have to redownload 
all the moved mails. Depending on the client it could also sort them as new 
mails (if sorting by UID instead of sent/received date).



Re: [Dovecot] Question regarding quotas (is this a bug or intended behavior) ?

2013-12-08 Thread Timo Sirainen
On 4.12.2013, at 19.02, Gilles Chauvin gilles.chau...@univ-rouen.fr wrote:

 I tried to add the following quota_rule:
  quota_rule3 = Trash/*:ignore
 
 But this doesn't fix anything.
 
 Do you have any idea about why this is not working ?

It wasn’t implemented. But I guess it’s useful and there’s no harm in adding 
it, so: http://hg.dovecot.org/dovecot-2.2/rev/78b34eb7c6c5



Re: [Dovecot] file descriptor errors

2013-12-08 Thread Timo Sirainen
On 4.12.2013, at 13.47, Christian Rößner c...@sys4.de wrote:

 Dec  4 08:53:37 mx dovecot: auth: Error: close failed in file object 
 destructor:
 Dec  4 08:53:37 mx dovecot: auth: Error: IOError: [Errno 9] Bad file 
 descriptor
 
 I found the problem, but do not know, if my solution is okay. It is the 
 checkpassword script that I wrote in python:
 
 …
   # Return data to Dovecot
   try:
   fd = os.fdopen(dovecot_out, w)
   except:
   sl.syslog(sl.LOG_ERR,
 Can not write to FD 4)
   sys.exit(1)
   os.write(fd.fileno(),
\tuserdb_uid=%i
\tuserdb_gid=%i
% (uid, gid))
   #os.close(fd.fileno())
 
   try:
   os.putenv('USER', username)
   os.putenv('HOME', local_part_dir)
   except:
   sl.syslog(sl.LOG_WARN,
 Can not set environment variables“)
 …
 
 When it comes to the os.close(fd.fileno()) call dovecot throws an error.

Dovecot doesn’t throw error, Python does. Dovecot just logs it. If os.write() 
succeeds for the fd, but os.close() immediately afterwards fails, I have no 
idea why it would be doing that.

 So for now, I leave the file descriptor open and wait for the script to 
 terminate. I thought, I would have to close the descriptor after using it, do 
 I?

Doesn’t really matter. The process dies immediately anyway.



Re: [Dovecot] Dsync error: Couldn't drop privileges: getgrnam

2013-12-08 Thread Alan McGinlay - SICS
Actually I do, /var/vmail (contains virtual domain mailboxes) is owned 
by vmail:vmail


On 2013-12-08 21:49, Timo Sirainen wrote:

On 5.12.2013, at 22.18, Alan McGinlay - SICS al...@sics.se wrote:

mail_privileged_group = vmail
..
mail_location = maildir:~/Maildir
..
dsync(alantestu...@whatever.com): Error: user 
alantestu...@whatever.com: Couldn't drop privileges: getgrnam(vmail) 
failed: No such file or directory (in mail_privileged_group setting)


You don’t have vmail group in your system? Either create it or remove
this setting. Most likely you want to remove it, since this setting
was meant only for mbox format, while you’re using maildir.


Re: [Dovecot] Multi-master Replication?

2013-12-08 Thread Timo Sirainen
On 4.12.2013, at 6.43, Pizza Napoletana pizzai...@gmx.com wrote:

 Will the replication method described at http://wiki2.dovecot.org/Replication 
 support a master/master/master configuration to keep three replicas in sync?

Not automatically currently. But in theory would be possible, either with some 
manual scripting (e.g. cronjob to dsync to 3rd server) or patching Dovecot to 
support mail_replica2, mail_replica3, etc.



Re: [Dovecot] Panic in indexer-worker

2013-12-08 Thread Timo Sirainen
On 3.12.2013, at 23.33, Michael Kliewe mkli...@gmx.de wrote:

 I did a fresh installation of 2.2.9 in my test environment and enabled 
 fts_autoindex=yes. I'm using a solr-server for FTS.
 
 I got this error, just once until now:
 
 _=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=
 
 == dovecot-lmtp-errors.log ==
 Dec 03 16:15:06 lmtp(30601, usern...@domain.de): Error: Timeout (29s) while 
 waiting for lock for transaction log file 
 /maildata/domain.de/username/maildir/dovecot.list.index.log

High load?

 == dovecot.log ==
 Dec 03 16:15:06 indexer-worker(usern...@domain.de): Panic: file 
 http-client-request.c: line 521 (http_client_request_send_more): assertion 
 failed: (req-payload_input != NULL)

It crashed because the HTTP request failed and it tried to auto-retry, which 
doesn’t work with fts-solr. This should fix: 
http://hg.dovecot.org/dovecot-2.2/rev/353c3e3edc52




Re: [Dovecot] Locking down master user to certain domains through passwd-file auth

2013-12-08 Thread Timo Sirainen
On 22.11.2013, at 0.24, Andrew Obertas and...@infinet.net wrote:

 Hello,
 
 I know it is possible to lock down a master user to only have access to 
 certain domains through SQL login but I was wondering if the same was 
 possible with a passwd-based system. I currently have a master-passwd file 
 residing in the /etc/virtual/domain.com/ directories I want the master user 
 to be able to log in to. Is there a way to tell passdb to only allow the 
 master user login to proceed if they can auth to the master-passwd file in 
 the same folder as the user? Alternatively, is there a better way to go about 
 this?
 
 What I assumed would be the easy approach, where the domain from the user's 
 e-mail is fetched, doesn't seem to work as %d fetches the master user's 
 domain and, unless I'm doing something wrong, the login_domain variable 
 cannot be used as this is outside Dovecot-auth.

What do you mean outside Dovecot-auth? Master user login is done in auth 
process. %{login_domain} should work I think..



Re: [Dovecot] post-logout scripting

2013-12-08 Thread Timo Sirainen
On 26.11.2013, at 8.44, Jouko Nikula jonik...@gmail.com wrote:

 I found this (http://www.dovecot.org/list/dovecot/2010-January/045717.html)
 describing how to do a post-logout script. But is this valid anymore?
 It seems I'm getting error when trying to execute imap process in
 post-logout script and post logout documentation does not talk about
 executing imap.

No, doesn’t work that way anymore. You could instead use this: 
http://dovecot.org/patches/2.2/imap-logout-plugin.c



Re: [Dovecot] imap list response has an extra field on some mailboxes.

2013-12-08 Thread Timo Sirainen
Dovecot replies with a literal instead of a string. This is valid behavior for 
IMAP servers.

On 28.11.2013, at 3.54, Kui Zhang kuizh...@gmail.com wrote:

 Hello,
 
 per rfc3501
 
 7.2.2. LIST Response
 
 Contents:
 name attributes
 hierarchy delimiter
 name
 
 Dovecot: 2.1.16
 
 /usr/lib/dovecot/imap -u u...@domain.tld
 
 list  *
 
 Most responses are correct. But some appears to not be.
 
 
 * LIST (\HasNoChildren) / {117}
 path/to/part_mailbox_name other_parts
 
 * LIST (\HasNoChildren) / {10}
 test box
 
 
 
 char after {117} appears to be \n.
 
 
 All affected mailboxes appears to have '  ' in mailbox name.
 
 And the number between '{' '}' appears to be the length of the path.
 
 Anyone ran into this issues before? If so, how to fix it?
 Is it a bug?  Other rfc I should read?
 
 
 Thanks
 Kui.Z



Re: [Dovecot] shared folder - ACL

2013-12-08 Thread Timo Sirainen
On 28.11.2013, at 17.38, Héctor Moreno Blanco hmor...@gmv.com wrote:

 dovecot: imap(testing_ddfr): Debug: acl: No acl setting - ACLs are disabled
 
 What am I missing?

plugin {
  acl = vfile
}



Re: [Dovecot] dovecot.index-Errors with multiple IMAP client access in Dovecot 2.2

2013-12-08 Thread Timo Sirainen
On 2.12.2013, at 22.25, Martin Rabl martin.r...@rablnet.de wrote:

 My self-compiled dovecot 2.2.6 (and the two minor versions before, too) 
 throws that errors:
 
 Nov 28 18:29:00 mailserv dovecot: imap(mar...@example.com): Error: 
 Transaction log /srv/vmail/example.com/martin/Maildir/dovecot.index.log: 
 duplicate transaction log sequence (25)
 Nov 28 18:29:00 mailserv dovecot: imap(mar...@example.com): Error: 
 /srv/vmail/example.com/martin/Maildir/dovecot.index log position went 
 backwards (24,40  25,10028)

These kind of errors typically happen with NFS and other shared filesystems 
when there is some trouble with caching or locking.

 I thought about the used reiserfs filesystem on the server, but there were no 
 problems with 1.2 on the same server.

Well, might be .. It definitely shouldn’t be happening on local filesystems 
that easily.

BTW. You could also try if you can very easily reproduce this with imaptest 
against a test user: http://imapwiki.org/ImapTest It it immediately fails, try 
mounting another filesystem and placing the test user’s mails there and if the 
error continues.



Re: [Dovecot] [PATCH] lib-sql/driver-mysql.c - Add support for enabling MYSQL_OPT_SSL_VERIFY_SERVER_CERT

2013-12-08 Thread Timo Sirainen
On 4.12.2013, at 6.31, Gareth Palmer gar...@acsdata.co.nz wrote:

 Were there any further changes you wanted made to the patch?
 
 It now defaults to having ssl_verify_server_cert enabled.

Better avoid breaking people’s systems for now. I’ll add a note to my v2.3-TODO 
to update it then. I did some minor changes, mainly I thought it’s better to 
always explicitly set it, so just in case MySQL changes its default behavior 
Dovecot’s behavior wouldn’t change: 
http://hg.dovecot.org/dovecot-2.2/rev/7a7898ffe87f