[Dovecot] Problem with sieve: Keep: Generic Error

Thomas Siebert siebert at et.rub.de
Mon Dec 15 15:27:58 EET 2008


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 at dovecot.org
> [mailto:dovecot-bounces+siebert+lists=et.rub.de at 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 at dovecot.org
> > > > [mailto:dovecot-bounces+siebert+lists=et.rub.de at dovecot.org] On
> > > Behalf
> > > > Of Thomas Siebert
> > > > Sent: Wednesday, December 03, 2008 3:15 AM
> > > > To: dovecot at 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
> > > >
> > >
> >



More information about the dovecot mailing list