From: Stefan Foerster on
This morning, I upgraded from 2.8-20100213 to 2.8-20100306 and enabled
IPv6 I have always used the lmtp(8) client to feed messages to
amavisd-new (well, those that picked up by pickup(8), anyways):

pickup fifo n - - 60 1 pickup
-o content_filter=lmtp-amavis:[127.0.0.1]:10026

lmtp-amavis unix - - n - 10 lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
-o disable_dns_lookups=yes

I changed main.cf...

mynetworks = 127.0.0.0/8 85.214.20.182/32 85.214.107.53/32
192.168.122.0/24 [::1]/128 [2001:6f8:1048::]/64
inet_protocols = all
smtp_bind_address6 = 2001:6f8:1048::2

...and master.cf:

[2001:6f8:1048::2]:25 inet n - n - 1 postscreen

Now, whenever I try to deliver a mail, Postfix complains liek that:

Mar 22 13:29:56 nemea postfix/pickup[24662]: AA57F10011: uid=1000
from=<cite+postfix-users(a)incertum.net>
Mar 22 13:29:56 nemea postfix/cleanup[27487]: AA57F10011: message-id=<20100322122956.GA26737(a)mail.incertum.net>
Mar 22 13:29:56 nemea postfix/qmgr[24663]: AA57F10011: from=<cite+postfix-users(a)incertum.net>,
size=4322, nrcpt=1 (queue active)
Mar 22 13:29:56 nemea postfix/lmtp[27488]: panic: mystrdup: null pointer argument
Mar 22 13:29:57 nemea postfix/master[24660]: warning: process /usr/lib/postfix/lmtp pid 27488 killed by signal 6
Mar 22 13:29:57 nemea postfix/master[24660]: warning: /usr/lib/postfix/lmtp: bad command startup -- throttling
Mar 22 13:29:57 nemea postfix/qmgr[24663]: warning: private/lmtp-amavis socket: malformed response
Mar 22 13:29:57 nemea postfix/qmgr[24663]: warning: transport lmtp-amavis failure --
see a previous warning/fatal/panic logfile record for the problem description
Mar 22 13:29:57 nemea postfix/error[27492]: AA57F10011: to=<postfix-users(a)postfix.org>, relay=none,
delay=1.4, delays=0.23/1/0/0.13, dsn=4.3.0, status=deferred (unknown mail transport error)

For now, I changed the transport to amavisd-new to smtp(8). Could you
perhaps give me some ideas on how to debug this problem further?

The usual "postconf -n" and master.cf are attached below. And yes, I
know, it's really time for some cleanup with multiple instances ;-)


Stefan


# postconf -n
alias_database = cdb:${maps_dir}/aliases
alias_maps = cdb:${maps_dir}/aliases
allow_percent_hack = no
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1d
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
delay_warning_time = 1h
disable_vrfy_command = yes
header_checks = pcre:${maps_dir}/header_checks_anon.pcre
html_directory = no
inet_protocols = all
maximal_queue_lifetime = 3d
message_size_limit = 20971520
mydestination = $myhostname, trac.incertum.net, nemea.incertum.net, localhost.$mydomain, localhost
myhostname = mail.incertum.net
mynetworks = 127.0.0.0/8 85.214.20.182/32 85.214.107.53/32 192.168.122.0/24 [::1]/128 [2001:6f8:1048::]/64
notify_classes = 2bounce, resource, software
parent_domain_matches_subdomains = debug_peer_list, smtpd_access_maps
postscreen_dnsbl_sites = zen.spamhaus.org, b.barracudacentral.org, ix.dnsbl.manitu.net
postscreen_greet_action = drop
postscreen_hangup_action = drop
readme_directory = no
recipient_delimiter = +
reject_tempfail_action = defer
relay_domains = lists.incertum.net
relay_recipient_maps = cdb:${maps_dir}/relay_recipients
sender_canonical_maps = cdb:${maps_dir}/sender_canonical
smtp_bind_address = 85.214.107.53
smtp_bind_address6 = 2001:6f8:1048::2
smtp_mx_session_limit = 3
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
smtp_tls_session_cache_timeout = 24h
smtpd_authorized_verp_clients = $mynetworks
smtpd_client_connection_count_limit = ${stress?10}${stress:50}
smtpd_client_restrictions = ${stress?reject_unknown_client_hostname}
smtpd_data_restrictions = reject_multi_recipient_bounce reject_unauth_pipelining
smtpd_delay_reject = ${stress?no}${stress:yes}
smtpd_discard_ehlo_keywords = silent-discard, dsn
smtpd_hard_error_limit = ${stress?1}${stress:20}
smtpd_helo_required = yes
smtpd_proxy_options = speed_adjust
smtpd_recipient_restrictions = reject_non_fqdn_sender reject_non_fqdn_recipient reject_unlisted_sender reject_unlisted_recipient reject_unknown_sender_domain reject_unknown_recipient_domain permit_mynetworks check_client_access cdb:${maps_dir}/relay_clients reject_unauth_destination check_client_access cidr:${maps_dir}/hard_blacklist.cidr check_recipient_access pcre:${maps_dir}/recipient_roleaccounts.pcre reject_invalid_helo_hostname check_recipient_access cdb:${maps_dir}/recipient_access check_sender_access cdb:${maps_dir}/sender_access check_client_access cdb:${maps_dir}/client_access check_client_access cidr:${maps_dir}/dnswl-permit.cidr check_client_access cidr:${maps_dir}/client_access.cidr check_sender_ns_access cidr:${maps_dir}/ns_access.cidr check_sender_mx_access cidr:${maps_dir}/mx_access.cidr check_policy_service inet:127.0.0.1:12525 check_client_access pcre:${maps_dir}/postgrey.pcre permit_auth_destination reject
smtpd_restriction_classes = greylisting
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = cdb:${maps_dir}/sasl-maps.restricted pcre:${maps_dir}/sasl-maps.generic.pcre
smtpd_timeout = ${stress?10}${stress:300}
smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtpd_tls_cert_file = /etc/ssl/owncerts/mail_incertum_net.crt
smtpd_tls_key_file = /etc/ssl/private/mail_incertum_net.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 24h
strict_rfc821_envelopes = yes
swap_bangpath = no
transport_maps = cdb:${maps_dir}/transport
unknown_address_reject_code = ${stress?421}${stress:554}
unknown_client_reject_code = ${stress?421}${stress:450}
virtual_alias_domains = stefan-foerster.de
virtual_alias_maps = pcre:${maps_dir}/virtuals/stefan-foerster.de.pcre cdb:${maps_dir}/virtuals/billigmail.org cdb:${maps_dir}/virtuals/incertum.net pcre:${maps_dir}/virtuals/roleaccounts.pcre
virtual_gid_maps = static:5000
virtual_mailbox_base = /export/vmailboxes
virtual_mailbox_domains = proxy:pgsql:${maps_dir}/pgsql/virtual_mailbox_domains.cf
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = proxy:pgsql:${maps_dir}/pgsql/virtual_mailbox_maps.cf
virtual_transport = dovecot
virtual_uid_maps = static:5000

# cat master.cf
127.0.0.1:25 inet n - - - - smtpd
-o smtpd_proxy_filter=127.0.0.1:10028
-o receive_override_options=no_address_mappings,no_header_body_checks
85.214.107.53:587 inet n - - - - smtpd
-o smtpd_sasl_auth_enable=$submission_smtpd_sasl_auth_enable
-o smtpd_recipient_restrictions=$submission_smtpd_recipient_restrictions
-o syslog_name=$submission_syslog_name
-o smtpd_proxy_filter=$submission_smtpd_proxy_filter
-o receive_override_options=$submission_receive_override_options
85.214.107.53:465 inet n - - - - smtpd
-o smtpd_tls_wrappermode=$smtps_smtpd_tls_wrappermode
-o smtpd_sasl_auth_enable=$smtps_smtpd_sasl_auth_enable
-o smtpd_recipient_restrictions=$smtps_smtpd_recipient_restrictions
-o syslog_name=$smtps_syslog_name
-o smtpd_proxy_filter=$smtps_smtpd_proxy_filter
-o receive_override_options=$smtps_receive_override_options
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
-o content_filter=lmtp-amavis:[127.0.0.1]:10026
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - 40 proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - - - - smtp
-o smtp_fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}

# dovecot
dovecot unix - n n - - pipe
flags=DROhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}

# AMAVIS
# lmtp-client
lmtp-amavis unix - - n - 10 lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
-o disable_dns_lookups=yes

# smtpd: pre-queue reinjection
# external mail: smtpd:25/587 -> amavisd-new:10024/10028 -> smtpd:10025
127.0.0.1:10025 inet n - - - - smtpd
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_unknown_recipient_checks
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_delay_reject=no
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o syslog_name=postfix-10025

# smtpd: post-queue reinjection
# local mail, pickup -> amavisd-new:10026/10032 -> smtpd:10027
127.0.0.1:10027 inet n - - - - smtpd
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_header_body_checks,no_address_mappings,no_unknown_recipient_checks
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_delay_reject=no
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o syslog_name=postfix-10027

# smtpd: Mailman injection
# Mailman -> smtpd:10031 -> amavisd-new:10032 -> smtpd:10027 (see above)
# strip DKIM/DomainKey headers
127.0.0.1:10031 inet n - - - - smtpd
-o mynetworks=127.0.0.0/8
-o content_filter=lmtp-amavis:[127.0.0.1]:10032
-o receive_override_options=
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_delay_reject=no
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o syslog_name=postfix-mm

# fragile transport for web.de & Co.
fragile unix - - - - 20 smtp

85.214.107.53:25 inet n - n - 1 postscreen
[2001:6f8:1048::2]:25 inet n - n - 1 postscreen
smtpd pass - - y - - smtpd
-o smtpd_proxy_filter=127.0.0.1:10024
#85.214.107.53:25 inet n - - - - smtpd
dnsblog unix - - n - 0 dnsblog
#smtp inet n - n - 1 postscreen

From: Stefan Foerster on
* Stefan Foerster <cite+postfix-users(a)incertum.net>:
> This morning, I upgraded from 2.8-20100213 to 2.8-20100306 and enabled
> IPv6. I have always used the lmtp(8) client to feed messages to

Follow-up to myself: This happens without inet_protocols=ipv4, too.


Stefan

> amavisd-new (well, those that picked up by pickup(8), anyways):
>
> pickup fifo n - - 60 1 pickup
> -o content_filter=lmtp-amavis:[127.0.0.1]:10026
>
> lmtp-amavis unix - - n - 10 lmtp
> -o lmtp_data_done_timeout=1200
> -o lmtp_send_xforward_command=yes
> -o disable_dns_lookups=yes
>
> I changed main.cf...
>
> mynetworks = 127.0.0.0/8 85.214.20.182/32 85.214.107.53/32
> 192.168.122.0/24 [::1]/128 [2001:6f8:1048::]/64
> inet_protocols = all
> smtp_bind_address6 = 2001:6f8:1048::2
>
> ...and master.cf:
>
> [2001:6f8:1048::2]:25 inet n - n - 1 postscreen
>
> Now, whenever I try to deliver a mail, Postfix complains liek that:
>
> Mar 22 13:29:56 nemea postfix/pickup[24662]: AA57F10011: uid=1000
> from=<cite+postfix-users(a)incertum.net>
> Mar 22 13:29:56 nemea postfix/cleanup[27487]: AA57F10011: message-id=<20100322122956.GA26737(a)mail.incertum.net>
> Mar 22 13:29:56 nemea postfix/qmgr[24663]: AA57F10011: from=<cite+postfix-users(a)incertum.net>,
> size=4322, nrcpt=1 (queue active)
> Mar 22 13:29:56 nemea postfix/lmtp[27488]: panic: mystrdup: null pointer argument
> Mar 22 13:29:57 nemea postfix/master[24660]: warning: process /usr/lib/postfix/lmtp pid 27488 killed by signal 6
> Mar 22 13:29:57 nemea postfix/master[24660]: warning: /usr/lib/postfix/lmtp: bad command startup -- throttling
> Mar 22 13:29:57 nemea postfix/qmgr[24663]: warning: private/lmtp-amavis socket: malformed response
> Mar 22 13:29:57 nemea postfix/qmgr[24663]: warning: transport lmtp-amavis failure --
> see a previous warning/fatal/panic logfile record for the problem description
> Mar 22 13:29:57 nemea postfix/error[27492]: AA57F10011: to=<postfix-users(a)postfix.org>, relay=none,
> delay=1.4, delays=0.23/1/0/0.13, dsn=4.3.0, status=deferred (unknown mail transport error)
>
> For now, I changed the transport to amavisd-new to smtp(8). Could you
> perhaps give me some ideas on how to debug this problem further?
>
> The usual "postconf -n" and master.cf are attached below. And yes, I
> know, it's really time for some cleanup with multiple instances ;-)
>
>
> Stefan
>
>
> # postconf -n
> alias_database = cdb:${maps_dir}/aliases
> alias_maps = cdb:${maps_dir}/aliases
> allow_percent_hack = no
> append_dot_mydomain = no
> biff = no
> bounce_queue_lifetime = 1d
> broken_sasl_auth_clients = yes
> config_directory = /etc/postfix
> delay_warning_time = 1h
> disable_vrfy_command = yes
> header_checks = pcre:${maps_dir}/header_checks_anon.pcre
> html_directory = no
> inet_protocols = all
> maximal_queue_lifetime = 3d
> message_size_limit = 20971520
> mydestination = $myhostname, trac.incertum.net, nemea.incertum.net, localhost.$mydomain, localhost
> myhostname = mail.incertum.net
> mynetworks = 127.0.0.0/8 85.214.20.182/32 85.214.107.53/32 192.168.122.0/24 [::1]/128 [2001:6f8:1048::]/64
> notify_classes = 2bounce, resource, software
> parent_domain_matches_subdomains = debug_peer_list, smtpd_access_maps
> postscreen_dnsbl_sites = zen.spamhaus.org, b.barracudacentral.org, ix.dnsbl.manitu.net
> postscreen_greet_action = drop
> postscreen_hangup_action = drop
> readme_directory = no
> recipient_delimiter = +
> reject_tempfail_action = defer
> relay_domains = lists.incertum.net
> relay_recipient_maps = cdb:${maps_dir}/relay_recipients
> sender_canonical_maps = cdb:${maps_dir}/sender_canonical
> smtp_bind_address = 85.214.107.53
> smtp_bind_address6 = 2001:6f8:1048::2
> smtp_mx_session_limit = 3
> smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
> smtp_tls_loglevel = 1
> smtp_tls_security_level = may
> smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
> smtp_tls_session_cache_timeout = 24h
> smtpd_authorized_verp_clients = $mynetworks
> smtpd_client_connection_count_limit = ${stress?10}${stress:50}
> smtpd_client_restrictions = ${stress?reject_unknown_client_hostname}
> smtpd_data_restrictions = reject_multi_recipient_bounce reject_unauth_pipelining
> smtpd_delay_reject = ${stress?no}${stress:yes}
> smtpd_discard_ehlo_keywords = silent-discard, dsn
> smtpd_hard_error_limit = ${stress?1}${stress:20}
> smtpd_helo_required = yes
> smtpd_proxy_options = speed_adjust
> smtpd_recipient_restrictions = reject_non_fqdn_sender reject_non_fqdn_recipient reject_unlisted_sender reject_unlisted_recipient reject_unknown_sender_domain reject_unknown_recipient_domain permit_mynetworks check_client_access cdb:${maps_dir}/relay_clients reject_unauth_destination check_client_access cidr:${maps_dir}/hard_blacklist.cidr check_recipient_access pcre:${maps_dir}/recipient_roleaccounts.pcre reject_invalid_helo_hostname check_recipient_access cdb:${maps_dir}/recipient_access check_sender_access cdb:${maps_dir}/sender_access check_client_access cdb:${maps_dir}/client_access check_client_access cidr:${maps_dir}/dnswl-permit.cidr check_client_access cidr:${maps_dir}/client_access.cidr check_sender_ns_access cidr:${maps_dir}/ns_access.cidr check_sender_mx_access cidr:${maps_dir}/mx_access.cidr check_policy_service inet:127.0.0.1:12525 check_client_access pcre:${maps_dir}/postgrey.pcre permit_auth_destination reject
> smtpd_restriction_classes = greylisting
> smtpd_sasl_path = private/auth
> smtpd_sasl_security_options = noanonymous, noplaintext
> smtpd_sasl_tls_security_options = noanonymous
> smtpd_sasl_type = dovecot
> smtpd_sender_login_maps = cdb:${maps_dir}/sasl-maps.restricted pcre:${maps_dir}/sasl-maps.generic.pcre
> smtpd_timeout = ${stress?10}${stress:300}
> smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
> smtpd_tls_cert_file = /etc/ssl/owncerts/mail_incertum_net.crt
> smtpd_tls_key_file = /etc/ssl/private/mail_incertum_net.key
> smtpd_tls_loglevel = 1
> smtpd_tls_received_header = yes
> smtpd_tls_security_level = may
> smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
> smtpd_tls_session_cache_timeout = 24h
> strict_rfc821_envelopes = yes
> swap_bangpath = no
> transport_maps = cdb:${maps_dir}/transport
> unknown_address_reject_code = ${stress?421}${stress:554}
> unknown_client_reject_code = ${stress?421}${stress:450}
> virtual_alias_domains = stefan-foerster.de
> virtual_alias_maps = pcre:${maps_dir}/virtuals/stefan-foerster.de.pcre cdb:${maps_dir}/virtuals/billigmail.org cdb:${maps_dir}/virtuals/incertum.net pcre:${maps_dir}/virtuals/roleaccounts.pcre
> virtual_gid_maps = static:5000
> virtual_mailbox_base = /export/vmailboxes
> virtual_mailbox_domains = proxy:pgsql:${maps_dir}/pgsql/virtual_mailbox_domains.cf
> virtual_mailbox_limit = 512000000
> virtual_mailbox_maps = proxy:pgsql:${maps_dir}/pgsql/virtual_mailbox_maps.cf
> virtual_transport = dovecot
> virtual_uid_maps = static:5000
>
> # cat master.cf
> 127.0.0.1:25 inet n - - - - smtpd
> -o smtpd_proxy_filter=127.0.0.1:10028
> -o receive_override_options=no_address_mappings,no_header_body_checks
> 85.214.107.53:587 inet n - - - - smtpd
> -o smtpd_sasl_auth_enable=$submission_smtpd_sasl_auth_enable
> -o smtpd_recipient_restrictions=$submission_smtpd_recipient_restrictions
> -o syslog_name=$submission_syslog_name
> -o smtpd_proxy_filter=$submission_smtpd_proxy_filter
> -o receive_override_options=$submission_receive_override_options
> 85.214.107.53:465 inet n - - - - smtpd
> -o smtpd_tls_wrappermode=$smtps_smtpd_tls_wrappermode
> -o smtpd_sasl_auth_enable=$smtps_smtpd_sasl_auth_enable
> -o smtpd_recipient_restrictions=$smtps_smtpd_recipient_restrictions
> -o syslog_name=$smtps_syslog_name
> -o smtpd_proxy_filter=$smtps_smtpd_proxy_filter
> -o receive_override_options=$smtps_receive_override_options
> #628 inet n - - - - qmqpd
> pickup fifo n - - 60 1 pickup
> -o content_filter=lmtp-amavis:[127.0.0.1]:10026
> cleanup unix n - - - 0 cleanup
> qmgr fifo n - n 300 1 qmgr
> #qmgr fifo n - - 300 1 oqmgr
> tlsmgr unix - - - 1000? 1 tlsmgr
> rewrite unix - - - - - trivial-rewrite
> bounce unix - - - - 0 bounce
> defer unix - - - - 0 bounce
> trace unix - - - - 0 bounce
> verify unix - - - - 1 verify
> flush unix n - - 1000? 0 flush
> proxymap unix - - n - 40 proxymap
> proxywrite unix - - n - 1 proxymap
> smtp unix - - - - - smtp
> # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
> relay unix - - - - - smtp
> -o smtp_fallback_relay=
> # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
> showq unix n - - - - showq
> error unix - - - - - error
> retry unix - - - - - error
> discard unix - - - - - discard
> local unix - n n - - local
> virtual unix - n n - - virtual
> lmtp unix - - - - - lmtp
> anvil unix - - - - 1 anvil
> scache unix - - - - 1 scache
> #
> # ====================================================================
> # Interfaces to non-Postfix software. Be sure to examine the manual
> # pages of the non-Postfix software to find out what options it wants.
> #
> # Many of the following services use the Postfix pipe(8) delivery
> # agent. See the pipe(8) man page for information about ${recipient}
> # and other message envelope options.
> # ====================================================================
> #
> # maildrop. See the Postfix MAILDROP_README file for details.
> # Also specify in main.cf: maildrop_destination_recipient_limit=1
> #
> maildrop unix - n n - - pipe
> flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
> #
> # See the Postfix UUCP_README file for configuration details.
> #
> uucp unix - n n - - pipe
> flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
> #
> # Other external delivery methods.
> #
> ifmail unix - n n - - pipe
> flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
> bsmtp unix - n n - - pipe
> flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
> scalemail-backend unix - n n - 2 pipe
> flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
> mailman unix - n n - - pipe
> flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
> ${nexthop} ${user}
>
> # dovecot
> dovecot unix - n n - - pipe
> flags=DROhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}
>
> # AMAVIS
> # lmtp-client
> lmtp-amavis unix - - n - 10 lmtp
> -o lmtp_data_done_timeout=1200
> -o lmtp_send_xforward_command=yes
> -o disable_dns_lookups=yes
>
> # smtpd: pre-queue reinjection
> # external mail: smtpd:25/587 -> amavisd-new:10024/10028 -> smtpd:10025
> 127.0.0.1:10025 inet n - - - - smtpd
> -o mynetworks=127.0.0.0/8
> -o receive_override_options=no_unknown_recipient_checks
> -o smtpd_client_connection_count_limit=0
> -o smtpd_client_connection_rate_limit=0
> -o smtpd_error_sleep_time=0
> -o smtpd_soft_error_limit=1001
> -o smtpd_hard_error_limit=1000
> -o smtpd_restriction_classes=
> -o smtpd_client_restrictions=
> -o smtpd_helo_restrictions=
> -o smtpd_sender_restrictions=
> -o smtpd_recipient_restrictions=permit_mynetworks,reject
> -o smtpd_data_restrictions=reject_unauth_pipelining
> -o smtpd_end_of_data_restrictions=
> -o smtpd_delay_reject=no
> -o smtpd_authorized_xforward_hosts=127.0.0.0/8
> -o syslog_name=postfix-10025
>
> # smtpd: post-queue reinjection
> # local mail, pickup -> amavisd-new:10026/10032 -> smtpd:10027
> 127.0.0.1:10027 inet n - - - - smtpd
> -o mynetworks=127.0.0.0/8
> -o receive_override_options=no_header_body_checks,no_address_mappings,no_unknown_recipient_checks
> -o smtpd_client_connection_count_limit=0
> -o smtpd_client_connection_rate_limit=0
> -o smtpd_error_sleep_time=0
> -o smtpd_soft_error_limit=1001
> -o smtpd_hard_error_limit=1000
> -o smtpd_restriction_classes=
> -o smtpd_client_restrictions=
> -o smtpd_helo_restrictions=
> -o smtpd_sender_restrictions=
> -o smtpd_recipient_restrictions=permit_mynetworks,reject
> -o smtpd_data_restrictions=reject_unauth_pipelining
> -o smtpd_end_of_data_restrictions=
> -o smtpd_delay_reject=no
> -o smtpd_authorized_xforward_hosts=127.0.0.0/8
> -o syslog_name=postfix-10027
>
> # smtpd: Mailman injection
> # Mailman -> smtpd:10031 -> amavisd-new:10032 -> smtpd:10027 (see above)
> # strip DKIM/DomainKey headers
> 127.0.0.1:10031 inet n - - - - smtpd
> -o mynetworks=127.0.0.0/8
> -o content_filter=lmtp-amavis:[127.0.0.1]:10032
> -o receive_override_options=
> -o smtpd_client_connection_count_limit=0
> -o smtpd_client_connection_rate_limit=0
> -o smtpd_error_sleep_time=0
> -o smtpd_soft_error_limit=1001
> -o smtpd_hard_error_limit=1000
> -o smtpd_restriction_classes=
> -o smtpd_client_restrictions=
> -o smtpd_helo_restrictions=
> -o smtpd_sender_restrictions=
> -o smtpd_recipient_restrictions=permit_mynetworks,reject
> -o smtpd_data_restrictions=reject_unauth_pipelining
> -o smtpd_end_of_data_restrictions=
> -o smtpd_delay_reject=no
> -o smtpd_authorized_xforward_hosts=127.0.0.0/8
> -o syslog_name=postfix-mm
>
> # fragile transport for web.de & Co.
> fragile unix - - - - 20 smtp
>
> 85.214.107.53:25 inet n - n - 1 postscreen
> [2001:6f8:1048::2]:25 inet n - n - 1 postscreen
> smtpd pass - - y - - smtpd
> -o smtpd_proxy_filter=127.0.0.1:10024
> #85.214.107.53:25 inet n - - - - smtpd
> dnsblog unix - - n - 0 dnsblog
> #smtp inet n - n - 1 postscreen

From: Wietse Venema on
Stefan Foerster:
> This morning, I upgraded from 2.8-20100213 to 2.8-20100306 and enabled
> IPv6 I have always used the lmtp(8) client to feed messages to
> amavisd-new (well, those that picked up by pickup(8), anyways):
>
> pickup fifo n - - 60 1 pickup
> -o content_filter=lmtp-amavis:[127.0.0.1]:10026
>
> lmtp-amavis unix - - n - 10 lmtp
> -o lmtp_data_done_timeout=1200
> -o lmtp_send_xforward_command=yes
> -o disable_dns_lookups=yes
>
> I changed main.cf...
>
> mynetworks = 127.0.0.0/8 85.214.20.182/32 85.214.107.53/32
> 192.168.122.0/24 [::1]/128 [2001:6f8:1048::]/64
> inet_protocols = all
> smtp_bind_address6 = 2001:6f8:1048::2
>
> ...and master.cf:
>
> [2001:6f8:1048::2]:25 inet n - n - 1 postscreen
>
> Now, whenever I try to deliver a mail, Postfix complains liek that:
>
> Mar 22 13:29:56 nemea postfix/pickup[24662]: AA57F10011: uid=1000
> from=<cite+postfix-users(a)incertum.net>
> Mar 22 13:29:56 nemea postfix/cleanup[27487]: AA57F10011: message-id=<20100322122956.GA26737(a)mail.incertum.net>
> Mar 22 13:29:56 nemea postfix/qmgr[24663]: AA57F10011: from=<cite+postfix-users(a)incertum.net>,
> size=4322, nrcpt=1 (queue active)
> Mar 22 13:29:56 nemea postfix/lmtp[27488]: panic: mystrdup: null pointer argument
> Mar 22 13:29:57 nemea postfix/master[24660]: warning: process /usr/lib/postfix/lmtp pid 27488 killed by signal 6
> Mar 22 13:29:57 nemea postfix/master[24660]: warning: /usr/lib/postfix/lmtp: bad command startup -- throttling
> Mar 22 13:29:57 nemea postfix/qmgr[24663]: warning: private/lmtp-amavis socket: malformed response
> Mar 22 13:29:57 nemea postfix/qmgr[24663]: warning: transport lmtp-amavis failure --
> see a previous warning/fatal/panic logfile record for the problem description
> Mar 22 13:29:57 nemea postfix/error[27492]: AA57F10011: to=<postfix-users(a)postfix.org>, relay=none,
> delay=1.4, delays=0.23/1/0/0.13, dsn=4.3.0, status=deferred (unknown mail transport error)
>
> For now, I changed the transport to amavisd-new to smtp(8). Could you
> perhaps give me some ideas on how to debug this problem further?

See DEBUG_README for instructions to attach a non-interactive debugger.

The only change in the SMTP client is the smtp_address_preference and
lmtp_address_preference parameters, which were tested only for SMTP.

Wietse

From: Ralf Hildebrandt on
* Wietse Venema <wietse(a)porcupine.org>:

> See DEBUG_README for instructions to attach a non-interactive debugger.
>
> The only change in the SMTP client is the smtp_address_preference and
> lmtp_address_preference parameters, which were tested only for SMTP.

I was able to reproduce that on my installation with Stefan's help.
Attached is the backtrace

--
Ralf Hildebrandt
Geschäftsbereich IT | Abteilung Netzwerk
Charité - Universitätsmedizin Berlin
Campus Benjamin Franklin
Hindenburgdamm 30 | D-12203 Berlin
Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
ralf.hildebrandt(a)charite.de | http://www.charite.de
From: Stefan Foerster on
* Wietse Venema <wietse(a)porcupine.org>:
> Stefan Foerster:
> See DEBUG_README for instructions to attach a non-interactive debugger.
>
> The only change in the SMTP client is the smtp_address_preference and
> lmtp_address_preference parameters, which were tested only for SMTP.

Unfortunately, even after rebuilding my Debian packages with "-g", my
gdb backtraces are not very meaningful:

(gdb) root(a)nemea:/etc/postfix# cat lmtp.5889.log
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
Attaching to program: /usr/lib/postfix/lmtp, process 5889
0x00007fa13f533965 in ?? ()
(gdb) Continuing.

Program received signal SIGABRT, Aborted.
0x00007fa13f4c7ed5 in ?? ()
(gdb) #0 0x00007fa13f4c7ed5 in ?? ()
#1 0x00007fa13f4c93f3 in ?? ()
#2 0x00007ffff5172c80 in ?? ()
#3 0x00007ffff5172da8 in ?? ()
#4 0x000000008b159996 in ?? ()
#5 0x00007ffff5172d90 in ?? ()
#6 0x0000000000000000 in ?? ()

However, Ralf seems to be able to reproduce the problem.


Stefan