Re: CVE-2019-11500: Critical vulnerability in Dovecot and Pigeonhole

2019-08-28 Thread Christoph Pleger via dovecot

Hello,

On 2019-08-28 14:10, Aki Tuomi via dovecot wrote:

Dear subscribers, we have been made aware of critical vulnerability in
Dovecot and Pigeonhole.


Has this already been fixed in 2.2.36.4? Changelog does not mention it.

Regards
  Christoph


Re: Sender address when notifying original recipient

2017-05-22 Thread Christoph Pleger

Hello,

I am using sieve with notification of the original recipient in the 
case

that an email has been identified to contain a virus. After upgrading
dovecot from 2.2.21 to 2.2.29.1, I now detected that in these
notifications, their sender address is now , instead of
, like it was before.

Is it possible to revert to the old format?


No idea so far? Though I forgot to write that I also updated
pigeonhole, the change in the format of the sender address must be
caused by the updates, for I changed nothing else on my server.


That looks like a bug of some sort. What is your configuration (output
from `dovecot -n`)? What exact Sieve script demonstrates this behavior?


The output of 'dovecot -n' is attached.

The sieve script is:

if header :is "X-Virus-Status" "Yes"
{
discard;
notify :method "mailto" :options "christ...@plmail.de" :high :message 
"Hallo,


$env-from$ hat Ihnen eine Nachricht von $from$ mit dem Betreff $subject$ 
gesendet, die vom Virenscanner als infiziert erkannt und daher gelöscht 
wurde.


Mit freundlichen Grüßen
  postmas...@plmail.de";

stop;
}

Regards
  Christoph
# 2.2.29.1 (e0b76e3): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.devel (403042e)
# OS: Linux 3.16.0-4-armmp armv7l Debian 8.7 
auth_mechanisms = plain login
auth_username_format = %Ln
dict {
  expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_uid = 200
last_valid_uid = 200
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k
mail_gid = vmail
mail_location = mdbox:~/mdbox
mail_plugins = " expire fts fts_lucene"
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy 
include variables body enotify environment mailbox date index ihave duplicate 
mime foreverypart extracttext notify
namespace {
  inbox = yes
  location = 
  mailbox {
special_use = \Drafts
name = Drafts
  }
  mailbox {
special_use = \Junk
name = Junk
  }
  mailbox {
special_use = \Sent
name = Sent
  }
  mailbox {
special_use = \Sent
name = Sent Messages
  }
  mailbox {
special_use = \Trash
name = Trash
  }
  prefix = 
  name = inbox
}
passdb {
  args = scheme=SHA512-CRYPT username_format=%u /etc/dovecot/databases/users
  driver = passwd-file
}
plugin {
  antispam_backend = SPOOL2DIR
  antispam_spam = Spam
  antispam_spool2dir_notspam = %h/ham/%%020lu-%%05lu
  antispam_spool2dir_spam = %h/spam/%%020lu-%%05lu
  antispam_trash = Trash
  deleted_to_trash_folder = Trash
  expire = Spam
  expire2 = Trash
  expire_dict = proxy::expire
  fts = lucene
  fts_lucene = whitespace_chars=@. no_snowball
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_extensions = +notify
}
protocols = " imap lmtp sieve"
service replication-notify-fifo {
  name = aggregator
}
service anvil-auth-penalty {
  name = anvil
}
service auth-worker {
  name = auth-worker
}
service {
  unix_listener {
group = postfix
mode = 0660
user = postfix
path = /var/spool/postfix/private/auth
  }
  name = auth
}
service config {
  name = config
}
service dict-async {
  name = dict-async
}
service {
  unix_listener {
group = vmail
mode = 0660
user = vmail
path = dict
  }
  name = dict
}
service login/proxy-notify {
  name = director
}
service dns-client {
  name = dns_client
}
service doveadm-server {
  name = doveadm
}
service imap-hibernate {
  name = imap-hibernate
}
service {
  inet_listener {
address = 127.0.0.1
port = 143
name = imap
  }
  inet_listener {
port = 993
ssl = yes
name = imaps
  }
  vsz_limit = 128 M
  name = imap-login
}
service imap-urlauth {
  name = imap-urlauth-login
}
service imap-urlauth-worker {
  name = imap-urlauth-worker
}
service token-login/imap-urlauth {
  name = imap-urlauth
}
service {
  process_limit = 256
  vsz_limit = 256 M
  name = imap
}
service indexer-worker {
  name = indexer-worker
}
service indexer {
  name = indexer
}
service ipc {
  name = ipc
}
service {
  inet_listener {
address = 127.0.0.1
port = 10026
name = lmtp
  }
  unix_listener {
group = dspam
mode = 0660
user = root
path = lmtp
  }
  name = lmtp
}
service log-errors {
  name = log
}
service {
  inet_listener {
address = 127.0.0.1
port = 4190
name = sieve
  }
  vsz_limit = 64 M
  name = managesieve-login
}
service {
  process_limit = 128
  name = managesieve
}
service {
  inet_listener {
port = 0
name = pop3
  }
  inet_listener {
port = 0
ssl = yes
name = pop3s
  }
  name = pop3-login
}
service login/pop3 {
  name = pop3
}
service replicator-doveadm {
  name = replicator
}
service login/ssl-params {
  name = ssl-params
}
service stats-mail {
  name = stats
}
ssl_cert = 

Re: Sender address when notifying original recipient

2017-05-19 Thread Christoph Pleger

Hello,

On 2017-05-14 21:29, I wrote:

I am using sieve with notification of the original recipient in the 
case

that an email has been identified to contain a virus. After upgrading
dovecot from 2.2.21 to 2.2.29.1, I now detected that in these
notifications, their sender address is now , instead of
, like it was before.

Is it possible to revert to the old format?


No idea so far? Though I forgot to write that I also updated pigeonhole, 
the change in the format of the sender address must be caused by the 
updates, for I changed nothing else on my server.


Regards
  Christoph


Sender address when notifying original recipient

2017-05-14 Thread Christoph Pleger
Hello,

I am using sieve with notification of the original recipient in the case
that an email has been identified to contain a virus. After upgrading
dovecot from 2.2.21 to 2.2.29.1, I now detected that in these
notifications, their sender address is now , instead of
, like it was before.

Is it possible to revert to the old format?

Regards
  Christoph


Nightly builds of Debian packages

2017-05-09 Thread Christoph Pleger

Hello,

how is the future of the automatically built nightly debian packages of 
dovecot? Has that project been ceased? The current auto-built version is 
still 2.2.28 from April 28, though 2.2.29 (with a security patch) of 
dovecot is out now for a while.


Regards
  Christoph


Re: Error when searching in mailfolders

2016-06-30 Thread Christoph Pleger
Hello,

>>> Could you enable core dumps and run bt full in gdb?
>>
>> I attached the result.
>
> It crashes in:
>
> _CLTHROWA(CL_ERR_IllegalArgument, "language not available for
> stemming\n"); //todo: richer error
>
> So looks like you're trying to use an unknown language. If you have only a
> single language, don't enable textcat. Or if you do, I guess you need to
> disable some languages that Snowball doesn't like.

I added option no_snowball in 90-plugin.conf, that helped.

Regards
  Christoph


Re: Error when searching in mailfolders

2016-06-30 Thread Christoph Pleger
Hello,

>>> Lucene library is throwing an error, which crashes Dovecot. Maybe Dovecot
>>> should catch the error, but it would still be broken. Try deleting the
lucene indexes and rebuilding them?
>> Deleting the indexes helped, but after they had been rebuilt, the error
occurred again.

> Could you enable core dumps and run bt full in gdb?

I attached the result.

Regards
  Christoph
GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/dovecot/imap...Reading symbols from 
/usr/lib/debug//usr/lib/dovecot/imap...done.
done.
[New LWP 3223]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Core was generated by `dovecot/imap'.
Program terminated with signal SIGABRT, Aborted.
#0  __libc_do_syscall () at 
../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
(gdb) bt full
#0  __libc_do_syscall () at 
../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
No locals.
#1  0xb6ca1ee6 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
_a1 = 0
_a3tmp = 6
_a1tmp = 0
_a3 = 6
_nametmp = 268
_a2tmp = 3223
_a2 = 3223
_name = 268
_sys_result = 
pd = 0xb6f41000
pid = 0
selftid = 3223
#2  0xb6ca2bee in __GI_abort () at abort.c:89
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, 
sa_mask = {__val = {3099947508, 3036704597, 12, 2, 3066870881, 2, 3067513328, 
3067513328, 3039078548, 
  3066868915, 3099927080, 3067514384, 3099927232, 3037254609, 
3100237568, 3065976447, 3099927168, 0, 3099927080, 2, 3099927168, 3099927048, 
3037941156, 3067514384, 
  3099927232, 3037254609, 3100237568, 0, 3069284112, 2, 3099927048, 
2}}, sa_flags = -1195040248, sa_restorer = 0xb5204d17 
<__cxxabiv1::__cxa_end_catch()+6>}
sigs = {__val = {32, 0 }}
#3  0xb5206cb8 in __gnu_cxx::__verbose_terminate_handler () at 
../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
terminating = true
t = 
#4  0xb52056e4 in __cxxabiv1::__terminate (handler=) at 
../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
No locals.
#5  0xb520573a in std::terminate () at 
../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
No locals.
#6  0xb520595a in __cxxabiv1::__cxa_throw (obj=0xb8c52280, tinfo=0xb51468f8 
, dest=0xb508d3d1 )
at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:87
globals = 
#7  0xb51345fe in lucene::analysis::snowball::SnowballFilter::SnowballFilter 
(this=0xb8c58fa8, in=, normalizer=, 
language=0x1 , deleteTS=true) 
at Snowball.cc:103
No locals.
#8  0xb513469a in lucene::analysis::snowball::SnowballAnalyzer::tokenStream 
(this=, fieldName=, reader=, 
deleteReader=)
at Snowball.cc:76
bufferedReader = 
result = 0xb8c521f0
#9  0xb513332a in getFieldQuery (fuzzy=false, queryText=0xb8c92330 L"dbsim", 
_field=0xb8c922f0 L"to", analyzer=0xb8c515a8) at lucene-wrapper.cc:1047
reader = 
source = 
v = { 
>, lucene::util::Deletor::Object >> = 
{ >> = std::vector of length 766992923, 
capacity -1 = {
t = 0x1344
positionCount = 
severalTokensAtSamePosition = 
#10 lucene_get_query_str (index=index@entry=0xb8cf5ee0, key=0xb8c922f0 L"to", 
str=, fuzzy=) at lucene-wrapper.cc:1165
wvalue = 0xb8c92330 L"dbsim"
analyzer = 0xb8c515a8
#11 0xb51339f0 in lucene_get_query (arg=0xb8d63108, key=, 
index=0xb8cf5ee0) at lucene-wrapper.cc:1172
No locals.
#12 lucene_add_definite_query (index=index@entry=0xb8cf5ee0, queries=..., 
arg=arg@entry=0xb8d63108, flags=flags@entry=FTS_LOOKUP_FLAG_AND_ARGS) at 
lucene-wrapper.cc:1218
and_args = true
q = 
lq = 0xb8cf5ee0
#13 0xb5133d1a in lucene_index_lookup (index=0xb8cf5ee0, 
args=args@entry=0xb8d63108, flags=flags@entry=FTS_LOOKUP_FLAG_AND_ARGS, 
result=result@entry=0xbeff18ac) at lucene-wrapper.cc:1387
have_definites = 
maybe_queries = {arr = {buffer = 0x63306632, element_size = 875651636}, 
v = 0x63306632, v_modifiable = 0x63306632}
arg = 0xb8d63108
def_queries = {arr = {buffer = 0xb8c92218, element_size = 8}, v = 
0xb8c92218, v_modifiable = 0xb8c92218}
have_maybies = 
#14 0

Re: Error when searching in mailfolders

2016-06-30 Thread Christoph Pleger
Hello,

> On 29 Jun 2016, at 16:40, Christoph Pleger  wrote:
>>
>> Hello,
>>
>> I just found that with my dovecot 2.2.21, when I use squirrelmail to
>> search for something in my mailfolders, that fails with
>>
>> ERROR: Connection dropped by IMAP server.
>> Query: SEARCH CHARSET ISO-8859-1 ALL FROM "someone"
>>
>> That happens for searches in any folder, except from INBOX. When I
>> search
>> in all folders, only results from INBOX are found, then the error
>> message
>> is shown.
>>
>> The log says:
>>
>> imap: Error: terminate called after throwing an instance of
>> 'CLuceneError'
>>
>> imap(christoph): Fatal: master: service(imap): child 2834 killed with
>> signal 6 (core dumps disabled)
>>
>> What can I do about that?
>
> Lucene library is throwing an error, which crashes Dovecot. Maybe Dovecot
> should catch the error, but it would still be broken. Try deleting the
> lucene indexes and rebuilding them?

Deleting the indexes helped, but after they had been rebuilt, the error
occurred again.

Regards
  Christoph


Error when searching in mailfolders

2016-06-29 Thread Christoph Pleger
Hello,

I just found that with my dovecot 2.2.21, when I use squirrelmail to
search for something in my mailfolders, that fails with

ERROR: Connection dropped by IMAP server.
Query: SEARCH CHARSET ISO-8859-1 ALL FROM "someone"

That happens for searches in any folder, except from INBOX. When I search
in all folders, only results from INBOX are found, then the error message
is shown.

The log says:

imap: Error: terminate called after throwing an instance of 'CLuceneError'

imap(christoph): Fatal: master: service(imap): child 2834 killed with
signal 6 (core dumps disabled)

What can I do about that?

Regards
  Christoph


Re: [Dovecot] Problem with expire plugin and expunge

2011-04-25 Thread Christoph Pleger
Hello,

> Thanks. Looks like it was a simple mdbox-specific bug. Fixed:
> http://hg.dovecot.org/dovecot-2.0/rev/2269cea521b6

Yes, that was it. Expunging works fine now.

Regards
  Christoph



Re: [Dovecot] Problem with expire plugin and expunge

2011-04-13 Thread Christoph Pleger
Hello,

>> I have attached a file with the output of yesterday's cron job's
>> execution. As
>> you can see, after expunging there are still messages in the Trash
>> folder,
>> though expunge itself says that it has removed the first message.
>
> Thanks. Looks like it was a simple mdbox-specific bug. Fixed:
> http://hg.dovecot.org/dovecot-2.0/rev/2269cea521b6


Thank you. I will try that out as soon as possible.

Regards
  Christoph



Re: [Dovecot] Problem with expire plugin and expunge

2011-04-10 Thread Christoph Pleger
Hello,

Timo Sirainen wrote:

> > Is there any solution in sight for this? Is there some additional
> > information I can give you for solving that problem?
>
> Well, the weird thing is that the logs say it's expunging everything and
> you say it's not.. What about if you change the cronjob to do:
>
> doveadm fetch uid mailbox Trash
> doveadm expunge mailbox Trash ..
> doveadm fetch uid mailbox Trash
>
> so that it logs 1) a list of UIDs before expunge, 2) UIDs of what get
> expunged and 3) UIDs that exist after expunge.

I have attached a file with the output of yesterday's cron job's execution. As 
you can see, after expunging there are still messages in the Trash folder, 
though expunge itself says that it has removed the first message.

Regards
  Christoph  


/etc/cron.daily/dovecot:
uid: 4638
uid: 4639
uid: 4640
uid: 4641
uid: 4642
uid: 4643
uid: 4644
uid: 4645
uid: 4646
uid: 4647
uid: 4648
uid: 4649
uid: 4650
uid: 4651
uid: 4652
uid: 4653
uid: 4654
uid: 4655
uid: 4656
uid: 4657
uid: 4658
uid: 4659
uid: 4660
uid: 4661
uid: 4662
uid: 4663
uid: 4664
uid: 4665
uid: 4666
uid: 4667
uid: 4668
uid: 4669
uid: 4670
uid: 4671
uid: 4672
uid: 4673
uid: 4674
uid: 4675
uid: 4676
uid: 4677
uid: 4678
uid: 4679
uid: 4680
uid: 4681
uid: 4682
uid: 4683
uid: 4684
uid: 4685
uid: 4686
uid: 4687
uid: 4688
uid: 4689
uid: 4690
uid: 4691
uid: 4692
uid: 4693
uid: 4694
uid: 4695
uid: 4696
uid: 4697
uid: 4698
uid: 4699
uid: 4700
uid: 4701
uid: 4702
uid: 4703
uid: 4704
uid: 4705
uid: 4706
uid: 4707
uid: 4708
uid: 4709
uid: 4710
uid: 4711
uid: 4712
uid: 4713
uid: 4714
uid: 4715
uid: 4716
uid: 4717
uid: 4718
uid: 4719
uid: 4720
uid: 4721
uid: 4722
uid: 4723
uid: 4724
uid: 4725
uid: 4726
uid: 4727
uid: 4728
uid: 4729
uid: 4730
uid: 4731
uid: 4732
uid: 4733
uid: 4734
uid: 4735
uid: 4736
uid: 4737
uid: 4738
uid: 4739
uid: 4740
uid: 4741
uid: 4742
uid: 4743
uid: 4744
uid: 4745
uid: 4746
uid: 4747
uid: 4748
uid: 4749
uid: 4750
uid: 4751
uid: 4752
uid: 4753
uid: 4754
uid: 4755
uid: 4756
uid: 4757
uid: 4758
uid: 4759
uid: 4760
uid: 4761
uid: 4762
uid: 4763
uid: 4764
uid: 4765
uid: 4766
uid: 4767
uid: 4768
uid: 4769
uid: 4770
uid: 4771
uid: 4772
uid: 4773
uid: 4774
uid: 4775
uid: 4776
uid: 4777
uid: 4778
uid: 4779
uid: 4780
uid: 4781
uid: 4782
uid: 4783
uid: 4784
uid: 4785
uid: 4786
uid: 4787
uid: 4788
uid: 4789
uid: 4790
uid: 4791
uid: 4792
uid: 4793
uid: 4794
uid: 4795
uid: 4796
uid: 4797
uid: 4798
uid: 4799
uid: 4800
uid: 4801
uid: 4802
uid: 4803
uid: 4804
uid: 4805
uid: 4806
uid: 4807
uid: 4808
uid: 4809
uid: 4810
uid: 4811
uid: 4812
uid: 4813
uid: 4814
uid: 4815
uid: 4816
uid: 4817
uid: 4818
uid: 4819
uid: 4820
uid: 4821
uid: 4822
uid: 4823
uid: 4824
uid: 4825
uid: 4826
uid: 4827
uid: 4828
uid: 4829
uid: 4830
uid: 4831
uid: 4832
uid: 4833
uid: 4834
uid: 4835
uid: 4836
uid: 4837
uid: 4838
uid: 4839
uid: 4840
uid: 4841
uid: 4842
uid: 4843
uid: 4844
uid: 4845
uid: 4846
uid: 4847
uid: 4848
uid: 4849
uid: 4850
uid: 4851
uid: 4852
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: 
acl_user_module (this is usually intentional, so just ignore this message)
doveadm: Debug: Module loaded: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined 
symbol: quota_user_module (this is usually intentional, so just ignore this 
message)
doveadm: Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined 
symbol: i_stream_create_deflate (this is usually intentional, so just ignore 
this message)
doveadm: Debug: expire: Searching only users listed in expire database

doveadm: Debug: expire: Stopping iteration on key shared/expire/christoph/Spam 
(1302158960 > 1302063905)
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: 
acl_user_module (this is usually intentional, so just ignore this message)
doveadm: Debug: Module loaded: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined 
symbol: quota_user_module (this is usually intentional, so just ignore this 
message)
doveadm: Debug: Sk

Re: [Dovecot] Problem with expire plugin and expunge

2011-04-02 Thread Christoph Pleger
Hello,

> It looks like it expunged all the messages from Trash. Did you check if
> that happened? Did it expunge too many messages?
>
> > Mar 18 09:50:28 joseph dovecot: imap(christoph): Debug: expire: Saving
> > first message to Trash, updating timestamp to 1300438228
>
> This happens, because it thinks the Trash was empty..


Is there any solution in sight for this? Is there some additional information 
I can give you for solving that problem?

Regards
  Christoph


Re: [Dovecot] Problem with expire plugin and expunge

2011-03-24 Thread Christoph Pleger
Hello,

>> Today, the daily cronjob expired some messages. I have attached the
>> output of
>> the job.

> It looks like it expunged all the messages from Trash. Did you check if
> that happened? Did it expunge too many messages?

No, after expunging, there still were messages in the Trash folder. I am
sure that exactly those messages were removed from Trash which were older
than the number of days I had given in my "doveadm expunge" command.

Regards
  Christoph



Re: [Dovecot] Problem with expire plugin and expunge

2011-03-20 Thread Christoph Pleger
Hello,

> > Big surprise: Something bad must have happened after the messages were
> > deleted from Trash; now all messages are zero days old.
>
> Are you using maildir? Did you run with those patches + mail_debug=yes?

Today, the daily cronjob expired some messages. I have attached the output of 
the job.

It seems that the error occurs not when expunging, but when deleting the first 
message after expunging. Before deleting a message, "doveadm search" showed 
me messages that were between zero and four days old, but directly after 
deleting a message, all messages were zero days old. Here is my log entry 
from when I deleted that message:

Mar 18 09:50:28 joseph dovecot: imap(christoph): Debug: expire: Saving first 
message to Trash, updating timestamp to 1300438228

Regards
  Christoph


/etc/cron.daily/dovecot:
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: 
acl_user_module (this is usually intentional, so just ignore this message)
doveadm: Debug: Module loaded: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined 
symbol: quota_user_module (this is usually intentional, so just ignore this 
message)
doveadm: Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined 
symbol: i_stream_create_deflate (this is usually intentional, so just ignore 
this message)
doveadm: Debug: expire: Searching only users listed in expire database

doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: 
acl_user_module (this is usually intentional, so just ignore this message)
doveadm: Debug: Module loaded: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined 
symbol: quota_user_module (this is usually intentional, so just ignore this 
message)
doveadm: Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined 
symbol: i_stream_create_deflate (this is usually intentional, so just ignore 
this message)
doveadm: Debug: expire: Searching only users listed in expire database
doveadm(christoph): Debug: auth input: christoph home=/mailhome/vmail/christoph
doveadm(christoph): Debug: Effective uid=110, gid=114, 
home=/mailhome/vmail/christoph
doveadm(christoph): Debug: fs: root=/mailhome/vmail/christoph/mdbox, index=, 
control=, inbox=
doveadm(christoph): Debug: Namespace : Using permissions from 
/mailhome/vmail/christoph/mdbox: mode=0700 gid=-1
doveadm(christoph): Debug: expunge: box=Trash uid=3248
doveadm(christoph): Debug: expunge: box=Trash uid=3249
doveadm(christoph): Debug: expunge: box=Trash uid=3250
doveadm(christoph): Debug: expunge: box=Trash uid=3251
doveadm(christoph): Debug: expunge: box=Trash uid=3252
doveadm(christoph): Debug: expunge: box=Trash uid=3253
doveadm(christoph): Debug: expunge: box=Trash uid=3254
doveadm(christoph): Debug: expunge: box=Trash uid=3255
doveadm(christoph): Debug: expunge: box=Trash uid=3256
doveadm(christoph): Debug: expunge: box=Trash uid=3257
doveadm(christoph): Debug: expunge: box=Trash uid=3258
doveadm(christoph): Debug: expunge: box=Trash uid=3259
doveadm(christoph): Debug: expunge: box=Trash uid=3260
doveadm(christoph): Debug: expunge: box=Trash uid=3261
doveadm(christoph): Debug: expunge: box=Trash uid=3262
doveadm(christoph): Debug: expunge: box=Trash uid=3263
doveadm(christoph): Debug: expunge: box=Trash uid=3264
doveadm(christoph): Debug: expunge: box=Trash uid=3265
doveadm(christoph): Debug: expunge: box=Trash uid=3266
doveadm(christoph): Debug: expunge: box=Trash uid=3267
doveadm(christoph): Debug: expunge: box=Trash uid=3268
doveadm(christoph): Debug: expunge: box=Trash uid=3269
doveadm(christoph): Debug: expunge: box=Trash uid=3270
doveadm(christoph): Debug: expunge: box=Trash uid=3271
doveadm(christoph): Debug: expunge: box=Trash uid=3272
doveadm(christoph): Debug: expunge: box=Trash uid=3273
doveadm(christoph): Debug: expunge: box=Trash uid=3274
doveadm(christoph): Debug: expunge: box=Trash uid=3275
doveadm(christop

Re: [Dovecot] Problem with expire plugin and expunge

2011-03-18 Thread Christoph Pleger
Hello,

> > Big surprise: Something bad must have happened after the messages were
> > deleted from Trash; now all messages are zero days old.
>
> Are you using maildir? Did you run with those patches + mail_debug=yes?

Today, the daily cronjob expired some messages. I have attached the output of 
the job.

It seems that the error occurs not when expunging, but when deleting the first 
message after expunging. Before deleting a message, "doveadm search" showed 
me messages that were between zero and four days old, but directly after 
deleting a message, all messages were zero days old. Here is my log entry 
from when I deleted that message:

Mar 18 09:50:28 joseph dovecot: imap(christoph): Debug: expire: Saving first 
message to Trash, updating timestamp to 1300438228

Regards
  Christoph


/etc/cron.daily/dovecot:
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: 
acl_user_module (this is usually intentional, so just ignore this message)
doveadm: Debug: Module loaded: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined 
symbol: quota_user_module (this is usually intentional, so just ignore this 
message)
doveadm: Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined 
symbol: i_stream_create_deflate (this is usually intentional, so just ignore 
this message)
doveadm: Debug: expire: Searching only users listed in expire database

doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: 
acl_user_module (this is usually intentional, so just ignore this message)
doveadm: Debug: Module loaded: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined 
symbol: quota_user_module (this is usually intentional, so just ignore this 
message)
doveadm: Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined 
symbol: i_stream_create_deflate (this is usually intentional, so just ignore 
this message)
doveadm: Debug: expire: Searching only users listed in expire database
doveadm(christoph): Debug: auth input: christoph home=/mailhome/vmail/christoph
doveadm(christoph): Debug: Effective uid=110, gid=114, 
home=/mailhome/vmail/christoph
doveadm(christoph): Debug: fs: root=/mailhome/vmail/christoph/mdbox, index=, 
control=, inbox=
doveadm(christoph): Debug: Namespace : Using permissions from 
/mailhome/vmail/christoph/mdbox: mode=0700 gid=-1
doveadm(christoph): Debug: expunge: box=Trash uid=3248
doveadm(christoph): Debug: expunge: box=Trash uid=3249
doveadm(christoph): Debug: expunge: box=Trash uid=3250
doveadm(christoph): Debug: expunge: box=Trash uid=3251
doveadm(christoph): Debug: expunge: box=Trash uid=3252
doveadm(christoph): Debug: expunge: box=Trash uid=3253
doveadm(christoph): Debug: expunge: box=Trash uid=3254
doveadm(christoph): Debug: expunge: box=Trash uid=3255
doveadm(christoph): Debug: expunge: box=Trash uid=3256
doveadm(christoph): Debug: expunge: box=Trash uid=3257
doveadm(christoph): Debug: expunge: box=Trash uid=3258
doveadm(christoph): Debug: expunge: box=Trash uid=3259
doveadm(christoph): Debug: expunge: box=Trash uid=3260
doveadm(christoph): Debug: expunge: box=Trash uid=3261
doveadm(christoph): Debug: expunge: box=Trash uid=3262
doveadm(christoph): Debug: expunge: box=Trash uid=3263
doveadm(christoph): Debug: expunge: box=Trash uid=3264
doveadm(christoph): Debug: expunge: box=Trash uid=3265
doveadm(christoph): Debug: expunge: box=Trash uid=3266
doveadm(christoph): Debug: expunge: box=Trash uid=3267
doveadm(christoph): Debug: expunge: box=Trash uid=3268
doveadm(christoph): Debug: expunge: box=Trash uid=3269
doveadm(christoph): Debug: expunge: box=Trash uid=3270
doveadm(christoph): Debug: expunge: box=Trash uid=3271
doveadm(christoph): Debug: expunge: box=Trash uid=3272
doveadm(christoph): Debug: expunge: box=Trash uid=3273
doveadm(christoph): Debug: expunge: box=Trash uid=3274
doveadm(christoph): Debug: expunge: box=Trash uid=3275
doveadm(christop

Re: [Dovecot] Problem with expire plugin and expunge

2011-03-12 Thread Christoph Pleger
Hello,

Timo Sirainen wrote:

> > > It seems to work now. Message were expunged today and  'doveadm search
> > > -A mailbox Trash savedbefore d' still shows me messages that are
> > > four days old or younger.
> >
> > Big surprise: Something bad must have happened after the messages were
> > deleted from Trash; now all messages are zero days old.
>
> Are you using maildir?

No, like I already wrote earlier, I am using mdbox. Do I have to use maildir?

> Did you run with those patches + mail_debug=yes?

Unfortunately no:  I ran with those patches, but forgot to change the value 
for mail_debug. I did that now.

Regards
  Christoph




Re: [Dovecot] Problem with expire plugin and expunge

2011-03-12 Thread Christoph Pleger
Hello,

I wrote:

> > So it's as if the timestamp keeps changing to the newest deleted
> > message.. Maybe mail_debug=yes shows something helpful with these
> > patches:
> >
> > http://hg.dovecot.org/dovecot-2.0/rev/eac54c2dc98b
> > http://hg.dovecot.org/dovecot-2.0/rev/63ed0d3f4f52
> > http://hg.dovecot.org/dovecot-2.0/rev/2cb0fb910441
>
> It seems to work now. Message were expunged today and  'doveadm search -A
> mailbox Trash savedbefore d' still shows me messages that are four
> days old or younger.

Big surprise: Something bad must have happened after the messages were deleted 
from Trash; now all messages are zero days old.

Regards
  Christoph


Re: [Dovecot] Problem with expire plugin and expunge

2011-03-12 Thread Christoph Pleger
Hello,

Timo Sirainen wrote:

> > Does anyone have an idea what is going wrong with the timestamps?
>
> So it's as if the timestamp keeps changing to the newest deleted
> message.. Maybe mail_debug=yes shows something helpful with these
> patches:
>
> http://hg.dovecot.org/dovecot-2.0/rev/eac54c2dc98b
> http://hg.dovecot.org/dovecot-2.0/rev/63ed0d3f4f52
> http://hg.dovecot.org/dovecot-2.0/rev/2cb0fb910441

It seems to work now. Message were expunged today and  'doveadm search -A 
mailbox Trash savedbefore d' still shows me messages that are four days 
old or younger.

Regards
  Christoph


Re: [Dovecot] Problem with expire plugin and expunge

2011-03-06 Thread Christoph Pleger
Hello,

Timo Sirainen wrote:

> Are the timestamps wrong in the database? They should contain the
> timestamp of the oldest save-date of message in the mailbox.

Today, messages from Trash have been expunged again.

The only timestamp in the database is  Sun Mar  6 08:37:55 UTC 2011. This is 
obviously not the time from when the oldest message in the Trash mailbox was 
moved into that mailbox; I am moving messages to Trash every day.

Does anyone have an idea what is going wrong with the timestamps?

Regards
  Christoph


Re: [Dovecot] Problem with expire plugin and expunge

2011-02-28 Thread Christoph Pleger
Hello,

How can I look at the timestamps? By opening my database with sqlite3 and then 
enter "select * from expires;"? I did that and it showed:

christoph|Trash|1298917682

How can I check if this timestamp is correct? It is not really human readable.

> doveadm fetch -u user@domain date.saved mailbox Trash 1

This tells me:

date.saved: 2011-02-23 18:44:16

But 'doveadm search' shows me no messages older than zero days, see below.



For testing, I have set the expunge interval to five days, that means that 
messages are to be deleted five days after they have been moved to Trash. 
Today, this became true for the first time and I have the same problem as 
before: The oldest messages have been deleted, but newer messages, which have 
been four, three, two or one days old before (due to 'doveadm search') are 
now all zero days old.

Surprisingly, I did not even get output from the cron job. On the other days, 
I got:


/etc/cron.daily/dovecot:
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from 
directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Module 
loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() 
failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: 
undefined symbol: quota_user_module (this is usually intentional, so just 
ignore this message)
doveadm: Debug: Skipping module doveadm_zlib_plugin, because dlopen() 
failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: 
undefined symbol: i_stream_create_deflate (this is usually intentional, so 
just ignore this message)
doveadm: Debug: expire: Searching only users listed in expire database

doveadm: Debug: expire: Stopping iteration on key 
shared/expire/christoph/Trash (1298413406 > 1298360493)
doveadm: Debug: Loading modules from directory: /usr/lib/dovecot/modules
doveadm: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_expire_plugin.so
doveadm: Debug: Loading modules from 
directory: /usr/lib/dovecot/modules/doveadm
doveadm: Debug: Module 
loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so
doveadm: Debug: Skipping module doveadm_quota_plugin, because dlopen() 
failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: 
undefined symbol: quota_user_module (this is usually intentional, so just 
ignore this message)
doveadm: Debug: Skipping module doveadm_zlib_plugin, because dlopen() 
failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: 
undefined symbol: i_stream_create_deflate (this is usually intentional, so 
just ignore this message)
doveadm: Debug: expire: Searching only users listed in expire database
doveadm: Debug: expire: Stopping iteration on key 
shared/expire/christoph/Trash (1298413406 > 1298360493)


But it is possible that I did not receive output because I was just shutting 
down the computer, because my mail system is still in a test phase and I do 
not yet have a hardware which I can use exclusively for the mail server.

Is it possible that expire/expunge works only if the mailbox is in maildir 
format, with every mail in a single file? I am using mdbox right now.

Best regards
  Christoph
  

On Tuesday, 22 February 2011 10:07:40 Timo Sirainen wrote:

> On Sat, 2011-02-19 at 10:10 +0100, Christoph Pleger wrote:
> > I started to use the expire plugin about one month ago. Since then,
> > using "doveadm search -A mailbox Trash savedbefore " with different
> > values for , I could see every day how the messages were getting
> > older. Yesterday was the first time that the expression "savedbefore 30d"
> > became true for the oldest messages in the Trash mailbox and these
> > messages were actually deleted from Trash. But today, all messages that
> > were not deleted yesterday are new to "doveadm search", that means that
> > "doveadm search -A mailbox Trash savedbefore 0d" shows all messages from
> > Trash, but "doveadm search -A mailbox Trash savedbefore 1d" shows no
> > messages from Trash, though during the last month I moved messages to
> > Trash every day.
>
> Are the timestamps wrong in the database? They should contain the
> timestamp of the oldest save-date of message in the mailbox.
>
> Also check that the save-dates are as expected in the mailbox itself:
>
> doveadm fetch -u user@domain date.saved mailbox Trash 1
>
> And finally, I added some more helpful error and debug logging (which
> you'll get with doveadm -D):
> http://hg.dovecot.org/dovecot-2.0/raw-rev/9862e8388a1c




Re: [Dovecot] Problem with expire plugin and expunge

2011-02-22 Thread Christoph Pleger
Hello,

> Are the timestamps wrong in the database? They should contain the
> timestamp of the oldest save-date of message in the mailbox.

How can I look at the timestamps and check them? I opened my database with 
sqlite3 and entered "select * from expires;" this showed only one line:

christoph|Trash|1298413406


>
> Also check that the save-dates are as expected in the mailbox itself:
>
> doveadm fetch -u user@domain date.saved mailbox Trash 1

This tells me: 

date.saved: 2011-01-21 18:15:10

But 'doveadm search' shows me no messages older than three days ...

Regards
  Christoph


[Dovecot] Problem with expire plugin and expunge

2011-02-19 Thread Christoph Pleger
Hello,

I am running dovecot 2.0.9 with expire plugin, using the sqlite backend. The 
following command is executed every day by cron:

doveadm expunge -A mailbox Trash savedbefore 30d


I started to use the expire plugin about one month ago. Since then, 
using "doveadm search -A mailbox Trash savedbefore " with different 
values for , I could see every day how the messages were getting older.  
Yesterday was the first time that the expression "savedbefore 30d" became 
true for the oldest messages in the Trash mailbox and these messages were 
actually deleted from Trash. But today, all messages that were not deleted 
yesterday are new to "doveadm search", that means that "doveadm search -A 
mailbox Trash savedbefore 0d" shows all messages from Trash, but "doveadm 
search -A mailbox Trash savedbefore 1d" shows no messages from Trash, though 
during the last month I moved messages to Trash every day.

Best Regards
  Christoph


[Dovecot] Using -s in "doveadm mailbox create"

2011-02-09 Thread Christoph Pleger
Hello,

it seems that "doveadm mailbox create" does not handle the mailbox parameters 
correctly if used with the "-s"-Parameter.

I am using the following command in a script for adding new users:

doveadm mailbox create -u "${ACCOUNT}" -s INBOX Drafts Sent Trash Spam 
Templates

This creates mailboxes Drafts, Sent, Trash, Spam and Templates, but not INBOX. 
Likewise, when I omit INBOX in the command, only Sent, Trash, Spam and 
Templates are created, but not Drafts. With only one mailbox parameter, I get 
an error message about incorrect usage. When I enter the command without 
the "-s"-Parameter, all given mailboxes are created.

As a workaround, I have to use the command without "-s" first and then 
call "doveadm mailbox subscribe".

Regards
  Christoph   


[Dovecot] Copying sieve scripts

2011-01-30 Thread Christoph Pleger
Hello,

I am using squirrelmail with avelsieve to edit my filter rules. The filter 
rules are like this:

1. If the message contains a virus, delete the mail and notify me by email.
2. If the message is spam, deliver it to my spam folder.
3. If the message is from the dovecot mailing list, deliver it to my dovecot 
folder

Yesterday, I created a new user and wanted to let him have rules 1 and 2 like 
above, only with another destination for email notification. So, I copied my 
sieve script into the sieve directory of the new user, deleted rule 3, 
changed the destination for email notification and then called sievec to 
compile the rule set.

But this did not work like expected: Using squirrelmail, I saw that the new 
user had only rules 1 and 2, but the destination in rule 1 still contains my 
email address. My own account still has three rules.

So, this simple way of copying sieve scripts does not work. Is there another 
way to copy sieve rules from one user to another?

Regards
  Christoph

  


Re: [Dovecot] Expire plugin does not work

2010-12-17 Thread Christoph Pleger
Hello,

> But if it's 0666, I'm not really sure what the problem could be. You
> could try if dict can access it as root:
>
> service dict {
>   user = root
> }

I have found the solution: The directory where the sqlite3 database resides 
must be writable by the dovecot user. 

Regards
  Christoph


Re: [Dovecot] Expire plugin does not work

2010-12-16 Thread Christoph Pleger
Hello,

I forgot to mention the dovecot version number. It is version 2.0.7.

Regards
  Christoph


[Dovecot] Expire plugin does not work

2010-12-16 Thread Christoph Pleger
Hello,

I followed the instructions on http://wiki2.dovecot.org/Plugins/Expire to 
configure the expire plugin, but when I move a message to the Trash folder, I 
get the following error messages in my logfile:

dovecot: dict: Error: sqlite: exec(INSERT INTO expires 
(expire_stamp,username,mailbox) VALUES ('1292525469','christoph','Trash')) 
failed: unable to open database file (14)

dovecot: dict: Error: sql dict: commit failed:

I have attached a "dovecot -n"-generated dovecot.conf, the configuration file 
for the expire dict service, and my sqlite3 database file. In my filesystem, 
dovecot-dict.sqlite currently has permissions 666.

Regards
  Christoph
# 2.0.7: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-bpo.5-amd64 x86_64 Debian 5.0.7 
auth_mechanisms = plain login
dict {
  expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_uid = 122
last_valid_uid = 122
mail_gid = vmail
mail_location = mdbox:~/mdbox
mail_plugins = " expire"
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy 
include variables body enotify environment mailbox date
passdb {
  args = scheme=PLAIN-MD5 username_format=%Ln /etc/dovecot/databases/users
  driver = passwd-file
}
plugin {
  antispam_backend = SPOOL2DIR
  antispam_spam = Spam
  antispam_spool2dir_notspam = %h/ham/%%020lu-%%05lu
  antispam_spool2dir_spam = %h/spam/%%020lu-%%05lu
  antispam_trash = Trash
  expire = Spam
  expire2 = Trash
  expire_dict = proxy::expire
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = imap lmtp sieve
service auth {
  unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
  }
}
service dict {
  unix_listener dict {
group = vmail
mode = 0660
user = vmail
  }
}
service imap-login {
  inet_listener imap {
port = 0
  }
  inet_listener imaps {
port = 993
ssl = yes
  }
}
service lmtp {
  unix_listener lmtp {
group = dspam
mode = 0660
user = root
  }
}
service managesieve-login {
  inet_listener sieve {
port = 4190
  }
  inet_listener sieve_deprecated {
port = 2000
  }
}
service pop3-login {
  inet_listener pop3 {
port = 0
  }
  inet_listener pop3s {
port = 0
ssl = yes
  }
}
ssl_cert = connect = /etc/dovecot/dovecot-dict.sqlite

# CREATE TABLE quota (
#   username varchar(100) not null,
#   bytes bigint not null default 0,
#   messages integer not null default 0,
#   primary key (username)
# );

map {
  pattern = priv/quota/storage
  table = quota
  username_field = username
  value_field = bytes
}
map {
  pattern = priv/quota/messages
  table = quota
  username_field = username
  value_field = messages
}

# CREATE TABLE expires (
#   username varchar(100) not null,
#   mailbox varchar(255) not null,
#   expire_stamp integer not null,
#   primary key (username, mailbox)
# );

map {
  pattern = shared/expire/$user/$mailbox
  table = expires
  value_field = expire_stamp

  fields {
username = $user
mailbox = $mailbox
  }
}


dovecot-dict.sqlite
Description: application/sqlite3


Re: [Dovecot] Sieve not working

2010-11-07 Thread Christoph Pleger
Hello,

> > I installed dovecot 2.0.6 and pigeonhole 0.2.1 on my system, but I guess
> > that sieve is not working, because netstat does not show that anything is
> > listening to ports 2000 and 4190.
>
> You mean that the Sieve protocol (ManageSieve) is not working.
>
> > protocols = imap lmtp
>
> Add 'sieve' to this setting.

Hm, I thought that I had already done that by uncommenting the following line 
in /etc/dovecot/conf.d/20-managesieve.conf:

protocols = $protocols sieve

But now I see that this is overwritten in dovecot.conf, because I uncommented 
the line "#protocols = imap pop3 lmtp" in that file and explicitly 
set "protocols = imap lmtp" and that overwrites the setting in 
conf.d/20-managesieve.conf.

In my opinion, my problem is a direct result of a design error in the default 
dovecot.conf. This is an excerpt:

# Most of the actual configuration gets included below. The filenames are
# first sorted by their ASCII value and parsed in that order. The 00-prefixes
# in filenames are intended to make it easier to understand the ordering.
!include conf.d/*.conf

# Protocols we want to be serving.
#protocols = imap pop3 lmtp

This is an excerpt of conf.d/20-managesieve.conf:

# Uncomment to enable managesieve protocol:
#protocols = $protocols sieve

Looking closely to this, it is obvious that uncommenting the protocols-lines 
in both files will not make managesieve available, because the protocols-line 
from dovecot.conf is evaluated after the protocols-line from 
conf.d/20-managesieve.conf.

I suggest to change the default dovecot.conf so that the files from conf.d/ 
are included at the end, not at the beginning.

Regards
  Christoph






[Dovecot] Sieve not working

2010-11-07 Thread Christoph Pleger
Hello,

I installed dovecot 2.0.6 and pigeonhole 0.2.1 on my system, but I guess that 
sieve is not working, because netstat does not show that anything is listening 
to ports 2000 and 4190.

Regards
  Christoph

# 2.0.6 (601065674f74): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-bpo.5-amd64 x86_64 Debian 5.0.6
auth_mechanisms = plain login
disable_plaintext_auth = no
first_valid_uid = 122
last_valid_uid = 122
mail_gid = vmail
mail_location = mdbox:~/mdbox
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags 
copy include variables body enotify environment mailbox date
passdb {
  args = scheme=MD5-CRYPT username_format=%Ln /etc/dovecot/users
  driver = passwd-file
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = imap lmtp
service auth {
  unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
  }
}
service imap-login {
  inet_listener imap {
port = 0
  }
  inet_listener imaps {
port = 993
ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
port = 4190
  }
  inet_listener sieve_deprecated {
port = 2000
  }
}
ssl_cert =