Re: [Dovecot] rawlog adjustment

2009-09-02 Thread Thomas G. Lau

Dear Charles,

try it with pop3 server, it does not work.



Charles Marcus wrote:

On 9/1/2009 7:03 AM, Thomas G. Lau wrote:
  

We would like to use rawlog to make sure when does user delete email,
can we filter particular command that user sent to dovecot server
instead of log the whole email content as well? how would you all
provide prove to client that mail lost is not caused by your server?



  

You don't want rawlog for this (thats for troubleshooting), you want
mail_log:

http://wiki.dovecot.org/Plugins/MailLog
  


  

maillog does not provide when does client execute delete command, so
it does not work.



I don't use it, but are you sure/have you tested it?

>From the referenced page:

"Messages' UID and Message-ID header is logged for each action. Here's
an example:

imap(user): copy -> Trash: uid=908, msgid=<123@bar>
imap(user): deleted: uid=908, msgid=<123@bar>
imap(user): expunged: uid=908, msgid=<123@bar>"

It doesn't show it, but I'm fairly certain the log lines *do* include a
date/time stamp.

  


Re: [Dovecot] assertion failed while using sieve

2009-09-02 Thread Maciej Uhlig

let me provide some more findings:

first, the script which uses >>require "body"<< crashes too for some 
mails while running as a script for individual user.


second, we found the test mail example which causes this crash every time.

please let me know if you're interested in the mail source, I'd send it 
to the given address.


Regards,

MU


Re: [Dovecot] local delivery agent

2009-09-02 Thread Charles Marcus
On 9/1/2009, legionaer85 (econd...@googlemail.com) wrote:
> =>dovecot --version
> 1.0.rc15 

Wy too old...

Upgrade... 1.2.4 is current stable.

Then come back if you are still having problems...

-- 

Best regards,

Charles


Re: [Dovecot] rawlog adjustment

2009-09-02 Thread Charles Marcus
Please don't top-post in an in-line posted thread...

On 9/2/2009 3:10 AM, Thomas G. Lau wrote:
> We would like to use rawlog to make sure when does user delete email,
> can we filter particular command that user sent to dovecot server
> instead of log the whole email content as well? how would you all
> provide prove to client that mail lost is not caused by your server?

 You don't want rawlog for this (thats for troubleshooting), you want
 mail_log:

 http://wiki.dovecot.org/Plugins/MailLog

>>> maillog does not provide when does client execute delete command, so
>>> it does not work.

>> I don't use it, but are you sure/have you tested it?
>>
>> From the referenced page:
>>
>> "Messages' UID and Message-ID header is logged for each action. Here's
>> an example:
>>
>> imap(user): copy -> Trash: uid=908, msgid=<123@bar>
>> imap(user): deleted: uid=908, msgid=<123@bar>
>> imap(user): expunged: uid=908, msgid=<123@bar>"
>>
>> It doesn't show it, but I'm fairly certain the log lines *do* include a
>> date/time stamp.

> try it with pop3 server, it does not work.

I don't use POP, only IMAP...

So, this is open-source... maybe start a new thread and ask for help on
how to modify the code for the mail_log plugin to get what you want, or
maybe even Timo can do it if it is simple enough...

But rawlog is not the tool for this, so please start a new thread...

-- 

Best regards,

Charles


Re: [Dovecot] rawlog adjustment

2009-09-02 Thread Axel Luttgens

Le 2 sept. 09 à 09:10, Thomas G. Lau a écrit :


Dear Charles,

try it with pop3 server, it does not work.


Hello Thomas,

Don't you see messages like these ones with regular logging:

	POP3(someuser): Disconnected: Logged out top=0/0, retr=0/0, del=1/4,  
size=615


(by "regular", I mean with Dovecot's basic logging capabilities,  
without resorting to some plugin)


Here, the user has deleted one message out of four messages (del=1/4).
At least, this allows to tell that a DELE command has been explicitely  
sent by the client.


Axel

Re: [Dovecot] rawlog adjustment

2009-09-02 Thread Timo Sirainen
On Wed, 2009-09-02 at 15:10 +0800, Thomas G. Lau wrote:
> try it with pop3 server, it does not work.

mail_log plugin works with pop3. Do you see anything at all in logs? If
not, try to figure out that first http://wiki.dovecot.org/Logging). If
you do, set mail_debug=yes and show the logs what happens when user logs
in.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] assertion failed while using sieve

2009-09-02 Thread Timo Sirainen
On Tue, 2009-09-01 at 12:19 +0200, Maciej Uhlig wrote:
> 2009-09-01T02:40:57+02:00 prac/prac dovecot: [ID 583609 mail.crit] 
> deliver(i...@domain): Panic: file ext-body-common.c: line 149: assertion 
> failed: (buf->used - 1 == part->body_size.physical_size)

Can you try if the attached patch fixes this?

diff -r a8c962e603be src/lib-sieve/plugins/body/ext-body-common.c
--- a/src/lib-sieve/plugins/body/ext-body-common.c	Mon Aug 31 01:18:05 2009 +0200
+++ b/src/lib-sieve/plugins/body/ext-body-common.c	Wed Sep 02 10:54:12 2009 -0400
@@ -203,7 +203,7 @@
 	decoder = decode_to_plain ? message_decoder_init(FALSE) : NULL;
 	
 	parser = message_parser_init
-		(ctx->pool, input, 0, MESSAGE_PARSER_FLAG_SKIP_BODY_BLOCK);
+		(ctx->pool, input, 0, 0);
 	while ( (ret = message_parser_parse_next_block(parser, &block)) > 0 ) {
 		if ( block.part != prev_part ) {
 			/* Save previous body part */


signature.asc
Description: This is a digitally signed message part


[Dovecot] POP3 and AVG

2009-09-02 Thread Rick Romero


Is anyone running v 1.2.3 and have clients with AVG email scanning?
I upgraded a server a few weeks ago (which ran Dovecot and the Maildir  
mail store), and all of a sudden clients with AVG were unable to use  
POP. Essentially, AVG freezes.  The server upgrade was from FreeBSD 7  
to OpenSolaris 2009.06, and I did upgrade the Dovecot version from  
1.1.17 to 1.2.3, but kept the same config.  When I point those users  
to a port running qmail-popup on another machine (NFS mounting the new  
server), they work fine.  I'm sure I reverted to 1.1.17 during the  
initial hectic days, with no change.  Of course, I'm also sure I had a  
few of the users test the alternate qmail-popup server, maybe they did  
it wrong. :(


Any thoughts?   Should I attach compile configs?

#/usr/local/sbin/dovecot -n

# 1.2.3: /usr/local/etc/dovecot.conf
# OS: SunOS 5.11 i86pc
base_dir: /opt/csw/dovecot/
protocols: imap imaps pop3s pop3
ssl_cert_file: /etc/ssl/mail.rapid.pem
ssl_key_file: /etc/ssl/mail.rapid.key
ssl_key_password: password
disable_plaintext_auth: no
shutdown_clients: no
login_dir: /opt/csw/dovecot//login
login_executable(default): /usr/local/libexec/dovecot/imap-login
login_executable(imap): /usr/local/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/libexec/dovecot/pop3-login
login_greeting: VFEmail.net ready.
login_process_per_connection: no
login_process_size: 256
login_processes_count: 6
login_max_processes_count: 512
login_max_connections: 384
mail_max_userip_connections: 25
verbose_proctitle: yes
first_valid_uid: 89
last_valid_uid: 89
first_valid_gid: 89
last_valid_gid: 89
mail_privileged_group: mail
fsync_disable: yes
mail_executable(default): /usr/local/libexec/dovecot/rawlog  
/usr/local/libexec/dovecot/imap
mail_executable(imap): /usr/local/libexec/dovecot/rawlog  
/usr/local/libexec/dovecot/imap
mail_executable(pop3): /usr/local/libexec/dovecot/rawlog  
/usr/local/libexec/dovecot/pop3

mail_plugins(default): quota imap_quota
mail_plugins(imap): quota imap_quota
mail_plugins(pop3): quota
mail_plugin_dir(default): /usr/local/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3
imap_client_workarounds(default): delay-newmail outlook-idle  
netscape-eoh tb-extra-mailbox-sep
imap_client_workarounds(imap): delay-newmail outlook-idle netscape-eoh  
tb-extra-mailbox-sep

imap_client_workarounds(pop3):
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
namespace:
  type: private
  separator: .
  prefix: INBOX.
  inbox: yes
  list: yes
  subscriptions: yes
lda:
  postmaster_address: postmas...@vfemail.net
  mail_plugin_dir: /usr/local/lib/dovecot/lda
  sendmail_path: /var/qmail/bin/sendmail
  auth_socket_path: /opt/csw/dovecot/auth-master
auth default:
  mechanisms: plain login digest-md5 cram-md5
  user: vpopmail
  username_translation: %@
  passdb:
driver: vpopmail
  userdb:
driver: passwd
  userdb:
driver: vpopmail
  socket:
type: listen
master:
  path: /opt/csw/dovecot/auth-master
  mode: 384
  user: vpopmail
plugin:
  quota: maildir





Re: [Dovecot] POP3 and AVG

2009-09-02 Thread Timo Sirainen
On Wed, 2009-09-02 at 10:33 -0500, Rick Romero wrote:
> Is anyone running v 1.2.3 and have clients with AVG email scanning?
> I upgraded a server a few weeks ago (which ran Dovecot and the Maildir  
> mail store), and all of a sudden clients with AVG were unable to use  
> POP. Essentially, AVG freezes.  

Rawlog might be helpful. http://wiki.dovecot.org/Debugging/Rawlog

> The server upgrade was from FreeBSD 7  
> to OpenSolaris 2009.06, and I did upgrade the Dovecot version from  
> 1.1.17 to 1.2.3, but kept the same config.  When I point those users  
> to a port running qmail-popup on another machine (NFS mounting the new  
> server), they work fine.  I'm sure I reverted to 1.1.17 during the  
> initial hectic days, with no change.

You mean 1.1.17 also didn't help? So the problem might not even be
related to Dovecot at all, but related to OS or hardware or network?


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] POP3 and AVG

2009-09-02 Thread Thomas Leuxner


Am 02.09.2009 um 17:33 schrieb Rick Romero:

Any thoughts?   Should I attach compile configs?


If I remember correctly AVG uses a client-side proxy to scan the  
mails. This could as well be broken with a recent update...


Thomas 


Re: [Dovecot] POP3 and AVG

2009-09-02 Thread Rick Romero

Quoting "Thomas Leuxner" :



Am 02.09.2009 um 17:33 schrieb Rick Romero:

Any thoughts?   Should I attach compile configs?


If I remember correctly AVG uses a client-side proxy to scan the  
mails. This could as well be broken with a recent update...


That was the original 'solution' and I thought it was coincidental to  
my server change, but apparently if the user changes to hitting a  
qmail-popd instance instead of Dovecot, it works.


I'm not convinced it's a pure dovecot issue, because before I switched  
to OpenSolaris it worked fine on FreeBSD.


I had installed AVG, but haven't had a supported client to properly  
test with (AVG hooked into my Bat! install, but it had expired).


Rick



Re: [Dovecot] POP3 and AVG

2009-09-02 Thread Thomas Leuxner


Am 02.09.2009 um 18:28 schrieb Rick Romero:

I had installed AVG, but haven't had a supported client to properly  
test with (AVG hooked into my Bat! install, but it had expired).


Think I had something in the past where it suddenly stopped to work  
for encrypted sessions after an AVG update. Did you try with pure  
unsecured POP3 too?


Re: [Dovecot] POP3 and AVG

2009-09-02 Thread Rick Romero
Yep, POP on port 110.  If I have them change to port 113 (which  
directs to qmail-pop3 on another server) I'm told it works fine.


IMAP works without any issues.

Rick

Quoting "Thomas Leuxner" :



Am 02.09.2009 um 18:28 schrieb Rick Romero:

I had installed AVG, but haven't had a supported client to properly  
test with (AVG hooked into my Bat! install, but it had expired).


Think I had something in the past where it suddenly stopped to work  
for encrypted sessions after an AVG update. Did you try with pure  
unsecured POP3 too?









Re: [Dovecot] POP3 and AVG

2009-09-02 Thread Timo Sirainen
On Wed, 2009-09-02 at 11:41 -0500, Rick Romero wrote:
> Yep, POP on port 110.  If I have them change to port 113 (which  
> directs to qmail-pop3 on another server) I'm told it works fine.

What if you make Dovecot listen on non-110 port? Because I'd guess
non-110 port could just bypass AVG's checks..



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] POP3 and AVG

2009-09-02 Thread Rick Romero

Quoting "Timo Sirainen" :


On Wed, 2009-09-02 at 11:41 -0500, Rick Romero wrote:

Yep, POP on port 110.  If I have them change to port 113 (which
directs to qmail-pop3 on another server) I'm told it works fine.


What if you make Dovecot listen on non-110 port? Because I'd guess
non-110 port could just bypass AVG's checks..


Hmm that's a thought.  But what I want to achieve is no change to the  
client.  I already have port 112 point to Dovecot.


It would definitely be a good test to see if the port # change  
disables AVG, cause then moving 110 back to the qmail-pop3 server  
wouldn't have any affect, which with that new insight, I'm now even  
more confident I already tried.


So now I'm leaning back towards AVG being an issue :(

Rick






[Dovecot] lmtp server

2009-09-02 Thread fernando
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

2009-09-02 Thread fernando
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] Sieve segfault on sieve-before scripts

2009-09-02 Thread Stephan Bosch

Max Ivanov wrote:

I use dovecot 1.2.4 release with sieve 0.1.12

If I setup sieve-before script and latest script contains "keep" at
the very end and no personal scripts found then segfault take place.

here is part of exim log:
2009-09-01 18:43:06 1MiUZA-0005V9-IB ** ivanov_ma...@domain.my
 R=localuser T=local_delivery: Child process of
local_delivery transport (running command
"/usr/libexec/dovecot/deliver -d $local_part") was terminated by
signal 11 (Segmentation fault)


Once I remove "keep" from end of latest sieve-before script,
everything goes fine.


Using the backtrace and scripts you provided I could reproduce and fix 
this bug:


http://hg.rename-it.nl/dovecot-1.2-sieve/rev/c26e7c2300b4

Apparently, I haven't tested the execution imap4flags very well in 
multiscript context when I last restructured the implementation; I found 
more related bugs when I fixed the one above:


http://hg.rename-it.nl/dovecot-1.2-sieve/rev/b62291ff5faf
http://hg.rename-it.nl/dovecot-1.2-sieve/rev/f3642d9934cf

The test suite is obviously in dire need of some multiscript support. 
I'll fix that before the next release to make sure this will not happen 
again.


Regards,

Stephan.







Re: [Dovecot] maildrop index update

2009-09-02 Thread Timo Sirainen
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?



signature.asc
Description: This is a digitally signed message part


[Dovecot] Question about sieve script execution

2009-09-02 Thread Mel Flynn
Hi,

after reading the wiki about sieve_before/sieve_after and sieve_global_path, 
it's still unclear to me if:
sieve_before scripts are executed if no user script exists, but a global 
script is defined.

The reason I ask, is because I'd like to use the same script, so that I don't 
have to maintain two scripts to apply "company policy" or "global features". 
It seems implicit from this sentence, but I've been taught not to assume 
implicitness by various pieces of software ;)

"This is not possible using the sieve_global_path setting, because that is 
only used when the user's private script does not exist."
-- 
Mel


Re: [Dovecot] maildrop index update

2009-09-02 Thread fernando
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

2009-09-02 Thread Timo Sirainen
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.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] Question about sieve script execution

2009-09-02 Thread Stephan Bosch

Mel Flynn schreef:

Hi,

after reading the wiki about sieve_before/sieve_after and sieve_global_path, 
it's still unclear to me if:
sieve_before scripts are executed if no user script exists, but a global 
script is defined.
At least one (the first) sieve_before script is always executed, 
irrespective of whether the user's personal script or the script defined 
with sieve_global_path exist. If sieve_before refers to more than one 
script (i.e. it points to a directory), subsequent scripts in that 
directory are executed as long as preceding scripts have a 'keep' verdict.


The reason I ask, is because I'd like to use the same script, so that I don't 
have to maintain two scripts to apply "company policy" or "global features". 
It seems implicit from this sentence, but I've been taught not to assume 
implicitness by various pieces of software ;)

Specifying sieve_before will do the trick.

"This is not possible using the sieve_global_path setting, because that is 
only used when the user's private script does not exist."
Yes, sieve_global_path merely serves as a means to provide default 
behavior, i.e. behavior that can be overridden by the user by uploading 
a personal script. In contrast, there is no way the user can prevent the 
execution of the sieve_before scripts.


The sieve_after setting is a different story. It could be used to change 
what happens when the user's script yields 'keep'. It is mainly provided 
for completeness and I have not found very common uses for it, although 
I believe it is actually being used at some sites. Users can prevent 
execution of sieve_after by using fileinto "INBOX" in stead of keep in 
their personal script.


Regards,

--
Stephan Bosch
step...@rename-it.nl


Re: [Dovecot] Question about sieve script execution

2009-09-02 Thread Mel Flynn
On Thursday 03 September 2009 01:13:49 Stephan Bosch wrote:
> Mel Flynn schreef:
> > Hi,
> >
> > after reading the wiki about sieve_before/sieve_after and
> > sieve_global_path, it's still unclear to me if:
> > sieve_before scripts are executed if no user script exists, but a global
> > script is defined.
>
> At least one (the first) sieve_before script is always executed,
> irrespective of whether the user's personal script or the script defined
> with sieve_global_path exist.

Ah, so I should really use sieve_before and don't use sieve_global_path. If I 
specify them both and point to the same file, I risk the script being executed 
twice or errors.

-- 
Mel


Re: [Dovecot] maildrop index update

2009-09-02 Thread fernando
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] lmtp server

2009-09-02 Thread Timo Sirainen

On Sep 2, 2009, at 5:17 PM, ferna...@dfcom.com.br wrote:


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 ?


It's barely even been used in testing environments yet. I'm hoping to  
get the first alpha version out in a month or so.


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. ?


If you patch the code or create a plugin then yes.



Re: [Dovecot] maildrop index update

2009-09-02 Thread Timo Sirainen

On Sep 2, 2009, at 9:28 PM, ferna...@dfcom.com.br wrote:


Can I just "replace" the function called to save the message in the
maildir (and update the indexes) by the dovecot one?


I don't know about maildrop code, but "maybe". But Dovecot doesn't  
just have a "save message" function. You need to create at least:


 - mail_user
 - mail_namespaces
 - mail_storage
 - open the mailbox with mailbox_open()
 - save the message using mailbox_save_*()

Anyway, look at src/lib-storage/mail-storage.h and how the rest of  
Dovecot uses those.



Do I need to copy the
code to load configuration when using only the api functions ?


If you don't care that it completely ignores dovecot.conf file and you  
can figure out maildir location easily, then I guess it becomes easier.




Re: [Dovecot] lmtp server

2009-09-02 Thread Timo Sirainen

On Sep 2, 2009, at 5:17 PM, ferna...@dfcom.com.br wrote:


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 ?


It's barely even been used in testing environments yet. I'm hoping to  
get the first alpha version out in a month or so.


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. ?


If you patch the code or create a plugin then yes.