The Irish bug - wrong time offset in heirloom-mailx (slackware 14.2)
by a_biardi from LinuxQuestions.org on (#5SKJ3)
Hi all,
I have found a bug in heirloom mailx in slackware 14.2, as detailed below.
Since heirloom mailx doesn't appear to be maintained upstream, a couple of weeks ago I submitted a patch to the maintainer of its successor s-nail. slackware-current has switched to s-nail, so no problems there.
But I'd like to get it sorted in 14.2 as well (I have a patch that I use locally) because it may affect others: while mailx may not be the MUA of choice for many, it's typically used in cronjobs, etc.
In a nutshell, the problem is that sending out an email using Heirloom mailx produces a "Date:" header that is incorrect when the system is in the Europe/Dublin timezone (email appears to have been sent 2 hours earlier).
To cut a long story short:
* Ireland is one of those few countries where DST has a negative adjustment (and is applied in winter, not summer).
* Software like mailx wrongly assume DST implies +1h.
* Even though the tzdata maintainer have put in place a hack since 2018 to account for buggy software ("make DATAFORM=rearguard" shifts the Europe/Dublin timezone and simulates a positive DST adjustment), Slackware ships with default "vanguard" format, which exposes the incorrect assumption in mailx.
I have described the bug in full detail at https://bugs.freebsd.org/bugzilla/sh....cgi?id=260137 (the patch attached was crafted to work with both Slackware 14.2 and FreeBSD 13).
Note that this bug only slipped in sometime in 2018. The glibc-zoneinfo from the original 14.2 release (that's 2016) predates the change in definition for Europe/Dublin and mailx works as expected.
What's the preferred way of getting such a patch into 14.2? (in the past I've emailed Pat directly, but I usually get no feedback, I imagine he's super-busy all the time).
I have found a bug in heirloom mailx in slackware 14.2, as detailed below.
Since heirloom mailx doesn't appear to be maintained upstream, a couple of weeks ago I submitted a patch to the maintainer of its successor s-nail. slackware-current has switched to s-nail, so no problems there.
But I'd like to get it sorted in 14.2 as well (I have a patch that I use locally) because it may affect others: while mailx may not be the MUA of choice for many, it's typically used in cronjobs, etc.
In a nutshell, the problem is that sending out an email using Heirloom mailx produces a "Date:" header that is incorrect when the system is in the Europe/Dublin timezone (email appears to have been sent 2 hours earlier).
To cut a long story short:
* Ireland is one of those few countries where DST has a negative adjustment (and is applied in winter, not summer).
* Software like mailx wrongly assume DST implies +1h.
* Even though the tzdata maintainer have put in place a hack since 2018 to account for buggy software ("make DATAFORM=rearguard" shifts the Europe/Dublin timezone and simulates a positive DST adjustment), Slackware ships with default "vanguard" format, which exposes the incorrect assumption in mailx.
I have described the bug in full detail at https://bugs.freebsd.org/bugzilla/sh....cgi?id=260137 (the patch attached was crafted to work with both Slackware 14.2 and FreeBSD 13).
Note that this bug only slipped in sometime in 2018. The glibc-zoneinfo from the original 14.2 release (that's 2016) predates the change in definition for Europe/Dublin and mailx works as expected.
What's the preferred way of getting such a patch into 14.2? (in the past I've emailed Pat directly, but I usually get no feedback, I imagine he's super-busy all the time).