]> Cypherpunks repositories - gostls13.git/commit
net/mail: avoid ParseDate confusion if day name includes "T"
authorEmmanuel T Odeke <emmanuel@orijtech.com>
Tue, 26 May 2020 21:14:08 +0000 (14:14 -0700)
committerEmmanuel Odeke <emmanuel@orijtech.com>
Thu, 5 Nov 2020 02:48:05 +0000 (02:48 +0000)
commit3ef8562c9c2c7f6897572b05b70ac936a99fd043
tree85349e32e2be1dee9835297f4c42abfe96055330
parent1e3b535b6eb7f13eb6d903f7998c384a36e9bba8
net/mail: avoid ParseDate confusion if day name includes "T"

Fixes the check for RFC 5322 "obsolete time zone" to ensure
that we correctly extract the entire date from the "T" of the
implied time zone.

Obsolete Time zones come in the form:
* GMT
* PST
* MDT
etc, as per Section 4.3 of RFC 5322,
https://tools.ietf.org/html/rfc5322#section-4.3.

The prior check from CL 117596 erronenously used strings.Index
which selects the first "T", and that meant that dates containing
days "Tue" or "Thu" could not be parsed.

We also now deal with "T" in the CFWS "Comment Folding White Space".

Thus we'll now accept dates:
* Thu, 20 Nov 1997 09:55:06 MDT
* Thu, 20 Nov 1997 09:55:06 MDT (MDT)
* Fri, 21 Nov 1997 09:55:06 MDT (This comment)
* Fri, 21 Nov 1997 09:55:06 MDT (MDT

Fixes #39260

Change-Id: I6d59d99bc4f05a82582c826b5c5a080a25fd999b
Reviewed-on: https://go-review.googlesource.com/c/go/+/235200
Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
src/net/mail/message.go
src/net/mail/message_test.go