On 05/09/2018 10:04 AM, Stephan Bosch wrote:


Op 08/05/2018 om 10:34 schreef Olaf Hopp:
Hi,

I had an email with 58 recipients in the "To" and 13 in the "CC"
Delivering it from exim to dovecot lmtp panics (see below)
Panic: file smtp-address.c: line 533 (smtp_address_write): assertion failed: 
(smtp_char_is_qpair(*p))

# 2.3.1 (c5a5c0c82): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.devel (61b47828)
# OS: Linux 2.6.32-696.23.1.el6.x86_64 x86_64 CentOS release 6.9 (Final)


Do you have an example e-mail that triggers the problem and the sieve scripts 
that are involved for the recipient that causes the crash?


Hi Stephan,

the original mail got stuck within exim on my production server and was from "somebody" 
to many "somebodys" but not me.
So with exim I added as envelope recipient a test user "ms2test" on my test system 
"irams2.ira.uka.de"
The test user "ms2test" has just an empty sieve script (all comments).
There is a global sieve_before-Script doing spam delivery into spambox:

#
require ["fileinto", "regex", "envelope"];
#
#
if allof (
        not header :comparator "i;ascii-casemap" :regex "Subject" 
"fail.*deliver",
        not header :comparator "i;octet" :contains "Subject" "DBWORLD",
        not header :comparator "i;octet" :contains "List-Id" "ieft.org",
        not header :comparator "i;octet" :contains "Subject" "Google Alert",
        not header :comparator "i;octet" :contains "Subject" "Google Gaga",
        not header :comparator "i;octet" :contains "Subject" "foo",
        not header :comparator "i;octet" :contains "Subject" "Woechentliche 
Spam-Benachrichtigung",
        not address :all :comparator "i;octet" :contains "To" "robocup",
        not header :comparator "i;octet" :is "Envelope-to" "ms2s...@ira.uka.de",

        exists [ "X-ATIS-Spam-Flag" ] ) {

                fileinto "INBOX.spambox";
                stop;
}

The mail in question contains third party adresses and content. So I can't post 
it here.
I will try to reproduce it by myself with just dummy addresses.

Ok, another finding:
if I strip down the global sieve_before just to

require ["fileinto", "regex", "envelope"];
if allof (
        not address :all :comparator "i;octet" :contains "To" "robocup"
        ) {

                fileinto "INBOX.spambox";
                stop;
}
the mail got stuck.
If I reenable all other original lines, but remove the "rococup" line the mail 
get's delivered.


"doveconf -n" see below

Olaf


# doveconf -n
# 2.3.1 (c5a5c0c82): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.devel (61b47828)
doveconf: Warning: service auth { client_limit=2000 } is lower than required 
under max. load (20192)
doveconf: Warning: service anvil { client_limit=2000 } is lower than required 
under max. load (17195)
# OS: Linux 2.6.32-696.23.1.el6.x86_64 x86_64 CentOS release 6.9 (Final)
# Hostname: irams1.ira.uka.de
auth_failure_delay = 3 secs
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_format = %Ln
auth_verbose = yes
auth_verbose_passwords = plain
auth_worker_max_count = 60
default_client_limit = 2000
default_process_limit = 3000
first_valid_uid = 1000
last_valid_uid = 65533
mail_location = maildir:~/Maildir
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 index ihave duplicate 
mime foreverypart extracttext
mbox_write_locks = fcntl
namespace inbox {
  inbox = yes
  location =
  mailbox "Deleted Items" {
    autoexpunge = 30 days
    special_use = \Trash
  }
  mailbox "Deleted Messages" {
    autoexpunge = 30 days
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox "Gelöschte Objekte" {
    autoexpunge = 30 days
    special_use = \Trash
  }
  mailbox "Gel&APY-schte Objekte" {
    autoexpunge = 30 days
    special_use = \Trash
  }
  mailbox Papierkorb {
    autoexpunge = 30 days
    special_use = \Trash
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    autoexpunge = 30 days
    special_use = \Trash
  }
  mailbox spambox {
    auto = create
    special_use = \Junk
  }
  prefix = INBOX.
  separator = .
}
passdb {
  args = /etc/dovecot/master-users
  driver = passwd-file
  master = yes
}
passdb {
  args = dovecot
  driver = pam
}
plugin {
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = /etc/dovecot/sieve-master
  sieve_max_redirects = 20
}
postmaster_address = postmas...@ira.uka.de
protocols = imap pop3 lmtp sieve sieve
quota_full_tempfail = yes
service imap-login {
  process_limit = 8192
  process_min_avail = 16
  service_count = 0
}
service imap {
  process_limit = 8192
}
service lmtp {
  executable = lmtp -L
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
service pop3 {
  process_limit = 8192
}
ssl = required
ssl_ca = </etc/pki/tls/certs/kitchain_new.crt
ssl_cert = </etc/pki/tls/certs/imap.informatik.pem
ssl_cipher_list = 
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_dh =  # hidden, use -P to show it
ssl_key =  # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
syslog_facility = local3
userdb {
  driver = passwd
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = " sieve"
}
protocol imap {
  mail_max_userip_connections = 100
  ssl_cert = </etc/pki/tls/certs/imap_with_chain.informatik.kit.edu.pem
  ssl_key =  # hidden, use -P to show it
}
protocol pop3 {
  ssl_cert = </etc/pki/tls/certs/pop_with_chain.informatik.kit.edu.pem
  ssl_key =  # hidden, use -P to show it
}



--
Karlsruher Institut für Technologie (KIT)
ATIS - Abt. Technische Infrastruktur, Fakultät für Informatik

Dipl.-Geophys. Olaf Hopp
- Leitung IT-Dienste -

Am Fasanengarten 5, Gebäude 50.34, Raum 009
76131 Karlsruhe
Telefon: +49 721 608-43973
Fax: +49 721 608-46699
E-Mail: olaf.h...@kit.edu
atis.informatik.kit.edu

www.kit.edu

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Das KIT ist seit 2010 als familiengerechte Hochschule zertifiziert.


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to