[Dovecot-news] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10

2010-01-25 Thread Stephan Bosch
Hello Dovecot users,

It's been a while since the last Pigeonhole Sieve and ManageSieve 
releases. That is why this release includes quite a few changes. Most 
interestingly, the include extension is updated to match the most recent 
specification, the Sieve interpreter now includes plugin support and 
ManageSieve now has support for enforcing quota on the size of scripts, 
the number of scripts and the space the scripts occupy on disk.

Other than that, quite a few small bugs were fixed. One of which was in 
the i;ascii-numeric comparator. If one of the matched strings did not 
start with a digit, the comparator would always yield a 'less-than' 
result. In stead it should have considered the string starting with the 
non-digit character as having a positive infinite value. Elsewhere in 
this list, Julian Cowley pointed out that negative values also start 
with a non-digit character, which some people may not have understood 
(i.e. i;ascii-numeric works only on unsigned values). The bug fix in 
this release could therefore change result of certain misconceived (and 
probably spam-related) Sieve rules, so watch out!

I started work on the spamtest(plus) and virustest extensions. These are 
  implemented for the most part, but their configurability needs quite a 
bit more work.

Changelog Sieve v0.1.15:

  * Enotify extension:
 - Adjusted notify method API for addition of new notification
   methods.
 - Set default importance level to 'normal' (was 'high').
  * Include extension: updated implementation towards most recent
specification (all should be backwards compatible):
 - Implemented global variables namespace.
 - Global command may now appear anywhere in a script.
 - Implemented script name checking using the requirements specified
   in the ManageSieve draft.
 - One issue remains: ManageSieve currently requires included scripts
   to be uploaded first, which is not according to specification.
   * Changed envelope path parser to allow to and from envelope addresses
 that have no domain part.
   + Added preliminary support for Sieve plugins and added support for
 installing Sieve development headers.
   + Started work on the implementation of the spamtest, spamtestplus and
 virustest extensions (unfinished).
   + Deprecated notify extension: implemented denotify command.
   + Variables extension: added support for variable namespaces.
   + Added configurable script size limit. Compiler will refuse to
 compile files larger than sieve_max_script_size.
   + Testsuite changes:
  - Added support for changing and testing an extension's
configuration.
  - Added a command line parameter for copying errors to stderr.
   - Fixed a bug in the i;ascii-numeric comparator. If one of the
 strings started with a non-digit character, the comparator would
 always yield less-than.
   - Imap4flags extension: fixed bug in removeflag: removing a single
 flag failed due to off-by-one error (bug report by Julian Cowley).
   - Improved EACCES error messages for stat() and lstat() syscalls and
 slightly improved error messages that may uccur when saving a
 binary.
   - Vacation extension: fixed typo in runtime log message (patch by
 Julian Cowley).
   - Fixed use of minus '-' in man pages; it is now properly escaped.
   - Fixed parser recovery. In particular cases it would trigger spurious
 errors after an initial valid error and sometimes additional errors
 were inappropriately ignored.

Changelog ManageSieve v0.11.11:

   * This release contains adjustments to match changes in the Sieve API.
 This means that this release will only compile against Pigeonhole
 Sieve v0.1.15.
   + Implemented ManageSieve QUOTA enforcement.
   + Added MAXREDIRECTS capability after login.
   + Implemented new script name rules specified in most recent
 ManageSieve draft.
   - Fixed assertion failure occuring with challenge-response SASL
 mechanisms.
   - Made configure complain about trying to compile against installed
 Dovecot headers alone.
   - Fixed compile warning for compilation against CMUSieve.

The releases are available as follows:

   Sieve:

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz.sig

   ManageSieve (package + patch):

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz.sig

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff.gz.sig


Refer to http://pigeonhole.dovecot.org for more information. Have fun
testing the new releases and don't hesitate to notify me when there are
problems.

Regards,

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










___
Dovecot-news mailing list

[Dovecot] backup restore mailbox files manually

2010-01-25 Thread coolatt


Hi ALL...

Am working on a solution to backup maildir mailboxes using rsync.
All mailbox directories are mirrored on another machine.

I need advise regarding restore of the INBOX  SENT files from the backup.

For e.g , [1] Can I just copy  file-x-y-z from /Maildir/cur to restore it
on /Maildir/cur on the mailserver.
 [2] Can I do same for SENT emails ?

Thanks
CoolAtt
-- 
View this message in context: 
http://old.nabble.com/backup---restore-mailbox-files-manually-tp27303434p27303434.html
Sent from the Dovecot mailing list archive at Nabble.com.



[Dovecot] acl flag to limit imap_acl based acl changes

2010-01-25 Thread Amon Ott
Hi all!

I have tried the imap_acl plugin with 1.2.9 today, but was not able to limit 
acl changes for those mailboxes where acl changes should be forbidden.

http://wiki.dovecot.org/ACL says that a or admin covers Administration 
rights to the mailbox. However, removing a from owner acl (using lr) 
does not help, the user can still change all acl flags for all users with 
imap. Write accesses to mails are forbidden as they should.

Is this intended or a bug?

We would like to give all users the ability to use ACLs through IMAP, but the 
current behaviour endangers our read-only mail archives.

Amon Ott
-- 
Dr. Amon Ott - m-privacy GmbH
Am Köllnischen Park 1, 10179 Berlin
Tel: +49 30 24342334
Fax: +49 30 24342336
Web: http://www.m-privacy.de
Handelsregister:
 Amtsgericht Charlottenburg HRB 84946
Geschäftsführer:
 Dipl.-Kfm. Holger Maczkowsky,
 Roman Maczkowsky
GnuPG-Key-ID: EA898571


[Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10

2010-01-25 Thread Stephan Bosch

Hello Dovecot users,

It's been a while since the last Pigeonhole Sieve and ManageSieve 
releases. That is why this release includes quite a few changes. Most 
interestingly, the include extension is updated to match the most recent 
specification, the Sieve interpreter now includes plugin support and 
ManageSieve now has support for enforcing quota on the size of scripts, 
the number of scripts and the space the scripts occupy on disk.


Other than that, quite a few small bugs were fixed. One of which was in 
the i;ascii-numeric comparator. If one of the matched strings did not 
start with a digit, the comparator would always yield a 'less-than' 
result. In stead it should have considered the string starting with the 
non-digit character as having a positive infinite value. Elsewhere in 
this list, Julian Cowley pointed out that negative values also start 
with a non-digit character, which some people may not have understood 
(i.e. i;ascii-numeric works only on unsigned values). The bug fix in 
this release could therefore change result of certain misconceived (and 
probably spam-related) Sieve rules, so watch out!


I started work on the spamtest(plus) and virustest extensions. These are 
 implemented for the most part, but their configurability needs quite a 
bit more work.


Changelog Sieve v0.1.15:

 * Enotify extension:
- Adjusted notify method API for addition of new notification
  methods.
- Set default importance level to 'normal' (was 'high').
 * Include extension: updated implementation towards most recent
   specification (all should be backwards compatible):
- Implemented global variables namespace.
- Global command may now appear anywhere in a script.
- Implemented script name checking using the requirements specified
  in the ManageSieve draft.
- One issue remains: ManageSieve currently requires included scripts
  to be uploaded first, which is not according to specification.
  * Changed envelope path parser to allow to and from envelope addresses
that have no domain part.
  + Added preliminary support for Sieve plugins and added support for
installing Sieve development headers.
  + Started work on the implementation of the spamtest, spamtestplus and
virustest extensions (unfinished).
  + Deprecated notify extension: implemented denotify command.
  + Variables extension: added support for variable namespaces.
  + Added configurable script size limit. Compiler will refuse to
compile files larger than sieve_max_script_size.
  + Testsuite changes:
 - Added support for changing and testing an extension's
   configuration.
 - Added a command line parameter for copying errors to stderr.
  - Fixed a bug in the i;ascii-numeric comparator. If one of the
strings started with a non-digit character, the comparator would
always yield less-than.
  - Imap4flags extension: fixed bug in removeflag: removing a single
flag failed due to off-by-one error (bug report by Julian Cowley).
  - Improved EACCES error messages for stat() and lstat() syscalls and
slightly improved error messages that may uccur when saving a
binary.
  - Vacation extension: fixed typo in runtime log message (patch by
Julian Cowley).
  - Fixed use of minus '-' in man pages; it is now properly escaped.
  - Fixed parser recovery. In particular cases it would trigger spurious
errors after an initial valid error and sometimes additional errors
were inappropriately ignored.

Changelog ManageSieve v0.11.11:

  * This release contains adjustments to match changes in the Sieve API.
This means that this release will only compile against Pigeonhole
Sieve v0.1.15.
  + Implemented ManageSieve QUOTA enforcement.
  + Added MAXREDIRECTS capability after login.
  + Implemented new script name rules specified in most recent
ManageSieve draft.
  - Fixed assertion failure occuring with challenge-response SASL
mechanisms.
  - Made configure complain about trying to compile against installed
Dovecot headers alone.
  - Fixed compile warning for compilation against CMUSieve.

The releases are available as follows:

  Sieve:

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz.sig

  ManageSieve (package + patch):

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-managesieve-0.11.11.tar.gz.sig

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2.10-managesieve-0.11.11.diff.gz.sig


Refer to http://pigeonhole.dovecot.org for more information. Have fun
testing the new releases and don't hesitate to notify me when there are
problems.

Regards,

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












[Dovecot] blocked for xx secs

2010-01-25 Thread Andrew Hearn
Hello,

Occasionally (a few times a day) we get batches of Warnings in the log
such as:
 dovecot: Warning: chdir(/maildir/x.co.uk/users/y) blocked for 18 secs
This tends to last a minute or so for different users.

/maildir is a NFS mount, and I'm suspecting it's the NFS server being
busy and dovecot having to wait.

Other than replacing the NFS server with faster hardware is there
anything else we can do?

Indexes are local, and Maildir is on the NFS.

Dovecot 1.2.5
using:
mail_nfs_storage = yes
mmap_disable = no


NFS mounted as;
/maildir on /.automount/a.diskless/root/mail type nfs
(nosuid,nodev,noatime,vers=3,proto=tcp)


TIA
-- 
Andrew


[Dovecot] Delete messages with archivemail

2010-01-25 Thread gstyle
Hi,

I have set up a dovecot imap server (Version 1.0.15 on Debain Lenny).

Until know I used courier.

Every night I run a script calling archivemail (
http://archivemail.sourceforge.net/) to delete all messages in the Spam
folder that are older than 30 days

archivemail deletes the files directly in the Maildir folder. I am not using
IMAP for this (cause I don't want to store the passwords in plain text).

I know that dovecot uses index files to speed up Maildir access. Will there
be any problems with the index files when I delete the old spam like this?

Cheers
Mario


Re: [Dovecot] backup restore mailbox files manually

2010-01-25 Thread Steffen Kaiser

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mon, 25 Jan 2010, coolatt wrote:


Am working on a solution to backup maildir mailboxes using rsync.
All mailbox directories are mirrored on another machine.

I need advise regarding restore of the INBOX  SENT files from the backup.

For e.g , [1] Can I just copy  file-x-y-z from /Maildir/cur to restore it
on /Maildir/cur on the mailserver.
[2] Can I do same for SENT emails ?


You can do so. But it can lead to duplicate mail, because the filename is 
not static, e.g. message status or keyword changes are reflected there.


There had been a thread lastly about this topic (well, a minor bit 
differently); I restore the mails to a completely different folder and let 
the user pick the messages and re-file them into specific mailfolders.


Others suggested to use a script to verify filename stem (before the 
colon), e.g. restore to tmp/, then check new/ and cur/, if there exists a 
file with the same stem. However, there had been said that there is a 
possible race condition, if the message flags are changed simultaneously.


Regards,

- -- 
Steffen Kaiser

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iQEVAwUBS12ub7+Vh58GPL/cAQIiFggAsbf34qad697fbVHlAZ5VmuUaurKzc9hk
8zAqtP4zc2Tu8U9ZtMwNg1Sxw7ikYxdU5kz4JmbICVoaK4fnauXv41DZlBwgnWEw
XgFa6CiIsuVKRxgB8FeWO6X63oijOMhoqF3dJDET+RzTLiCZkj47zZaA/0JYFOYu
BV/rGfmWqT2zDdHYHI8cMjzyPzuwnYbRBDjUdScNwH35BZOKykI4/EyMmmUdfiIO
EqPlj0sSSCRroBztRoQMVyIoTkL5MV3hGDRgWKP1yc0YT9SLlzjQXY0TylumNHXH
nEjjDozOfwq7E7TrBsct68OPXMfBUB0IQ/JbHtGlhhwh6B6p8qqgxQ==
=xC+M
-END PGP SIGNATURE-


Re: [Dovecot] Delete messages with archivemail

2010-01-25 Thread Steffen Kaiser

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mon, 25 Jan 2010, gstyle wrote:


I know that dovecot uses index files to speed up Maildir access. Will there
be any problems with the index files when I delete the old spam like this?


No, but the usual problems with distributed IMAP: e.g. an already 
connected client might not honor the removal before a manual refresh.


Regards,

- -- 
Steffen Kaiser

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iQEVAwUBS12vVr+Vh58GPL/cAQLHYgf/UrYDMPW43eV3WKaCcZYgdC4/BPU6E1ey
odzFqZiTBEHMlz0//MV4+X6ktWGttvMY4fxfigan28Hnztfr+//RQl/g/AHBvor/
S/9OVrdBrsGNNvWfarG/wOuxwhzlwZg++nWfkJPcu4m0MN4YFUTGmeQzVvWZ1LY9
5w4edG3PTDYttKQn04J+d/mFfizq6FCialdw5jybt24ABkp+536ogmAGPzorZVno
SpiLtIDF+ok7b+Zc+OSbf9JJUoXmAtaV+Z+Tx7t5MsTZaA4K9zrJCMxjLJ7TdYqp
pdQPg/u5PeZu7eIMWtqMoIku3reszIlBqOEK9/2GouOCNOgYDscD/A==
=H51B
-END PGP SIGNATURE-


[Dovecot] still asserts with 1.2.10

2010-01-25 Thread Matthias Rieber

Hi,

I've still asserts while accessing virtual folders:

Program terminated with signal 6, Aborted.
[New process 6714]
#0  0xf7e57556 in raise () from /lib/libc.so.6
#0  0xf7e57556 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0xf7e58d78 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x080f2eb5 in default_fatal_finish (type=value optimized out, status=0) 
at failures.c:160
backtrace = 0x97a9978 imap [0x80f2ea1] - imap [0x80f2f22] - imap [0x80f2879] - 
imap(index_search_result_update_flags+0x295) [0x80b2435] - 
/usr/local/lib/dovecot/imap/lib20_virtual_plugin.so [0xf7ca238d] - /usr/local/l...
#3  0x080f2f22 in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x810baec file 
%s: line %d (%s): assertion failed: (%s), args=0xff805294 ?\021\bW) at 
failures.c:443
No locals.
#4  0x080f2879 in i_panic (format=0x810baec file %s: line %d (%s): assertion 
failed: (%s)) at failures.c:207
No locals.
#5  0x080b2435 in index_search_result_update_flags (result=0x97e49c8, 
uids=0xff805540) at index-search-result.c:87
search_arg = {next = 0x97be3d0, type = SEARCH_UIDSET, value = {subargs 
= 0x0, seqset = {arr = {buffer = 0x97a9528, element_size = 8}, v = 0x97a9528, 
v_modifiable = 0x97a9528}, str = 0x0, time = 0,
size = 0, flags = 0, search_flags = 0, thread_type = MAIL_THREAD_NONE, 
keywords = 0x0, modseq = 0x0, search_args = 0x0, search_result = 0x0}, context 
= 0x0, hdr_field_name = 0x0, not = 0, match_always = 0,
  result = -1}
ret = value optimized out
__PRETTY_FUNCTION__ = index_search_result_update_flags
#6  0xf7ca238d in virtual_sync_backend_boxes (ctx=0x97dd378) at 
virtual-sync.c:733
_data_stack_cur_id = 4
i = 0
ret = 97
#7  0xf7ca326b in virtual_storage_sync_init (box=0x97bca58, flags=65) at 
virtual-sync.c:1486
sync_ctx = value optimized out
ret = value optimized out
#8  0x080b6bd2 in mailbox_sync (box=0x1a3a, flags=65, status_items=239, 
status_r=0xff805728) at mail-storage.c:593
ctx = value optimized out
#9  0x08065238 in cmd_select_full (cmd=0x97b6aa8, readonly=false) at 
cmd-select.c:273
client = (struct client *) 0x97b6818
box = (struct mailbox *) 0xff805798
ctx = (struct imap_select_context *) 0x97b6b58
args = (const struct imap_arg *) 0x97b9328
mailbox = 0x97a92f0 spam/disagree/spamassassin
ret = value optimized out
__PRETTY_FUNCTION__ = cmd_select_full
#10 0x08065999 in cmd_select (cmd=0x97b6aa8) at cmd-select.c:389
No locals.
#11 0x08067c7c in client_command_input (cmd=0x97b6aa8) at client.c:612
client = (struct client *) 0x97b6818
command = value optimized out
__PRETTY_FUNCTION__ = client_command_input
#12 0x08067d19 in client_command_input (cmd=0x97b6aa8) at client.c:661
client = (struct client *) 0x97b6818
command = value optimized out
__PRETTY_FUNCTION__ = client_command_input
#13 0x08067e8d in client_handle_input (client=0x97b6818) at client.c:702
_data_stack_cur_id = 3
ret = false
remove_io = value optimized out
handled_commands = false
__PRETTY_FUNCTION__ = client_handle_input
#14 0x080687ef in client_input (client=0x97b6818) at client.c:753
cmd = value optimized out
output = (struct ostream *) 0x97b69cc
bytes = value optimized out
__PRETTY_FUNCTION__ = client_input
#15 0x080fbc50 in io_loop_handler_run (ioloop=0x97b11c8) at ioloop-epoll.c:208
ctx = (struct ioloop_handler_context *) 0x97b1c38
event = (const struct epoll_event *) 0x97b1c78
list = (struct io_list *) 0x97b6a50
io = (struct io_file *) 0x97b6a28
tv = {tv_sec = 1799, tv_usec = 999662}
t_id = 2
msecs = value optimized out
ret = 1
i = 0
j = 0
call = value optimized out
#16 0x080fb0c0 in io_loop_run (ioloop=0x97b11c8) at ioloop.c:335
No locals.
#17 0x080712fa in main (argc=) at main.c:327
No locals.




Program terminated with signal 6, Aborted.
[New process 11609]
#0  0xf7db6556 in raise () from /lib/libc.so.6
#0  0xf7db6556 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0xf7db7d78 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x080f2eb5 in default_fatal_finish (type=value optimized out, status=0) 
at failures.c:160
backtrace = 0x986b978 imap [0x80f2ea1] - imap [0x80f2f22] - imap [0x80f2879] - 
imap(index_search_result_update_flags+0x295) [0x80b2435] - 
/usr/local/lib/dovecot/imap/lib20_virtual_plugin.so [0xf7c0138d] - /usr/local/l...
#3  0x080f2f22 in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x810baec file 
%s: line %d (%s): assertion failed: (%s), args=0xffc2fa54 ?\021\bW) at 
failures.c:443
No locals.
#4  0x080f2879 in i_panic (format=0x810baec file %s: line %d (%s): assertion 
failed: (%s)) at failures.c:207
No locals.
#5  0x080b2435 in 

Re: [Dovecot] Delete messages with archivemail

2010-01-25 Thread Charles Marcus
On 2010-01-25 8:53 AM, gstyle wrote:
 Every night I run a script calling archivemail (
 http://archivemail.sourceforge.net/) to delete all messages in the Spam
 folder that are older than 30 days
 
 archivemail deletes the files directly in the Maildir folder. I am not using
 IMAP for this (cause I don't want to store the passwords in plain text).
 
 I know that dovecot uses index files to speed up Maildir access. Will there
 be any problems with the index files when I delete the old spam like this?

No, the indexes are self-healing, but...

You'd be better off upgrading to the latest stable version (via
backports) and using the expire plugin - its made for doing things just
like this.

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

-- 

Best regards,

Charles


Re: [Dovecot] Delete messages with archivemail

2010-01-25 Thread gstyle
2010/1/25 Charles Marcus cmar...@media-brokers.com



 You'd be better off upgrading to the latest stable version (via
 backports) and using the expire plugin - its made for doing things just
 like this.

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

 Mh... could be an option...
Do I only install the new packages and tweak the config, or do I have to
convert the Maildirs in any way for an upgrade from Dovecot 1.0?

Anything importent to consider for the upgrade?

Cheers
Mario


Re: [Dovecot] Delete messages with archivemail

2010-01-25 Thread Charles Marcus
On 2010-01-25 10:52 AM, gstyle wrote:
 Do I only install the new packages and tweak the config, or do I have to
 convert the Maildirs in any way for an upgrade from Dovecot 1.0?
 
 Anything importent to consider for the upgrade?

http://wiki.dovecot.org/Upgrading/

If you're already using maildir, then no, nothing to convert there, but
I think there may be a few config changes, so, as always, read the
upgrade pages carefully...

-- 

Best regards,

Charles


Re: [Dovecot] Delete messages with archivemail

2010-01-25 Thread Dennis Guhl

gstyle schrieb:

2010/1/25 Charles Marcus cmar...@media-brokers.com


Moin


You'd be better off upgrading to the latest stable version (via
backports) and using the expire plugin - its made for doing things just
like this.

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

Mh... could be an option...

Do I only install the new packages and tweak the config, or do I have to
convert the Maildirs in any way for an upgrade from Dovecot 1.0?


No, there are no problems with the Maildirs.


Anything importent to consider for the upgrade?


I encountered some trouble with the config file while using the old
1.0-configuration. Namely the plugins (sive, managedsieve and quota)
did not do what I wanted.

This was cured in fifteen minutes by copying my changes from my old
config file in the one delivered with 1.2.

In all cases you should read the webpages addressing the upgrades.


Cheers
Mario



Bye
Dennis



[Dovecot] sieve or another vacation/autoreply

2010-01-25 Thread Lampa
Hello,

i'm trying to do some delivery notification for each incoming address.
Problem is that sieve vacation has :days but minimum value is 1 eg
period in which addresses
   are kept and are not responded to - but that is not that i want.

Is there other extension (in devel ???) or some other way (lda using
procmail or maildrop) how to implement my request ? (Before migration
we used qmail + procmail).

Thank you for your advices

-- 
Lampa


Re: [Dovecot] quick question

2010-01-25 Thread David Halik

On 01/22/2010 05:14 PM, Brandon Davidson wrote:


Yeah, as long as the users don't see it, I'm happy to live with the messages
in the log file.

-Brad

   


*sigh*, it looks like there still might be the occasional user visible 
issue. I was hoping that once the assert stopped happening, and the 
process stayed alive, that the users wouldn't see their inbox disappear 
and reappear apparently, this is still happening occasionally.


I just had user experience this with TB 2, and after looking at the logs 
I found the good ole' stale nfs message:


Jan 25 11:39:24 gehenna21 dovecot: IMAP(user): 
fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed: 
Stale NFS file handle


Fortunately, there were no other messages associated with it (assert or 
otherwise), but I was hoping to have seen the last of the users mail 
momentarily reloading.


For now they're just have to live with it until I either get proxy_maybe 
setup, or some other solution.


--

David Halik
System Administrator
OIT-CSS Rutgers University
dha...@jla.rutgers.edu




Re: [Dovecot] quick question

2010-01-25 Thread Charles Marcus
On 2010-01-25 12:57 PM, David Halik wrote:
 I just had user experience this with TB 2, and after looking at the logs
 I found the good ole' stale nfs message:

Maybe TB3 would be better behaved? It has many, many MAP improvements
over TB2... worth a try at least...

-- 

Best regards,

Charles


Re: [Dovecot] quick question

2010-01-25 Thread David Halik

On 01/25/2010 01:00 PM, Charles Marcus wrote:

On 2010-01-25 12:57 PM, David Halik wrote:
   

I just had user experience this with TB 2, and after looking at the logs
I found the good ole' stale nfs message:
 

Maybe TB3 would be better behaved? It has many, many MAP improvements
over TB2... worth a try at least...

   


I agree, I definitely want the user to try it... especially since 
they're technically inclined and can tell me one way or the other. I'm 
going to wait though until 3.0.3 comes out because of the CONDSTORE issues.


--

David Halik
System Administrator
OIT-CSS Rutgers University
dha...@jla.rutgers.edu




Re: [Dovecot] sieve or another vacation/autoreply

2010-01-25 Thread Stephan Bosch

Lampa wrote:

Hello,

i'm trying to do some delivery notification for each incoming address.
Problem is that sieve vacation has :days but minimum value is 1 eg
period in which addresses
   are kept and are not responded to - but that is not that i want.

Is there other extension (in devel ???) or some other way (lda using
procmail or maildrop) how to implement my request ? (Before migration
we used qmail + procmail).



I am not quite sure what you are trying to achieve with this, however 
I've devised something that matches your description:


require enotify;
require variables;
require envelope;

# Let's not reply to robots and mailing lists
if allof (not exists list-id,
anyof (not exists auto-submitted,
header auto-submitted no)) {

# Get the return path
if envelope :matches from * {

# URI-encode the recipient address when necessary
set :encodeurl from ${1};

# Send notification back to sender
notify :message Message received! mailto:${from};;
}
}

This is somewhat scary though.

Regards,

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


Re: [Dovecot] quick question

2010-01-25 Thread David Halik

On 01/25/2010 01:02 PM, David Halik wrote:

On 01/25/2010 01:00 PM, Charles Marcus wrote:

On 2010-01-25 12:57 PM, David Halik wrote:
I just had user experience this with TB 2, and after looking at the 
logs

I found the good ole' stale nfs message:

Maybe TB3 would be better behaved? It has many, many MAP improvements
over TB2... worth a try at least...



I agree, I definitely want the user to try it... especially since 
they're technically inclined and can tell me one way or the other. I'm 
going to wait though until 3.0.3 comes out because of the CONDSTORE 
issues.




Err, 3.0.2 rather. Speaking of which, I just was notified that the patch 
for approved for inclusion in 3.0.2. Now it just depends on how long it 
takes to be released.



--

David Halik
System Administrator
OIT-CSS Rutgers University
dha...@jla.rutgers.edu




Re: [Dovecot] quick question

2010-01-25 Thread Brandon Davidson
David,

 -Original Message-
 From: David Halik [mailto:dha...@jla.rutgers.edu]
 
 *sigh*, it looks like there still might be the occasional user visible
 issue. I was hoping that once the assert stopped happening, and the
 process stayed alive, that the users wouldn't see their inbox
disappear
 and reappear apparently, this is still happening occasionally.
 
 I just had user experience this with TB 2, and after looking at the
logs
 I found the good ole' stale nfs message:
 

Hmm, that's disappointing to hear. I haven't received any new reports
from our helpdesk, so maybe it's at least less visible?

 For now they're just have to live with it until I either get
proxy_maybe
 setup, or some other solution.

Let me know if you come up with anything. I'm not sure we want to add
MySQL as a dependency for our mail service... but I'm at least curious
to see how things perform with session affinity. I'll add it to my long
list of things to play with when I have time for such things...

-Brad


[Dovecot] Proxying to a DNS Name

2010-01-25 Thread Andreas Schulze
Hello,

reading the wiki I found
http://wiki.dovecot.org/PasswordDatabase/ExtraFields/Proxy?highlight=(no DNS 
resolving)

I have a setup where the destination of a proxyconnection is an DNS name.
Is there a technical reason which currently require host= to be an IP address ?

-- 
Andreas Schulze
Internetdienste | P532

DATEV eG
90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196
E-Mail info @datev.de | Internet www.datev.de
Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg 
Nr.70
Vorstand
Prof. Dieter Kempf (Vorsitzender)
Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender)
Dipl.-Kfm. Michael Leistenschneider
Jörg Rabe v. Pappenheim
Dipl.-Vw. Eckhard Schwarzer
Vorsitzender des Aufsichtsrates: Reinhard Verholen



GnuPG-Signatur.asc
Description: digitale Signatur dieser Nachricht von Andreas Schulze


Re: [Dovecot] mailbox format w/ separate headers/data

2010-01-25 Thread John Tobin
On Fri, Jan 22, 2010 at 09:03:42PM -0500, Charles Sprickman wrote:
 On Fri, 22 Jan 2010, Frank Cusack wrote:

 On January 22, 2010 11:05:22 PM +0200 Timo Sirainen t...@iki.fi wrote:
 Dunno about zfs, but I've heard that at least in one NetApp installation
 deduplication was way too heavyweight.

 zfs dedup is pretty resources intensive -- for writes.  For mail I
 suspect reads overwhelm writes?

 Sorry for the tangent, but I wonder if anyone here is running lots of  
 Maildirs on zfs?  I just recently started experimenting with it on our  
 backups server (FBSD 8.0), and I really am liking it.  I was also  
 surprised at how my little 4 drive raidz volume performed in benchmarks - 
 quite impressive.

We used to have our Maildirs on ZFS but we've moved to ext3.  ZFS worked
reasonably well, except for the days when it slowed down to less than
10% of normal throughput.  After a reboot or a couple of days of slow
running it would perform normally again.  This was on Solaris 10, at
most a couple of months behind on patches.  I had read the ZFS evil
tuning guide, and the ZFS best practices guide, but they didn't help.
It wasn't just mail that was slow - listing the contents of a small
directory could take over a minute.  We're much happier since switching
to ext3; I haven't worried about mail performance since.

-- 
John Tobin
No no no. You're supposed to test with -march=... -fomit-frame-pointer
-ffancy-math -fuse-lots-of-resources-go-very-fast -fsacrifice-more-goats
-fsummon-cthulu-if-that-helps as root at nice -20, preferably in single
user mode and jumps should be aligned on pentagrams, not 8 byte
boundaries.
Definitely not use debugging :-)
  -- Nicholas Clark, in perl6-internals


[Dovecot] dovecot 1.2.9 crash on subscribe with shared namespace

2010-01-25 Thread Alessandro Bono
Hi all

I'm testing dovecot to migrate from a cyrus 2.2
With TB2 if I use subscribe dovecot crash but only if I enable a
shared namespace. Without explicit namespace or only with private
namespace subscribe works
Is this a problem already fixed in 1.2.10? is it a problem of my
configuration? I tried different value for location in shared namespace
but without any difference
Below some info + gdb backtrace + dovecot -n

Thanks

Dovecot is version 1:1.2.9-1ubuntu2 from ubuntu lucid recompiled for
ubuntu hardy on a xen domu amd64, fs is xfs


warning: Can't read pathname for load map: Input/output error.
Loaded symbols for /usr/lib/dovecot/imap  
Reading symbols from /lib/libdl.so.2...done.  
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/librt.so.1...done.  
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libc.so.6...done.   
Loaded symbols for /lib/libc.so.6 
Reading symbols from /lib/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib/libpthread.so.0...done. 
Loaded symbols for /lib/libpthread.so.0   
Reading symbols from /usr/lib/dovecot/modules/imap/lib01_acl_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/modules/imap/lib01_acl_plugin.so  
Reading symbols from 
/usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so...Reading symbols from 
/usr/lib/debug/usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so...done.
done.   

   
Loaded symbols for /usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so   

   
Core was generated by `imap [san...@mydomain.com x.x.x.x]'. 

   
Program terminated with signal 11, Segmentation fault.  

   
[New process 7474]  

   
#0  0x7fc4c0ff37f3 in t_malloc_real (size=512, permanent=false) at 
data-stack.c:306

306 data-stack.c: No such file or directory.

   
in data-stack.c
(gdb) bt full   

   
#0  0x7fc4c0ff37f3 in t_malloc_real (size=512, permanent=false) at 
data-stack.c:306

block = value optimized out   

   
ret = value optimized out 

   
alloc_size = value optimized out  

   
#1  0x7fc4c0ff39fb in t_buffer_get (size=512) at data-stack.c:445   

   
ret = (void *) 0x7fffb4dfc090   

   
#2  0x7fc4c100730e in vstrconcat (str1=0x7fc4c1010413 , 
args=0x7fffb4dfc070, ret_len=0x7fffb4dfc088) at strfuncs.c:161  
 
str = value optimized out 

   
temp = 0x0  

   
bufsize = 512   

   
i = 0   
  

Re: [Dovecot] quick question

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 12:57 -0500, David Halik wrote:
 Jan 25 11:39:24 gehenna21 dovecot: IMAP(user): 
 fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed: 
 Stale NFS file handle

Well, two possibilities:

a) The attached patch fixes this

b) Dotlocking isn't working for you..

diff -r 0ff07b4ad306 src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Jan 25 20:24:54 2010 +0200
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Jan 25 20:30:25 2010 +0200
@@ -904,11 +904,10 @@
 	}
 }
 
-int maildir_uidlist_refresh(struct maildir_uidlist *uidlist)
+static int maildir_uidlist_open_latest(struct maildir_uidlist *uidlist)
 {
-unsigned int i;
-bool retry, recreated;
-int ret;
+	bool recreated;
+	int ret;
 
 	if (uidlist-fd != -1) {
 		ret = maildir_uidlist_has_changed(uidlist, recreated);
@@ -918,10 +917,29 @@
 			return ret  0 ? -1 : 1;
 		}
 
-		if (recreated)
-			maildir_uidlist_close(uidlist);
+		if (!recreated)
+			return 0;
+		maildir_uidlist_close(uidlist);
 	}
 
+	uidlist-fd = nfs_safe_open(uidlist-path, O_RDWR);
+	if (uidlist-fd == -1  errno != ENOENT) {
+		mail_storage_set_critical(uidlist-ibox-box.storage,
+			open(%s) failed: %m, uidlist-path);
+		return -1;
+	}
+	return 0;
+}
+
+int maildir_uidlist_refresh(struct maildir_uidlist *uidlist)
+{
+unsigned int i;
+bool retry;
+int ret;
+
+	if (maildir_uidlist_open_latest(uidlist)  0)
+		return -1;
+
 for (i = 0; ; i++) {
 		ret = maildir_uidlist_update_read(uidlist, retry,
 		i  UIDLIST_ESTALE_RETRY_COUNT);
@@ -1512,18 +1530,12 @@
 	if (maildir_uidlist_want_recreate(ctx))
 		return maildir_uidlist_recreate(uidlist);
 
-	if (uidlist-fd == -1) {
-		/* NOREFRESH flag used. we're just appending some messages. */
+	if (!uidlist-locked_refresh) {
+		/* make sure we have the latest file (e.g. NOREFRESH used) */
 		i_assert(uidlist-initial_hdr_read);
-
-		uidlist-fd = nfs_safe_open(uidlist-path, O_RDWR);
-		if (uidlist-fd == -1) {
-			mail_storage_set_critical(storage,
-open(%s) failed: %m, uidlist-path);
+		if (maildir_uidlist_open_latest(uidlist)  0)
 			return -1;
-		}
 	}
-
 	i_assert(ctx-first_unwritten_pos != (unsigned int)-1);
 
 	if (lseek(uidlist-fd, 0, SEEK_END)  0) {


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


Re: [Dovecot] acl flag to limit imap_acl based acl changes

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 11:57 +0100, Amon Ott wrote:
 http://wiki.dovecot.org/ACL says that a or admin covers Administration 
 rights to the mailbox. However, removing a from owner acl (using lr) 
 does not help, the user can still change all acl flags for all users with 
 imap. Write accesses to mails are forbidden as they should.
 
 Is this intended or a bug?

Looks like it was intended, to avoid users from accidentally removing
admin privileges from their own mailboxes. But there's already other
code in SETACL handling that tries to prevent the same thing, so that
should be enough.

v2.0 now allows removing admin right manually from dovecot-acl file:
http://hg.dovecot.org/dovecot-2.0/rev/667fea930ec3

I probably don't want to do the same change to v1.2, since it might
break someone's setup.. Maybe you could use global ACLs to remove the
admin right? If it's always the same mailbox name for every user.



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


Re: [Dovecot] still asserts with 1.2.10

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 16:36 +0100, Matthias Rieber wrote:
 Hi,
 
 I've still asserts while accessing virtual folders:

You didn't answer my last mail about it:
http://dovecot.org/list/dovecot/2010-January/046009.html

I can't seem to reproduce it. Although now that I saw your dovecot -n
output, wonder if Squat has something to do with it..

Can you easily reproduce this? Can you try if it happens without squat?




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


Re: [Dovecot] Proxying to a DNS Name

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 13:58 +0100, Andreas Schulze wrote:
 Hello,
 
 reading the wiki I found
 http://wiki.dovecot.org/PasswordDatabase/ExtraFields/Proxy?highlight=(no DNS 
 resolving)
 
 I have a setup where the destination of a proxyconnection is an DNS name.
 Is there a technical reason which currently require host= to be an IP address 
 ?

Yeah. DNS lookups are blocking, so whenever DNS server can't be reached,
the lookups start hanging and admins start wondering why Dovecot is just
hanging.

Solutions would be:

a) Assume the hang never happens and just do the blocking lookups.

b) Get some async DNS library from somewhere.

c) With v2.0 there could be a separate dns lookup processes that do
blocking lookups, but since the caller processes would be doing async
lookups they could report errors after a couple of seconds of waiting.

Hmm. Actually I think I like c).


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


Re: [Dovecot] dovecot 1.2.9 crash on subscribe with shared namespace

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 15:34 +0100, Alessandro Bono wrote:

 namespace:
   type: shared
   separator: /
   prefix: shared/%%n

Add '/' after the prefix.



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


Re: [Dovecot] STATUS command and total/read message count

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 08:25 +0100, Florian Effenberger wrote:
 Some folders have only read messages, others have only unread
 messages, and some other have read and unread messages. Thunderbird
 now only shows the number of unread messages in a folder when using
 the STATUS command. In order to get the total number of messages in
 one specific folder, I have to manually open it.
 
 So, in short, Thunderbird doesn't seem to update the total number of
 messages in a folder using the STATUS command.
 
 From your posting I take this is generally possible, so it is a
 Thunderbird problem - right? ;-)

Right. STATUS command is capable of returning the total number of
messages in a mailbox.



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


Re: [Dovecot] quick question

2010-01-25 Thread David Jonas
On 01/22/2010 10:15 AM, Brandon Davidson wrote:
 We've thought about enabling IP-based session affinity on the load
 balancer, but this would concentrate the load of our webmail clients, as
 well as not really solving the problem for users that leave clients open
 on multiple systems. 

Webmail and IMAP servers are on the same network for us so we don't have
to go through the BigIP for this, we just use local round-robin DNS to
avoid any sort of clumping. Imapproxy or dovecot proxy local to the
webmail server would get around that too.

 I've done a small bit of looking at nginx's imap
 proxy support, but it's not really set up to do what we want, and would
 require moving the IMAP virtual server off our load balancers and on to
 something significantly less supportable. Having the dovecot processes
 'talk amongst themselves' to synchronize things, or go into proxy mode
 automatically, would be fantastic.

Though we aren't using NFS we do have a BigIP directing IMAP and POP3
traffic to multiple dovecot stores. We use mysql authentication and the
proxy_maybe option to keep users on the correct box. My tests using an
external proxy box didn't significantly reduce the load on the stores
compared to proxy_maybe. And you don't have to manage another
box/config. Since you only need to keep users on the _same_ box and not
the _correct_ box, if you're using mysql authentication you could hash
the username or domain to a particular IP address:

SELECT CONCAT('192.168.1.', ORD(UPPER(SUBSTRING('%d', 1, 1))) AS host,
'Y' AS proxy_maybe, ...

Just assign IP addresses 192.168.1.48-90 to your dovecot servers. Shift
the range by adding or subtracting to the ORD. A mysql function would
likely work just as well. If a server goes down, move it's IP. You could
probably make pairs with heartbeat or some monitoring software to do it
automatically.

-David



Re: [Dovecot] Proxying to a DNS Name

2010-01-25 Thread Miquel van Smoorenburg
On Mon, 2010-01-25 at 20:53 +0200, Timo Sirainen wrote:
 
 b) Get some async DNS library from somewhere.

I have been looking for that as well recenly, and I stumbled upon the
unbound library, part of the unbound project.

http://unbound.net/documentation/libunbound.html

HTH,

Mike.



Re: [Dovecot] Proxying to a DNS Name

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 20:22 +0100, Miquel van Smoorenburg wrote:
 On Mon, 2010-01-25 at 20:53 +0200, Timo Sirainen wrote:
  
  b) Get some async DNS library from somewhere.
 
 I have been looking for that as well recenly, and I stumbled upon the
 unbound library, part of the unbound project.

I know there are a few of them, but I'd prefer to use the system's own
resolver. A few reasons that I can think of:

 - do external dns resolver libraries support /etc/hosts?
 - or are there some other site-specific features? dnssec, etc.?
 - DNS has had security problems recently. Upgrading OS's own resolver
is easier than upgrading all software that have their internal
resolvers.



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


Re: [Dovecot] quick question

2010-01-25 Thread Brandon Davidson
David,

 Though we aren't using NFS we do have a BigIP directing IMAP and POP3
 traffic to multiple dovecot stores. We use mysql authentication and
the
 proxy_maybe option to keep users on the correct box. My tests using
an
 external proxy box didn't significantly reduce the load on the stores
 compared to proxy_maybe. And you don't have to manage another
 box/config. Since you only need to keep users on the _same_ box and
not
 the _correct_ box, if you're using mysql authentication you could hash
 the username or domain to a particular IP address:
 
 SELECT CONCAT('192.168.1.', ORD(UPPER(SUBSTRING('%d', 1, 1))) AS host,
 'Y' AS proxy_maybe, ...
 
 Just assign IP addresses 192.168.1.48-90 to your dovecot servers.
Shift
 the range by adding or subtracting to the ORD. A mysql function would
 likely work just as well. If a server goes down, move it's IP. You
could
 probably make pairs with heartbeat or some monitoring software to do
it
 automatically.

Timo posted a similar suggestion recently, and I might try to find some
time to proof this out over the next few weeks. I liked his idea of
storing the user's current server in the database and proxying to that,
with fallback to a local connection if they're new or their current
server is unavailable. The table cleanup and pool monitoring would
probably be what I'd worry most about testing.

Unfortunately we're currently using LDAP auth via PAM... so even if I
could get the SQL and monitoring issues resolved, I think I'd have a
hard time convincing my peers that adding a SQL server as a single point
of failure was a good idea. If it could be set up to just fall back to
using a local connection in the event of a SQL server outage, that might
help things a bit. Anyone know how that might work?

-Brad


Re: [Dovecot] sieve or another vacation/autoreply

2010-01-25 Thread Frank Cusack

On January 25, 2010 6:32:34 PM +0100 Lampa lamp...@gmail.com wrote:

i'm trying to do some delivery notification for each incoming address.
Problem is that sieve vacation has :days but minimum value is 1 eg
period in which addresses
   are kept and are not responded to - but that is not that i want.


What do you want?


Re: [Dovecot] quick question

2010-01-25 Thread Timo Sirainen
On 25.1.2010, at 21.30, Brandon Davidson wrote:

 Unfortunately we're currently using LDAP auth via PAM... so even if I
 could get the SQL and monitoring issues resolved, I think I'd have a
 hard time convincing my peers that adding a SQL server as a single point
 of failure was a good idea. If it could be set up to just fall back to
 using a local connection in the event of a SQL server outage, that might
 help things a bit. Anyone know how that might work?

Well, you can always fall back to LDAP if SQL isn't working.. Just something 
like:

passdb sql {
 ..
}
passdb ldap {
 ..
}



Re: [Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10

2010-01-25 Thread Bruce Bodger

On Jan 25, 2010, at 5:03 AM, Stephan Bosch wrote:


The releases are available as follows:

 Sieve:

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2- 
sieve-0.1.15.tar.gz.sig


First time I ever received an error when compiling dovecot sieve from  
you...


ld: duplicate symbol _act_notify_old in .libs/lib90_sieve_plugin.lax/ 
libsieve.a/ext-notify-common.o and .libs/lib90_sieve_plugin.lax/ 
libsieve.a/cmd-denotify.o

collect2: ld returned 1 exit status
make[4]: *** [lib90_sieve_plugin.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Let me know if you need to see anything else, Stephan.


B. Bodger
Oklahoma City, OK



Re: [Dovecot] quick question

2010-01-25 Thread Brandon Davidson
Timo,

 -Original Message-
 From: Timo Sirainen [mailto:t...@iki.fi]
 
 On 25.1.2010, at 21.30, Brandon Davidson wrote:
  If it could be set up to just fall back to
  using a local connection in the event of a SQL server outage, that
might
  help things a bit. Anyone know how that might work?
 
 Well, you can always fall back to LDAP if SQL isn't working.. Just
something
 like:
 
 passdb sql {
  ..
 }
 passdb ldap {
  ..
 }

Or just 'passdb pam { ... }' for the second one in our case, since we're
using system auth with pam_ldap/nss_ldap. Is the SQL connection/query
timeout configurable? It would be nice to make a very cursory attempt at
proxying, and immediately give up and use a local connection if anything
isn't working.

-Brad


Re: [Dovecot] sieve or another vacation/autoreply

2010-01-25 Thread Lampa
Need autmatic delivery notification.

You will sent email to supp...@domain.tld (reporting bugs or problem)
and you will get back delivery notification (autogenerated).

Example:
-
From: supp...@domain.tld
Subject: Automatic reply - Delivery notification

Your email will be processed as soon as possible. Than you for
contacting us blahblah
---

Sieve vacation cannot be used because if same user sent email more
that once only first notification will be send (per day).


2010/1/25 Frank Cusack fcus...@fcusack.com:
 On January 25, 2010 6:32:34 PM +0100 Lampa lamp...@gmail.com wrote:

 i'm trying to do some delivery notification for each incoming address.
 Problem is that sieve vacation has :days but minimum value is 1 eg
 period in which addresses
   are kept and are not responded to - but that is not that i want.

 What do you want?




-- 
Lampa


Re: [Dovecot] quick question

2010-01-25 Thread David Halik

On 01/25/2010 02:18 PM, David Halik wrote:

On 01/25/2010 01:31 PM, Timo Sirainen wrote:

On Mon, 2010-01-25 at 12:57 -0500, David Halik wrote:

Jan 25 11:39:24 gehenna21 dovecot: IMAP(user):
fdatasync(/rci/nqu/rci/u8/user/dovecot/.INBOX/dovecot-uidlist) failed:
Stale NFS file handle

Well, two possibilities:

a) The attached patch fixes this



I patched and immediately starting seeing *many* of these:

Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user): 
lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed: 
Bad file descriptor
Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user): 
lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed: 
Bad file descriptor


...so I backed out right away.


--

David Halik
System Administrator
OIT-CSS Rutgers University
dha...@jla.rutgers.edu




Re: [Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10

2010-01-25 Thread Stephan Bosch

Bruce Bodger wrote:

On Jan 25, 2010, at 5:03 AM, Stephan Bosch wrote:


The releases are available as follows:

 Sieve:

http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz
http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.15.tar.gz.sig


First time I ever received an error when compiling dovecot sieve from 
you...


ld: duplicate symbol _act_notify_old in 
.libs/lib90_sieve_plugin.lax/libsieve.a/ext-notify-common.o and 
.libs/lib90_sieve_plugin.lax/libsieve.a/cmd-denotify.o

collect2: ld returned 1 exit status
make[4]: *** [lib90_sieve_plugin.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Let me know if you need to see anything else, Stephan.


Sigh.. not again. I forgot extern at various occasions (and possibly 
even more):


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

Why doesn't GCC warn about this? I usually only find out when people 
like you report compile failures. What compiler are you using?


Can apply the above change and try again..

Regards,

Stephan.


Re: [Dovecot] quick question

2010-01-25 Thread Timo Sirainen
On Mon, 2010-01-25 at 15:12 -0500, David Halik wrote:
 I patched and immediately starting seeing *many* of these:
 
 Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user): 
 lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed: 
 Bad file descriptor

Hmm. I put it through a few seconds of imaptest but didn't see these, so
I guess there's something it didn't catch. The attached patch fixes the
first obvious potential problem I can think of, try if you still
dare. :)

diff -r 7b0e1b2c9afd src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Jan 25 01:35:35 2010 +0200
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Jan 25 22:24:07 2010 +0200
@@ -123,6 +123,7 @@
 	uint32_t prev_uid;
 };
 
+static int maildir_uidlist_open_latest(struct maildir_uidlist *uidlist);
 static bool maildir_uidlist_iter_next_rec(struct maildir_uidlist_iter_ctx *ctx,
 	  struct maildir_uidlist_rec **rec_r);
 
@@ -875,11 +876,10 @@
 	}
 }
 
-int maildir_uidlist_refresh(struct maildir_uidlist *uidlist)
+static int maildir_uidlist_open_latest(struct maildir_uidlist *uidlist)
 {
-unsigned int i;
-bool retry, recreated;
-int ret;
+	bool recreated;
+	int ret;
 
 	if (uidlist-fd != -1) {
 		ret = maildir_uidlist_has_changed(uidlist, recreated);
@@ -889,10 +889,29 @@
 			return ret  0 ? -1 : 1;
 		}
 
-		if (recreated)
-			maildir_uidlist_close(uidlist);
+		if (!recreated)
+			return 0;
+		maildir_uidlist_close(uidlist);
 	}
 
+	uidlist-fd = nfs_safe_open(uidlist-path, O_RDWR);
+	if (uidlist-fd == -1  errno != ENOENT) {
+		mail_storage_set_critical(uidlist-ibox-box.storage,
+			open(%s) failed: %m, uidlist-path);
+		return -1;
+	}
+	return 0;
+}
+
+int maildir_uidlist_refresh(struct maildir_uidlist *uidlist)
+{
+unsigned int i;
+bool retry;
+int ret;
+
+	if (maildir_uidlist_open_latest(uidlist)  0)
+		return -1;
+
 for (i = 0; ; i++) {
 		ret = maildir_uidlist_update_read(uidlist, retry,
 		i  UIDLIST_ESTALE_RETRY_COUNT);
@@ -1434,18 +1453,12 @@
 	if (maildir_uidlist_want_recreate(ctx))
 		return maildir_uidlist_recreate(uidlist);
 
-	if (uidlist-fd == -1) {
-		/* NOREFRESH flag used. we're just appending some messages. */
+	if (!uidlist-locked_refresh || uidlist-fd == -1) {
+		/* make sure we have the latest file (e.g. NOREFRESH used) */
 		i_assert(uidlist-initial_hdr_read);
-
-		uidlist-fd = nfs_safe_open(uidlist-path, O_RDWR);
-		if (uidlist-fd == -1) {
-			mail_storage_set_critical(storage,
-open(%s) failed: %m, uidlist-path);
+		if (maildir_uidlist_open_latest(uidlist)  0)
 			return -1;
-		}
 	}
-
 	i_assert(ctx-first_unwritten_pos != (unsigned int)-1);
 
 	if (lseek(uidlist-fd, 0, SEEK_END)  0) {


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


Re: [Dovecot] still asserts with 1.2.10

2010-01-25 Thread Matthias Rieber

Hi,

On Mon, 25 Jan 2010, Timo Sirainen wrote:


On Mon, 2010-01-25 at 16:36 +0100, Matthias Rieber wrote:

Hi,

I've still asserts while accessing virtual folders:


You didn't answer my last mail about it:
http://dovecot.org/list/dovecot/2010-January/046009.html

I can't seem to reproduce it. Although now that I saw your dovecot -n
output, wonder if Squat has something to do with it..

Can you easily reproduce this? Can you try if it happens without squat?


I'll try it without squat. At the moment I see the crashes in virtual 
folders where keywords are also involved like:


INBOX.Spam.sure
  HEADER X-DSPAM-Result Innocent NOT KEYWORD LearnedAsJunk

INBOX.Spam.sure
  NOT HEADER X-Spam-Score + NOT KEYWORD LearnedAsJun

INBOX.Spam.sure
  UNSEEN

I also check the virtual mailboxes almost constantly for certain flags, 
pipe messages to sa-learn and/or dspam, change flags and move them. For 
this purpose I use imapfilter, with a config like:


messages = myaccount['INBOX.Spam.sure']:has_flag('NonJunk') -
   myaccount['INBOX.Spam.sure']:has_flag('LearnedAsNonJunk')
messagecontent = myaccount['INBOX.Spam.sure']:fetch_message(messages)
if messagecontent ~= nil then
for i,v in pairs (messagecontent) do
printDebug(v,'NonJunk Mails in Spam:')
  pipe_to('/root/learn_ham', v)
  pipe_to('/root/learn_ham_dspam', v)
end
myaccount['INBOX.Spam.sure']:add_flags({'LearnedAsNonJunk'}, messages)
  myaccount['INBOX.Spam.sure']:remove_flags({'LearnedAsJunk','Junk'}, messages)
myaccount['INBOX.Spam.sure']:move_messages(myaccount['INBOX'], messages)
end

The crashes usually happen with roundcube mail. The same client where I've 
the problem when I mark messages in the unseen folder and the messages 
won't disappear after expunging the folder.


matthias


Re: [Dovecot] Released Pigeonhole Sieve v0.1.15 and ManageSieve v0.11.11 for Dovecot v1.2.10

2010-01-25 Thread Bruce Bodger


On Jan 25, 2010, at 2:16 PM, Stephan Bosch wrote:

Sigh.. not again. I forgot extern at various occasions (and possibly  
even more):


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

Why doesn't GCC warn about this? I usually only find out when people  
like you report compile failures. What compiler are you using?


Can apply the above change and try again..


Much better!  Thank you.

Compiling with gcc version 4.0.1 (Apple Inc. build 5493)

Thank you very much.

B. Bodger
Oklahoma City, OK



Re: [Dovecot] quick question

2010-01-25 Thread Timo Sirainen
On 25.1.2010, at 21.53, Brandon Davidson wrote:

 Or just 'passdb pam { ... }' for the second one in our case, since we're
 using system auth with pam_ldap/nss_ldap. Is the SQL connection/query
 timeout configurable? It would be nice to make a very cursory attempt at
 proxying, and immediately give up and use a local connection if anything
 isn't working.

I don't think it's immediate.. But it's probably something like:

 - notice it's not working - reconnect
 - requests are queued
 - reconnect fails, hopefully soon, but MySQL connect at least fails in max. 10 
seconds
 - reconnect timeout is added, which doubles after each failure
 - requests are failed while it's not trying to connect



Re: [Dovecot] quick question

2010-01-25 Thread Brandon Davidson
Timo,

On 1/25/10 12:31 PM, Timo Sirainen t...@iki.fi wrote:
 
 I don't think it's immediate.. But it's probably something like:
 
  - notice it's not working - reconnect
  - requests are queued
  - reconnect fails, hopefully soon, but MySQL connect at least fails in max.
 10 seconds
  - reconnect timeout is added, which doubles after each failure
  - requests are failed while it's not trying to connect

Hmm, that's not great. Is that tunable at all? Cursory examination shows
that it's hardcoded in src/lib-sql/driver-mysql.c, so I guess not.

I suppose I could also get around to playing with multi-master replication
so I at least have a SQL server available at each of the sites that I have
Dovecot servers...

-Brad



Re: [Dovecot] sieve or another vacation/autoreply

2010-01-25 Thread Lampa
Hello,

thank you for pointing in right direction.

require [enotify, variables, fileinto, envelope];

#if address :matches :all from * {
#   set from_addr ${1};
#}

if envelope :matches from * {
# URI-encode the recipient address when necessary
set :encodeurl from ${1};

if envelope :matches to * {
set to ${1};
set :encodeurl body Thank you for contacting us...
We will contact you as soom as possible

Blah blah blah...;
notify :message Automatic reply - delivery
notification :from ${to} mailto:${from}?body=${body};;
keep;
}
}

2010/1/25 Stephan Bosch step...@rename-it.nl:
 Lampa wrote:

 Hello,

 i'm trying to do some delivery notification for each incoming address.
 Problem is that sieve vacation has :days but minimum value is 1 eg
 period in which addresses
   are kept and are not responded to - but that is not that i want.

 Is there other extension (in devel ???) or some other way (lda using
 procmail or maildrop) how to implement my request ? (Before migration
 we used qmail + procmail).


 I am not quite sure what you are trying to achieve with this, however I've
 devised something that matches your description:

 require enotify;
 require variables;
 require envelope;

 # Let's not reply to robots and mailing lists
 if allof (not exists list-id,
    anyof (not exists auto-submitted,
        header auto-submitted no)) {

    # Get the return path
    if envelope :matches from * {

        # URI-encode the recipient address when necessary
        set :encodeurl from ${1};

        # Send notification back to sender
        notify :message Message received! mailto:${from};;
    }
 }

 This is somewhat scary though.

 Regards,

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




-- 
Lampa


Re: [Dovecot] quick question

2010-01-25 Thread David Halik

On 01/25/2010 03:26 PM, Timo Sirainen wrote:

On Mon, 2010-01-25 at 15:12 -0500, David Halik wrote:
   

I patched and immediately starting seeing *many* of these:

Jan 25 15:05:33 gehenna18.rutgers.edu dovecot: IMAP(user):
lseek(/rci/nqu/rci/u1/sendick/dovecot/.Trash/dovecot-uidlist) failed:
Bad file descriptor
 

Hmm. I put it through a few seconds of imaptest but didn't see these, so
I guess there's something it didn't catch. The attached patch fixes the
first obvious potential problem I can think of, try if you still
dare. :)

   


No guts no glory! So far, so good. The first patch started spewing 
messages within seconds. I've been running for about twenty minutes with 
this version and I haven't seen much of anything yet.


I'll report back tomorrow after it has a day to burn in.

--

David Halik
System Administrator
OIT-CSS Rutgers University
dha...@jla.rutgers.edu




Re: [Dovecot] dovecot 1.2.9 crash on subscribe with shared namespace

2010-01-25 Thread Alessandro Bono
On Mon, 2010-01-25 at 20:56 +0200, Timo Sirainen wrote:
 On Mon, 2010-01-25 at 15:34 +0100, Alessandro Bono wrote:
 
  namespace:
type: shared
separator: /
prefix: shared/%%n
 
 Add '/' after the prefix.
 

works 

thanks Timo

-- 
Cordiali Saluti
Alessandro Bono



Re: [Dovecot] quick question

2010-01-25 Thread David Halik




No guts no glory! So far, so good. The first patch started spewing messages 
within seconds. I've been running for about twenty minutes with this version 
and I haven't seen much of anything yet.


I'll report back tomorrow after it has a day to burn in.



It's still a bit buggy. I haven't seen any messages in the last few hours, 
but then a user just dumped a gigantic 200MB core. Looking at dump it's 
because of some recursive loop that goes on forever:


#0  0x2b656f2cba71 in _int_malloc (av=0x2b656f5ab9e0, bytes=368) at 
malloc.c:4650

iters = value optimized out
nb = 384
idx = 759448916
bin = value optimized out
victim = value optimized out
size = value optimized out
victim_index = value optimized out
remainder = value optimized out
remainder_size = value optimized out
block = value optimized out
bit = value optimized out
map = value optimized out
fwd = value optimized out
bck = value optimized out
#1  0x2b656f2cd86d in __libc_calloc (n=value optimized out, 
elem_size=value optimized out) at malloc.c:4006

av = (struct malloc_state *) 0x2b656f5ab9e0
oldtop = (struct malloc_chunk *) 0x1da94070
p = value optimized out
bytes = 368
csz = value optimized out
oldtopsize = 12176
mem = (void *) 0x139cdc40
clearsize = value optimized out
nclears = value optimized out
d = value optimized out
#2  0x004a8ea6 in pool_system_malloc (pool=value optimized out, 
size=368) at mempool-system.c:78

mem = value optimized out
#3  0x004a4daa in i_stream_create_fd (fd=12, max_buffer_size=4096, 
autoclose_fd=96) at istream-file.c:156

fstream = value optimized out
	st = {st_dev = 329008600, st_ino = 4452761, st_nlink = 27, st_mode 
= 799030, st_uid = 0, st_gid = 1, pad0 = 0, st_rdev = 109556025819520, 
st_size = 11013, st_blksize = 0, st_blocks = 95, st_atim = {
tv_sec = 4096, tv_nsec = 8}, st_mtim = {tv_sec = 1264465811, tv_nsec = 
499376000}, st_ctim = {tv_sec = 1264465811, tv_nsec = 499378000}, __unused 
= {1264465811, 499384000, 0}}
#4  0x0043fba6 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at 
maildir-uidlist.c:733

retry = 64
ret = -1
#5  0x00440bb5 in maildir_uidlist_update_hdr 
(uidlist=0x2b656f5ab9e0, st=0x7fffc949d360) at maildir-uidlist.c:382

mhdr = (struct maildir_index_header *) 0x139cdc40
#6  0x0043 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at 
maildir-uidlist.c:793

retry = false
ret = 1
#7  0x00440bb5 in maildir_uidlist_update_hdr 
(uidlist=0x2b656f5ab9e0, st=0x7fffc949d4b0) at maildir-uidlist.c:382

mhdr = (struct maildir_index_header *) 0x139cdc40
#8  0x0043 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at 
maildir-uidlist.c:793

retry = false
ret = 1
#9  0x00440bb5 in maildir_uidlist_update_hdr 
(uidlist=0x2b656f5ab9e0, st=0x7fffc949d600) at maildir-uidlist.c:382

mhdr = (struct maildir_index_header *) 0x139cdc40
#10 0x0043 in maildir_uidlist_refresh (uidlist=0x139d6ab0) at 
maildir-uidlist.c:793

retry = false
ret = 1
#11 0x00440bb5 in maildir_uidlist_update_hdr 
(uidlist=0x2b656f5ab9e0, st=0x7fffc949d750) at maildir-uidlist.c:382

mhdr = (struct maildir_index_header *) 0x139cdc40

...and on and on for thousands of lines. I gave up after 20K. ;)


Re: [Dovecot] sieve or another vacation/autoreply

2010-01-25 Thread Frank Cusack

On January 25, 2010 9:10:42 PM +0100 Lampa lamp...@gmail.com wrote:

Need autmatic delivery notification.


You could find my patch which I posted roughly a month ago.  It
allows '0' as the :days parameter to vacation.  Maybe you prefer
that to notify, maybe not.

-frnak


Re: [Dovecot] Proxying to a DNS Name

2010-01-25 Thread Andreas Schulze
Hello Timo,

 a) Assume the hang never happens and just do the blocking lookups.
maybe switchable.
It's suggested to run a caching dns on every system. In this case 
a hang realy never happens

Thanks
Andreas

-- 
Andreas Schulze
Internetdienste | P532

DATEV eG
90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196
E-Mail info @datev.de | Internet www.datev.de
Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg 
Nr.70
Vorstand
Prof. Dieter Kempf (Vorsitzender)
Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender)
Dipl.-Kfm. Michael Leistenschneider
Jörg Rabe v. Pappenheim
Dipl.-Vw. Eckhard Schwarzer
Vorsitzender des Aufsichtsrates: Reinhard Verholen



GnuPG-Signatur.asc
Description: digitale Signatur dieser Nachricht von Andreas Schulze


Re: [Dovecot] backup restore mailbox files manually

2010-01-25 Thread CoolAtt NNA


When I delete the mail file from /Maildir/cur and restore it from the backup , 
I cannot see the body of the email when I 
view it (only the subject appears)

I restored only a single mail file using scp:
scp 
r...@backup-host:/backup/vmail/coolatt/Maildir/cur/1264489757.P14232Q0M667471.ecs,S=628:2,S
  /home/vmail/coolatt/Maildir/cur/

Please help me.

Thanks
CoolAtt


 Date: Mon, 25 Jan 2010 15:45:00 +0100
 From: skdove...@smail.inf.fh-brs.de
 To: dovecot@dovecot.org
 Subject: Re: [Dovecot] backup  restore mailbox files manually
 
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 On Mon, 25 Jan 2010, coolatt wrote:
 
  Am working on a solution to backup maildir mailboxes using rsync.
  All mailbox directories are mirrored on another machine.
 
  I need advise regarding restore of the INBOX  SENT files from the backup.
 
  For e.g , [1] Can I just copy  file-x-y-z from /Maildir/cur to restore it
  on /Maildir/cur on the mailserver.
  [2] Can I do same for SENT emails ?
 
 You can do so. But it can lead to duplicate mail, because the filename is 
 not static, e.g. message status or keyword changes are reflected there.
 
 There had been a thread lastly about this topic (well, a minor bit 
 differently); I restore the mails to a completely different folder and let 
 the user pick the messages and re-file them into specific mailfolders.
 
 Others suggested to use a script to verify filename stem (before the 
 colon), e.g. restore to tmp/, then check new/ and cur/, if there exists a 
 file with the same stem. However, there had been said that there is a 
 possible race condition, if the message flags are changed simultaneously.
 
 Regards,
 
 - -- 
 Steffen Kaiser
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.6 (GNU/Linux)
 
 iQEVAwUBS12ub7+Vh58GPL/cAQIiFggAsbf34qad697fbVHlAZ5VmuUaurKzc9hk
 8zAqtP4zc2Tu8U9ZtMwNg1Sxw7ikYxdU5kz4JmbICVoaK4fnauXv41DZlBwgnWEw
 XgFa6CiIsuVKRxgB8FeWO6X63oijOMhoqF3dJDET+RzTLiCZkj47zZaA/0JYFOYu
 BV/rGfmWqT2zDdHYHI8cMjzyPzuwnYbRBDjUdScNwH35BZOKykI4/EyMmmUdfiIO
 EqPlj0sSSCRroBztRoQMVyIoTkL5MV3hGDRgWKP1yc0YT9SLlzjQXY0TylumNHXH
 nEjjDozOfwq7E7TrBsct68OPXMfBUB0IQ/JbHtGlhhwh6B6p8qqgxQ==
 =xC+M
 -END PGP SIGNATURE-
  
_
Windows Live: Keep your friends up to date with what you do online.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010