aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--sink.c7
2 files changed, 7 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index aa6f8a5f..730b5a59 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@
* Fix for Debian bug Bug#1038222: fetchmail conf fails to write file
after configuration; move .fetchmailrc to .fetchmailrc.bak before
overwriting.
+* Discard Return-Path headers consisting of a single @.
fetchmail-5.8.12 (Fri Jul 6 00:56:02 EDT 2001), 21052 lines:
diff --git a/sink.c b/sink.c
index b5b483aa..e8d39eee 100644
--- a/sink.c
+++ b/sink.c
@@ -626,8 +626,13 @@ int open_sink(struct query *ctl, struct msgblk *msg,
* This is a potential problem if the MTAs further upstream
* didn't pass canonicalized From/Return-Path lines, *and* the
* local SMTP listener insists on them.
+ *
+ * Handle the case where an upstream MTA is setting a return
+ * path equal to "@". Ghod knows why anyone does this, but
+ * it's been reported to happen in mail from Amazon.com and
+ * Motorola.
*/
- if (!msg->return_path[0])
+ if (!msg->return_path[0] || (0 == strcmp(msg->return_path, "@")))
{
#ifdef HAVE_SNPRINTF
snprintf(addr, sizeof(addr),