From owner-freebsd-current Tue Apr 23 13:06:23 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id NAA01111 for current-outgoing; Tue, 23 Apr 1996 13:06:23 -0700 (PDT) Received: from tfs.com (tfs.com [140.145.250.1]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id NAA01104 for ; Tue, 23 Apr 1996 13:06:17 -0700 (PDT) Received: from critter.tfs.com by tfs.com (smail3.1.28.1) with SMTP id m0uBoLm-0003wQC; Tue, 23 Apr 96 13:06 PDT Received: from localhost.tfs.com (localhost.tfs.com [127.0.0.1]) by critter.tfs.com (8.6.12/8.6.12) with SMTP id UAA09460; Tue, 23 Apr 1996 20:05:55 GMT X-Authentication-Warning: critter.tfs.com: Host localhost.tfs.com didn't use HELO protocol To: current@FreeBSD.org Cc: Jim Fleming Subject: SLIP: Check IP Version (please test) In-reply-to: Your message of "Sun, 07 Apr 1996 00:28:56 CST." <01BB2419.36344C40@webster.unety.net> Date: Tue, 23 Apr 1996 20:05:54 +0000 Message-ID: <9458.830289954@critter.tfs.com> From: Poul-Henning Kamp Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk Somebody running slip with header compression please test this patch. Poul-Henning > I am starting to develop a substantialliy modified version of the IP protocol . > As specified in the IP protocol the ip_v (IP Version) field of the IP header > should be set to 4. (see /usr/src/sys/netinet/ip.h) > > It is not desirable for new versions of IP to "break" existing code. I have n ot > provide this but in studying the SLIP code I see that there is never really > a check done to see of the IP header is of version 4. Index: if_sl.c =================================================================== RCS file: /home/ncvs/src/sys/net/if_sl.c,v retrieving revision 1.37 diff -u -r1.37 if_sl.c --- if_sl.c 1996/04/07 17:39:09 1.37 +++ if_sl.c 1996/04/23 20:03:53 @@ -561,7 +561,8 @@ } while (m1 = m1->m_next); } #endif - if ((ip = mtod(m, struct ip *))->ip_p == IPPROTO_TCP) { + if ((ip = mtod(m, struct ip *))->ip_v == IPVERSION) && + (ip = mtod(m, struct ip *))->ip_p == IPPROTO_TCP) { if (sc->sc_if.if_flags & SC_COMPRESS) *mtod(m, u_char *) |= sl_compress_tcp(m, ip, &sc->sc_comp, 1); -- Poul-Henning Kamp | phk@FreeBSD.ORG FreeBSD Core-team. http://www.freebsd.org/~phk | phk@login.dknet.dk Private mailbox. whois: [PHK] | phk@ref.tfs.com TRW Financial Systems, Inc. Future will arrive by its own means, progress not so.