From 3026bfee3c04ba09f13e4345eec0d6fbe14cc146 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Tue, 14 Jul 2009 23:04:43 +0000 Subject: Remove 'message delimiter found while scanning headers' error message. RFC-5322 allows for messages without the CRLF+body part, so fetchmail should not complain about legal messages. svn path=/branches/BRANCH_6-3/; revision=5387 --- NEWS | 5 +++++ TODO.txt | 2 -- transact.c | 15 +++++---------- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index 660de458..a1e2ae1c 100644 --- a/NEWS +++ b/NEWS @@ -49,6 +49,11 @@ removed from a 6.4.0 or newer release.) fetchmail 6.3.11 (released XXXX-XX-XX - i. e. not yet): +# BUGFIXES +* Remove the spurious message "message delimiter found while scanning headers". + RFC-5322 syntax states that the delimiter is part of the body, and the body is + optional. + # TRANSLATION UPDATES AND ADDITIONS (ordered by language name): * [zh_CN] Chinese/Simplified (Ji ZhengYu) * [es] Spanish/Castilian (Francisco Molinero) diff --git a/TODO.txt b/TODO.txt index 3d756e03..a6186a1f 100644 --- a/TODO.txt +++ b/TODO.txt @@ -5,8 +5,6 @@ soon - MUST: - put bare IP addresses in brackets for SMTP (check if there are RFC 1123/5321/5322 differences) - Debian Bug #531589: fetchmail ignores SIGUSR1 in idle mode. -- Check RFC5322: do messages without body require the separator line? If not, - we need to fix transact.c to not complain. soon - SHOULD: - make sure the man page completely lists all options (f. i. sslcertpath) in diff --git a/transact.c b/transact.c index b890c0cb..c6ea7e35 100644 --- a/transact.c +++ b/transact.c @@ -548,6 +548,7 @@ int readheaders(int sock, /* check for end of headers */ if (end_of_header(line)) { +eoh: if (linelen != strlen (line)) has_nuls = TRUE; free(line); @@ -561,15 +562,9 @@ int readheaders(int sock, */ if (protocol->delimited && line[0] == '.' && EMPTYLINE(line+1)) { - if (outlevel > O_SILENT) - report(stdout, - GT_("message delimiter found while scanning headers\n")); if (suppress_readbody) *suppress_readbody = TRUE; - if (linelen != strlen (line)) - has_nuls = TRUE; - free(line); - goto process_headers; + goto eoh; /* above */ } /* @@ -938,12 +933,12 @@ int readheaders(int sock, } } - process_headers: +process_headers: - if (retain_mail) - { + if (retain_mail) { return(PS_RETAINED); } + if (refuse_mail) return(PS_REFUSED); /* -- cgit v1.2.3