From 74fd81670fcc9eaec15a009995e52f9aeefa1494 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 1 Dec 2019 22:04:25 +0000 Subject: msgtime: avoid obviously out-of-range dates (for now) Wacky dates show up in lore for valid messages. Lets ignore them and let future generations deal with Y10K and time-travel problems. --- t/msgtime.t | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 't/msgtime.t') diff --git a/t/msgtime.t b/t/msgtime.t index 1452dc97..98cf66e6 100644 --- a/t/msgtime.t +++ b/t/msgtime.t @@ -5,7 +5,7 @@ use warnings; use Test::More; use PublicInbox::MIME; use PublicInbox::MsgTime; - +our $received_date = 'Mon, 22 Jan 2007 13:16:24 -0500'; sub datestamp ($) { my ($date) = @_; local $SIG{__WARN__} = sub {}; # Suppress warnings @@ -17,7 +17,11 @@ sub datestamp ($) { Subject => 'this is a subject', 'Message-ID' => '', Date => $date, - 'Received' => '(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S932173AbXAVSQY (ORCPT );\n\tMon, 22 Jan 2007 13:16:24 -0500', + 'Received' => <); +\t$received_date +EOF ], body => "hello world\n", ); @@ -104,4 +108,10 @@ for (qw(UT GMT Z)) { } is_datestamp('Fri, 02 Oct 1993 00:00:00 EDT', [ 749534400, '-0400']); +# fallback to Received: header if Date: is out-of-range: +is_datestamp('Fri, 1 Jan 1904 10:12:31 +0100', + PublicInbox::MsgTime::str2date_zone($received_date)); +is_datestamp('Fri, 9 Mar 71685 18:45:56 +0000', # Y10K is not my problem :P + PublicInbox::MsgTime::str2date_zone($received_date)); + done_testing(); -- cgit v1.2.3-24-ge0c7