(although I'm subscribed, please Cc: me on replies for a quicker turnaround -- also, the list appears to drop messages from non-subscribers silently, rather than bouncing them. If it was held for moderation, sorry...)
Greetings, I have observed a very strange behaviour related to the DST switch yesterday morning. Issue: On the most direct route I can fancy, i. e. injecting a trivial message (just a Subject: line) directly into port 10025 (to bypass spam filtering) and delivering to a Maildir/, Postfix appears to produce a bogus Date: header in the received message (UTC is correct, but local time and timezone are wrong, timezone name is missing). Interestingly, the time logged in Received: is correct. I would have hoped that the Date: header produces the same timestamp as in the Received: header. It would appear this is a cleanup(8) bug, but I'm apparently unable to debug it. The relevant code in cleanup appears to call mail_date which itself works OK. I confirmed that the three files /etc/localtime, /var/spool/postfix/etc/localtime, usr/share/zoneinfo/Europe/Berlin are all identical (according to md5sum) and none is a symlink. I've stopped and re-started postfix. Postfix check doesn't produce output. The Ubuntu and Debian bug trackers don't contain strikingly obvious bugs. I've tried to run cleanup outside the chroot jail, to no avail. I've run cleanup under strace, nothing strikingly obvious, opening /etc/localtime succeeds. (Information not included, but will figure relevant information from the logs upon request.) The system runs the official Ubuntu Linux 8.04 LTS Server postfix packages (i686/32-bit on a Xeon with ECC memory/Fujitsu Primergy RX100S3 IIRC and with AMCC RAID1), and it is in production, so testing is somewhat limited. Evidence given below (hostnames and IPs were anonymized to example.org and 10.0.0.NNN with a sed script): #1 the message as received in Maildir/ #2 relevant log #3 postfinger information. Any help to further debug this will be appreciated. -------- #1 ------------- Return-Path: <> X-Original-To: ma+direct Delivered-To: ma+dir...@example.org Received: from x (localhost [127.0.0.1]) by mail.example.org (Postfix) with ESMTP id A3F59481E3 for <ma+direct>; Mon, 29 Mar 2010 16:38:10 +0200 (CEST) Subject: yet another Postfix test Message-Id: <20100329143810.a3f5948...@mail.example.org> Date: Mon, 29 Mar 2010 16:38:10 +0200 (CEST) From: MAILER-DAEMON To: undisclosed-recipients:; -------- #2 ------------- Mar 29 16:38:10 mailserver postfix/smtpd[14732]: A3F59481E3: client=localhost[127.0.0.1] Mar 29 16:38:15 mailserver postfix/cleanup[14739]: A3F59481E3: message-id=<20100329143810.a3f5948...@mail.example.org> Mar 29 16:38:15 mailserver postfix/qmgr[12968]: A3F59481E3: from=<>, size=381, nrcpt=1 (queue active) Mar 29 16:38:15 mailserver postfix/local[14743]: A3F59481E3: to=<ma+dir...@example.org>, orig_to=<ma+direct>, relay=local, delay=5.3, delays=5.3/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to maildir) Mar 29 16:38:15 mailserver postfix/qmgr[12968]: A3F59481E3: removed -------- #3 ------------- postfinger - postfix configuration on Mon Mar 29 16:40:53 CEST 2010 version: 1.30 --System Parameters-- mail_version = 2.5.1 hostname = mailserver uname = Linux mailserver 2.6.24-26-server #1 SMP Tue Dec 1 19:19:20 UTC 2009 i686 GNU/Linux --Packaging information-- looks like this postfix comes from deb package: postfix-2.5.1-2ubuntu1.2 --main.cf non-default parameters-- alias_database = hash:/etc/aliases hash:/etc/aliases-users alias_maps = hash:/etc/aliases hash:/var/lib/mailman/data/aliases hash:/etc/aliases-users append_dot_mydomain = no biff = no body_checks = pcre:/etc/postfix/body_checks bounce_queue_lifetime = 3d canonical_maps = hash:/etc/postfix/canonical delay_warning_time = 255m forward_path = /var/mail/${user}/.forward${recipient_delimiter}${extension} /var/mail/${user}/.forward header_checks = pcre:/etc/postfix/header_checks html_directory = /usr/share/doc/postfix/html local_recipient_maps = proxy:nis:passwd.byname $relocated_maps $alias_maps mailbox_command = /usr/bin/maildrop -d "$USER" -f "$SENDER" "$EXTENSION" "$RECIPIENT" "$USER" "$SENDER" mailbox_size_limit = 0 masquerade_domains = example.org example.org message_size_limit = 32000000 mydestination = $myhostname, localhost.$mydomain, $mydomain, example.org, mailserver.example.org, localhost.example.org, mail.example.org, example.org, mailserver.example.org, localhost.example.org, mail.example.org, localhost, pcre:/etc/postfix/mydestination myhostname = mail.example.org mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/26 192.168.0.0/24 192.168.2.0/24 myorigin = /etc/mailname recipient_delimiter = + relocated_maps = hash:/etc/postfix/relocated show_user_unknown_table_name = no smtpd_authorized_verp_clients = localhost localhost.$mydomain $myhostname smtpd_authorized_xforward_hosts = 127.0.0.1 10.0.0.25 10.0.0.28 smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) smtpd_client_restrictions = cidr:/etc/postfix/filtered-clients-cidr smtpd_etrn_restrictions = reject smtpd_helo_required = yes smtpd_helo_restrictions = reject_invalid_hostname permit_mynetworks reject_non_fqdn_hostname smtpd_recipient_restrictions = pcre:/etc/postfix/regexp_access reject_unlisted_recipient reject_multi_recipient_bounce permit_mynetworks permit_sasl_authenticated reject_unauth_pipelining reject_unauth_destination smtpd_restriction_classes = localsite_sender_access smtpd_sasl_path = private/auth smtpd_sasl_type = dovecot smtpd_sender_restrictions = reject_non_fqdn_sender reject_unknown_sender_domain reject_unlisted_sender hash:/etc/postfix/access permit_mynetworks check_sender_mx_access cidr:/etc/postfix/mx_cidr_access localsite_sender_access permit smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem smtpd_tls_key_file = /etc/ssl/private/dovecot.pem smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_helo_name = mailserver.example.org unverified_sender_reject_code = 550 --master.cf-- smtp inet n - - - - smtpd submission inet n - - - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING pickup fifo n - - 60 1 pickup cleanup unix n - - - 0 cleanup qmgr fifo n - n 300 1 qmgr 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 - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - - - - smtp relay unix - - - - - smtp -o smtp_fallback_relay= 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 mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} amavisfeed unix - - n - 2 lmtp -o lmtp_data_done_timeout=1200 -o lmtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -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_restriction_classes= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks -o local_header_rewrite_clients= -- end of postfinger output -- -- Matthias Andree