Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/netinet6 Pull up rev. 1.24:
details: https://anonhg.NetBSD.org/src/rev/3d8c245fadc2
branches: netbsd-1-5
changeset: 488413:3d8c245fadc2
user: thorpej <thorpej%NetBSD.org@localhost>
date: Mon Jul 03 22:48:19 2000 +0000
description:
Pull up rev. 1.24:
drop packet to tentative/duplicated interface address earlier. sync w/kame
diffstat:
sys/netinet6/ip6_input.c | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diffs (40 lines):
diff -r 61a16fe0d225 -r 3d8c245fadc2 sys/netinet6/ip6_input.c
--- a/sys/netinet6/ip6_input.c Mon Jul 03 22:46:16 2000 +0000
+++ b/sys/netinet6/ip6_input.c Mon Jul 03 22:48:19 2000 +0000
@@ -1,5 +1,5 @@
-/* $NetBSD: ip6_input.c,v 1.22 2000/06/13 14:43:44 itojun Exp $ */
-/* $KAME: ip6_input.c,v 1.94 2000/06/13 10:06:19 jinmei Exp $ */
+/* $NetBSD: ip6_input.c,v 1.22.2.1 2000/07/03 22:48:19 thorpej Exp $ */
+/* $KAME: ip6_input.c,v 1.95 2000/07/02 07:49:37 jinmei Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -488,16 +488,25 @@
ip6_forward_rt.ro_rt->rt_ifp->if_type == IFT_LOOP) {
struct in6_ifaddr *ia6 =
(struct in6_ifaddr *)ip6_forward_rt.ro_rt->rt_ifa;
- /* packet to tentative address must not be received */
if (ia6->ia6_flags & IN6_IFF_ANYCAST)
m->m_flags |= M_ANYCAST6;
+ /*
+ * packets to a tentative, duplicated, or somehow invalid
+ * address must not be accepted.
+ */
if (!(ia6->ia6_flags & IN6_IFF_NOTREADY)) {
- /* this interface is ready */
+ /* this address is ready */
ours = 1;
deliverifp = ia6->ia_ifp; /* correct? */
goto hbhcheck;
} else {
- /* this interface is not ready, fall through */
+ /* address is not ready, so discard the packet. */
+ log(LOG_INFO,
+ "ip6_input: packet to an unready address %s->%s",
+ ip6_sprintf(&ip6->ip6_src),
+ ip6_sprintf(&ip6->ip6_dst));
+
+ goto bad;
}
}
Home |
Main Index |
Thread Index |
Old Index