Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/gnu/dist/sendmail/sendmail be aware of KAME kernel-internal ...



details:   https://anonhg.NetBSD.org/src/rev/5423c73addad
branches:  trunk
changeset: 500168:5423c73addad
user:      itojun <itojun%NetBSD.org@localhost>
date:      Thu Dec 07 06:31:51 2000 +0000

description:
be aware of KAME kernel-internal form returned on SIOCGIFCONF.
(patch sent to sendmail.org)
should fix the following issue:
http://mail-index.netbsd.org/netbsd-help/2000/11/28/0006.html

diffstat:

 gnu/dist/sendmail/sendmail/conf.c |  10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diffs (20 lines):

diff -r 97d3bdaede35 -r 5423c73addad gnu/dist/sendmail/sendmail/conf.c
--- a/gnu/dist/sendmail/sendmail/conf.c Thu Dec 07 06:26:56 2000 +0000
+++ b/gnu/dist/sendmail/sendmail/conf.c Thu Dec 07 06:31:51 2000 +0000
@@ -5092,6 +5092,16 @@
 #   if NETINET6
                  case AF_INET6:
                        ia6 = sa->sin6.sin6_addr;
+#    ifdef __KAME__
+                       /* convert into proper scoped address - */
+                       if ((IN6_IS_ADDR_LINKLOCAL(&ia6) ||
+                            IN6_IS_ADDR_SITELOCAL(&ia6)) &&
+                           sa->sin6.sin6_scope_id == 0) {
+                               sa->sin6.sin6_scope_id = ntohs(ia6.s6_addr[3] |
+                                    ((unsigned int)ia6.s6_addr[2] << 8));
+                               ia6.s6_addr[2] = ia6.s6_addr[3] = 0;
+                       }
+#    endif
                        if (IN6_IS_ADDR_UNSPECIFIED(&ia6))
                        {
                                addr = anynet_ntop(&ia6, buf6, sizeof buf6);



Home | Main Index | Thread Index | Old Index