changeset 3012:f71446dc9b38 HEAD

Support "quoted spaces" in From-line sender's local-part. Postfix at least may write these..
author Timo Sirainen <tss@iki.fi>
date Tue, 21 Dec 2004 14:40:46 +0200
parents ea37520d92e3
children b4891c3917eb
files src/lib-storage/index/mbox/mbox-from.c
diffstat 1 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/mbox/mbox-from.c	Mon Dec 20 18:00:56 2004 +0200
+++ b/src/lib-storage/index/mbox/mbox-from.c	Tue Dec 21 14:40:46 2004 +0200
@@ -22,7 +22,7 @@
 {
 	const unsigned char *msg_start, *sender_end, *msg_end;
 	struct tm tm;
-	int i, timezone = 0, seen_timezone = FALSE;
+	int i, esc, timezone = 0, seen_timezone = FALSE;
 	time_t t;
 
 	*time_r = (time_t)-1;
@@ -33,6 +33,19 @@
 	msg_end = msg + size;
 
 	/* get sender */
+	if (msg < msg_end && *msg == '"') {
+		/* "x y z"@domain - skip the quoted part */
+		esc = FALSE;
+		msg++;
+		while (msg < msg_end && (*msg != '"' || esc)) {
+			if (*msg == '\r' || *msg == '\n')
+				return -1;
+			esc = *msg == '\\';
+			msg++;
+		}
+		msg++;
+	} 
+
 	while (msg < msg_end && *msg != ' ') {
 		if (*msg == '\r' || *msg == '\n')
 			return -1;