From cc9ea51314197bf314b6b2da2cbb6d20faea3a1b Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Mon, 26 Jan 2009 22:58:30 +0100 Subject: [PATCH] Fixed error in the SMTP message composition that caused mixing of CRLF and LF in redirected messages. --- src/lib-sieve/rfc2822.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib-sieve/rfc2822.c b/src/lib-sieve/rfc2822.c index ec7fad85e..803794fcc 100644 --- a/src/lib-sieve/rfc2822.c +++ b/src/lib-sieve/rfc2822.c @@ -142,22 +142,22 @@ void rfc2822_header_field_write /* Existing newline ? */ if ( nlp != NULL ) { - /* Replace any sort of newline with proper CRLF */ + /* Replace any sort of newline with LF */ while ( *bp == '\r' || *bp == '\n' ) bp++; fwrite(sp, nlp-sp, 1, f); if ( *bp != '\0' && *bp != ' ' && *bp != '\t' ) - fwrite("\r\n\t", 3, 1, f); + fwrite("\n\t", 2, 1, f); else - fwrite("\r\n", 2, 1, f); + fwrite("\n", 1, 1, f); sp = bp; } else { /* Insert newline at last whitespace within the max_line limit */ fwrite(sp, wp-sp, 1, f); - fwrite("\r\n", 2, 1, f); + fwrite("\n", 1, 1, f); sp = wp; } @@ -166,8 +166,10 @@ void rfc2822_header_field_write nlp = NULL; } - fwrite(sp, bp-sp, 1, f); - fwrite("\r\n", 2, 1, f); + if ( bp != sp ) { + fwrite(sp, bp-sp, 1, f); + fwrite("\n", 1, 1, f); + } } void rfc2822_header_field_printf -- GitLab