[Dovecot] dovecot permissions
Hello list, I would like to configure POP3 email such that user "mark" (only) must be able to retrieve email from my machine using POP3 from within mydomain.com Any ideas?
Re: [Dovecot] dovecot permissions
By the way, my version is: 1.0.7 On Tue, Nov 11, 2008 at 11:29 AM, Fernando <[EMAIL PROTECTED]> wrote: > Hello list, > > I would like to configure POP3 email such that user "mark" (only) must be > able to retrieve email from my machine using POP3 from within mydomain.com > > Any ideas? >
Re: [Dovecot] namespaces/virtual folder & archiving
Hi, I did some researches and I could reproduce item: 1 - storage inbox in quick disks and other folders in cheaper ones. Something like this: namespace private { separator = . prefix = location = maildir:/tmp/%u/Maildir inbox = yes hidden = yes list = no # for v1.1+ } namespace private { separator = . prefix = INBOX. location = maildir:/tmp/%u/Maildir2 } In the disk: drwx-- 5 vmail vmail 4.0K Feb 24 07:08 Maildir drwx-- 10 vmail vmail 4.0K Feb 24 06:39 Maildir2 I don´t know how the indexes control messages in the second namespace (are those messages indexed ?) Also, quota control was done by creating a 'maildirsize' at inbox level (Maildir/) - when messages are moved from one namespace to another, the file is updated. Now, I was trying to solve item 3 with virtual folders, but I couldn´t. I don´t even know if it´s possible. (Unfortunatelly) I believe it´s not :( []s Fernando > Hi, > > I was following the earlier namespaces discussion and I would like to > repost a doubt. I need to have some kind of archiving, it means, store old > messages into a cheap storage. But I couldn´t think any other solution > than symlinks. > > Then, I thought about store 'Sent Items' (as having old messages and less > acessed). But I also needed to do with nfs and symlinks. So, it comes the > namespaces discussion and a little brainstorm: > > 1) Could I have a namespace only with INBOX and the personal folders > (drafts, sent items, etc) in another one - and those would be stored in > huge sata disks while inbox in 300g sas disks ? > > 2) Could I maintain the prior configuration, but let the second namespace > hidden and having the inbox subfolders (or any specific as sent items) as > virtual folder ? I don´t know if this makes sense... > > 3) Could I have my normal Inbox and a folder (in another disk - ex. huge > sata one) storing files older than 30 days and through virtual folders > join these messages in a common virtual INBOX while acessing imap or pop3 > ? > > What do you thing, would you have another better approach ? > > Best Regards, > Fernando >
[Dovecot] mogilefs
Hi list, Have you ever heard or tried mogilefs? (http://danga.com/mogilefs/) Do you think suitable for dovecot/mail environments ? Regards, Fernando
Re: [Dovecot] nosql (it was mogilefs)
Yes, I´ve read these doc. I was just considering if someone had any experience with Mogile in email environment. Well, actually I´m trying to figure out if one of those nosql systems can store and scale email systems (ie, mailboxes - instead of maildir). I know mysql is always quoted as an option and discussed sometimes in the list. I think it´s an unnecessary overhead and bottleneck. As brainstorm. How about Cassandra, Tokyo-Tirant, Redis, and so on. Have you ever worked or tested one of them at production or even testing environment ? What do you think ? Best Regards, Fernando > Original Message >From: Robert Schetterer >To: dovecot@dovecot.org >Sent: Qua, Mar 10, 2010, 4:46 PM >Subject: Re: [Dovecot] mogilefs > >Am 10.03.2010 20:23, schrieb ferna...@dfcom.com.br: >> Hi list, >> >> Have you ever heard or tried mogilefs? (http://danga.com/mogilefs/) >> >> Do you think suitable for dovecot/mail environments ? >> >> Regards, >> Fernando >> > >sounds not ready for mail > >MogileFS is not: > >* POSIX Compliant -- you don't run regular Unix applications or >databases against MogileFS. It's meant for archiving write-once files >and doing only sequential reads. (though you can modify a file by way of >overwriting it with a new version) Notes: > o Yes, this means your application has to specifically use a >MogileFS client library to store and retrieve files. The steps in >general are 1) talk to a tracker about what you want to put or get, 2) >read/write to one of the places it told you you could (it'll pick >storage node(s) for you as part of its load balancing), using HTTP GET/PUT > o We've prototyped a FUSE binding, so you could use MogileFS >without application support, but it's not production-ready. > > >-- >Best Regards > >MfG Robert Schetterer > >Germany/Munich/Bavaria
[Dovecot] bzip2 compression bug
Hi, I compressed many files using bzip2, but in some cases it crashes. I believe that it is related to dovecot indexes. How to reproduce: Inside a Maildir folder without any indexes yet, compress a message with bzip2 and tryes to access it. At my server is showed the error: Jun 24 00:18:20 maildev dovecot: IMAP(x...@xxx): FETCH for mailbox Trash UID 1 failed to read message input: No such file or directory Jun 24 00:18:20 maildev dovecot: IMAP(x...@xxx): Disconnected: BUG: Unknown internal error bytes=329/1050 When I did the same with gzip compression it works as expected (opening the message and creating dovecot indexes). (version, 1.1.16) Best Regards, Fernando
[Dovecot] plugin devel
Hi, I´m planning to change our maildrop lda to deliver, but I need to devel a plugin in order to have some custom filtering. Are there any documentation regarding how to develop a dovecot plugin - tips, tricks, etc ? Thanks, Fernando
[Dovecot] Mail archive
Hi, I´m using dovecot at our storages, accounts is distributed among many storages (not entire domain), all of them with compression (when message > 30Kb), nightly crontab script. Even though compression and many storages, we always have problems with disk space and need to migrate accounts. Have you ever implemented any archive solution working with dovecot ? Regards, Fernando
Re: [Dovecot] Mail archive
I would like 'some process' to store old mails at a cheap storage. I know how to do it with symlinks, but I don´t know if it is the best option. So, I´m asking if dovecot improves it somehow. Fernando fernando at dfcom.com.br schrieb: > Hi, > > I´m using dovecot at our storages, accounts is distributed among many > storages (not entire domain), all of them with compression (when message > > 30Kb), nightly crontab script. > > Even though compression and many storages, we always have problems with > disk space and need to migrate accounts. > > Have you ever implemented any archive solution working with dovecot ? > > Regards, > Fernando > you might give more info what kind of "archive" you exactly mean meanwhile study http://wiki.dovecot.org/HowTo/ReadOnlyArchive http://wiki.dovecot.org/Plugins/Zlib http://wiki.dovecot.org/Plugins/Expire Alternative dbox directory expiration -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria
[Dovecot] scalability and arhive ideas
Hi, I´m reading the past topics related to archive and scalability of dovecot, they are all very interesting. Here, I´m using two dovecot proxies in front of five storages pairs, and we split the domain´s accounts among those servers. So, we can share the i/o load and if one server goes down only few accounts of the domain stops (not all of them). But, we began to have space problems - and the solution would be insert more and more storage servers. So I was searching for some archive solutions (hard links - at S.O level, or some dovecot extension). A friend told me that he knows an ISP that share even the mailbox of the users among many servers - this is very weird and (at same time) very interesting approach. Instead of put all messages into one maildir and this maildir into one server, this "maildir" (?) is spplited among many servers - so, if one servers fails the account is still acessible and they move old/big messages to a new "cheap" storage - archiving transparently. Well, maybe it´s an stupid idea, but couldn´t dovecot imap/pop proxy do the same ? I mean, imagine the following scenario: 1- Proxy does an user account sql - today the return is (among other data), the final server IP, but it could be the storage servers for this account 2- Proxy does parallel connections (instead of today´s one connection with the final server). Retrieve the messages and caches locally where the message is. If the cache is lost, no problem, it just connects again and re-cache them. 3- When a message is deleted/flagged, etc - it has the cache (allowing it to know where send the command to), when a message inserted (as sent folder) - the system can have the 'default storage' where the messages are delivered and saved to - the other storages are just for archiving (or even a round-robin delivery !? - hard to control). Problems: 1- Have the cache at proxy level. 2- Quota calculation (how the delivery process can check this ?) 3- Maybe mixing proxy connection and this new approach is not easy way. 4- the more servers, the more time waiting their answers (imagine one of them answering slowly). Advantages: 1- No local mounts at storage level - (as nfs and other network mounted partitions). 2- Servers independency - if space is at a critical value, insert a pair of servers, move messages there, insert the servers in the sql answer (server1, server2, server3, ... , serverN). 3- Scalability - the more servers, the more i/o load you can share. Well, sorry for the long post...but I hope to collaborate with some ideas (even if they are stupid :( ) Regards, Fernando Bertasso Figaro
Re: [Dovecot] scalability and arhive ideas
Hi Timo, Yes it´s related, but I don´t understand '... You'll just need to implement a filesystem that allows distributing a single user's mails to multiple servers ...'. My idea is just in the direction that we don´t need to care about filesystem, we don´t need any distribuited filesystem...let it be as user wantsat any some proxy level, the end storage can be ext3, reiser, S.O linux, freebsd, and so on. I think that the more elements we insert, the more complex and hard to mount/debug the solution would be. Administrator maintains storage pairs, with any o.s/filesystem he wants- his only work would be to create the accounts and folders at each storage server (if you create a folder - you create at three servers - the same for accounts) and set a database with the servers envolved at the process. The account structure must be sync'ed, and messages will be stored where the users want to. I also like the idea to user some database to store message index. Fernando > On Tue, 2009-08-25 at 11:00 -0300, ferna...@dfcom.com.br wrote: >> this is very weird and (at same time) very interesting approach. Instead >> of put all messages into one maildir and this maildir into one server, >> this "maildir" (?) is spplited among many servers - so, if one servers >> fails the account is still acessible and they move old/big messages to a >> new "cheap" storage - archiving transparently. > > Well, this is somewhat related to the filesystem abstraction that I'm > planning. You'll just need to implement a filesystem that allows > distributing a single user's mails to multiple servers. That's actually > also what I was planning on doing by using some existing database for > that (Cassandra?) And sure it would be possible to implement all of that > on my own, but probably it's too much trouble.. > >
Re: [Dovecot] scalability and arhive ideas
I´m not sure if i´m being quite clear about my solution (pardon my english)... I´m not thinking in any filesystem abstraction layer, I´m afraid of this kind of solution. If some corruption happens we can loose data - and the crash-recovery is not easy. I´m suggesting the opposite, to not have an abstraction layer. The abstraction layer would be the proxy - dovecot does the abstraction layer. When I´m telling 'proxy' I meaning something like the proxy feature of the dovecot. And in my head the final solution is very 'simple' (despite of its hard programming work). Dovecot just access 'in parallel' a set of servers, requesting their informations (really, with imap connection) and caches them - the results (maybe in some database, as you suggested). It would be an extension of the proxy feature that already exists at dovecot. Fernando > On Tue, 2009-08-25 at 12:12 -0300, ferna...@dfcom.com.br wrote: >> Hi Timo, >> >> Yes it´s related, but I don´t understand '... You'll just need to >> implement a filesystem that allows distributing a single user's mails to >> multiple servers ...'. >> >> My idea is just in the direction that we don´t need to care about >> filesystem, we don´t need any distribuited filesystem...let it be as >> user >> wantsat any some proxy level, the end storage can be ext3, reiser, >> S.O >> linux, freebsd, and so on. I think that the more elements we insert, >> the >> more complex and hard to mount/debug the solution would be. > > I mean Dovecot accesses filesystem through a simple abstraction layer. > You wouldn't have to implement a real OS level filesystem, but you'd > implement a "proxying Dovecot-filesystem backend" that sits on top of > real filesystems. It's probably not much of a difference to what you're > thinking about, except in my mind it's entirely isolated from actual > Dovecot code. There's just a simple API that the backend needs to > implement and it'll work with Dovecot. > > BTW. Maybe http://www.xtreemfs.org/ or http://www.gluster.org/ already > does what you're thinking about? I haven't looked at them closely > enough.. >
Re: [Dovecot] scalability and arhive ideas
Hi Timo, Do you have any experience using Dovecot and Glusterfs ? How about the maturity of Glusterfs in a huge email environment ? Fernando > On Tue, 2009-08-25 at 12:12 -0300, ferna...@dfcom.com.br wrote: >> Hi Timo, >> >> Yes it´s related, but I don´t understand '... You'll just need to >> implement a filesystem that allows distributing a single user's mails to >> multiple servers ...'. >> >> My idea is just in the direction that we don´t need to care about >> filesystem, we don´t need any distribuited filesystem...let it be as >> user >> wantsat any some proxy level, the end storage can be ext3, reiser, >> S.O >> linux, freebsd, and so on. I think that the more elements we insert, >> the >> more complex and hard to mount/debug the solution would be. > > I mean Dovecot accesses filesystem through a simple abstraction layer. > You wouldn't have to implement a real OS level filesystem, but you'd > implement a "proxying Dovecot-filesystem backend" that sits on top of > real filesystems. It's probably not much of a difference to what you're > thinking about, except in my mind it's entirely isolated from actual > Dovecot code. There's just a simple API that the backend needs to > implement and it'll work with Dovecot. > > BTW. Maybe http://www.xtreemfs.org/ or http://www.gluster.org/ already > does what you're thinking about? I haven't looked at them closely > enough.. >
[Dovecot] lmtp server
I believe that dovecot lmtp server will be released with 2.0 version. I working at a project that requires an lmtp server to have scalability. How about the stability of the actual version (alpha, beta ?). Is it mature to be used at production environment ? Another question, my 'ideal' setup would be to receive a message by lmtp and delivers it to an external command (like maildrop). Would it be possible. ? Best Regards, Fernando
[Dovecot] maildrop index update
Hi, I´m using a multi-storage architecture in my email environment and maildrop as deliver command at mta. But to this deliver the mx servers mount nfs partitions - we need to use maildrop because many patches we inserted. How can I insert a piece of code at maildrop allowing it to update the dovecot indexes (which lib and/or function from dovecot I need to use ?) Best Regards, Fernando
Re: [Dovecot] maildrop index update
Very interesting...I don´t like the idea maildrop calling dovecot deliver (as an external program). But I like the idea maildrop calling the dovecot api to save the message into the maildir. And yes, my patches don´t touch the maildir delivery. So, I can just change the maildrop 'deliver' function and call the dovecot one. Do you have any tip how to do that, I mean, witch function to use there ? How about quota, can I let maildrop or dovecot (through the api) update it (I believe that let maildrop do that makes more sense)? Thanks, Fernando > On Wed, 2009-09-02 at 18:23 -0300, ferna...@dfcom.com.br wrote: >> How can I insert a piece of code at maildrop allowing it to update the >> dovecot indexes (which lib and/or function from dovecot I need to use ?) > > You can't really just update indexes, at least not without a lot of > code. What you could do is ask Dovecot to save the message via > lib-storage API. But that's not much different from just having maildrop > execute Dovecot deliver instead of saving the message to Maildir. I'd > guess your patches don't touch the actual Maildir delivery? > >
Re: [Dovecot] maildrop index update
Can I just "replace" the function called to save the message in the maildir (and update the indexes) by the dovecot one? Do I need to copy the code to load configuration when using only the api functions ? P.s: how about v2.0 - what is the stage? Is there any date to be released ? Thanks, Fernando > On Wed, 2009-09-02 at 19:12 -0300, ferna...@dfcom.com.br wrote: >> But I like the idea maildrop calling the dovecot api to save the message >> into the maildir. >> >> And yes, my patches don´t touch the maildir delivery. So, I can just >> change the maildrop 'deliver' function and call the dovecot one. >> >> Do you have any tip how to do that, I mean, witch function to use there >> ? > > I suppose you'd have to copy&paste quite a lot of code from deliver.c to > read configuration. Dovecot v2.0 makes this a lot easier. > >> How about quota, can I let maildrop or dovecot (through the api) update >> it >> (I believe that let maildrop do that makes more sense)? > > If you load quota plugin, Dovecot does it. > >
Re: [Dovecot] compression script for use with zlib module
Hi, I´m using the following two scripts: zip-list.sh: find "$home" \ -type f \ -name '*,S=*' \ -mtime +1 \ -size +10k The above script list the files that will be compressed. zip-compressh.sh #!/bin/bash uid='vmail' gid='vmail' sleepOnFailure='2' cat zip-list.txt|while read i do if [ ! -f "$i" ] then continue fi type=$(file -bi "$i") fgrep 'message/rfc822' <<<"$type" >/dev/null if [ "$?" != '0' ] then continue; fi echo -n "$i..." modify=$(stat -c %y "$i"|cut -d. -f1) basename=$(basename "$i") gzip -9 -c "$i" >/tmp/"$basename" mv /tmp/"$basename" "$i" exitStatus="$?" while [ -f "$i" -a "$exitStatus" != '0' ] do echo -n "wait($sleepOnFailure)..." sleep "$sleepOnFailure" mv /tmp/"$basename" "$i" 2>/dev/null exitStatus="$?" done chown "$uid"."$gid" "$i" touch -m -d "$modify" "$i" echo "OK" done This script reads the zip-list.txt and compress the file. We do not lock the maildir, but we use touch to maintain original dates. We do not check any 'Z' flags. []s Fernando > > Hi, > > I'm wondering if someone already implemented a compression script > (and would like to share it) based on the step-by-step provided on wiki > page of Zlib module. > > I can already do some find|xargs gzip but couldnt implement it > completly as described on the wiki page. I know the suggested > step-by-step is very detailed and probably a must simplier will be > enough for almost anyone anyway, if someone have the full script > and would like to share it, i would be glad to get it :) > > > http://wiki.dovecot.org/Plugins/Zlib > > > 1) Find the mails you want to compress in a single maildir. > 2) Compress the mails to tmp/ > * Update the compressed files' mtimes to be the same as they were in > the original files (e.g. touch command) > 3) Run maildirlock . It writes PID to stdout, save it. > * is path to the Maildir's dovecot-uidlist (the control > directory, if it's separate) > * specifies how long to wait for the lock before failing. > 4) If maildirlock grabbed the lock successfully (exit code 0) you can > continue. > 5) For each mail you compressed: >1. Verify that it still exists where you last saw it. >2. If it doesn't exist, delete the compressed file. Its flags may > have been changed or it may have been expunged. This happens rarely, so > just let the next run handle it. >3. If the file does exist, rename() (mv) the compressed file over the > original file. > * Dovecot can now read the file, but to avoid compressing it > again on the next run, you'll probably want to rename it again to > include e.g. a "Z" flag in the file name to mark that it was compressed > (e.g. 1223212411.M907959P17184.host,S=3271:2,SZ). Remember that the > Maildir specifications require that the flags are sorted by their ASCII > value, although Dovecot itself doesn't care about that. > 6) Unlock the maildir by sending a TERM signal to the maildirlock > process (killing the PID it wrote to stdout). > > > > -- > > > Atenciosamente / Sincerily, > Leonardo Rodrigues > Solutti Tecnologia > http://www.solutti.com.br > > Minha armadilha de SPAM, NÃO mandem email > gertru...@solutti.com.br > My SPAMTRAP, do not email it >
[Dovecot] namespaces/virtual folder & archiving
Hi, I was following the earlier namespaces discussion and I would like to repost a doubt. I need to have some kind of archiving, it means, store old messages into a cheap storage. But I couldn´t think any other solution than symlinks. Then, I thought about store 'Sent Items' (as having old messages and less acessed). But I also needed to do with nfs and symlinks. So, it comes the namespaces discussion and a little brainstorm: 1) Could I have a namespace only with INBOX and the personal folders (drafts, sent items, etc) in another one - and those would be stored in huge sata disks while inbox in 300g sas disks ? 2) Could I maintain the prior configuration, but let the second namespace hidden and having the inbox subfolders (or any specific as sent items) as virtual folder ? I don´t know if this makes sense... 3) Could I have my normal Inbox and a folder (in another disk - ex. huge sata one) storing files older than 30 days and through virtual folders join these messages in a common virtual INBOX while acessing imap or pop3 ? What do you thing, would you have another better approach ? Best Regards, Fernando
Imap process timeout to quota proxy on logout after async commit
Hi there, I am having some trouble implementing a quota proxy server for a memcached based dict (I am using the version 2.2.15). I created a multi-threaded daemon that is using non-blocking sockets to receive the data and reply to dovecot. Right now everything but the atomic increase message is working great. Here is an example of such a message: B1 A1 priv/quota/storage 86583 A1 priv/quota/messages 1 D1 The program process it and I replies:OA1 Everything keeps working as expects until the user sends the imap a logout command. The only problem is that for some reason dovecot tries to read data from server without sending anything, and after 30 seconds it exits with an timeout error. The following message is logged: May 18 22:46:00 imap[11654]: user 29908633#perm!terra (29908633#perm!terra) from 127.0.0.1: Error: read(/tmp/quotatest) failed: Timeout after 30 seconds May 18 22:46:00 imap[11654]: user 29908633#perm!terra (29908633#perm!terra) from 127.0.0.1: Info: Disconnected: Logged out in=40 out=827 May 18 22:46:00 imap[11654]: user 29908633#perm!terra (29908633#perm!terra) from 127.0.0.1: Error: dict quota: Quota update failed, it's now desynced The really strange part is that it only fails if and atomic increase was sent and only when the user logs out. I use the same pattern ("OA\n") to reply for other commits (such as when there is an unset followed by a set) and there is no issue. Is there anything that I am missing? Thanks in advance.
[Dovecot] dovecot weird bug
Hi, We have a weird bug happening in our dovecot installation. When I send html emails from many clients and compress them, there are no problem. They are opened and correctly formated. When I send an email from Squirrelmail and compress it, dovecot exits with no errors (there are no coredumps or seg fault - dovecot just exits). But the weird is, it just happens when squirrelmail opens an email (compressed) that was sent by squirrelmail (all other clients can open it and squirrel can open all other emails sent by other clients). (Try with this message - compressing too - it occurs with me). Best Regards, Fernando Dovecot version: 1.2.rc3 Dovecot Details: # 1.2.rc3: /usr/local/dovecot/etc/dovecot.conf # OS: Linux 2.6.18-128.el5 i686 Red Hat Enterprise Linux Server release 5.3 (Tikanga) base_dir: /usr/local/dovecot/var/run/dovecot/ protocols: imap pop3 ssl: no disable_plaintext_auth: no login_dir: /usr/local/dovecot/var/run/dovecot/login login_executable(default): /usr/local/dovecot/libexec/dovecot/imap-login login_executable(imap): /usr/local/dovecot/libexec/dovecot/imap-login login_executable(pop3): /usr/local/dovecot/libexec/dovecot/pop3-login login_greeting: Server ready. login_process_per_connection: no login_processes_count: 1 mail_max_userip_connections: 1024 first_valid_gid: 500 mail_uid: 505 mail_gid: 506 mail_location: maildir:~/Maildir mail_debug: yes mail_max_keyword_length: 128 fsync_disable: yes maildir_copy_preserve_filename: yes mail_drop_priv_before_exec: yes mail_executable(default): /usr/local/dovecot/libexec/dovecot/gdbhelper /usr/local/dovecot/libexec/dovecot/imap mail_executable(imap): /usr/local/dovecot/libexec/dovecot/gdbhelper /usr/local/dovecot/libexec/dovecot/imap mail_executable(pop3): /usr/local/dovecot/libexec/dovecot/pop3 mail_process_size: 512 mail_plugins(default): quota imap_quota zlib mail_plugins(imap): quota imap_quota zlib mail_plugins(pop3): quota zlib mail_plugin_dir(default): /usr/local/dovecot/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/dovecot/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/dovecot/lib/dovecot/pop3 pop3_no_flag_updates(default): no pop3_no_flag_updates(imap): no pop3_no_flag_updates(pop3): yes namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: mechanisms: login plain cache_size: 1024 cache_negative_ttl: 0 worker_max_count: 100 passdb: driver: sql args: /usr/local/dovecot/etc/dovecot-sql.conf userdb: driver: prefetch plugin: quota: maildir Imap commands: 127.000.000.001.54022-127.000.000.001.00143: A009 UID FETCH 1 (FLAGS UID RFC822.SIZE INTERNALDATE BODY.PEEK[HEADER.FIELDS (Date To Cc From Subject X-Priority Importance Priority Content-Type X-UOLHost-Filter)]) 127.000.000.001.00143-127.000.000.001.54022: * 1 FETCH (UID 1 FLAGS (\Seen) RFC822.SIZE 1241 INTERNALDATE "10-May-2009 16:37:39 -0300" BODY[HEADER.FIELDS (DAT E TO CC FROM SUBJECT X-PRIORITY IMPORTANCE PRIORITY CONTENT-TYPE X-UOLHOST-FILTER)] {264} Date: Sun, 10 May 2009 16:37:38 -0300 (BRT) Subject: a From: namba...@emailnovocluster.com To: "Namba 234" Content-Type: multipart/alternative;boundary="=_20090510163738_24160" X-Priority: 3 (Normal) Importance: Normal ) A009 OK Fetch completed. 127.000.000.001.54026-127.000.000.001.00143: A002 SELECT "INBOX" 127.000.000.001.00143-127.000.000.001.54026: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 1 EXISTS * 0 RECENT * OK [UIDVALIDITY 1241984317] UIDs valid * OK [UIDNEXT 2] Predicted next UID * OK [HIGHESTMODSEQ 1] A002 OK [READ-WRITE] Select completed. 127.000.000.001.54026-127.000.000.001.00143: A003 EXPUNGE 127.000.000.001.00143-127.000.000.001.54026: A003 OK Expunge completed. 127.000.000.001.54026-127.000.000.001.00143: A004 UID FETCH 1 BODY[2] 127.000.000.001.00143-127.000.000.001.54026: * 1 FETCH (UID 1 BODY[2] {7} 127.000.000.001.54026-127.000.000.001.00143: A005 UID FETCH 1 BODY[] (dovecot finish the process). Here is a copy of the message (uncompressed - opens / compressed - hangs). Return-Path: X-Original-To: namba...@emailnovocluster.com Delivered-To: namba...@emailnovocluster.com Received: from webmail.emailnovocluster.com (localhost.localdomain [127.0.0.1]) by maildev.localdomain (Postfix) with ESMTP id B45ACFE146 for ; Sun, 10 May 2009 16:37:38 -0300 (BRT) Received: from 189.62.202.143 (SquirrelMail authenticated user namba...@emailnovocluster.com) by webmail.emailnovocluster.com with HTTP; Sun, 10 May 2009 16:37:38 -0300 (BRT) Message-ID: < c0b80d709ef3dc829fc06395baca944d.squir...@webmail.emailnovocluster.com> Date: Sun, 10 May 2009 16:37:38 -0300 (BRT) Subject: a From: namba...@emailnovocluster.com To: "Namba 234" User-Agent: SquirrelMail/1.4.17 MIME-Version: 1.0 Content-Type: multipart/alternative;bou
[Dovecot] dovecot weird bug
I found the bug, there are two errors: 1) Squirrelmail is wrongly formating multipart/alternative messages. Look here: --=_20090510163738_24160 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: 8bit a *<-- HERE* --=_20090510163738_24160-- All other clients insert an '\n' here, but squirrelmail. 2) When this king of message (above) is compressed (in order to use zlib plugin), dovecot dies. Best Regards, Fernando
[Dovecot] dovecot bug (maybe)
I believe that dovecot is doing something strange, when it founds a 'corrupted' multipart and using fetch body. Look what I figured out: 1) Sent a message from squirrelmail (it wrongly drop the last \n from epilogue): --=_20090512171902_78105 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit n --=_20090512171902_78105 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: 8bit n <(squirrelmail didn´t insert an additional \n). --=_20090512171902_78105-- 2) Sent a correct message, inserting the last '\n': --=_20090512171902_78105 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit n --=_20090512171902_78105 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: 8bit n --=_20090512171902_78105-- 3) Compress both messages 4) Request the messages using: A004 UID FETCH 1 (FLAGS BODYSTRUCTURE) (the correct message): 127.000.000.001.00143-127.000.000.001.35604: * 1 FETCH (UID 1 FLAGS (\Seen) BODYSTRUCTURE (("text" "plain" ("charset" "iso-8859-1") NIL NIL "8bit" 7 3 NIL NIL NIL NIL)("text" "html" ("charset" "iso-8859-1") NIL NIL "8bit" *3 1*NIL NIL NIL NIL) "alternative" ("boundary" "=_20090512171853_50085") NIL NIL NIL)) A004 OK Fetch completed. 5) Request the broken message: 127.000.000.001.00143-127.000.000.001.43679: * 2 FETCH (UID 2 FLAGS (\Seen) BODYSTRUCTURE (("text" "plain" ("charset" "iso-8859-1") NIL NIL "8bit" 7 3 NIL NIL NIL NIL)("text" "html" ("charset" "iso-8859-1") NIL NIL "8bit" *1 0*NIL NIL NIL NIL) "alternative" ("boundary" "=_20090512171902_78105") NIL NIL NIL)) A004 OK Fetch completed. >From RFC the red numbers mean: size body, number of line for the body. This makes sense, because stripping the 'control' chars from first message, size and number of lines match. But in the second message, the line number is 0 - this does not make sense. You need to test this using telnet, because outlook and thunderbird did not follow this way, they use body.peek. What do you think? Fernando
Re: [Dovecot] Post-login script with LDAP virtual users
Hideo GOTO eis.co.jp> writes: > > (2011/02/07 20:44), Timo Sirainen wrote: > > On 7.2.2011, at 12.24, Hideo GOTO wrote: > > > >> /var/log/maillog: > >> Feb 7 17:45:58 pop3migr dovecot: pop3(vuser1): Post-login script denied > >> access to user vuser1 > > The script finish isn't being done properly. I guess you're missing the exec "$@" line? > > > Thanks a lot Timo for your prompt reply, which solved my problem! > Indeed, I had omitted exec "$@", where script-login was not executed. > > Hideo GOTO > > Hello, Sorry for "stealing" your thread but I'm experiencing some problems similar to yours. I need a custom post-login, which is written in perl language. This script was working fine with "dovecot 1.0-test59". Now I updated to "dovecot 2.0.12" and it stopped working, it gives me the following error in my dovecot.log: "imap(myuser01): Info: Post-login script denied access to user myuser01" Through some debugging I realized that is the "exec $@" that's not working has intended, so I've created two script, one written in bash and another in perl. Bash Script: #!/bin/sh exec "$@" Perl Script #!/usr/bin/perl -w exec('"$@"'); The thing is, the Bash script works and the Perl one doesn't, it comes the error stated above... I think the problem could be from perl, for forking the process, but still I can't figure it out. Any ideas? Thanks, Fernando
[Dovecot] possible quota bug ?
Hi, I'm using dovecot 2.2.5 with quota (maildir backend), zlib and expunge plugins. When I list maildirsize file, I get: 1073741824S 17952 16 If I receive a new message (example: 1204 bytes compressed and 2524 bytes plain text), the quota file is write correctly (2524 1 entry). When I move the message to trash folder (or between user custom folders) the file have wrong entries: 1073741824S 17952 16 2524 1 1204 1 (this is the size of the compressed message) -2524 -1 I coudn't find any relation with the config settings causing this problem and checked the changelog since 2.2.5. Had someone had this same problem? Thanks, Fernando
Re: [Dovecot] possible quota bug ?
I was researching deeper this issue, activated debug logs and when I move a message from one folder to another the message size is different Jan 30 18:48:07 imap(xxx@xxx): Info: copy from INBOX: box=INBOX.Sent, uid=17, msgid=<5520ed0fedee4e3386d08c98d249a...@lab.imap>, size=1048 Jan 30 18:48:07 imap(xxx@xxx): Info: expunge: box=INBOX, uid=3, msgid=<5520ed0fedee4e3386d08c98d249a...@lab.imap>, size=1898 This is exactly the sizes I see in the maildirsize. But I think these values should be equals. 1073741824S 2136 1 1048 1 -1898 -1 Att Fernando De: fernando.fig...@uol.com.br Enviada: Quarta-feira, 15 de Janeiro de 2014 15:11 Para: dovecot@dovecot.org Assunto: [Dovecot] possible quota bug ? Hi, I'm using dovecot 2.2.5 with quota (maildir backend), zlib and expunge plugins. When I list maildirsize file, I get: 1073741824S 17952 16 If I receive a new message (example: 1204 bytes compressed and 2524 bytes plain text), the quota file is write correctly (2524 1 entry). When I move the message to trash folder (or between user custom folders) the file have wrong entries: 1073741824S 17952 16 2524 1 1204 1 (this is the size of the compressed message) -2524 -1 I coudn't find any relation with the config settings causing this problem and checked the changelog since 2.2.5. Had someone had this same problem? Thanks, Fernando
Re: [Dovecot] possible quota bug ?
Hi Timo, I'm posting more info about this issue: Sent a message from gmail, delivered via lmtp/lda/sieve -rw--- 1 vmail vmail 1187 Feb 9 15:14 1391966051.M730051P32575.LAB-STO-V-01,S=2392,W=2440 The message was compressed (gz) Maildirsize: 1073741824S 51505 31 2392 1 Move message from INBOX to TRASH Feb 9 15:15:45 LAB-LMB-V-01 dovecot: imap(xxx): copy from INBOX: box=INBOX.Trash, uid=27, msgid=, size=1187 Feb 9 15:15:45 LAB-LMB-V-01 dovecot: imap(xxx): expunge: box=INBOX, uid=32, msgid=, size=2392 Maildirsize: 1073741824S 51505 31 2392 1 1187 1 -2392 -1 De: t...@iki.fi Enviada: Sexta-feira, 7 de Fevereiro de 2014 15:07 Para: dovecot@dovecot.org Assunto: [Dovecot] possible quota bug ? On 30.1.2014, at 16.30, fernando.fig...@uol.com.br wrote: > I was researching deeper this issue, activated debug logs and when I move a > message from one folder to another the message size is different > > Jan 30 18:48:07 imap(xxx@xxx): Info: copy from INBOX: box=INBOX.Sent, uid=17, > msgid=<5520ed0fedee4e3386d08c98d249a...@lab.imap>, size=1048 > Jan 30 18:48:07 imap(xxx@xxx): Info: expunge: box=INBOX, uid=3, > msgid=<5520ed0fedee4e3386d08c98d249a...@lab.imap>, size=1898 > > This is exactly the sizes I see in the maildirsize. But I think these values > should be equals. Yes, they should be equal. I don't know why they wouldn't be. Do your Maildir filenames contain the S=1898 (i.e. the uncompressed size)? Are you delivering mails via Dovecot LDA/LMTP? > > 1073741824S > 2136 1 > 1048 1 > -1898 -1 > > Att > Fernando > > > De: fernando.fig...@uol.com.br > Enviada: Quarta-feira, 15 de Janeiro de 2014 15:11 > Para: dovecot@dovecot.org > Assunto: [Dovecot] possible quota bug ? > > Hi, > > I'm using dovecot 2.2.5 with quota (maildir backend), zlib and expunge > plugins. > > When I list maildirsize file, I get: > > 1073741824S > 17952 16 > > If I receive a new message (example: 1204 bytes compressed and 2524 bytes > plain text), the quota file is write correctly (2524 1 entry). When I move > the message to trash folder (or between user custom folders) the file have > wrong entries: > > 1073741824S > 17952 16 > 2524 1 > 1204 1 (this is the size of the compressed message) > -2524 -1 > > I coudn't find any relation with the config settings causing this problem and > checked the changelog since 2.2.5. Had someone had this same problem? > > Thanks, > Fernando >
Re: Dovecot wiki LMTP description
Hello Ron, On 14/11/2014 15:15, Ron Leach wrote: Does this example mean that LMTP will only listen for input messages from the interface with IP address 192.168.0.24 (plus localhost)? If so, I probably haven't understood how LMTP is intended to work. Is there a reason why we want to limit LMTP to listening for messages from a specific IP on the network? I need to understand that so that I replace ...24 with a suitable host interface that exists on our LAN (we don't have a host at 192.168.0.24). No, it *listens* on that addresses (port 24) LMTP is intended for local mail transfer. The best way to use it, if dovecot LDA and MTA are on the same machine, is to use a unix socket like this (example for postfix): service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } if you prefer to use an inet listener, do it only for the needed addresses (not public / internet faced ones) or reject unauthorized networks. -FM
lazy_expunge + mdbox
Hi, I'm studying an issue related to mdbox and lazy_expunge. If it is active in the imap configuration, when you delete a message (copy to new folder + expunge old folder), a copy is also sent to the expunge namespace. I realize that is something related to mdbox and lazy_expunge_only_last_instance and found almost no references except this one (http://hg.dovecot.org/dovecot-2.2/file/24d6708cea76/TODO): lazy_expunge_only_last_instance=yes + mdbox doesn't work, because refcounts don't update immediately One other suggestion I found was to disable 'move' capability. Does anyone has other news regarding this issue ? Thanks, Fernando
Re: lazy_expunge + mdbox
It appears to me that this issue is related to how lazy_expunge and last_instance work with mdbox - that is different from maildir. With maildir, the message is moved to the expunged namespace only when the last copy is removed (example: from trash folder). With mdbox, first time when you move message from one folder to another, dovecot creates a copy in the expunge namespace. When you delete messages or expunge them from Trash folder (example, nightly 'doveadm expunge' cronjob) they are simply deleted because they already have copies at expunged namespace. @Timo, is that correct ? This is what I could understand from my tests. Thanks, Fernando De: fernando.fig...@uol.com.br Enviada: Quarta-feira, 4 de Fevereiro de 2015 23:15 Para: dovecot@dovecot.org Assunto: lazy_expunge + mdbox Hi, I'm studying an issue related to mdbox and lazy_expunge. If it is active in the imap configuration, when you delete a message (copy to new folder + expunge old folder), a copy is also sent to the expunge namespace. I realize that is something related to mdbox and lazy_expunge_only_last_instance and found almost no references except this one (http://hg.dovecot.org/dovecot-2.2/file/24d6708cea76/TODO): lazy_expunge_only_last_instance=yes + mdbox doesn't work, because refcounts don't update immediately One other suggestion I found was to disable 'move' capability. Does anyone has other news regarding this issue ? Thanks, Fernando
Problems with auth connection
Hi, We are having some issues with the auth connection Version: 2.3.5.1, with MySQL and Postfix The server is working fine, and randomly after some days, Dovecot fails to auth: Apr 18 14:25:16 mail dovecot[25013]: auth: Warning: Event 0x126eba20 leaked (parent=0x126eb820): auth-request.c:89 Apr 18 14:25:16 mail dovecot[25013]: auth: Warning: Event 0x126eb420 leaked (parent=0x0): auth-client-connection.c:338 It's neccesary to restart dovecot, and once restarted the server start to work fine again and deliver emails What do you think i could do? Thank you, best regards Fernando