From 04ddc126f3fdf33c2e6da02acf248b5093e6c495 Mon Sep 17 00:00:00 2001 From: ThomasLandauer Date: Mon, 20 Dec 2021 17:37:07 +0100 Subject: [PATCH] [Mime] Relaxing in-reply-to header validation --- src/Symfony/Component/Mime/Header/Headers.php | 4 ++-- .../Component/Mime/Tests/Header/HeadersTest.php | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Mime/Header/Headers.php b/src/Symfony/Component/Mime/Header/Headers.php index 1a7b4b276eee..201a7a5f9744 100644 --- a/src/Symfony/Component/Mime/Header/Headers.php +++ b/src/Symfony/Component/Mime/Header/Headers.php @@ -141,8 +141,8 @@ public function add(HeaderInterface $header): self 'cc' => MailboxListHeader::class, 'bcc' => MailboxListHeader::class, 'message-id' => IdentificationHeader::class, - 'in-reply-to' => IdentificationHeader::class, - 'references' => IdentificationHeader::class, + 'in-reply-to' => UnstructuredHeader::class, // `In-Reply-To` and `References` are less strict than RFC 2822 (3.6.4) to allow users entering the original email's ... + 'references' => UnstructuredHeader::class, // ... `Message-ID`, even if that is no valid `msg-id` 'return-path' => PathHeader::class, ]; diff --git a/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php b/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php index 89d8be01b018..5da27293310e 100644 --- a/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php +++ b/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php @@ -243,4 +243,18 @@ public function testToArray() "Foo: =?utf-8?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=\r\n =?utf-8?Q?aaaa?=", ], $headers->toArray()); } + + public function testInReplyToAcceptsNonIdentifierValues() + { + $headers = new Headers(); + $headers->addHeader('In-Reply-To', 'foobar'); + $this->assertEquals('foobar', $headers->get('In-Reply-To')->getBody()); + } + + public function testReferencesAcceptsNonIdentifierValues() + { + $headers = new Headers(); + $headers->addHeader('References' , 'foobar'); + $this->assertEquals('foobar', $headers->get('References')->getBody()); + } }