Subject: [Technical Errata Reported] RFC7231 (5448)

From: RFC Errata System <[email-masked]>
Date: Thu, 2 Aug 2018 06:31:36 -0700 (PDT)

The following errata report has been submitted for RFC7231,
"Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata/eid5448

--------------------------------------
Type: Technical
Reported by: Magnar Ovedal Myrtveit <[email-masked]>

Section: 7.1.1.1

Original Text
-------------
Recipients of a timestamp value in rfc850-date format, which uses a
two-digit year, MUST interpret a timestamp that appears to be more
than 50 years in the future as representing the most recent year in
the past that had the same last two digits.

Corrected Text
--------------
Recipients of a timestamp value in rfc850-date format, which uses a
two-digit year, MUST interpret a timestamp that appears to be more
than 200 years in the future as representing the most recent date in
the past that also matches the timestamp.

Notes
-----
The combination of day-of-the-week, day-of-the-month, month, and the two last digits of the year repeats every 400 years. For example, "Friday, 01-Jan-00 00:00:00 GMT" (as formatted by rfc850) happens in the years ...1300, 1700, 2100, 2500, 2900...

With the original text, "Friday, 01-Jan-00 00:00:00 GMT" is interpreted as year 2000, since year 2100 is more than 50 years in the future, and year 2000 is the most recent year in the past with the same last two digits as 2100. However, if it really was year 2000, it should have said "Saturday, 01-Jan-00 00:00:00 GMT". So it would make more sense to interpret it as either year 1700 or year 2100. The corrected text interprets it as year 2100.

"Monday, 01-Jan-00 00:00:00 GMT" happens in years ...1100, 1500, 1900, 2300, 2700..., and is interpreted as year 1900, since 2300 is more than 200 years in the future.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party  
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC7231 (draft-ietf-httpbis-p2-semantics-26)
--------------------------------------
Title               : Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
Publication Date    : June 2014
Author(s)           : R. Fielding, Ed., J. Reschke, Ed.
Category            : PROPOSED STANDARD
Source              : Hypertext Transfer Protocol Bis APP
Area                : Applications
Stream              : IETF
Verifying Party     : IESG

---

From: Julian Reschke <[email-masked]>
Date: Thu, 2 Aug 2018 16:01:48 +0200

On 2018-08-02 15:31, RFC Errata System wrote:
> ...

The text in RFC7231 is not incorrect, it's just not optimal. It's 
debatable whether a more complex rule for handling two-digit years 
really is an improvement, given the fact that the use of that date 
format is discouraged already.

Best regards, Julian

---

From: Amos Jeffries <[email-masked]>
Date: Fri, 3 Aug 2018 03:59:16 +1200

On 03/08/18 01:31, RFC Errata System wrote:
> Reported by: Magnar Ovedal Myrtveit
> 
> Section: 7.1.1.1
> 
> Original Text
> -------------

Three counter points:

1) this is guidance for values in HTTP messages on todays Internet. As
such this text only applies to gateways relaying messages from long ago
obsolete software.

2) modern HTTP agents already have to handle messages on the order of
hundreds of thousand per second. Having to account for this type of
resolution at those speeds and traffic pressures is a significant
additional overhead even if it only comes along on rare messages.
 Whereas adding +/-50 to the year can be done extremely fast with zero
permanent memory overhead for a periodic calendar calculation or lookup.

3) this assumes that the Wkday is both present and accurate. RFC 850
agents are encouraged (even required) to adjust timezones to match their
local with no guidance on the other fields being kept in sync. This can
have profound impact on whether the weekday can be trusted at all.

So I am for keeping it as-is, even if technically a greater resolution
can be achieved.

AYJ

---

From: Patrick McManus <[email-masked]>
Date: Thu, 02 Aug 2018 18:58:36 +0000 (UTC)

Perhaps fodder for consideration in http core but not 7231 errata I'm. Open
a http core issue instead?

On Thu, Aug 2, 2018, 12:03 Amos Jeffries <[email-masked]> wrote:

> > The combination of day-of-the-week, day-of-the-month, month, and the two
> last digits of the year repeats every 400 years. For example, "Friday,
> 01-Jan-00 00:00:00 GMT" (as formatted by rfc850) happens in the years
> ...1300, 1700, 2100, 2500, 2900...
> >
> > With the original text, "Friday, 01-Jan-00 00:00:00 GMT" is interpreted
> as year 2000, since year 2100 is more than 50 years in the future, and year
> 2000 is the most recent year in the past with the same last two digits as
> 2100. However, if it really was year 2000, it should have said "Saturday,
> 01-Jan-00 00:00:00 GMT". So it would make more sense to interpret it as
> either year 1700 or year 2100. The corrected text interprets it as year
> 2100.
> >
> > "Monday, 01-Jan-00 00:00:00 GMT" happens in years ...1100, 1500, 1900,
> 2300, 2700..., and is interpreted as year 1900, since 2300 is more than 200
> years in the future.
> >
>
> Three counter points:
>

---

From: Mark Nottingham <[email-masked]>
Date: Fri, 3 Aug 2018 09:22:53 +1000

SGTM. This isn't appropriate for errata.

> On 3 Aug 2018, at 4:58 am, Patrick McManus <[email-masked]> wrote:
> 
> Perhaps fodder for consideration in http core but not 7231 errata I'm. Open a http core issue instead?
> 

--
Mark Nottingham   https://www.mnot.net/

---

From: Mike Bishop <[email-masked]>
Date: Mon, 6 Aug 2018 22:50:51 +0000

I'm dubious this is even in-scope for http-core, given the considerations Amos raised and that it would change normative rules about the meaning of existing messages in the wild.  However, we can have that discussion there if desired.

-----Original Message-----
From: Mark Nottingham <[email-masked]> 
Sent: Thursday, August 2, 2018 4:23 PM
To: Patrick McManus <[email-masked]>
Cc: Amos Jeffries <[email-masked]>; HTTP Working Group <[email-masked]>
Subject: Re: [Technical Errata Reported] RFC7231 (5448)

> such this text only applies to gateways relaying messages from long 
> ago obsolete software.
> 
> 
> agents are encouraged (even required) to adjust timezones to match 
> their local with no guidance on the other fields being kept in sync. 
> This can have profound impact on whether the weekday can be trusted at all.
> 
>

---

From: Julian Reschke <[email-masked]>
Date: Wed, 8 Aug 2018 12:39:51 +0200

> I'm dubious this is even in-scope for http-core, given the considerations Amos raised and that it would change normative rules about the meaning of existing messages in the wild.  However, we can h…

Agreed.

Alexey, could you please mark this one as "rejected"?

Best regards, Julian