void-linux / void-linux/void-packages
opensmtpd: Does not respect the system time zone in mail header and logfile
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 3.4k
- Forks
- 2.8k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 299
Description
Is this a new report?
Yes
System Info
Void 4.9.261_1 x86_64 glibc
Package(s) Affected
opensmtpd-6.8.0p2_4
Does a report exist for this bug with the project's home (upstream) and/or another distro?
No response
Expected behaviour
In the headers of the tranferred mail and in the logfiles the MTA should use times with the time zone which was set up for this system.
Actual behaviour
OpenSMTPD seems to write times in UTC instead of my system time zone (Europe/Berlin, actually UTC+2).
Example header from a local delivered mail:
From abc Wed Sep 28 21:09:55 2022
Return-Path: <webmaster@yourdomain.com>
Delivered-To: abc@localhost
Received: from localhost (xyz.localdomain [local])
by xyz.localdomain (OpenSMTPD) with ESMTPA id 020e7525
for <abc@localhost>;
Wed, 28 Sep 2022 19:09:55 +0000 (UTC)
Date: Wed, 28 Sep 2022 21:09:55 +0200 (CEST)
To: abc@localhost
From: webmaster@yourdomain.com
Subject: Test Email
Message-ID: <b4b222b031806af8@xyz.localdomain>
In the "Date" header the local time in the correct time zone is used. In the "Received" header which is added by OpenSMTPD the time is stated in UTC, regardless of the time zone of the system.
The same problem exists for the log file (/var/log/socklog/mail/current):
2022-09-28T19:09:10.78118 mail.info: Sep 28 21:09:10 smtpd[2699]: info: OpenSMTPD 6.8.0p2 starting
2022-09-28T19:09:55.62957 mail.info: Sep 28 21:09:55 smtpd[2703]: b4b222afa5939ddc smtp connected address=local host=xyz.localdomain
2022-09-28T19:09:55.63338 mail.info: Sep 28 19:09:55 smtpd[2703]: b4b222afa5939ddc smtp message msgid=020e7525 size=389 nrcpt=1 proto=ESMTP
2022-09-28T19:09:55.63342 mail.info: Sep 28 19:09:55 smtpd[2703]: b4b222afa5939ddc smtp envelope evpid=020e752572255a45 from=<webmaster@yourdomain.com> to=<abc@localhost>
2022-09-28T19:09:55.63347 mail.info: Sep 28 19:09:55 smtpd[2703]: b4b222afa5939ddc smtp disconnected reason=quit
2022-09-28T19:09:57.64998 mail.info: Sep 28 19:09:57 smtpd[2703]: b4b222b1cbdebff4 mda delivery evpid=020e752572255a45 from=<webmaster@yourdomain.com> to=<abc@localhost> rcpt=<abc@localhost> user=abc delay=2s result=Ok stat=Delivered
2022-09-28T19:11:20.45865 mail.info: Sep 28 21:11:20 smtpd[2699]: Exiting
When the OpenSMTPD process starts it logs with the local time (21:09:10). When processing mails it changes over to UTC (19:09:55). And when it exits it uses local time again (21:11:20). I don't think that this behaviour is intended.
Maybe the _smtpd or the _smtpq user to which OpenSMTPD drops privileges is not able to read the setted up time zone? Therefore this problem is maybe Void specific, since I haven't found any bug reports from other distributions or from OpenBSD regarding this.
Steps to reproduce
- Start opensmtpd
- Send a local mail to yourself on the system
- Check the mail headers for the time zone in the "Received" header
- Check
/var/log/socklog/mail/currentfor the logged times
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue by starting OpenSMTPD and sending a local mail, then inspect the Received header and /var/log/socklog/mail/current. Compare the timestamps used during message processing with the system time zone and the startup or exit entries. Done means generated headers and processing logs consistently use the configured system time zone.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100