Source-Changes-HG archive

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

[src/trunk]: src/sys/netinet6 add missing ipcomp cases.



details:   https://anonhg.NetBSD.org/src/rev/f1b7bbc44dd9
branches:  trunk
changeset: 480611:f1b7bbc44dd9
user:      itojun <itojun%NetBSD.org@localhost>
date:      Sun Jan 16 18:06:03 2000 +0000

description:
add missing ipcomp cases.

diffstat:

 sys/netinet6/ah_core.c |   4 +++-
 sys/netinet6/icmp6.c   |   3 ++-
 sys/netinet6/ipsec.c   |  18 +++++++++++++++++-
 3 files changed, 22 insertions(+), 3 deletions(-)

diffs (88 lines):

diff -r 5eeb182ed894 -r f1b7bbc44dd9 sys/netinet6/ah_core.c
--- a/sys/netinet6/ah_core.c    Sun Jan 16 17:56:46 2000 +0000
+++ b/sys/netinet6/ah_core.c    Sun Jan 16 18:06:03 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ah_core.c,v 1.13 2000/01/06 07:31:10 itojun Exp $      */
+/*     $NetBSD: ah_core.c,v 1.14 2000/01/16 18:06:03 itojun Exp $      */
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -806,6 +806,7 @@
        case IPPROTO_UDP:
        case IPPROTO_TCP:
        case IPPROTO_ESP:
+       case IPPROTO_IPCOMP:
                while (m) {
                        tlen = m->m_len - (p - mtod(m, u_char *));
                        (algo->update)(&algos, p, tlen);
@@ -1078,6 +1079,7 @@
        case IPPROTO_UDP:
        case IPPROTO_TCP:
        case IPPROTO_ESP:
+       case IPPROTO_IPCOMP:
                while (m) {
                        tlen = m->m_len - (p - mtod(m, u_char *));
                        (algo->update)(&algos, p, tlen);
diff -r 5eeb182ed894 -r f1b7bbc44dd9 sys/netinet6/icmp6.c
--- a/sys/netinet6/icmp6.c      Sun Jan 16 17:56:46 2000 +0000
+++ b/sys/netinet6/icmp6.c      Sun Jan 16 18:06:03 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: icmp6.c,v 1.17 2000/01/07 06:44:30 itohy Exp $ */
+/*     $NetBSD: icmp6.c,v 1.18 2000/01/16 18:06:03 itojun Exp $        */
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -206,6 +206,7 @@
                case IPPROTO_UDP:
                case IPPROTO_TCP:
                case IPPROTO_ESP:
+               case IPPROTO_IPCOMP:
                case IPPROTO_FRAGMENT:
                        /*
                         * ICMPv6 error must not be fragmented.
diff -r 5eeb182ed894 -r f1b7bbc44dd9 sys/netinet6/ipsec.c
--- a/sys/netinet6/ipsec.c      Sun Jan 16 17:56:46 2000 +0000
+++ b/sys/netinet6/ipsec.c      Sun Jan 16 18:06:03 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ipsec.c,v 1.12 2000/01/06 15:46:10 itojun Exp $        */
+/*     $NetBSD: ipsec.c,v 1.13 2000/01/16 18:06:04 itojun Exp $        */
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -1139,6 +1139,13 @@
                                level = ah_net_deflev;
                        else
                                level = ah_trans_deflev;
+               case IPPROTO_IPCOMP:
+                       /*
+                        * we don't really care, as IPcomp document says that
+                        * we shouldn't compress small packets
+                        */
+                       level = IPSEC_LEVEL_USE;
+                       break;
                default:
                        panic("ipsec_get_reqlevel: "
                                "Illegal protocol defined %u\n",
@@ -1220,6 +1227,12 @@
                                need_icv++;
                        }
                        break;
+               case IPPROTO_IPCOMP:
+                       /*
+                        * we don't really care, as IPcomp document says that
+                        * we shouldn't compress small packets
+                        */
+                       break;
                }
        }
 
@@ -2540,6 +2553,9 @@
                case IPPROTO_AH:
                        error = ah6_output(state->m, &ip6->ip6_nxt, state->m->m_next, isr);
                        break;
+               case IPPROTO_IPCOMP:
+                       /* XXX code should be here */
+                       /*FALLTHROUGH*/
                default:
                        printf("ipsec6_output_tunnel: unknown ipsec protocol %d\n", isr->proto);
                        m_freem(state->m);



Home | Main Index | Thread Index | Old Index