aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1996-12-06 21:32:34 +0000
committerEric S. Raymond <esr@thyrsus.com>1996-12-06 21:32:34 +0000
commit705fe30d960a34a9cfe2e8f1bd7f1cc4286ea139 (patch)
tree843672b20b3c3a61a57a0f1acdae1bb7e5de1418
parent395e8765a4f70f9c62f261de3c67d6dbe92d72ff (diff)
downloadfetchmail-705fe30d960a34a9cfe2e8f1bd7f1cc4286ea139.tar.gz
fetchmail-705fe30d960a34a9cfe2e8f1bd7f1cc4286ea139.tar.bz2
fetchmail-705fe30d960a34a9cfe2e8f1bd7f1cc4286ea139.zip
Fix a multidrop bug.
svn path=/trunk/; revision=607
-rw-r--r--NEWS2
-rw-r--r--driver.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index b59c00f0..24219109 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ features --
* If SMTP returns 571 (unsolicited mail refused) to a MAIL FROM, the
address is excluded by the local sendmail's spam filter. Drop the mail.
+ (This the only circumstance in which mail is thrown away.)
bugs --
@@ -13,6 +14,7 @@ bugs --
* Fixed a bug in non-implicit (poll specified host) mode also due to aka.
* Various minor portability fixes for Suns.
* Avoid using -lresolv when possible, some Linux versions are badly broken.
+* Fix error in MX record handling that was causing multidrop problems
fetchmail-2.1 (Thu Nov 28 11:07:48 EST 1996):
diff --git a/driver.c b/driver.c
index 06bb6dc1..17c42bc6 100644
--- a/driver.c
+++ b/driver.c
@@ -166,6 +166,7 @@ static int is_host_alias(const char *name, struct query *ctl)
*/
h_errno = 0;
if ((mxrecords = getmxrecords(name)) == (struct mxentry *)NULL)
+ {
switch (h_errno)
{
case HOST_NOT_FOUND: /* specified host is unknown */
@@ -175,6 +176,7 @@ static int is_host_alias(const char *name, struct query *ctl)
for (mxp = mxrecords; mxp->name; mxp++)
if (strcmp(name, mxp->name) == 0)
goto match;
+ return(FALSE);
break;
case NO_RECOVERY: /* non-recoverable name server error */
@@ -187,8 +189,7 @@ static int is_host_alias(const char *name, struct query *ctl)
longjmp(restart, 2); /* try again next poll cycle */
break;
}
-
- return(FALSE);
+ }
match:
/* add this name to relevant server's `also known as' list */