sieve_pipe_socket_dir not created at startup for configured pipe service

Garth Corral gcorral at abode.com
Mon Dec 18 02:51:59 EET 2017


Hi, all

I’m new to the list but not to dovecot.  I’ve been using it in a basic configuration for some time, but finally decided to tweak my deployed system to take advantage of some more dovecot features.  In particular I’m trying to set up pigeonhole to implement spam retraining with imapsieve.  All of this is with dovecot 2.2.31 (65cde28) and pigeonhole 0.4.19.

Before going any further let me start by saying that I have gotten all of this to work.  It works when I can get dovecot to start up, that is.  My configuration is pretty much straight from the docs, with a few tweaks for my particular needs.  I’m trying to set up a pipe service using sieve-extprograms, and the relevant part of my config looks like this:

plugin {

  sieve_pipe_input_eol = lf

  sieve_pipe_socket_dir = sieve-pipe
  sieve_filter_socket_dir = sieve-filter
  sieve_execute_socket_dir = sieve-execute

  sieve_pipe_bin_dir = /usr/local/libexec/dovecot/sieve-pipe
  sieve_filter_bin_dir = /usr/local/libexec/dovecot/sieve-filter
  sieve_execute_bin_dir = /usr/local/libexec/dovecot/sieve-execute
}

service sieve-train-ham {
  executable = script /usr/local/libexec/dovecot/sieve-pipe/train-ham.sh

  # Needs access to dspam config and lockfiles.
  user = dspam

  # socket name is program-name in Sieve (without sieve-pipe/ prefix)
  unix_listener sieve-pipe/train-ham {
  }
}

It’s my understanding from reading the docs that the sieve_pipe_socket_dir specifies a directory that is relative to base_dir, which is the default /var/run/dovecot in my case.  The issue I’m having is that dovecot will not start, and spews the following errors:

dovecot: master: Error: bind(/var/run/dovecot/sieve-pipe/train-ham) failed: No such file or directory
dovecot: master: Fatal: Failed to start listeners

Once dovecot fails startup, it leaves /var/run/dovecot around and if I manually create the sieve-pipe directory there it will start up, create the sockets there and everything works as intended subsequently.  The problem, though, is that on normal shutdown all of /var/run/dovecot goes away and the at the next startup it fails to start again.  Needless to say this isn’t great for unintended reboots, etc.

So, can anyone see anything obvious that I’m doing wrong?  I’m just assuming that dovecot should create the needed subdir since I can’t find anything in the docs to suggest a way to create it otherwise.  I’ve tried all I can think of at the moment to try to remedy this without success.  I’m happy to provide additional details as needed to try to track this down.


Thanks in advance,

Garth

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3730 bytes
Desc: not available
URL: <https://dovecot.org/pipermail/dovecot/attachments/20171217/69144404/attachment-0001.p7s>


More information about the dovecot mailing list