[dovecot-cvs] dovecot/src/lib-storage mail-save.c,1.9,1.10

cras at procontrol.fi cras at procontrol.fi
Sun Jun 20 09:14:02 EEST 2004


Update of /home/cvs/dovecot/src/lib-storage
In directory talvi:/tmp/cvs-serv4264/lib-storage

Modified Files:
	mail-save.c 
Log Message:
Make sure headers end with LF



Index: mail-save.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/mail-save.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- mail-save.c	20 Jun 2004 03:25:33 -0000	1.9
+++ mail-save.c	20 Jun 2004 06:14:00 -0000	1.10
@@ -94,7 +94,7 @@
 {
 	struct message_header_parser_ctx *hdr_ctx;
 	struct message_header_line *hdr;
-	int ret = 0;
+	int last_newline = TRUE, ret = 0;
 
 	hdr_ctx = message_parse_header_init(input, NULL, FALSE);
 	while ((hdr = message_parse_header_next(hdr_ctx)) != NULL) {
@@ -114,10 +114,17 @@
 			(void)o_stream_send(output, hdr->value, hdr->value_len);
 			if (!hdr->no_newline)
 				write_func(output, "\n", 1);
+			last_newline = !hdr->no_newline;
+		} else {
+			last_newline = TRUE;
 		}
 	}
 
 	if (ret >= 0) {
+		if (!last_newline) {
+			/* don't allow headers that don't terminate with \n */
+			write_func(output, "\n", 1);
+		}
 		if (header_callback(NULL, write_func, context) < 0)
 			ret = -1;
 



More information about the dovecot-cvs mailing list