aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1997-12-01 08:40:47 +0000
committerEric S. Raymond <esr@thyrsus.com>1997-12-01 08:40:47 +0000
commita3266193deaf5e76210124359e92dc99137162ea (patch)
tree05eb197f67edbf3ec1cf1578af76be5decc291a1
parentc20d6ead2c246bb77ce62663de29e1db875fd2f3 (diff)
downloadfetchmail-a3266193deaf5e76210124359e92dc99137162ea.tar.gz
fetchmail-a3266193deaf5e76210124359e92dc99137162ea.tar.bz2
fetchmail-a3266193deaf5e76210124359e92dc99137162ea.zip
Give up in GIGO.
svn path=/trunk/; revision=1554
-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++)