diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1996-12-19 08:13:07 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1996-12-19 08:13:07 +0000 |
commit | c0a5b6c582df4403f08438e8179eceed4af9eba4 (patch) | |
tree | 1e0fb4ab636401d4641398ae6e329a6535c54444 | |
parent | 8ac787ff5480231e2a8699025b1ba330b0a7f06e (diff) | |
download | fetchmail-c0a5b6c582df4403f08438e8179eceed4af9eba4.tar.gz fetchmail-c0a5b6c582df4403f08438e8179eceed4af9eba4.tar.bz2 fetchmail-c0a5b6c582df4403f08438e8179eceed4af9eba4.zip |
This is at least an improvement.
svn path=/trunk/; revision=661
-rw-r--r-- | NEWS | 13 | ||||
-rw-r--r-- | driver.c | 20 |
2 files changed, 23 insertions, 10 deletions
@@ -10,7 +10,18 @@ Release Notes: ------------------------------------------------------------------------------ -fetchmail-2.3 (Wed Dec 18 09:17:52 EST 1996) +fetchmail-2.4 () + +bugs -- + +* Fixed a core-dump bug in MX processing that's been lurking there for ghods + know how long. + +* Fixed a minor bug in Received processing. + +* Restored portability to Solaris. + +------------------------------------------------------------------------------ features -- @@ -178,12 +178,7 @@ static int is_host_alias(const char *name, struct query *ctl) switch (h_errno) { case HOST_NOT_FOUND: /* specified host is unknown */ - return(FALSE); - case NO_ADDRESS: /* valid, but does not have an IP address */ - for (mxp = mxrecords; mxp->name; mxp++) - if (strcmp(name, mxp->name) == 0) - goto match; return(FALSE); break; @@ -198,8 +193,15 @@ static int is_host_alias(const char *name, struct query *ctl) break; } } + else + { + for (mxp = mxrecords; mxp->name; mxp++) + if (strcmp(ctl->canonical_name, mxp->name) == 0) + goto match; + return(FALSE); + match:; + } -match: /* add this name to relevant server's `also known as' list */ save_str(&ctl->lead_server->servernames, -1, name); return(TRUE); @@ -414,7 +416,7 @@ struct query *ctl; /* query control record */ cchdr = bufp; else if (!strncasecmp("Bcc:", bufp, 4)) bcchdr = bufp; -#ifdef HAVE_GETHOSTBYNAME +#ifdef HAVE_RES_SEARCH else if (MULTIDROP(ctl) && !strncasecmp("Received:", bufp, 9)) { char *ok; @@ -456,7 +458,7 @@ struct query *ctl; /* query control record */ tp = rbuf; sp = ok + 4; - if (*ok == '<') + if (*sp == '<') sp++; while (*sp && *sp != '>' && *sp != '@' && *sp != ';') if (!isspace(*sp)) @@ -480,7 +482,7 @@ struct query *ctl; /* query control record */ received_for); } } -#endif /* HAVE_GETHOSTBYNAME */ +#endif /* HAVE_RES_SEARCH */ goto skipwrite; } |