OK, finally I tracked that bug down. The underlying problem is as I supposed namespacing (my namespace prefix is "INBOX."). In sieve_keep (sieve-cmu.c), the mailbox name is fetched from sieve_msgdata_t and then transferred to deliver_save (deliver.c). The problem is, that the default mailbox name in sieve_msgdata_t is - according to my namespace - "INBOX.". But deliver_save and mailbox_open_or_create_synced don't like that trailing dot, which leads to an error. This leads to default saving in the user's inbox, so in fact there happens what would happen anyways - but there's an error put out.
Generally, I think that this should be fixed in deliver which should strip trailing separators automatically when needed. Also I think that saving to INBOX instead of some other folder should be a no error but a warning. It should also be considered that for now, if using plus-extensions with delivers' -n option, when a folder doesn't exist and the mail is put into INBOX instead, an error is put out - although being perfectly desired behavior. Deliver should put out some warning in the log file instead of "/* silently store to the INBOX instead */" at line 225 and then leave without error code.
Regards, Thomas
-----Original Message----- From: dovecot-bounces+siebert+lists=et.rub.de@dovecot.org [mailto:dovecot-bounces+siebert+lists=et.rub.de@dovecot.org] On Behalf Of Timo Sirainen Sent: Saturday, December 13, 2008 6:37 AM To: Thomas Siebert Cc: 'Dovecot Mailing List' Subject: Re: [Dovecot] Problem with sieve: Keep: Generic Error
Doesn't it log anything else? I think that "Generic error" is usually logged only after the real error message.
On Fri, 2008-12-12 at 16:39 +0100, Thomas Siebert wrote:
OK, now i compiled the latest debian version (1.1.7 from ftp://ftp.debian.org/debian/pool/main/d/dovecot/) myself and I still get the same error.
Any ideas, Timo? ;-)
-----Original Message----- From: dovecot-bounces+siebert+lists=et.rub.de@dovecot.org [mailto:dovecot-bounces+siebert+lists=et.rub.de@dovecot.org] On Behalf Of Thomas Siebert Sent: Wednesday, December 03, 2008 3:15 AM To: dovecot@dovecot.org Subject: [Dovecot] Problem with sieve: Keep: Generic Error
Hi,
i came across a strange error message in Ubuntu 8.10s package (Dovecot 1.1.4) regarding sieve: sieve runtime error: Keep: Generic Error sieve_execute_bytecode(/etc/dovecot/sieve/default.sievec) failed
Note that the Sieve Scripts are basically executed fine and working fine. After a lot of testing I suppose the following: "keep" doesn't detect the private namespace I have to use (courier-compatibility...), thus sieve fails to do "keep", the message is handed back to dovecot-deliver which does a "keep"-similar action itself. If I have a script with "keep;" as the only command, I get this error message. If my script is totally blank (i.e. implicit keep only), I get the same error. But if there's no implicit or explicit "keep", e.g. "fileinto INBOX;" as only command, there's no error. Also IMAP-Folders, e.g. "fileinto INBOX.Test", work.
Unfortunately, "fileinto INBOX" as default is no option for me, as I use a delimiter and want to let deliver put the mails into the according IMAP-Folders.
Is this a known bug? Any Ideas?
Thanks, Thomas
Here's my dovecot -n output: log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps pop3 pop3s ssl_cert_file: /etc/ssl/certs/mail_cip.pem ssl_key_file: /etc/ssl/private/mail_cip.key disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(pop3): /usr/lib/dovecot/pop3-login first_valid_uid: 501 last_valid_uid: 501 first_valid_gid: 501 last_valid_gid: 501 mail_privileged_group: mail mail_uid: 501 mail_gid: 501 mail_location: maildir:~/Maildir mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(pop3): /usr/lib/dovecot/pop3 mail_plugins(default): acl quota imap_quota mail_plugins(imap): acl quota imap_quota mail_plugins(pop3): quota mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3 imap_client_workarounds(default): delay-newmail netscape-eoh imap_client_workarounds(imap): delay-newmail netscape-eoh imap_client_workarounds(pop3): pop3_uidl_format(default): %08Xu%08Xv pop3_uidl_format(imap): %08Xu%08Xv pop3_uidl_format(pop3): %f pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh namespace: type: private prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: mechanisms: plain login passdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf userdb: driver: prefetch userdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 384 user: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail plugin: quota: maildir:User quota quota_rule: *:storage=100M quota_rule2: *:messages=5000 quota_warning: storage=95%% /etc/dovecot/quota_warn_size.sh 95 quota_warning2: storage=90%% /etc/dovecot/quota_warn_size.sh 90 quota_warning3: storage=80%% /etc/dovecot/quota_warn_size.sh 80 quota_warning4: messages=95%% /etc/dovecot/quota_warn_count.sh 95 quota_warning5: messages=90%% /etc/dovecot/quota_warn_count.sh 90 quota_warning6: messages=80%% /etc/dovecot/quota_warn_count.sh 80 acl: vfile:/etc/dovecot/acls:cache_secs=300