summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/slcompress.h
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1998-06-14 00:56:13 +0000
committerbrian <brian@FreeBSD.org>1998-06-14 00:56:13 +0000
commit0e5f5ba899a4b90b622d4db2235bb06e2d592f50 (patch)
tree2eaeda49f72ff7ed7decb33c137a7f8ef7ab69eb /usr.sbin/ppp/slcompress.h
parent84ee66217aaf229f2db221388ca5b4bb44a24eb2 (diff)
downloadFreeBSD-src-0e5f5ba899a4b90b622d4db2235bb06e2d592f50.zip
FreeBSD-src-0e5f5ba899a4b90b622d4db2235bb06e2d592f50.tar.gz
o Pass our negotiated number of VJ slots into
sl_uncompress_tcp() and drop packets with slot numbers that are out of range. o Drop packets that want to use a slot that still has an IP header length of 0 (ie, the requested slot number is bogus again). Without this code, if the other side mis-behaves (and sends us garbage slot numbers), we happily ``adjust'' a memset(..., '\0', ...) TCP/IP header and promptly cr*p all over the stack before returning.... quickly followed by a SIGBUS. Dodgy ISP used by, and help locating the problem from: jmz Problem also seen by: Mourad de Riche <omnibus@image.dk> There's still a link lockup after this happens, but my bets are on the other side (who has already started sending rubbish) being to blame.
Diffstat (limited to 'usr.sbin/ppp/slcompress.h')
-rw-r--r--usr.sbin/ppp/slcompress.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/ppp/slcompress.h b/usr.sbin/ppp/slcompress.h
index ebe7f1b..6af7905 100644
--- a/usr.sbin/ppp/slcompress.h
+++ b/usr.sbin/ppp/slcompress.h
@@ -16,7 +16,7 @@
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * $Id: slcompress.h,v 1.10.2.5 1998/05/01 19:26:00 brian Exp $
+ * $Id: slcompress.h,v 1.11 1998/05/21 21:48:30 brian Exp $
*
* Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
* - Initial distribution.
@@ -145,5 +145,5 @@ extern void sl_compress_init(struct slcompress *, int);
extern u_char sl_compress_tcp(struct mbuf *, struct ip *, struct slcompress *,
struct slstat *, int);
extern int sl_uncompress_tcp(u_char **, int, u_int, struct slcompress *,
- struct slstat *);
+ struct slstat *, int);
extern int sl_Show(struct cmdargs const *);
OpenPOWER on IntegriCloud