Xref: utzoo comp.mail.sendmail:2137 comp.bugs.4bsd:1612 Path: utzoo!attcan!uunet!wuarchive!julius.cs.uiuc.edu!ux1.cso.uiuc.edu!mp.cs.niu.edu!rickert From: rickert@mp.cs.niu.edu (Neil Rickert) Newsgroups: comp.mail.sendmail,comp.bugs.4bsd Subject: Re: Local Configuration Error Keywords: sendmail, mx, bind Message-ID: <1990Sep19.002139.32095@mp.cs.niu.edu> Date: 19 Sep 90 00:21:39 GMT References: Distribution: comp Organization: Northern Illinois University Lines: 55 In article gord@cs.UAlberta.CA (Gord Urquhart) writes: > > I am running sendmail 5.61 in conjunction with Bind. Everything works >except for machines that are MX'ed to the local host. If there are 2 MX >records for a host with the prefered one being the local host then in This looks like a problem for which I posted a patch several weeks ago. Since it is a simple patch, I will repeat it. What happens is this: With two or more MX records, the behavior is dependent on the order in which the MX records are retrieved from the name server. If the best preference/local address entry comes first, it is rejected and so are all other MX records. There is then a lookup for an A-record (in deliver.c). But if the best preference does not come first, after all MX records have been stored they are sorted. In this case if the best preference is local a configuration error is declared. Clearly the dependence on the order makes no sense. Either it should always be a configuration error, or it should always result in a search for an A-record. Since the second choice is more useful, the patch implements it. Note: the patch is for sendmail 5.64, but there is probably very little difference in the code. *** /tmp/,RCSt1025390 Thu Sep 13 14:39:07 1990 --- domain.c Fri Aug 10 16:12:53 1990 *************** *** 161,170 **** * the best choice left, we should have realized * awhile ago that this was a local delivery. */ ! if (i == 0) { ! *rcode = EX_CONFIG; ! return(-1); ! } nmx = i; break; } --- 161,168 ---- * the best choice left, we should have realized * awhile ago that this was a local delivery. */ ! if (i == 0) ! goto punt; nmx = i; break; } -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science Northern Illinois Univ. DeKalb, IL 60115. +1-815-753-6940