Date: Mon, 14 Aug 2000 05:44:34 +0900 (JST) From: Hajimu UMEMOTO <ume@mahoroba.org> To: jhay@icomtek.co.za Cc: gshapiro@gshapiro.net, gshapiro@FreeBSD.ORG, freebsd-current@FreeBSD.ORG Subject: Re: sendmail updated from 8.9.3 to 8.11.0 in -current Message-ID: <20000814.054434.115900410.ume@mahoroba.org> In-Reply-To: <200008131928.e7DJSKg20282@zibbi.mikom.csir.co.za> References: <14742.61852.184466.543141@horsey.gshapiro.net> <200008131928.e7DJSKg20282@zibbi.mikom.csir.co.za>
index | next in thread | previous in thread | raw e-mail
>>>>> On Sun, 13 Aug 2000 21:28:20 +0200 (SAT)
>>>>> John Hay <jhay@icomtek.co.za> said:
> jhay> There is just an annoying message because of the anycast address:
>
> jhay> Aug 13 16:38:47 angel sendmail[11947]: gethostbyaddr(3ffe:2900:fffa:4::) failed: 1
>
> jhay> Is that because of a configuration error or just because sendmail needs
> jhay> to check for anycast addresses?
>
> sendmail tries to get the hostnames associated with all of it's interfaces
> to populate $=w (local host names). The best fix would be to create an
> entry in DNS for that address. Perhaps sendmail shouldn't bother warning
> on multicast addresses. Can you see if this patch makes the error go away?
>
jhay> I tried your second patch, but it didn't make a difference.
Please try this patch.
Index: sendmail-8.11.0/sendmail/conf.c
diff -u sendmail-8.11.0/sendmail/conf.c.orig sendmail-8.11.0/sendmail/conf.c
--- sendmail-8.11.0/sendmail/conf.c.orig Sun Jul 16 02:35:18 2000
+++ sendmail-8.11.0/sendmail/conf.c Mon Aug 14 05:34:18 2000
@@ -4771,6 +4771,11 @@
# undef __P
# endif /* (_AIX4 >= 40300) && !defined(_NET_IF_H) */
# include <net/if.h>
+#if NETINET6 && !defined(SIOCGLIFCONF)
+# include <net/if.h>
+# include <net/if_var.h>
+# include <netinet/in_var.h>
+#endif /* NETINET6 && !SIOCGLIFCONF */
#endif /* defined(SIOCGIFCONF) && !SIOCGIFCONF_IS_BROKEN */
void
@@ -5009,6 +5014,9 @@
# if NETINET6
char *addr;
struct in6_addr ia6;
+# ifdef SIOCGIFAFLAG_IN6
+ struct in6_ifreq ifr6;
+# endif /* SIOCGIFAFLAG_IN6 */
# endif /* NETINET6 */
struct in_addr ia;
# ifdef SIOCGIFFLAGS
@@ -5093,6 +5101,22 @@
addr == NULL ? "(NULL)" : addr);
continue;
}
+
+# ifdef SIOCGIFAFLAG_IN6
+ memset(&ifr6, '\0', sizeof(struct in6_ifreq));
+ strncpy(ifr6.ifr_name, ifr->ifr_name,
+ sizeof(ifr->ifr_name));
+ ifr6.ifr_addr = sa->sin6;
+ if (ioctl(s, SIOCGIFAFLAG_IN6, &ifr6) < 0)
+ {
+ if (tTd(0, 4))
+ dprintf("SIOCGLIFFLAGS failed: %s\n",
+ errstring(errno));
+ continue;
+ }
+ if (ifr6.ifr_ifru.ifru_flags6 & IN6_IFF_ANYCAST)
+ continue;
+# endif /* SIOCGIFAFLAG_IN6 */
/* save IP address in text from */
addr = anynet_ntop(&ia6, buf6, sizeof buf6);
--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume@mahoroba.org ume@bisd.hitachi.co.jp ume@FreeBSD.org
http://www.imasy.org/~ume/
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000814.054434.115900410.ume>
