Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-08-09 Thread Timo Sirainen
On Thu, 2007-08-09 at 20:43 +0200, Bernd Kuhls wrote:
> Big thanks! Your patch fixed the bug, now I can throw away my ugly
> work-arounds for this. Weird enough I did not activate mbox_lazy_writes.

It's the default when imap/pop3 is started by Dovecot master, but I was
testing it by running imap directly..



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


Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-08-09 Thread Bernd Kuhls

Hi,

Timo Sirainen wrote:

On Fri, 2007-07-06 at 11:54 +0200, Bernd Kuhls wrote:

- The index for $HOME/.imap_mail/inbox is created in
   $HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files
   are created in /var/mail/indexes/%u, like its supposed to be. How to
   disable creating index files in $HOME altogether without using links?


This is a bit problematic to fix because of how it works internally.


ok, not a big problem for me. I can live with the current situation.


- if /var/mail/$user does not exist, syslog is cluttered with these
   messages for each POP3/IMAP login:

   Jun 10 22:33:33 server dovecot: IMAP(someuser): stat() failed with
   mbox file /var/mail/someuser: No such file or directory


I can't reproduce this.


Since your patch below the snarf-bug is gone, Dovecot creates a 
zero-byte file for /var/mail/$user now.



Looks like this is broken only with mbox_lazy_writes=yes, which is why I
didn't notice it first.

And looks like it's a bug in Dovecot itself. Fixed:
http://hg.dovecot.org/dovecot-1.0/rev/1b6c41524c6a


Big thanks! Your patch fixed the bug, now I can throw away my ugly
work-arounds for this. Weird enough I did not activate mbox_lazy_writes.


# dovecot -n
# 1.0.3: /etc/dovecot/dovecot.conf
log_path: /var/log/dovecot/dovecot.main
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps pop3 pop3s
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
mail_extra_groups: mail
mail_location: mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_plugins(default): quota imap_quota mbox_snarf
mail_plugins(imap): quota imap_quota mbox_snarf
mail_plugins(pop3): mbox_snarf
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
imap_client_workarounds(default): outlook-idle netscape-eoh 
tb-extra-mailbox-sep delay-newmail
imap_client_workarounds(imap): outlook-idle netscape-eoh tb-extra-mailbox-sep 
delay-newmail
imap_client_workarounds(pop3): outlook-idle
pop3_uidl_format(default):
pop3_uidl_format(imap):
pop3_uidl_format(pop3): %08Xu%08Xv
auth default:
  passdb:
driver: pam
  userdb:
driver: passwd
plugin:
  quota: fs
  mbox_snarf: ~/.imap_mail/inbox


Happy greetings, Bernd Kuhls



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-08-09 Thread Timo Sirainen
On Fri, 2007-07-06 at 11:54 +0200, Bernd Kuhls wrote:
> mail_location = 
> mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u
> 
> mbox_snarf = ~/.imap_mail/inbox
> 
> - The index for $HOME/.imap_mail/inbox is created in
>$HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files
>are created in /var/mail/indexes/%u, like its supposed to be. How to
>disable creating index files in $HOME altogether without using links?

This is a bit problematic to fix because of how it works internally.

> - if /var/mail/$user does not exist, syslog is cluttered with these
>messages for each POP3/IMAP login:
> 
>Jun 10 22:33:33 server dovecot: IMAP(someuser): stat() failed with
>mbox file /var/mail/someuser: No such file or directory

I can't reproduce this.

export MAIL_PLUGINS=mbox_snarf
export MBOX_SNARF=~/mbox
export MAIL=mbox:~/mail4:INBOX=/var/mail/tss:INDEX=/tmp/index

rm -rf ~/mbox ~/.imap ~/mail4 /var/mail/tss
./imap
x select inbox
--> no errors

rm -rf ~/mbox ~/.imap ~/mail4 /var/mail/tss
touch ~/mbox
./imap
x select inbox
--> no errors

What plugins are you using?

> - the biggest problem is the following scenario:
>- /var/mail/$user does not exist
>- Exim can not deliver a mail to $HOME/.imap_mail/ so a second router
>  comes into action and delivers the mail to /var/mail/$user
>- /var/mail/$user now only contains the mail, without the IMAP headers
>  Dovecot normally writes to a mbox file
>- the user logs into the account and Dovecot tries to snarf the mail
>- if snarfing is sucessful Dovecot must delete the mail from
>  /var/mail/$user, but this fails due to the missing IMAP headers
>- when the user logs into the account the next time the mail is
>  snarfed again, this can be repeated endlessly
>- the only situation where the snarf plugin works like expected is
>  when /var/mail/$user contains the IMAP headers

Looks like this is broken only with mbox_lazy_writes=yes, which is why I
didn't notice it first.

And looks like it's a bug in Dovecot itself. Fixed:
http://hg.dovecot.org/dovecot-1.0/rev/1b6c41524c6a


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


Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-08-06 Thread Bernd Kuhls

Bernd Kuhls wrote:

I am using Dovecot 1.0.0, might updating to 1.0.1 help fixing some of
the problems mentioned above?


Hi,

updated to Dovecot 1.0.3, but all the mentioned problems still exist.

Greetings, Bernd



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-07-06 Thread Bernd Kuhls

Timo Sirainen wrote:

http://dovecot.org/patches/mbox-snarf-plugin.c


Hi,

small update from an end-user of this plugin:

generally it works like expected, but some problems I mentioned are not 
solved yet. Here are my main config settings:


mail_location = 
mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u


mbox_snarf = ~/.imap_mail/inbox

- The index for $HOME/.imap_mail/inbox is created in
  $HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files
  are created in /var/mail/indexes/%u, like its supposed to be. How to
  disable creating index files in $HOME altogether without using links?

- if /var/mail/$user does not exist, syslog is cluttered with these
  messages for each POP3/IMAP login:

  Jun 10 22:33:33 server dovecot: IMAP(someuser): stat() failed with
  mbox file /var/mail/someuser: No such file or directory

- the biggest problem is the following scenario:
  - /var/mail/$user does not exist
  - Exim can not deliver a mail to $HOME/.imap_mail/ so a second router
comes into action and delivers the mail to /var/mail/$user
  - /var/mail/$user now only contains the mail, without the IMAP headers
Dovecot normally writes to a mbox file
  - the user logs into the account and Dovecot tries to snarf the mail
  - if snarfing is sucessful Dovecot must delete the mail from
/var/mail/$user, but this fails due to the missing IMAP headers
  - when the user logs into the account the next time the mail is
snarfed again, this can be repeated endlessly
  - the only situation where the snarf plugin works like expected is
when /var/mail/$user contains the IMAP headers

To circumvent this problem I created a cronjob running once per minute 
which creates /var/mail/$user for $HOME/* with this content:



From MAILER_DAEMON  Sat Apr 21 19:48:15 2007
Date: Sat, 21 Apr 2007 19:48:15 +0200
From: Mail System Internal Data <[EMAIL PROTECTED]>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
Message-ID: <[EMAIL PROTECTED]>
X-IMAP: 1177169799 003411 NonJunk Junk $Forwarded

Status: RO

This text is part of the internal format of your mail folder, and is not
a real message.  It is created automatically by the mail system software.
If deleted, important folder data will be lost, and it will be re-created
with the data reset to initial values.


This solution is annoying because it does not really fix the problem.
Can you help me with this problem? I am using Dovecot 1.0.0, might 
updating to 1.0.1 help fixing some of the problems mentioned above?


Greetings, Bernd



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-22 Thread Bernd Kuhls

Timo Sirainen wrote:

mail_location = mbox:~/mail:INBOX=/var/mail/%u


Hi,

I am using Dovecot 1.0.0 (will soon update to 1.0.1) using your patch.

This is my mail_location setting:


mail_location = mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u


The index for $HOME/.imap_mail/inbox is however created in
$HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox
files are created in /var/mail/indexes/%u, like its supposed to be.

Is this a bug or a misconfiguration on my part?

Greetings, Bernd Kuhls



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-11 Thread Bernd Kuhls

Timo Sirainen wrote:

On 10.6.2007, at 23.10, Bernd Kuhls wrote:


This mailbox is snarfed by Dovecot each time the Inbox is opened,
because the mail is not deleted from /var/mail$user, although Dovecot
successfully snarfed the mail to /home/$user/.imap_mail/inbox.
/home/$user is not overquota.


Check your error log. I'm pretty sure there's something in there 
(http://wiki.dovecot.org/Logging).




Hi,

yesterday I tried with Dovecot 1.0rc15-2 (Debian Etch stable), today
I made a backport of the Debian testing package Dovecot 1.0.0-2 to
Etch to test the mbox-snarf plugin. Unfortunately the same problem
is present in the new version, also without any hints in the logfile.

Greetings, Bernd Kuhls



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-10 Thread Bernd Kuhls

Timo Sirainen wrote:

On 10.6.2007, at 23.10, Bernd Kuhls wrote:


This mailbox is snarfed by Dovecot each time the Inbox is opened,
because the mail is not deleted from /var/mail$user, although Dovecot
successfully snarfed the mail to /home/$user/.imap_mail/inbox.
/home/$user is not overquota.


Check your error log. I'm pretty sure there's something in there 
(http://wiki.dovecot.org/Logging).




Hi,

nothing interesting found.
The only message I saw, and which I would see disabled, is this one:

Jun 10 22:33:33 bach dovecot: IMAP(ulfb): stat() failed with mbox file 
/var/mail/someuser: No such file or directory


someuser is a valid mail user, where Dovecot uses
/home/someuser/.imap_mail/ to store email, but Exim has never created
/var/mail/someuser because the user never was over-quota.
Having this log message all the time when 100+ users are using their
mail accounts is a bit nasty;-)

Here are the log entries of a user with /var/mail/$user present:

Jun 10 22:22:27 bach dovecot: imap-login: Login: user=, 
method=plain, rip=x.x.x.x, lip=y.y.y.y.y, TLS

Jun 10 22:27:24 bach dovecot: IMAP(user): Disconnected: Logged out

During this imap session the mails from /var/mail/$user were
snarfed to $HOME/.imap_mail/inbox, but the snarfed mails from
/var/mail/$user were not deleted.

Jun 10 22:28:47 bach dovecot: imap-login: Login: user=, 
method=plain, rip=x.x.x.x, lip=y.y.y.y, TLS

Jun 10 22:28:53 bach dovecot: IMAP(user): Disconnected: Logged out
Jun 10 22:29:00 bach dovecot: imap-login: Login: user=, 
method=plain, rip=x.x.x.x, lip=y.y.y.y, TLS

Jun 10 22:29:03 bach dovecot: IMAP(user): Disconnected: Logged out

Then I restarted the mailclient (Thunderbird 2.0) twice, the mails
from /var/mail/$user were snarfed again and I saw these mails
three times in my imap inbox. No other log messages are present
and /var/mail/$user still holds the mails already snarfed three
times. Only from a file with mbox index the mails get deleted
during snarf process by Dovecot.

Greetings, Bernd Kuhls



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-10 Thread Timo Sirainen

On 10.6.2007, at 23.10, Bernd Kuhls wrote:


This mailbox is snarfed by Dovecot each time the Inbox is opened,
because the mail is not deleted from /var/mail$user, although Dovecot
successfully snarfed the mail to /home/$user/.imap_mail/inbox.
/home/$user is not overquota.


Check your error log. I'm pretty sure there's something in there  
(http://wiki.dovecot.org/Logging).




PGP.sig
Description: This is a digitally signed message part


Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-10 Thread Bernd Kuhls

Hi,

Bernd Kuhls wrote:

It managed to copy the contents of a mbox from /var/mail/$user to
/home/$user/.imap_mail/inbox, well done!

I have yet to conduct more testing


I did that now and I found another problem.

If /var/mail/$user does not exist, its created by Exim when
delivering a mail, the content of the file looks like this:


From [EMAIL PROTECTED] Sun Jun 10 22:00:16 2007
Return-path: <[EMAIL PROTECTED]>
Envelope-to: [EMAIL PROTECTED]
Delivery-date: Sun, 10 Jun 2007 22:00:16 +0200
Received: from withoutHELO (noIP)
by localhost (Exim 4.63)
id 1HxTa9-0005dE-0Q; Sun, 10 Jun 2007 22:00:13 +0200
To: [EMAIL PROTECTED]
Subject: test
Date: Sun, 10 Jun 2007 22:00:16 +0200

test

>

This mailbox is snarfed by Dovecot each time the Inbox is opened,
because the mail is not deleted from /var/mail$user, although Dovecot
successfully snarfed the mail to /home/$user/.imap_mail/inbox.
/home/$user is not overquota.

I found the reason for this, in contrast to the bevaviour described
above my first test was done with a /var/mail/$user mbox which had
an uw-imap style index, like this:


From MAILER_DAEMON  Sat Apr 21 19:48:13 2007
Date: Sat, 21 Apr 2007 19:48:13 +0200
From: Mail System Internal Data <[EMAIL PROTECTED]>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
Message-ID: <[EMAIL PROTECTED]>
X-IMAP: 1177169873 82 NonJunk
Status: RO

This text is part of the internal format of your mail folder, and is not
a real message.  It is created automatically by the mail system software.
If deleted, important folder data will be lost, and it will be re-created
with the data reset to initial values.



After Exim delivered a mail to a file having this content, Dovecot
is able to snarf the mail to /home/$user/.imap_mail/inbox _and_
delete it from /var/mail/$user.

How to solve this problem? /var/mail is normally empty and only used
by Exim delivering mails when the user is overquota. I could use a
cronjob-script-solution to create mbox files with uw-imap indexes
for all users present on the system, but it would be an ugly hack.

Greetings, Bernd Kuhls



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-05 Thread Timo Sirainen
On Tue, 2007-06-05 at 21:12 +0200, Bernd Kuhls wrote:
> In your original posting you said:
> > if all the
> > messages couldn't be copied, for example because of out of quota, then
> > none of the messages are copied. I suppose that could be a problem. It
> > might be possible to fix that by changing:
..
> > But I'm not sure about that. Try and tell me. :)
> 
> In your new patch you changed exactly this code, did you have a reason 
> to do so? I have yet to test your patch in an over-quota scenario, so I 
> can´t tell you my experience with the patch.

I changed it because I remembered my mail about it. With the previous
code if you had 1000 messages waiting in /var/spool/mail, either all or
none of them would be moved to ~/mbox. Now it should move as many as
fits. If it works.



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


Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-05 Thread Bernd Kuhls

Timo Sirainen wrote:

Jun  4 15:28:27 bach dovecot: IMAP(kuhls): Timeout leak: 0x808ad10


Fixed and uploaded new version.


Hi,

thanks, the log message disappeared.

In your original posting you said:

if all the
messages couldn't be copied, for example because of out of quota, then
none of the messages are copied. I suppose that could be a problem. It
might be possible to fix that by changing:

if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) {
if (!mail->expunged) {
ret = -1;
break;
}
}

to just:

if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) {
if (!mail->expunged)
break;
}

But I'm not sure about that. Try and tell me. :)


In your new patch you changed exactly this code, did you have a reason 
to do so? I have yet to test your patch in an over-quota scenario, so I 
can´t tell you my experience with the patch.


Greetings, Bernd Kuhls



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-05 Thread Timo Sirainen
On Mon, 2007-06-04 at 15:37 +0200, Bernd Kuhls wrote:
> Is it possible to snarf more than one mbox from /var/mail to 
> /home/$user, like this?

Shouldn't be too difficult to modify the plugin.

> Jun  4 15:28:27 bach dovecot: IMAP(kuhls): Timeout leak: 0x808ad10

Fixed and uploaded new version.



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


Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-04 Thread Bernd Kuhls

Timo Sirainen wrote:

Anyway, updated
http://dovecot.org/patches/mbox-snarf-plugin.c


Hi,

thanks, this code seems to work with the original Debian package.

It managed to copy the contents of a mbox from /var/mail/$user to
/home/$user/.imap_mail/inbox, well done!

I have yet to conduct more testing as Dovecot+Exim will be handling
100+ users soon. Exims current setup delivers directly to
directory /home/user/.imap_mail, where spam mails can optionally be
delivered into different mbox files. /home is subject to user-based
filesystem quotas, also a policy not to bounce any mail is in place.

My idea is to let Exim deliver everything to /var/mail/$user, where
enough space is present, and let Dovecot snarf the mails to /home,
if quota allows.

Is it possible to snarf more than one mbox from /var/mail to 
/home/$user, like this?


/var/mail/$user -> /home/.imap_mail/inbox
/var/mail/$user.spam -> /home/.imap_mail/Spam
/var/mail/$user.virus -> /home/.imap_mail/Virus

Snarfing only one mbox removes the possibility to let Exim move
recognized spam mails not into the inbox.

Since using the snarf plugin I have this additional line in syslog:

Jun  4 15:28:27 bach dovecot: IMAP(kuhls): Timeout leak: 0x808ad10

Anything to worry about?

Greetings, Bernd Kuhls



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-04 Thread Timo Sirainen
On Mon, 2007-06-04 at 14:15 +0200, Bernd Kuhls wrote:
> Timo Sirainen wrote:
> > Getting backtrace of the crash could also show where the problem is.
> > http://dovecot.org/bugreport.html
> 
> Hi,
> 
> later I will try to backport the Dovecot 1.0 Debian package to Etch,
> but for now I can only provide you a backtrace:
> 
> (gdb) bt full
> #0  0x0808a778 in index_storage_get_status_locked ()
> #1  0x0808bbf8 in index_mailbox_sync_deinit ()

Oh. Hmm. Wonder why it worked even with v1.0. Or maybe I just tested it
with hg version and not v1.0 at all.. Anyway, updated
http://dovecot.org/patches/mbox-snarf-plugin.c


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


Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-04 Thread Bernd Kuhls

Timo Sirainen wrote:

Getting backtrace of the crash could also show where the problem is.
http://dovecot.org/bugreport.html


Hi,

later I will try to backport the Dovecot 1.0 Debian package to Etch,
but for now I can only provide you a backtrace:

(gdb) bt full
#0  0x0808a778 in index_storage_get_status_locked ()
No symbol table info available.
#1  0x0808bbf8 in index_mailbox_sync_deinit ()
No symbol table info available.
#2  0xb7fd5c6d in sync_mailbox () from 
/usr/lib/dovecot/modules/imap/lib10_mbox_snarf_plugin.so

No symbol table info available.
#3  0xb7fd5c91 in mbox_snarf () from 
/usr/lib/dovecot/modules/imap/lib10_mbox_snarf_plugin.so

No symbol table info available.
#4  0xb7fd5eef in mbox_snarf_sync_init () from 
/usr/lib/dovecot/modules/imap/lib10_mbox_snarf_plugin.so

No symbol table info available.
#5  0x080614cc in imap_sync_nonselected ()
No symbol table info available.
#6  0x080599d3 in _cmd_select_full ()
No symbol table info available.
#7  0x08059b97 in cmd_select ()
No symbol table info available.
#8  0x0805b4e2 in _client_input ()
No symbol table info available.
#9  0x080b8826 in io_loop_handler_run ()
No symbol table info available.
#10 0x080b7bd8 in io_loop_run ()
No symbol table info available.
#11 0x080632de in main ()
No symbol table info available.

HTH, Bernd



Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-06-03 Thread Timo Sirainen
On Tue, 2007-05-29 at 16:20 +0200, Bernd Kuhls wrote:
> Timo Sirainen wrote:
> > http://dovecot.org/patches/mbox-snarf-plugin.c
> 
> Hi,
> 
> I just tried to setup this plugin on a Debian Etch machine but it 
> crashes the Dovecot daemons.
> 
> Debian Etch uses the sourcecode of Dovecot 1.0rc15 + some patches.

It's entirely possible that it requires a newer version. I only tried it
with v1.0.

> gcc -fPIC -shared -Wall -I$DOVECOT -I$DOVECOT/src/lib
> -I$DOVECOT/src/lib-storage -I$DOVECOT/src/lib-mail
> -I$DOVECOT/src/lib-imap -DHAVE_CONFIG_H  mbox-snarf-plugin.c -o
> mbox_snarf_plugin.so

Looks ok.

> > May 29 16:01:24 bach dovecot: child 28786 (imap) killed with signal 11

Getting backtrace of the crash could also show where the problem is.
http://dovecot.org/bugreport.html



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


Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-05-29 Thread Bernd Kuhls

Timo Sirainen wrote:

http://dovecot.org/patches/mbox-snarf-plugin.c


Hi,

I just tried to setup this plugin on a Debian Etch machine but it 
crashes the Dovecot daemons.


Debian Etch uses the sourcecode of Dovecot 1.0rc15 + some patches.

I rebuilt the Dovecot packages -common, -imapd and -pop3d using

apt-get install apt-build
apt-build build-source dovecot-common

and installed them. Then I compiled the .c file mentioned above
inside the sourcedir created by apt-build by interrupting apt-build,
then issuing these commands:


cd /var/cache/apt-build/build/dovecot-1.0.rc15/
wget http://dovecot.org/patches/mbox-snarf-plugin.c

export DOVECOT=/var/cache/apt-build/build/dovecot-1.0.rc15

gcc -fPIC -shared -Wall -I$DOVECOT -I$DOVECOT/src/lib
-I$DOVECOT/src/lib-storage -I$DOVECOT/src/lib-mail
-I$DOVECOT/src/lib-imap -DHAVE_CONFIG_H  mbox-snarf-plugin.c -o
mbox_snarf_plugin.so

The compiled file mbox_snarf_plugin.so was copied to 
/usr/lib/dovecot/modules/lib10_mbox_snarf_plugin.so
with symlinks inside /usr/lib/dovecot/modules/imap and 
/usr/lib/dovecot/modules/pop3.


I setup /etc/dovecot/dovecot.conf according to your posting and 
restarted Dovecot. But accessing Dovecot with Thunderbird produces this:



May 29 16:01:09 bach dovecot: Killed with signal 15
May 29 16:01:10 bach dovecot: Dovecot v1.0.rc15 starting up
May 29 16:01:24 bach dovecot: imap-login: Login: user=, method=plain, 
rip=x.x.x.x, lip=x.x.x.x, TLS
May 29 16:01:24 bach dovecot: child 28786 (imap) killed with signal 11
May 29 16:01:25 bach dovecot: imap-login: Login: user=, method=plain, 
rip=x.x.x.x, lip=x.x.x.x, TLS
May 29 16:01:25 bach dovecot: child 28791 (imap) killed with signal 11
May 29 16:01:25 bach dovecot: imap-login: Login: user=, method=plain, 
rip=x.x.x.x, lip=x.x.x.x, TLS
May 29 16:01:25 bach dovecot: child 28795 (imap) killed with signal 11
May 29 16:01:25 bach dovecot: imap-login: Login: user=, method=plain, 
rip=x.x.x.x, lip=x.x.x.x, TLS
May 29 16:01:25 bach dovecot: child 28806 (imap) killed with signal 11


I suppose I did something wrong when compiling the module, but what?

Greetings, Bernd Kuhls



[Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

2007-05-17 Thread Timo Sirainen
http://dovecot.org/patches/mbox-snarf-plugin.c

Also committed to CVS HEAD.

Usage:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

protocol imap {
  mail_plugins = mbox_snarf
}
protocol pop3 {
  mail_plugins = mbox_snarf
}

plugin {
  mbox_snarf = ~/mbox
}

If ~/mbox doesn't exist, nothing special is done.

If ~/mbox exists, it's treated as INBOX and mails are moved
from /var/mail/%u whenever the mailbox is synchronized. If all the
messages couldn't be copied, for example because of out of quota, then
none of the messages are copied. I suppose that could be a problem. It
might be possible to fix that by changing:

if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) {
if (!mail->expunged) {
ret = -1;
break;
}
}

to just:

if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) {
if (!mail->expunged)
break;
}

But I'm not sure about that. Try and tell me. :)


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