From 641168f09dd117f053726593811bd0e35f6cc33e Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 4 Dec 2019 16:39:43 +0530 Subject: email: Handle blank Subject headers. * email/email.scm (post-process-fields): Treat blank Subject headers as having the null string as value. * tests/email.scm ("blank Subject header must be treated as having the null string as value"): New test. Reported-by: Ricardo Wurmus --- email/email.scm | 3 +++ tests/email.scm | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/email/email.scm b/email/email.scm index fdd8031..9478477 100644 --- a/email/email.scm +++ b/email/email.scm @@ -723,6 +723,9 @@ values. The returned headers is a string and body is a bytevector." (cons field value)) ((field . values) (cons field values)) + ;; If the Subject header is blank, treat it as having the + ;; null string as value. + ('subject '(subject . "")) (_ #f)) fields)) diff --git a/tests/email.scm b/tests/email.scm index 03c3b70..477ddc9 100644 --- a/tests/email.scm +++ b/tests/email.scm @@ -376,6 +376,15 @@ copyright =A9") (charset . "utf-8")) (content-transfer-encoding . 7bit))) +(test-alist= "blank Subject header must be treated as having the null string as value" + (parse-email-headers + "Subject: +") + '((subject . "") + (content-type (type . text) + (subtype . plain) + (charset . "utf-8")) + (content-transfer-encoding . 7bit))) (test-equal "parse name-addr email address" (parse-email-address "Foo ") '((name . "Foo") (address . "foo@example.org"))) -- cgit v1.2.3