[Dovecot] File descriptor leak in sieve-extprograms

Kirill A. Shutemov kirill.shutemov at linux.intel.com
Sat Dec 14 18:39:30 EET 2013


Stephan Bosch wrote:
> On 12/13/2013 11:14 PM, Kirill A. Shutemov wrote:
> > Stephan Bosch wrote:
> >> This probably fixes it, although I am not entirely sure. I am mainly a
> >> bit puzzled on how this causes the fd leak; the fd_in and fd_out are for
> >> the current backends always the same fd.
> > fd_in is not opened in my case: -1 all the way. I use vnd.dovecot.pipe.
> 
> Ah right, that explains it.
> 
> > I've hackaround sieve-filter crash with the ugly patch. I don't know how to fix
> > this properly.
> 
> Could you provide more details of your setup (configuration,
> sieve-filter command line, Sieve script), so that I can reproduce the
> problem at this end?

Command:

sieve-filter -e -v -W ~/.dovecot.sieve INBOX expunge

Script:

# vim: set ft=sieve :

require ["date", "variables", "fileinto", "mailbox", "vnd.dovecot.pipe"];

if date :matches :originalzone "date" "day" "*" { set "day" "${1}"; }
if date :matches :originalzone "date" "month" "*" { set "month" "${1}"; }
if date :matches :originalzone "date" "year"  "*" { set "year"  "${1}"; }

if anyof (
		exists "List-id",
		address :matches :domain "from" "*plus.google.com",
		header :contains "Message-Id" "forum.ixbt.com",
		address :matches :domain "from" "*livejournal.com",
		address :matches :domain "from" "*youtube.com",
		address :is "to" "git-update-subscribers at altlinux.org"
	 ) {
	pipe "notmuch" [ "insert", "--folder=${year}/${month}/${day}", "--create-folder",
		"-new", "-inbox", "+unread", "+lists" ];
} else {
	pipe "notmuch" [ "insert", "--folder=${year}/${month}/${day}", "--create-folder",
		"-new", "+inbox", "+unread" ];
}

-- 
 Kirill A. Shutemov


More information about the dovecot mailing list