[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: No MX, no address found it!
On Wed, Aug 02, 2000 at 12:26:52PM +0400, Eugene Crosser wrote:
> I got it, I got it!!!
Indeed that is at least a part of the problem.
(Damn I can be blind at my own code..)
Another problem was that getaddrinfo() as Craig Metz made it,
and which is in use at Linux glibc 2.1 (and newer) is broken
so that it treats all resolver errors as if effectively NXDOMAIN
was received. Specifically it doesn't treat "TRY_AGAIN" (timeout)
as timeout :-(
I just committed this fix of yours to CVS, and last night I cured
the getaddrinfo(), although the cured one will still (propably)
leak some memory, as it was originally made with alloca() instead
of malloc() memory blocks... More important is that it gives
correct results, never mind occasional slipped byte.
> Index: getmxrr.c
> RCS file: /cvsroot/zmailer/transports/smtp/getmxrr.c,v
> retrieving revision 1.13
> diff -u -r1.13 getmxrr.c
> --- getmxrr.c 2000/08/01 16:18:29 1.13
> +++ getmxrr.c 2000/08/02 08:19:21
> @@ -563,8 +563,8 @@
> if (SS->verboselog)
> fprintf(SS->verboselog," matchmyaddresses(): matched!
> canon='%s', myname='%s'\n", mx[i].ai->ai_canonname, myhostname);
> - if (maxpref > (int)mx[nmx].pref)
> - maxpref = mx[nmx].pref;
> + if (maxpref > mx[i].pref)
> + maxpref = mx[i].pref;
> } /* ... i < nmx ... */
/Matti Aarnio <email@example.com>
FUNET: Finnish Academic and Research Network
Network Information/Software Archival Service