aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--rfc822.c8
2 files changed, 8 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index e29fe2df..9595e541 100644
--- a/NEWS
+++ b/NEWS
@@ -5,9 +5,6 @@
* More log levels?
* Allow an explicit "append" option to specify what rewrite appends? (For
when user's pop3 host isn't the same as his SMTP host.)
-* Rewrite maps "From: John Smith (Systems) <jsmith@domain>" to
- "From: John Smith@my.pop.server (Systems) <jsmith@domain>". Is this
- just GIGO, or should we try to cope?
Other TO-DO items:
diff --git a/rfc822.c b/rfc822.c
index 0081cff2..92692745 100644
--- a/rfc822.c
+++ b/rfc822.c
@@ -46,6 +46,14 @@ const char *host; /* server hostname */
buf = (char *)xrealloc(buf, strlen(buf) + addresscount * strlen(host) + 1);
#endif /* TESTMAIN */
+ /*
+ * This is going to foo up on some ill-formed addresses. For example,
+ * "From: John Smith (Systems) <jsmith@domain>" will get rewritten as
+ * "From: John Smith@my.pop.server (Systems) <jsmith@domain>" because
+ * the state machine can't look ahead to the <> part past the comment
+ * and instead treats `John Smith' as a bareword address.
+ */
+
parendepth = state = 0;
has_host_part = has_bare_name_part = FALSE;
for (from = buf; *from; from++)