>>>>> On Sun, 13 Aug 2000 21:28:20 +0200 (SAT)
>>>>> John Hay <[EMAIL PROTECTED]> 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
[EMAIL PROTECTED]  [EMAIL PROTECTED]  [EMAIL PROTECTED]
http://www.imasy.org/~ume/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to