Skip to content
Browse files

a Type-0 Routing-header is skipped if Segments Left is set to zero, r…

…egardless of the Hdr-Ext-Len value. (RFC2460 section 4.4)
  • Loading branch information...
1 parent 0754f59 commit 2711faa058f716253f34fd39382be745fd1be0c5 suz committed
Showing with 10 additions and 4 deletions.
  1. +7 −3 CHANGELOG
  2. +3 −1 kame/sys/netinet6/route6.c
View
10 CHANGELOG
@@ -1,11 +1,15 @@
CHANGELOG for KAME kit
-$KAME: CHANGELOG,v 1.2677 2004/11/12 11:18:27 suz Exp $
+$KAME: CHANGELOG,v 1.2678 2004/11/12 11:30:13 suz Exp $
<200411>
2004-11-12 SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
+ * kame/sys/netinet6/route6.c (route6_input): conformance fix;
+ a Type-0 Routing-header is skipped if Segments Left is set to
+ zero, regardless of the Hdr-Ext-Len value. (RFC2460 section 4.4)
+
+2004-11-12 SUZUKI, Shinsuke <suz@crl.hitachi.co.jp>
* freebsd5: Upgrade to 5.3-RELEASE
- ToDo:
- - test ...
+ ToDo: - test ...
- additional features like ALTQ, MIP6, SSM, ...
2004-11-08 JINMEI, Tatuya <jinmei@isl.rdc.toshiba.co.jp>
View
4 kame/sys/netinet6/route6.c
@@ -1,4 +1,4 @@
-/* $KAME: route6.c,v 1.51 2004/06/02 05:53:17 itojun Exp $ */
+/* $KAME: route6.c,v 1.52 2004/11/12 11:30:13 suz Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -111,6 +111,8 @@ route6_input(mp, offp, proto)
switch (rh->ip6r_type) {
case IPV6_RTHDR_TYPE_0:
rhlen = (rh->ip6r_len + 1) << 3;
+ if (rh->ip6r_segleft == 0)
+ break; /* Final dst. Just ignore the header. */
#ifndef PULLDOWN_TEST
/*
* note on option length:

0 comments on commit 2711faa

Please sign in to comment.
Something went wrong with that request. Please try again.