Exit status code 134; what is it, in the context of Dovecot Antispam plug-in?

Ben Johnson ben at indietorrent.org
Tue Jul 29 00:36:35 UTC 2014


Hello!

I just migrated from Ubuntu 12.04 LTS to 14.04 LTS and thereby from
Dovecot 2.0.19 to 2.2.9.

I've been using dovecot-antispam plugin with great success for the past
year with 2.0.19, but after this migration, I've been seeing the exit
status code 134 in the syslog when attempting to debug the Dovecot
Antispam plugin not working after the migration.

I have some debugging output in my pipe script; the output looks
something like this:

Copying message contents to temporary file for debugging purposes; file
is: /tmp/sendmail-msg-7662.txt
Checking if the command-line input argument string (--spam) contains the
string "ham" or "spam"
Mode is "SPAM"
Calling (as user vmail) '/usr/lib/dovecot/deliver -d
"sa-training at example.com" -m "Training.SPAM" -p
"/tmp/sendmail-msg-7662.txt"'
Exit status was 134

Yet, I'm able to copy the above command and execute it manually, via the
command-line, and it works (and by "works", I mean to say that the
behavior is correct and exactly as expected; I receive the "Spam" email
at the designated mailbox). Here's how I'm calling it when it works
perfectly well (as "root"):

# su -c '/usr/lib/dovecot/deliver -d "sa-training at example.com" -m
"Training.HAM" -p "/tmp/sendmail-msg-7460.txt"' vmail

Any idea what status 134 might be or how to work around it? It looks to
be some kind of "temporary failure exception", but that is less than
informative in this context.

"doveconf -n" output is appended.

Thanks for any help!

-Ben

# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-32-generic x86_64 Ubuntu 14.04.1 LTS
auth_mechanisms = plain login
disable_plaintext_auth = no
listen = *,[::]
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_privileged_group = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  antispam_backend = pipe
  antispam_debug_target = syslog
  antispam_pipe_program = /bin/bash
  antispam_pipe_program_args = /usr/local/bin/sa-learn-pipe.sh
  antispam_pipe_program_notspam_arg = --ham
  antispam_pipe_program_spam_arg = --spam
  antispam_pipe_tmpdir = /tmp
  antispam_spam_pattern_ignorecase = SPAM;JUNK
  antispam_trash_pattern_ignorecase = trash;Deleted *
  antispam_verbose_debug = 1
  quota = dict:user::file:/var/vmail/%d/%n/.quotausage
  quota_rule2 = Trash:storage=+100M
  quota_rule3 = Junk:ignore
  quota_rule4 = INBOX:storage=+100M
  quota_warning = storage=100%% quota-reached 100 %u %d
  quota_warning2 = storage=95%% quota-warning 95 %u %d
  quota_warning3 = storage=80%% quota-warning 80 %u %d
  quota_warning4 = -storage=100%% quota-below below %u %d
  sieve = /var/vmail/%d/%n/.sieve
}
postmaster_address = postmaster at example.com
protocols = imap pop3 sieve
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
  user = root
}
service config {
  unix_listener config {
    group = vmail
    mode = 0600
    user = vmail
  }
}
service imap-login {
  client_limit = 1000
  process_limit = 500
}
service quota-below {
  executable = script /usr/local/bin/quota-below.sh
  unix_listener quota-below {
    group = vmail
    mode = 0666
    user = vmail
  }
  user = vmail
}
service quota-reached {
  executable = script /usr/local/bin/quota-reached.sh
  unix_listener quota-reached {
    group = vmail
    mode = 0666
    user = vmail
  }
  user = vmail
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  unix_listener quota-warning {
    group = vmail
    mode = 0666
    user = vmail
  }
  user = vmail
}
ssl_cert = </root/ssl/example.com/example.com.crt
ssl_key = </root/ssl/example.com/example.com.key
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol imap {
  mail_plugins = quota imap_quota antispam
}
protocol pop3 {
  mail_plugins = quota
  pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
  info_log_path =
  log_path =
  mail_plugins = sieve quota
}


More information about the dovecot mailing list