Re: [Dovecot] acl flag to limit imap_acl based acl changes
On Monday 25 January 2010 wrote Timo Sirainen: > On Mon, 2010-01-25 at 11:57 +0100, Amon Ott wrote: > > http://wiki.dovecot.org/ACL says that "a" or "admin" covers > > "Administration rights to the mailbox". However, removing "a" from owner > > acl (using "lr") does not help, the user can still change all acl flags > > for all users with imap. Write accesses to mails are forbidden as they > > should. > > > > Is this intended or a bug? > > Looks like it was intended, to avoid users from accidentally removing > admin privileges from their own mailboxes. But there's already other > code in SETACL handling that tries to prevent the same thing, so that > should be enough. Yes, that should be. If users edit acl files by hand, they can always change them again. > v2.0 now allows removing admin right manually from dovecot-acl file: > http://hg.dovecot.org/dovecot-2.0/rev/667fea930ec3 Thank you for that patch, it also applies cleanly against 1.2.10. Will test that. :) > I probably don't want to do the same change to v1.2, since it might > break someone's setup.. Maybe you could use global ACLs to remove the > admin right? If it's always the same mailbox name for every user. It is the inbox among others for some archiving accounts, so a global acl does not work. Could you maybe make it an option in 1.2? Otherwise I will maintain a separate patch in our .deb package here. Amon Ott -- Dr. Amon Ott - m-privacy GmbH Am Köllnischen Park 1, 10179 Berlin Tel: +49 30 24342334 Fax: +49 30 24342336 Web: http://www.m-privacy.de Handelsregister: Amtsgericht Charlottenburg HRB 84946 Geschäftsführer: Dipl.-Kfm. Holger Maczkowsky, Roman Maczkowsky GnuPG-Key-ID: EA898571
Re: [Dovecot] backup & restore mailbox files manually
When I delete the mail file from /Maildir/cur and restore it from the backup , I cannot see the body of the email when I view it (only the subject appears) I restored only a single mail file using scp: scp r...@backup-host:/backup/vmail/coolatt/Maildir/cur/1264489757.P14232Q0M667471.ecs,S=628:2,S /home/vmail/coolatt/Maildir/cur/ Please help me. Thanks CoolAtt > Date: Mon, 25 Jan 2010 15:45:00 +0100 > From: skdove...@smail.inf.fh-brs.de > To: dovecot@dovecot.org > Subject: Re: [Dovecot] backup & restore mailbox files manually > > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > On Mon, 25 Jan 2010, coolatt wrote: > > > Am working on a solution to backup maildir mailboxes using rsync. > > All mailbox directories are mirrored on another machine. > > > > I need advise regarding restore of the INBOX & SENT files from the backup. > > > > For e.g , [1] Can I just copy "file-x-y-z" from /Maildir/cur to restore it > > on /Maildir/cur on the mailserver. > > [2] Can I do same for SENT emails ? > > You can do so. But it can lead to duplicate mail, because the filename is > not static, e.g. message status or keyword changes are reflected there. > > There had been a thread lastly about this topic (well, a minor bit > differently); I restore the mails to a completely different folder and let > the user pick the messages and re-file them into specific mailfolders. > > Others suggested to use a script to verify filename stem (before the > colon), e.g. restore to tmp/, then check new/ and cur/, if there exists a > file with the same stem. However, there had been said that there is a > possible race condition, if the message flags are changed simultaneously. > > Regards, > > - -- > Steffen Kaiser > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.6 (GNU/Linux) > > iQEVAwUBS12ub7+Vh58GPL/cAQIiFggAsbf34qad697fbVHlAZ5VmuUaurKzc9hk > 8zAqtP4zc2Tu8U9ZtMwNg1Sxw7ikYxdU5kz4JmbICVoaK4fnauXv41DZlBwgnWEw > XgFa6CiIsuVKRxgB8FeWO6X63oijOMhoqF3dJDET+RzTLiCZkj47zZaA/0JYFOYu > BV/rGfmWqT2zDdHYHI8cMjzyPzuwnYbRBDjUdScNwH35BZOKykI4/EyMmmUdfiIO > EqPlj0sSSCRroBztRoQMVyIoTkL5MV3hGDRgWKP1yc0YT9SLlzjQXY0TylumNHXH > nEjjDozOfwq7E7TrBsct68OPXMfBUB0IQ/JbHtGlhhwh6B6p8qqgxQ== > =xC+M > -END PGP SIGNATURE- _ Windows Live: Keep your friends up to date with what you do online. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010
Re: [Dovecot] Proxying to a DNS Name
Hello Timo, > a) Assume "the hang never happens" and just do the blocking lookups. maybe switchable. It's suggested to run a caching dns on every system. In this case a hang realy never happens Thanks Andreas -- Andreas Schulze Internetdienste | P532 DATEV eG 90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196 E-Mail info @datev.de | Internet www.datev.de Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg Nr.70 Vorstand Prof. Dieter Kempf (Vorsitzender) Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender) Dipl.-Kfm. Michael Leistenschneider Jörg Rabe v. Pappenheim Dipl.-Vw. Eckhard Schwarzer Vorsitzender des Aufsichtsrates: Reinhard Verholen GnuPG-Signatur.asc Description: digitale Signatur dieser Nachricht von Andreas Schulze
Re: [Dovecot] sieve or another vacation/autoreply
On January 25, 2010 9:10:42 PM +0100 Lampa wrote: Need autmatic delivery notification. You could find my patch which I posted roughly a month ago. It allows '0' as the :days parameter to vacation. Maybe you prefer that to notify, maybe not. -frnak
Re: [Dovecot] quick question
No guts no glory! So far, so good. The first patch started spewing messages within seconds. I've been running for about twenty minutes with this version and I haven't seen much of anything yet. I'll report back tomorrow after it has a day to burn in. It's still a bit buggy. I haven't seen any messages in the last few hours, but then a user just dumped a gigantic 200MB core. Looking at dump it's because of some recursive loop that goes on forever: #0 0x2b656f2cba71 in _int_malloc (av=0x2b656f5ab9e0, bytes=368) at malloc.c:4650 iters = nb = 384 idx = 759448916 bin = victim = size = victim_index = remainder = remainder_size = block = bit = map = fwd = bck = #1 0x2b656f2cd86d in __libc_calloc (n=, elem_size=) at malloc.c:4006 av = (struct malloc_state *) 0x2b656f5ab9e0 oldtop = (struct malloc_chunk *) 0x1da94070 p = bytes = 368 csz = oldtopsize = 12176 mem = (void *) 0x139cdc40 clearsize = nclears = d = #2 0x004a8ea6 in pool_system_malloc (pool=, size=368) at mempool-system.c:78 mem = #3 0x004a4daa in i_stream_create_fd (fd=12, max_buffer_size=4096, autoclose_fd=96) at istream-file.c:156 fstream = st = {st_dev = 329008600, st_ino = 4452761, st_nlink = 27, st_mode = 799030, st_uid = 0, st_gid = 1, pad0 = 0, st_rdev = 109556025819520, st_size = 11013, st_blksize = 0, st_blocks = 95, st_atim = { tv_sec = 4096, tv_nsec = 8}, st_mtim = {tv_sec = 1264465811, tv_nsec = 499376000}, st_ctim = {tv_sec = 1264465811, tv_nsec = 499378000}, __unused = {1264465811, 499384000, 0}} #4 0x0043fba6 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at maildir-uidlist.c:733 retry = 64 ret = -1 #5 0x00440bb5 in maildir_uidlist_update_hdr (uidlist=0x2b656f5ab9e0, st=0x7fffc949d360) at maildir-uidlist.c:382 mhdr = (struct maildir_index_header *) 0x139cdc40 #6 0x0043 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at maildir-uidlist.c:793 retry = false ret = 1 #7 0x00440bb5 in maildir_uidlist_update_hdr (uidlist=0x2b656f5ab9e0, st=0x7fffc949d4b0) at maildir-uidlist.c:382 mhdr = (struct maildir_index_header *) 0x139cdc40 #8 0x0043 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at maildir-uidlist.c:793 retry = false ret = 1 #9 0x00440bb5 in maildir_uidlist_update_hdr (uidlist=0x2b656f5ab9e0, st=0x7fffc949d600) at maildir-uidlist.c:382 mhdr = (struct maildir_index_header *) 0x139cdc40 #10 0x0043 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at maildir-uidlist.c:793 retry = false ret = 1 #11 0x00440bb5 in maildir_uidlist_update_hdr (uidlist=0x2b656f5ab9e0, st=0x7fffc949d750) at maildir-uidlist.c:382 mhdr = (struct maildir_index_header *) 0x139cdc40 ...and on and on for thousands of lines. I gave up after 20K. ;)
Re: [Dovecot] dovecot 1.2.9 crash on subscribe with shared namespace
On Mon, 2010-01-25 at 20:56 +0200, Timo Sirainen wrote: > On Mon, 2010-01-25 at 15:34 +0100, Alessandro Bono wrote: > > > namespace: > > type: shared > > separator: / > > prefix: shared/%%n > > Add '/' after the prefix. > works thanks Timo -- Cordiali Saluti Alessandro Bono
Re: [Dovecot] quick question
On 01/25/2010 03:26 PM, Timo Sirainen wrote: On Mon, 2010-01-25 at 15:12 -0500, David Halik wrote: I patched and immediately starting seeing *many* of these: Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user): lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed: Bad file descriptor Hmm. I put it through a few seconds of imaptest but didn't see these, so I guess there's something it didn't catch. The attached patch fixes the first obvious potential problem I can think of, try if you still dare. :) No guts no glory! So far, so good. The first patch started spewing messages within seconds. I've been running for about twenty minutes with this version and I haven't seen much of anything yet. I'll report back tomorrow after it has a day to burn in. -- David Halik System Administrator OIT-CSS Rutgers University dha...@jla.rutgers.edu
Re: [Dovecot] sieve or another vacation/autoreply
Hello, thank you for pointing in right direction. require ["enotify", "variables", "fileinto", "envelope"]; #if address :matches :all "from" "*" { # set "from_addr" "${1}"; #} if envelope :matches "from" "*" { # URI-encode the recipient address when necessary set :encodeurl "from" "${1}"; if envelope :matches "to" "*" { set "to" "${1}"; set :encodeurl "body" "Thank you for contacting us... We will contact you as soom as possible Blah blah blah..."; notify :message "Automatic reply - delivery notification" :from "${to}" "mailto:${from}?body=${body}";; keep; } } 2010/1/25 Stephan Bosch : > Lampa wrote: >> >> Hello, >> >> i'm trying to do some delivery notification for each incoming address. >> Problem is that sieve vacation has :days but minimum value is 1 eg >> period in which addresses >> are kept and are not responded to - but that is not that i want. >> >> Is there other extension (in devel ???) or some other way (lda using >> procmail or maildrop) how to implement my request ? (Before migration >> we used qmail + procmail). >> > > I am not quite sure what you are trying to achieve with this, however I've > devised something that matches your description: > > require "enotify"; > require "variables"; > require "envelope"; > > # Let's not reply to robots and mailing lists > if allof (not exists "list-id", > anyof (not exists "auto-submitted", > header "auto-submitted" "no")) { > > # Get the return path > if envelope :matches "from" "*" { > > # URI-encode the recipient address when necessary > set :encodeurl "from" "${1}"; > > # Send notification back to sender > notify :message "Message received!" "mailto:${from}";; > } > } > > This is somewhat scary though. > > Regards, > > -- > Stephan Bosch > step...@rename-it.nl > -- Lampa
Re: [Dovecot] quick question
Timo, On 1/25/10 12:31 PM, "Timo Sirainen" wrote: > > I don't think it's immediate.. But it's probably something like: > > - notice it's not working -> reconnect > - requests are queued > - reconnect fails, hopefully soon, but MySQL connect at least fails in max. > 10 seconds > - reconnect timeout is added, which doubles after each failure > - requests are failed while it's not trying to connect Hmm, that's not great. Is that tunable at all? Cursory examination shows that it's hardcoded in src/lib-sql/driver-mysql.c, so I guess not. I suppose I could also get around to playing with multi-master replication so I at least have a SQL server available at each of the sites that I have Dovecot servers... -Brad
Re: [Dovecot] quick question
On 25.1.2010, at 21.53, Brandon Davidson wrote: > Or just 'passdb pam { ... }' for the second one in our case, since we're > using system auth with pam_ldap/nss_ldap. Is the SQL connection/query > timeout configurable? It would be nice to make a very cursory attempt at > proxying, and immediately give up and use a local connection if anything > isn't working. I don't think it's immediate.. But it's probably something like: - notice it's not working -> reconnect - requests are queued - reconnect fails, hopefully soon, but MySQL connect at least fails in max. 10 seconds - reconnect timeout is added, which doubles after each failure - requests are failed while it's not trying to connect
Re: [Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10
On Jan 25, 2010, at 2:16 PM, Stephan Bosch wrote: Sigh.. not again. I forgot extern at various occasions (and possibly even more): http://hg.rename-it.nl/dovecot-1.2-sieve/rev/fe0b2ff50326 Why doesn't GCC warn about this? I usually only find out when people like you report compile failures. What compiler are you using? Can apply the above change and try again.. Much better! Thank you. Compiling with gcc version 4.0.1 (Apple Inc. build 5493) Thank you very much. B. Bodger Oklahoma City, OK
Re: [Dovecot] still asserts with 1.2.10
Hi, On Mon, 25 Jan 2010, Timo Sirainen wrote: On Mon, 2010-01-25 at 16:36 +0100, Matthias Rieber wrote: Hi, I've still asserts while accessing virtual folders: You didn't answer my last mail about it: http://dovecot.org/list/dovecot/2010-January/046009.html I can't seem to reproduce it. Although now that I saw your dovecot -n output, wonder if Squat has something to do with it.. Can you easily reproduce this? Can you try if it happens without squat? I'll try it without squat. At the moment I see the crashes in virtual folders where keywords are also involved like: INBOX.Spam.sure HEADER X-DSPAM-Result Innocent NOT KEYWORD LearnedAsJunk INBOX.Spam.sure NOT HEADER X-Spam-Score + NOT KEYWORD LearnedAsJun INBOX.Spam.sure UNSEEN I also check the virtual mailboxes almost constantly for certain flags, pipe messages to sa-learn and/or dspam, change flags and move them. For this purpose I use imapfilter, with a config like: messages = myaccount['INBOX.Spam.sure']:has_flag('NonJunk') - myaccount['INBOX.Spam.sure']:has_flag('LearnedAsNonJunk') messagecontent = myaccount['INBOX.Spam.sure']:fetch_message(messages) if messagecontent ~= nil then for i,v in pairs (messagecontent) do printDebug(v,'NonJunk Mails in Spam:') pipe_to('/root/learn_ham', v) pipe_to('/root/learn_ham_dspam', v) end myaccount['INBOX.Spam.sure']:add_flags({'LearnedAsNonJunk'}, messages) myaccount['INBOX.Spam.sure']:remove_flags({'LearnedAsJunk','Junk'}, messages) myaccount['INBOX.Spam.sure']:move_messages(myaccount['INBOX'], messages) end The crashes usually happen with roundcube mail. The same client where I've the problem when I mark messages in the unseen folder and the messages won't disappear after expunging the folder. matthias
Re: [Dovecot] quick question
On Mon, 2010-01-25 at 15:12 -0500, David Halik wrote: > I patched and immediately starting seeing *many* of these: > > Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user): > lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed: > Bad file descriptor Hmm. I put it through a few seconds of imaptest but didn't see these, so I guess there's something it didn't catch. The attached patch fixes the first obvious potential problem I can think of, try if you still dare. :) diff -r 7b0e1b2c9afd src/lib-storage/index/maildir/maildir-uidlist.c --- a/src/lib-storage/index/maildir/maildir-uidlist.c Mon Jan 25 01:35:35 2010 +0200 +++ b/src/lib-storage/index/maildir/maildir-uidlist.c Mon Jan 25 22:24:07 2010 +0200 @@ -123,6 +123,7 @@ uint32_t prev_uid; }; +static int maildir_uidlist_open_latest(struct maildir_uidlist *uidlist); static bool maildir_uidlist_iter_next_rec(struct maildir_uidlist_iter_ctx *ctx, struct maildir_uidlist_rec **rec_r); @@ -875,11 +876,10 @@ } } -int maildir_uidlist_refresh(struct maildir_uidlist *uidlist) +static int maildir_uidlist_open_latest(struct maildir_uidlist *uidlist) { -unsigned int i; -bool retry, recreated; -int ret; + bool recreated; + int ret; if (uidlist->fd != -1) { ret = maildir_uidlist_has_changed(uidlist, &recreated); @@ -889,10 +889,29 @@ return ret < 0 ? -1 : 1; } - if (recreated) - maildir_uidlist_close(uidlist); + if (!recreated) + return 0; + maildir_uidlist_close(uidlist); } + uidlist->fd = nfs_safe_open(uidlist->path, O_RDWR); + if (uidlist->fd == -1 && errno != ENOENT) { + mail_storage_set_critical(uidlist->ibox->box.storage, + "open(%s) failed: %m", uidlist->path); + return -1; + } + return 0; +} + +int maildir_uidlist_refresh(struct maildir_uidlist *uidlist) +{ +unsigned int i; +bool retry; +int ret; + + if (maildir_uidlist_open_latest(uidlist) < 0) + return -1; + for (i = 0; ; i++) { ret = maildir_uidlist_update_read(uidlist, &retry, i < UIDLIST_ESTALE_RETRY_COUNT); @@ -1434,18 +1453,12 @@ if (maildir_uidlist_want_recreate(ctx)) return maildir_uidlist_recreate(uidlist); - if (uidlist->fd == -1) { - /* NOREFRESH flag used. we're just appending some messages. */ + if (!uidlist->locked_refresh || uidlist->fd == -1) { + /* make sure we have the latest file (e.g. NOREFRESH used) */ i_assert(uidlist->initial_hdr_read); - - uidlist->fd = nfs_safe_open(uidlist->path, O_RDWR); - if (uidlist->fd == -1) { - mail_storage_set_critical(storage, -"open(%s) failed: %m", uidlist->path); + if (maildir_uidlist_open_latest(uidlist) < 0) return -1; - } } - i_assert(ctx->first_unwritten_pos != (unsigned int)-1); if (lseek(uidlist->fd, 0, SEEK_END) < 0) { signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10
Bruce Bodger wrote: On Jan 25, 2010, at 5:03 AM, Stephan Bosch wrote: The releases are available as follows: Sieve: http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz.sig First time I ever received an error when compiling dovecot sieve from you... ld: duplicate symbol _act_notify_old in .libs/lib90_sieve_plugin.lax/libsieve.a/ext-notify-common.o and .libs/lib90_sieve_plugin.lax/libsieve.a/cmd-denotify.o collect2: ld returned 1 exit status make[4]: *** [lib90_sieve_plugin.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Let me know if you need to see anything else, Stephan. Sigh.. not again. I forgot extern at various occasions (and possibly even more): http://hg.rename-it.nl/dovecot-1.2-sieve/rev/fe0b2ff50326 Why doesn't GCC warn about this? I usually only find out when people like you report compile failures. What compiler are you using? Can apply the above change and try again.. Regards, Stephan.
[Dovecot] index location
Greetings. We are testing with 1.2.9 and have found that with mail_full_filesystem_access set to 'yes', we cannot force indexes for folders under ~/mail to be stored in /var/dovecot/indexes/%u. /var/dovecot/indexes/%u/.imap/INBOX/dovecot.index* is created just fine, but everything else ends up in ~mail/.imap. If I change mail_full_filesystem_access to 'no', then all indexes are created in the expected location: $ ls -la /var/dovecot/indexes/blitz/ total 4 drwxr-xr-x4 blitzpopuser 512 Jan 25 11:46 . drwxrwxr-x5 root popuser 512 Jan 22 16:16 .. drwxr-xr-x3 blitzpopuser 512 Jan 22 16:16 .imap drwxr-xr-x3 blitzpopuser 512 Jan 25 11:46 mail (I probably need to set the sticky bit for this, but for testing this is OK) We are setting the index location from /etc/passwd-dove: blitz:x:14267:500::/usr/users/dialups/blitz::userdb_mail=mbox:~/:INBOX=/var/mail/%u:INDEX=/var/dovecot/indexes/%u Is there a way to get this to function the way we'd like, with all indexes stored in /var/dovecot/indexes/u% ? My apologies if I missed an explanation about this in the list archive. Dave
Re: [Dovecot] quick question
On 01/25/2010 02:18 PM, David Halik wrote: On 01/25/2010 01:31 PM, Timo Sirainen wrote: On Mon, 2010-01-25 at 12:57 -0500, David Halik wrote: Jan 25 11:39:24 gehenna21 dovecot: IMAP(user): fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed: Stale NFS file handle Well, two possibilities: a) The attached patch fixes this I patched and immediately starting seeing *many* of these: Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user): lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed: Bad file descriptor Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user): lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed: Bad file descriptor ...so I backed out right away. -- David Halik System Administrator OIT-CSS Rutgers University dha...@jla.rutgers.edu
Re: [Dovecot] sieve or another vacation/autoreply
Need autmatic delivery notification. You will sent email to supp...@domain.tld (reporting bugs or problem) and you will get back delivery notification (autogenerated). Example: - From: supp...@domain.tld Subject: Automatic reply - Delivery notification Your email will be processed as soon as possible. Than you for contacting us blahblah --- Sieve vacation cannot be used because if same user sent email more that once only first notification will be send (per day). 2010/1/25 Frank Cusack : > On January 25, 2010 6:32:34 PM +0100 Lampa wrote: >> >> i'm trying to do some delivery notification for each incoming address. >> Problem is that sieve vacation has :days but minimum value is 1 eg >> period in which addresses >> are kept and are not responded to - but that is not that i want. > > What do you want? > -- Lampa
Re: [Dovecot] quick question
Timo, > -Original Message- > From: Timo Sirainen [mailto:t...@iki.fi] > > On 25.1.2010, at 21.30, Brandon Davidson wrote: > > If it could be set up to just fall back to > > using a local connection in the event of a SQL server outage, that might > > help things a bit. Anyone know how that might work? > > Well, you can always fall back to LDAP if SQL isn't working.. Just something > like: > > passdb sql { > .. > } > passdb ldap { > .. > } Or just 'passdb pam { ... }' for the second one in our case, since we're using system auth with pam_ldap/nss_ldap. Is the SQL connection/query timeout configurable? It would be nice to make a very cursory attempt at proxying, and immediately give up and use a local connection if anything isn't working. -Brad
Re: [Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10
On Jan 25, 2010, at 5:03 AM, Stephan Bosch wrote: The releases are available as follows: Sieve: http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2- sieve-0.1.15.tar.gz.sig First time I ever received an error when compiling dovecot sieve from you... ld: duplicate symbol _act_notify_old in .libs/lib90_sieve_plugin.lax/ libsieve.a/ext-notify-common.o and .libs/lib90_sieve_plugin.lax/ libsieve.a/cmd-denotify.o collect2: ld returned 1 exit status make[4]: *** [lib90_sieve_plugin.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Let me know if you need to see anything else, Stephan. B. Bodger Oklahoma City, OK
Re: [Dovecot] quick question
On 25.1.2010, at 21.30, Brandon Davidson wrote: > Unfortunately we're currently using LDAP auth via PAM... so even if I > could get the SQL and monitoring issues resolved, I think I'd have a > hard time convincing my peers that adding a SQL server as a single point > of failure was a good idea. If it could be set up to just fall back to > using a local connection in the event of a SQL server outage, that might > help things a bit. Anyone know how that might work? Well, you can always fall back to LDAP if SQL isn't working.. Just something like: passdb sql { .. } passdb ldap { .. }
Re: [Dovecot] sieve or another vacation/autoreply
On January 25, 2010 6:32:34 PM +0100 Lampa wrote: i'm trying to do some delivery notification for each incoming address. Problem is that sieve vacation has :days but minimum value is 1 eg period in which addresses are kept and are not responded to - but that is not that i want. What do you want?
Re: [Dovecot] quick question
David, > Though we aren't using NFS we do have a BigIP directing IMAP and POP3 > traffic to multiple dovecot stores. We use mysql authentication and the > "proxy_maybe" option to keep users on the correct box. My tests using an > external proxy box didn't significantly reduce the load on the stores > compared to proxy_maybe. And you don't have to manage another > box/config. Since you only need to keep users on the _same_ box and not > the _correct_ box, if you're using mysql authentication you could hash > the username or domain to a particular IP address: > > SELECT CONCAT('192.168.1.', ORD(UPPER(SUBSTRING('%d', 1, 1))) AS host, > 'Y' AS proxy_maybe, ... > > Just assign IP addresses 192.168.1.48-90 to your dovecot servers. Shift > the range by adding or subtracting to the ORD. A mysql function would > likely work just as well. If a server goes down, move it's IP. You could > probably make pairs with heartbeat or some monitoring software to do it > automatically. Timo posted a similar suggestion recently, and I might try to find some time to proof this out over the next few weeks. I liked his idea of storing the user's current server in the database and proxying to that, with fallback to a local connection if they're new or their current server is unavailable. The table cleanup and pool monitoring would probably be what I'd worry most about testing. Unfortunately we're currently using LDAP auth via PAM... so even if I could get the SQL and monitoring issues resolved, I think I'd have a hard time convincing my peers that adding a SQL server as a single point of failure was a good idea. If it could be set up to just fall back to using a local connection in the event of a SQL server outage, that might help things a bit. Anyone know how that might work? -Brad
Re: [Dovecot] Proxying to a DNS Name
On Mon, 2010-01-25 at 20:22 +0100, Miquel van Smoorenburg wrote: > On Mon, 2010-01-25 at 20:53 +0200, Timo Sirainen wrote: > > > > b) Get some async DNS library from somewhere. > > I have been looking for that as well recenly, and I stumbled upon the > unbound library, part of the unbound project. I know there are a few of them, but I'd prefer to use the system's own resolver. A few reasons that I can think of: - do external dns resolver libraries support /etc/hosts? - or are there some other site-specific features? dnssec, etc.? - DNS has had security problems recently. Upgrading OS's own resolver is easier than upgrading all software that have their internal resolvers. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Proxying to a DNS Name
On Mon, 2010-01-25 at 20:53 +0200, Timo Sirainen wrote: > > b) Get some async DNS library from somewhere. I have been looking for that as well recenly, and I stumbled upon the unbound library, part of the unbound project. http://unbound.net/documentation/libunbound.html HTH, Mike.
Re: [Dovecot] quick question
On 01/25/2010 01:31 PM, Timo Sirainen wrote: On Mon, 2010-01-25 at 12:57 -0500, David Halik wrote: Jan 25 11:39:24 gehenna21 dovecot: IMAP(user): fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed: Stale NFS file handle Well, two possibilities: a) The attached patch fixes this b) Dotlocking isn't working for you.. We're using this on NFSv3: lock_method: fcntl dotlock_use_excl: yes fsync_disable: no I counted and we see between 15-25 of these a day, so I would think that if dotlocking wasn't working it would be more? Don't know. Shouldn't it be using fcntl? I read on the wiki it still uses dotlocking occasionally though, so I guess you use both. fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed: Stale NFS file handle Rarely I also see one or two of these: fdatasync() failed with index cache file /rci/nqu/rci/u1/user/dovecot/.INBOX/dovecot.index.cache: Stale NFS file handle ...but I'm guess the Stale is the same in each case, just a different symptom. Just upgraded all the servers to 1.2.10, so I'll patch and report back. Might as well do it now. ;) I have one user that is good at letting me know when oddness happens and has had this a few times since they're logged in from multiple locations for mail. -- David Halik System Administrator OIT-CSS Rutgers University dha...@jla.rutgers.edu
Re: [Dovecot] quick question
On 01/22/2010 10:15 AM, Brandon Davidson wrote: > We've thought about enabling IP-based session affinity on the load > balancer, but this would concentrate the load of our webmail clients, as > well as not really solving the problem for users that leave clients open > on multiple systems. Webmail and IMAP servers are on the same network for us so we don't have to go through the BigIP for this, we just use local round-robin DNS to avoid any sort of clumping. Imapproxy or dovecot proxy local to the webmail server would get around that too. > I've done a small bit of looking at nginx's imap > proxy support, but it's not really set up to do what we want, and would > require moving the IMAP virtual server off our load balancers and on to > something significantly less supportable. Having the dovecot processes > 'talk amongst themselves' to synchronize things, or go into proxy mode > automatically, would be fantastic. Though we aren't using NFS we do have a BigIP directing IMAP and POP3 traffic to multiple dovecot stores. We use mysql authentication and the "proxy_maybe" option to keep users on the correct box. My tests using an external proxy box didn't significantly reduce the load on the stores compared to proxy_maybe. And you don't have to manage another box/config. Since you only need to keep users on the _same_ box and not the _correct_ box, if you're using mysql authentication you could hash the username or domain to a particular IP address: SELECT CONCAT('192.168.1.', ORD(UPPER(SUBSTRING('%d', 1, 1))) AS host, 'Y' AS proxy_maybe, ... Just assign IP addresses 192.168.1.48-90 to your dovecot servers. Shift the range by adding or subtracting to the ORD. A mysql function would likely work just as well. If a server goes down, move it's IP. You could probably make pairs with heartbeat or some monitoring software to do it automatically. -David
Re: [Dovecot] STATUS command and total/read message count
On Mon, 2010-01-25 at 08:25 +0100, Florian Effenberger wrote: > Some folders have only read messages, others have only unread > messages, and some other have read and unread messages. Thunderbird > now only shows the number of unread messages in a folder when using > the STATUS command. In order to get the total number of messages in > one specific folder, I have to manually open it. > > So, in short, Thunderbird doesn't seem to update the total number of > messages in a folder using the STATUS command. > > From your posting I take this is generally possible, so it is a > Thunderbird problem - right? ;-) Right. STATUS command is capable of returning the total number of messages in a mailbox. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] dovecot 1.2.9 crash on subscribe with shared namespace
On Mon, 2010-01-25 at 15:34 +0100, Alessandro Bono wrote: > namespace: > type: shared > separator: / > prefix: shared/%%n Add '/' after the prefix. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Proxying to a DNS Name
On Mon, 2010-01-25 at 13:58 +0100, Andreas Schulze wrote: > Hello, > > reading the wiki I found > http://wiki.dovecot.org/PasswordDatabase/ExtraFields/Proxy?highlight=(no DNS > resolving) > > I have a setup where the destination of a proxyconnection is an DNS name. > Is there a technical reason which currently require host= to be an IP address > ? Yeah. DNS lookups are blocking, so whenever DNS server can't be reached, the lookups start hanging and admins start wondering why Dovecot is just hanging. Solutions would be: a) Assume "the hang never happens" and just do the blocking lookups. b) Get some async DNS library from somewhere. c) With v2.0 there could be a separate dns lookup processes that do blocking lookups, but since the caller processes would be doing async lookups they could report errors after a couple of seconds of waiting. Hmm. Actually I think I like c). signature.asc Description: This is a digitally signed message part
Re: [Dovecot] still asserts with 1.2.10
On Mon, 2010-01-25 at 16:36 +0100, Matthias Rieber wrote: > Hi, > > I've still asserts while accessing virtual folders: You didn't answer my last mail about it: http://dovecot.org/list/dovecot/2010-January/046009.html I can't seem to reproduce it. Although now that I saw your dovecot -n output, wonder if Squat has something to do with it.. Can you easily reproduce this? Can you try if it happens without squat? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] acl flag to limit imap_acl based acl changes
On Mon, 2010-01-25 at 11:57 +0100, Amon Ott wrote: > http://wiki.dovecot.org/ACL says that "a" or "admin" covers "Administration > rights to the mailbox". However, removing "a" from owner acl (using "lr") > does not help, the user can still change all acl flags for all users with > imap. Write accesses to mails are forbidden as they should. > > Is this intended or a bug? Looks like it was intended, to avoid users from accidentally removing admin privileges from their own mailboxes. But there's already other code in SETACL handling that tries to prevent the same thing, so that should be enough. v2.0 now allows removing admin right manually from dovecot-acl file: http://hg.dovecot.org/dovecot-2.0/rev/667fea930ec3 I probably don't want to do the same change to v1.2, since it might break someone's setup.. Maybe you could use global ACLs to remove the admin right? If it's always the same mailbox name for every user. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] quick question
On Mon, 2010-01-25 at 12:57 -0500, David Halik wrote: > Jan 25 11:39:24 gehenna21 dovecot: IMAP(user): > fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed: > Stale NFS file handle Well, two possibilities: a) The attached patch fixes this b) Dotlocking isn't working for you.. diff -r 0ff07b4ad306 src/lib-storage/index/maildir/maildir-uidlist.c --- a/src/lib-storage/index/maildir/maildir-uidlist.c Mon Jan 25 20:24:54 2010 +0200 +++ b/src/lib-storage/index/maildir/maildir-uidlist.c Mon Jan 25 20:30:25 2010 +0200 @@ -904,11 +904,10 @@ } } -int maildir_uidlist_refresh(struct maildir_uidlist *uidlist) +static int maildir_uidlist_open_latest(struct maildir_uidlist *uidlist) { -unsigned int i; -bool retry, recreated; -int ret; + bool recreated; + int ret; if (uidlist->fd != -1) { ret = maildir_uidlist_has_changed(uidlist, &recreated); @@ -918,10 +917,29 @@ return ret < 0 ? -1 : 1; } - if (recreated) - maildir_uidlist_close(uidlist); + if (!recreated) + return 0; + maildir_uidlist_close(uidlist); } + uidlist->fd = nfs_safe_open(uidlist->path, O_RDWR); + if (uidlist->fd == -1 && errno != ENOENT) { + mail_storage_set_critical(uidlist->ibox->box.storage, + "open(%s) failed: %m", uidlist->path); + return -1; + } + return 0; +} + +int maildir_uidlist_refresh(struct maildir_uidlist *uidlist) +{ +unsigned int i; +bool retry; +int ret; + + if (maildir_uidlist_open_latest(uidlist) < 0) + return -1; + for (i = 0; ; i++) { ret = maildir_uidlist_update_read(uidlist, &retry, i < UIDLIST_ESTALE_RETRY_COUNT); @@ -1512,18 +1530,12 @@ if (maildir_uidlist_want_recreate(ctx)) return maildir_uidlist_recreate(uidlist); - if (uidlist->fd == -1) { - /* NOREFRESH flag used. we're just appending some messages. */ + if (!uidlist->locked_refresh) { + /* make sure we have the latest file (e.g. NOREFRESH used) */ i_assert(uidlist->initial_hdr_read); - - uidlist->fd = nfs_safe_open(uidlist->path, O_RDWR); - if (uidlist->fd == -1) { - mail_storage_set_critical(storage, -"open(%s) failed: %m", uidlist->path); + if (maildir_uidlist_open_latest(uidlist) < 0) return -1; - } } - i_assert(ctx->first_unwritten_pos != (unsigned int)-1); if (lseek(uidlist->fd, 0, SEEK_END) < 0) { signature.asc Description: This is a digitally signed message part
[Dovecot] dovecot 1.2.9 crash on subscribe with shared namespace
Hi all I'm testing dovecot to migrate from a cyrus 2.2 With TB2 if I use "subscribe" dovecot crash but only if I enable a shared namespace. Without explicit namespace or only with private namespace "subscribe" works Is this a problem already fixed in 1.2.10? is it a problem of my configuration? I tried different value for location in shared namespace but without any difference Below some info + gdb backtrace + dovecot -n Thanks Dovecot is version 1:1.2.9-1ubuntu2 from ubuntu lucid recompiled for ubuntu hardy on a xen domu amd64, fs is xfs warning: Can't read pathname for load map: Input/output error. Loaded symbols for /usr/lib/dovecot/imap Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux-x86-64.so.2...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /lib/libpthread.so.0...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /usr/lib/dovecot/modules/imap/lib01_acl_plugin.so...done. Loaded symbols for /usr/lib/dovecot/modules/imap/lib01_acl_plugin.so Reading symbols from /usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so Core was generated by `imap [san...@mydomain.com x.x.x.x]'. Program terminated with signal 11, Segmentation fault. [New process 7474] #0 0x7fc4c0ff37f3 in t_malloc_real (size=512, permanent=false) at data-stack.c:306 306 data-stack.c: No such file or directory. in data-stack.c (gdb) bt full #0 0x7fc4c0ff37f3 in t_malloc_real (size=512, permanent=false) at data-stack.c:306 block = ret = alloc_size = #1 0x7fc4c0ff39fb in t_buffer_get (size=512) at data-stack.c:445 ret = (void *) 0x7fffb4dfc090 #2 0x7fc4c100730e in vstrconcat (str1=0x7fc4c1010413 "", args=0x7fffb4dfc070, ret_len=0x7fffb4dfc088) at strfuncs.c:161 str = temp = 0x0 bufsize = 512 i = 0
Re: [Dovecot] mailbox format w/ separate headers/data
On Fri, Jan 22, 2010 at 09:03:42PM -0500, Charles Sprickman wrote: > On Fri, 22 Jan 2010, Frank Cusack wrote: > >> On January 22, 2010 11:05:22 PM +0200 Timo Sirainen wrote: >>> Dunno about zfs, but I've heard that at least in one NetApp installation >>> deduplication was way too heavyweight. >> >> zfs dedup is pretty resources intensive -- for writes. For mail I >> suspect reads overwhelm writes? > > Sorry for the tangent, but I wonder if anyone here is running lots of > Maildirs on zfs? I just recently started experimenting with it on our > backups server (FBSD 8.0), and I really am liking it. I was also > surprised at how my little 4 drive raidz volume performed in benchmarks - > quite impressive. We used to have our Maildirs on ZFS but we've moved to ext3. ZFS worked reasonably well, except for the days when it slowed down to less than 10% of normal throughput. After a reboot or a couple of days of slow running it would perform normally again. This was on Solaris 10, at most a couple of months behind on patches. I had read the ZFS evil tuning guide, and the ZFS best practices guide, but they didn't help. It wasn't just mail that was slow - listing the contents of a small directory could take over a minute. We're much happier since switching to ext3; I haven't worried about mail performance since. -- John Tobin "No no no. You're supposed to test with -march=... -fomit-frame-pointer -ffancy-math -fuse-lots-of-resources-go-very-fast -fsacrifice-more-goats -fsummon-cthulu-if-that-helps as root at nice -20, preferably in single user mode and jumps should be aligned on pentagrams, not 8 byte boundaries. Definitely not use debugging :-)" -- Nicholas Clark, in perl6-internals
[Dovecot] Proxying to a DNS Name
Hello, reading the wiki I found http://wiki.dovecot.org/PasswordDatabase/ExtraFields/Proxy?highlight=(no DNS resolving) I have a setup where the destination of a proxyconnection is an DNS name. Is there a technical reason which currently require host= to be an IP address ? -- Andreas Schulze Internetdienste | P532 DATEV eG 90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196 E-Mail info @datev.de | Internet www.datev.de Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg Nr.70 Vorstand Prof. Dieter Kempf (Vorsitzender) Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender) Dipl.-Kfm. Michael Leistenschneider Jörg Rabe v. Pappenheim Dipl.-Vw. Eckhard Schwarzer Vorsitzender des Aufsichtsrates: Reinhard Verholen GnuPG-Signatur.asc Description: digitale Signatur dieser Nachricht von Andreas Schulze
Re: [Dovecot] quick question
David, > -Original Message- > From: David Halik [mailto:dha...@jla.rutgers.edu] > > *sigh*, it looks like there still might be the occasional user visible > issue. I was hoping that once the assert stopped happening, and the > process stayed alive, that the users wouldn't see their inbox disappear > and reappear apparently, this is still happening occasionally. > > I just had user experience this with TB 2, and after looking at the logs > I found the good ole' stale nfs message: > Hmm, that's disappointing to hear. I haven't received any new reports from our helpdesk, so maybe it's at least less visible? > For now they're just have to live with it until I either get proxy_maybe > setup, or some other solution. Let me know if you come up with anything. I'm not sure we want to add MySQL as a dependency for our mail service... but I'm at least curious to see how things perform with session affinity. I'll add it to my long list of things to play with when I have time for such things... -Brad
Re: [Dovecot] quick question
On 01/25/2010 01:02 PM, David Halik wrote: On 01/25/2010 01:00 PM, Charles Marcus wrote: On 2010-01-25 12:57 PM, David Halik wrote: I just had user experience this with TB 2, and after looking at the logs I found the good ole' stale nfs message: Maybe TB3 would be better behaved? It has many, many MAP improvements over TB2... worth a try at least... I agree, I definitely want the user to try it... especially since they're technically inclined and can tell me one way or the other. I'm going to wait though until 3.0.3 comes out because of the CONDSTORE issues. Err, 3.0.2 rather. Speaking of which, I just was notified that the patch for approved for inclusion in 3.0.2. Now it just depends on how long it takes to be released. -- David Halik System Administrator OIT-CSS Rutgers University dha...@jla.rutgers.edu
Re: [Dovecot] sieve or another vacation/autoreply
Lampa wrote: Hello, i'm trying to do some delivery notification for each incoming address. Problem is that sieve vacation has :days but minimum value is 1 eg period in which addresses are kept and are not responded to - but that is not that i want. Is there other extension (in devel ???) or some other way (lda using procmail or maildrop) how to implement my request ? (Before migration we used qmail + procmail). I am not quite sure what you are trying to achieve with this, however I've devised something that matches your description: require "enotify"; require "variables"; require "envelope"; # Let's not reply to robots and mailing lists if allof (not exists "list-id", anyof (not exists "auto-submitted", header "auto-submitted" "no")) { # Get the return path if envelope :matches "from" "*" { # URI-encode the recipient address when necessary set :encodeurl "from" "${1}"; # Send notification back to sender notify :message "Message received!" "mailto:${from}";; } } This is somewhat scary though. Regards, -- Stephan Bosch step...@rename-it.nl
Re: [Dovecot] quick question
On 01/25/2010 01:00 PM, Charles Marcus wrote: On 2010-01-25 12:57 PM, David Halik wrote: I just had user experience this with TB 2, and after looking at the logs I found the good ole' stale nfs message: Maybe TB3 would be better behaved? It has many, many MAP improvements over TB2... worth a try at least... I agree, I definitely want the user to try it... especially since they're technically inclined and can tell me one way or the other. I'm going to wait though until 3.0.3 comes out because of the CONDSTORE issues. -- David Halik System Administrator OIT-CSS Rutgers University dha...@jla.rutgers.edu
Re: [Dovecot] quick question
On 2010-01-25 12:57 PM, David Halik wrote: > I just had user experience this with TB 2, and after looking at the logs > I found the good ole' stale nfs message: Maybe TB3 would be better behaved? It has many, many MAP improvements over TB2... worth a try at least... -- Best regards, Charles
Re: [Dovecot] quick question
On 01/22/2010 05:14 PM, Brandon Davidson wrote: Yeah, as long as the users don't see it, I'm happy to live with the messages in the log file. -Brad *sigh*, it looks like there still might be the occasional user visible issue. I was hoping that once the assert stopped happening, and the process stayed alive, that the users wouldn't see their inbox disappear and reappear apparently, this is still happening occasionally. I just had user experience this with TB 2, and after looking at the logs I found the good ole' stale nfs message: Jan 25 11:39:24 gehenna21 dovecot: IMAP(user): fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed: Stale NFS file handle Fortunately, there were no other messages associated with it (assert or otherwise), but I was hoping to have seen the last of the users mail momentarily reloading. For now they're just have to live with it until I either get proxy_maybe setup, or some other solution. -- David Halik System Administrator OIT-CSS Rutgers University dha...@jla.rutgers.edu
[Dovecot] sieve or another vacation/autoreply
Hello, i'm trying to do some delivery notification for each incoming address. Problem is that sieve vacation has :days but minimum value is 1 eg period in which addresses are kept and are not responded to - but that is not that i want. Is there other extension (in devel ???) or some other way (lda using procmail or maildrop) how to implement my request ? (Before migration we used qmail + procmail). Thank you for your advices -- Lampa
Re: [Dovecot] Delete messages with archivemail
gstyle schrieb: 2010/1/25 Charles Marcus Moin You'd be better off upgrading to the latest stable version (via backports) and using the expire plugin - its made for doing things just like this. http://wiki.dovecot.org/Plugins/Expire Mh... could be an option... Do I only install the new packages and tweak the config, or do I have to convert the Maildirs in any way for an upgrade from Dovecot 1.0? No, there are no problems with the Maildirs. Anything importent to consider for the upgrade? I encountered some trouble with the config file while using the old 1.0-configuration. Namely the plugins (sive, managedsieve and quota) did not do what I wanted. This was cured in fifteen minutes by copying my changes from my old config file in the one delivered with 1.2. In all cases you should read the webpages addressing the upgrades. Cheers Mario Bye Dennis
Re: [Dovecot] Delete messages with archivemail
On 2010-01-25 10:52 AM, gstyle wrote: > Do I only install the new packages and tweak the config, or do I have to > convert the Maildirs in any way for an upgrade from Dovecot 1.0? > > Anything importent to consider for the upgrade? http://wiki.dovecot.org/Upgrading/ If you're already using maildir, then no, nothing to convert there, but I think there may be a few config changes, so, as always, read the upgrade pages carefully... -- Best regards, Charles
Re: [Dovecot] Delete messages with archivemail
2010/1/25 Charles Marcus > > > You'd be better off upgrading to the latest stable version (via > backports) and using the expire plugin - its made for doing things just > like this. > > http://wiki.dovecot.org/Plugins/Expire > > Mh... could be an option... Do I only install the new packages and tweak the config, or do I have to convert the Maildirs in any way for an upgrade from Dovecot 1.0? Anything importent to consider for the upgrade? Cheers Mario
Re: [Dovecot] Delete messages with archivemail
On 2010-01-25 8:53 AM, gstyle wrote: > Every night I run a script calling archivemail ( > http://archivemail.sourceforge.net/) to delete all messages in the Spam > folder that are older than 30 days > > archivemail deletes the files directly in the Maildir folder. I am not using > IMAP for this (cause I don't want to store the passwords in plain text). > > I know that dovecot uses index files to speed up Maildir access. Will there > be any problems with the index files when I delete the old spam like this? No, the indexes are self-healing, but... You'd be better off upgrading to the latest stable version (via backports) and using the expire plugin - its made for doing things just like this. http://wiki.dovecot.org/Plugins/Expire -- Best regards, Charles
[Dovecot] still asserts with 1.2.10
Hi, I've still asserts while accessing virtual folders: Program terminated with signal 6, Aborted. [New process 6714] #0 0xf7e57556 in raise () from /lib/libc.so.6 #0 0xf7e57556 in raise () from /lib/libc.so.6 No symbol table info available. #1 0xf7e58d78 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x080f2eb5 in default_fatal_finish (type=, status=0) at failures.c:160 backtrace = 0x97a9978 "imap [0x80f2ea1] -> imap [0x80f2f22] -> imap [0x80f2879] -> imap(index_search_result_update_flags+0x295) [0x80b2435] -> /usr/local/lib/dovecot/imap/lib20_virtual_plugin.so [0xf7ca238d] -> /usr/local/l"... #3 0x080f2f22 in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x810baec "file %s: line %d (%s): assertion failed: (%s)", args=0xff805294 "?\021\bW") at failures.c:443 No locals. #4 0x080f2879 in i_panic (format=0x810baec "file %s: line %d (%s): assertion failed: (%s)") at failures.c:207 No locals. #5 0x080b2435 in index_search_result_update_flags (result=0x97e49c8, uids=0xff805540) at index-search-result.c:87 search_arg = {next = 0x97be3d0, type = SEARCH_UIDSET, value = {subargs = 0x0, seqset = {arr = {buffer = 0x97a9528, element_size = 8}, v = 0x97a9528, v_modifiable = 0x97a9528}, str = 0x0, time = 0, size = 0, flags = 0, search_flags = 0, thread_type = MAIL_THREAD_NONE, keywords = 0x0, modseq = 0x0, search_args = 0x0, search_result = 0x0}, context = 0x0, hdr_field_name = 0x0, not = 0, match_always = 0, result = -1} ret = __PRETTY_FUNCTION__ = "index_search_result_update_flags" #6 0xf7ca238d in virtual_sync_backend_boxes (ctx=0x97dd378) at virtual-sync.c:733 _data_stack_cur_id = 4 i = 0 ret = 97 #7 0xf7ca326b in virtual_storage_sync_init (box=0x97bca58, flags=65) at virtual-sync.c:1486 sync_ctx = ret = #8 0x080b6bd2 in mailbox_sync (box=0x1a3a, flags=65, status_items=239, status_r=0xff805728) at mail-storage.c:593 ctx = #9 0x08065238 in cmd_select_full (cmd=0x97b6aa8, readonly=false) at cmd-select.c:273 client = (struct client *) 0x97b6818 box = (struct mailbox *) 0xff805798 ctx = (struct imap_select_context *) 0x97b6b58 args = (const struct imap_arg *) 0x97b9328 mailbox = 0x97a92f0 "spam/disagree/spamassassin" ret = __PRETTY_FUNCTION__ = "cmd_select_full" #10 0x08065999 in cmd_select (cmd=0x97b6aa8) at cmd-select.c:389 No locals. #11 0x08067c7c in client_command_input (cmd=0x97b6aa8) at client.c:612 client = (struct client *) 0x97b6818 command = __PRETTY_FUNCTION__ = "client_command_input" #12 0x08067d19 in client_command_input (cmd=0x97b6aa8) at client.c:661 client = (struct client *) 0x97b6818 command = __PRETTY_FUNCTION__ = "client_command_input" #13 0x08067e8d in client_handle_input (client=0x97b6818) at client.c:702 _data_stack_cur_id = 3 ret = false remove_io = handled_commands = false __PRETTY_FUNCTION__ = "client_handle_input" #14 0x080687ef in client_input (client=0x97b6818) at client.c:753 cmd = output = (struct ostream *) 0x97b69cc bytes = __PRETTY_FUNCTION__ = "client_input" #15 0x080fbc50 in io_loop_handler_run (ioloop=0x97b11c8) at ioloop-epoll.c:208 ctx = (struct ioloop_handler_context *) 0x97b1c38 event = (const struct epoll_event *) 0x97b1c78 list = (struct io_list *) 0x97b6a50 io = (struct io_file *) 0x97b6a28 tv = {tv_sec = 1799, tv_usec = 999662} t_id = 2 msecs = ret = 1 i = 0 j = 0 call = #16 0x080fb0c0 in io_loop_run (ioloop=0x97b11c8) at ioloop.c:335 No locals. #17 0x080712fa in main (argc=) at main.c:327 No locals. Program terminated with signal 6, Aborted. [New process 11609] #0 0xf7db6556 in raise () from /lib/libc.so.6 #0 0xf7db6556 in raise () from /lib/libc.so.6 No symbol table info available. #1 0xf7db7d78 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x080f2eb5 in default_fatal_finish (type=, status=0) at failures.c:160 backtrace = 0x986b978 "imap [0x80f2ea1] -> imap [0x80f2f22] -> imap [0x80f2879] -> imap(index_search_result_update_flags+0x295) [0x80b2435] -> /usr/local/lib/dovecot/imap/lib20_virtual_plugin.so [0xf7c0138d] -> /usr/local/l"... #3 0x080f2f22 in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x810baec "file %s: line %d (%s): assertion failed: (%s)", args=0xffc2fa54 "?\021\bW") at failures.c:443 No locals. #4 0x080f2879 in i_panic (format=0x810baec "file %s: line %d (%s): assertion failed: (%s)") at failures.c:207 No locals. #5 0x080b2435 in index_search_result_update_flags (result=0x988a918, uids=0xffc2fd00) at index-search-result.c:87 search_arg = {next = 0x9888490, type = SEARCH_UIDSET, value = {subargs = 0x0, seqset = {arr = {buffer = 0x986b528, element_size = 8}, v = 0x986b528,
Re: [Dovecot] Delete messages with archivemail
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Mon, 25 Jan 2010, gstyle wrote: I know that dovecot uses index files to speed up Maildir access. Will there be any problems with the index files when I delete the old spam like this? No, but the usual problems with distributed IMAP: e.g. an already connected client might not honor the removal before a manual refresh. Regards, - -- Steffen Kaiser -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iQEVAwUBS12vVr+Vh58GPL/cAQLHYgf/UrYDMPW43eV3WKaCcZYgdC4/BPU6E1ey odzFqZiTBEHMlz0//MV4+X6ktWGttvMY4fxfigan28Hnztfr+//RQl/g/AHBvor/ S/9OVrdBrsGNNvWfarG/wOuxwhzlwZg++nWfkJPcu4m0MN4YFUTGmeQzVvWZ1LY9 5w4edG3PTDYttKQn04J+d/mFfizq6FCialdw5jybt24ABkp+536ogmAGPzorZVno SpiLtIDF+ok7b+Zc+OSbf9JJUoXmAtaV+Z+Tx7t5MsTZaA4K9zrJCMxjLJ7TdYqp pdQPg/u5PeZu7eIMWtqMoIku3reszIlBqOEK9/2GouOCNOgYDscD/A== =H51B -END PGP SIGNATURE-
Re: [Dovecot] backup & restore mailbox files manually
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Mon, 25 Jan 2010, coolatt wrote: Am working on a solution to backup maildir mailboxes using rsync. All mailbox directories are mirrored on another machine. I need advise regarding restore of the INBOX & SENT files from the backup. For e.g , [1] Can I just copy "file-x-y-z" from /Maildir/cur to restore it on /Maildir/cur on the mailserver. [2] Can I do same for SENT emails ? You can do so. But it can lead to duplicate mail, because the filename is not static, e.g. message status or keyword changes are reflected there. There had been a thread lastly about this topic (well, a minor bit differently); I restore the mails to a completely different folder and let the user pick the messages and re-file them into specific mailfolders. Others suggested to use a script to verify filename stem (before the colon), e.g. restore to tmp/, then check new/ and cur/, if there exists a file with the same stem. However, there had been said that there is a possible race condition, if the message flags are changed simultaneously. Regards, - -- Steffen Kaiser -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iQEVAwUBS12ub7+Vh58GPL/cAQIiFggAsbf34qad697fbVHlAZ5VmuUaurKzc9hk 8zAqtP4zc2Tu8U9ZtMwNg1Sxw7ikYxdU5kz4JmbICVoaK4fnauXv41DZlBwgnWEw XgFa6CiIsuVKRxgB8FeWO6X63oijOMhoqF3dJDET+RzTLiCZkj47zZaA/0JYFOYu BV/rGfmWqT2zDdHYHI8cMjzyPzuwnYbRBDjUdScNwH35BZOKykI4/EyMmmUdfiIO EqPlj0sSSCRroBztRoQMVyIoTkL5MV3hGDRgWKP1yc0YT9SLlzjQXY0TylumNHXH nEjjDozOfwq7E7TrBsct68OPXMfBUB0IQ/JbHtGlhhwh6B6p8qqgxQ== =xC+M -END PGP SIGNATURE-
[Dovecot] Delete messages with archivemail
Hi, I have set up a dovecot imap server (Version 1.0.15 on Debain Lenny). Until know I used courier. Every night I run a script calling archivemail ( http://archivemail.sourceforge.net/) to delete all messages in the Spam folder that are older than 30 days archivemail deletes the files directly in the Maildir folder. I am not using IMAP for this (cause I don't want to store the passwords in plain text). I know that dovecot uses index files to speed up Maildir access. Will there be any problems with the index files when I delete the old spam like this? Cheers Mario
[Dovecot] blocked for xx secs
Hello, Occasionally (a few times a day) we get batches of Warnings in the log such as: dovecot: Warning: chdir(/maildir/x.co.uk/users/y) blocked for 18 secs This tends to last a minute or so for different users. /maildir is a NFS mount, and I'm suspecting it's the NFS server being busy and dovecot having to wait. Other than replacing the NFS server with faster hardware is there anything else we can do? Indexes are local, and Maildir is on the NFS. Dovecot 1.2.5 using: mail_nfs_storage = yes mmap_disable = no NFS mounted as; /maildir on /.automount/a.diskless/root/mail type nfs (nosuid,nodev,noatime,vers=3,proto=tcp) TIA -- Andrew
[Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10
Hello Dovecot users, It's been a while since the last Pigeonhole Sieve and ManageSieve releases. That is why this release includes quite a few changes. Most interestingly, the include extension is updated to match the most recent specification, the Sieve interpreter now includes plugin support and ManageSieve now has support for enforcing quota on the size of scripts, the number of scripts and the space the scripts occupy on disk. Other than that, quite a few small bugs were fixed. One of which was in the i;ascii-numeric comparator. If one of the matched strings did not start with a digit, the comparator would always yield a 'less-than' result. In stead it should have considered the string starting with the non-digit character as having a positive infinite value. Elsewhere in this list, Julian Cowley pointed out that negative values also start with a non-digit character, which some people may not have understood (i.e. i;ascii-numeric works only on unsigned values). The bug fix in this release could therefore change result of certain misconceived (and probably spam-related) Sieve rules, so watch out! I started work on the spamtest(plus) and virustest extensions. These are implemented for the most part, but their configurability needs quite a bit more work. Changelog Sieve v0.1.15: * Enotify extension: - Adjusted notify method API for addition of new notification methods. - Set default importance level to 'normal' (was 'high'). * Include extension: updated implementation towards most recent specification (all should be backwards compatible): - Implemented global variables namespace. - Global command may now appear anywhere in a script. - Implemented script name checking using the requirements specified in the ManageSieve draft. - One issue remains: ManageSieve currently requires included scripts to be uploaded first, which is not according to specification. * Changed envelope path parser to allow to and from envelope addresses that have no domain part. + Added preliminary support for Sieve plugins and added support for installing Sieve development headers. + Started work on the implementation of the spamtest, spamtestplus and virustest extensions (unfinished). + Deprecated notify extension: implemented denotify command. + Variables extension: added support for variable namespaces. + Added configurable script size limit. Compiler will refuse to compile files larger than sieve_max_script_size. + Testsuite changes: - Added support for changing and testing an extension's configuration. - Added a command line parameter for copying errors to stderr. - Fixed a bug in the i;ascii-numeric comparator. If one of the strings started with a non-digit character, the comparator would always yield less-than. - Imap4flags extension: fixed bug in removeflag: removing a single flag failed due to off-by-one error (bug report by Julian Cowley). - Improved EACCES error messages for stat() and lstat() syscalls and slightly improved error messages that may uccur when saving a binary. - Vacation extension: fixed typo in runtime log message (patch by Julian Cowley). - Fixed use of minus '-' in man pages; it is now properly escaped. - Fixed parser recovery. In particular cases it would trigger spurious errors after an initial valid error and sometimes additional errors were inappropriately ignored. Changelog ManageSieve v0.11.11: * This release contains adjustments to match changes in the Sieve API. This means that this release will only compile against Pigeonhole Sieve v0.1.15. + Implemented ManageSieve QUOTA enforcement. + Added MAXREDIRECTS capability after login. + Implemented new script name rules specified in most recent ManageSieve draft. - Fixed assertion failure occuring with challenge-response SASL mechanisms. - Made configure complain about trying to compile against installed Dovecot headers alone. - Fixed compile warning for compilation against CMUSieve. The releases are available as follows: Sieve: http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz.sig ManageSieve (package + patch): http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz.sig http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff.gz http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff.gz.sig Refer to http://pigeonhole.dovecot.org for more information. Have fun testing the new releases and don't hesitate to notify me when there are problems. Regards, -- Stephan Bosch step...@rename-it.nl
[Dovecot] acl flag to limit imap_acl based acl changes
Hi all! I have tried the imap_acl plugin with 1.2.9 today, but was not able to limit acl changes for those mailboxes where acl changes should be forbidden. http://wiki.dovecot.org/ACL says that "a" or "admin" covers "Administration rights to the mailbox". However, removing "a" from owner acl (using "lr") does not help, the user can still change all acl flags for all users with imap. Write accesses to mails are forbidden as they should. Is this intended or a bug? We would like to give all users the ability to use ACLs through IMAP, but the current behaviour endangers our read-only mail archives. Amon Ott -- Dr. Amon Ott - m-privacy GmbH Am Köllnischen Park 1, 10179 Berlin Tel: +49 30 24342334 Fax: +49 30 24342336 Web: http://www.m-privacy.de Handelsregister: Amtsgericht Charlottenburg HRB 84946 Geschäftsführer: Dipl.-Kfm. Holger Maczkowsky, Roman Maczkowsky GnuPG-Key-ID: EA898571
[Dovecot] backup & restore mailbox files manually
Hi ALL... Am working on a solution to backup maildir mailboxes using rsync. All mailbox directories are mirrored on another machine. I need advise regarding restore of the INBOX & SENT files from the backup. For e.g , [1] Can I just copy "file-x-y-z" from /Maildir/cur to restore it on /Maildir/cur on the mailserver. [2] Can I do same for SENT emails ? Thanks CoolAtt -- View this message in context: http://old.nabble.com/backup---restore-mailbox-files-manually-tp27303434p27303434.html Sent from the Dovecot mailing list archive at Nabble.com.