aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--rfc822.c11
2 files changed, 11 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 5fd06fad..b3045c59 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@
* Don't depend on having snprintf available.
* Bug fix for envskip.
* ODMR finally seems to be working.
+* Handle multiple backslashes within RFC822 address strings correctly.
fetchmail-5.8.11 (Sun Jul 1 21:39:26 EDT 2001), 20973 lines:
diff --git a/rfc822.c b/rfc822.c
index 909b1b7b..5f8e21b7 100644
--- a/rfc822.c
+++ b/rfc822.c
@@ -145,7 +145,16 @@ const unsigned char *host; /* server hostname */
case 2: /* we're in a string */
if (*from == '"')
- state = 1;
+ {
+ char *bp;
+ int bscount;
+
+ bscount = 0;
+ for (bp = from - 1; *bp == '\\'; bp--)
+ bscount++;
+ if (bscount % 2)
+ state = 1;
+ }
break;
case 3: /* we're in a <>-enclosed address */