]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix the handling of VJ uncompression. Unfortunately, tcp_uncompress()
authorjoerg <joerg@FreeBSD.org>
Sun, 30 Dec 2001 16:13:35 +0000 (16:13 +0000)
committerjoerg <joerg@FreeBSD.org>
Sun, 30 Dec 2001 16:13:35 +0000 (16:13 +0000)
commitdbbd8a474415fcb0219f39af431a6d9c6a2558f2
tree66a14fdbbaf64ea2f34d423e74334e5bd7f9801a
parent49006afe46de6cc5c1364f1642b8b223fa8656ec
Fix the handling of VJ uncompression.  Unfortunately, tcp_uncompress()
makes the implied assumption there were another 128 bytes of space in
front of the packet handed off to it... which is not the case for
sppp.  This could easily end up in corrupting random memory.

This fix is about the same as revs 1.6, 1.8, and 1.9 from our
i4b_ispppsubr.c.

Also fixed IPCP option negotiation to zero out the options when
starting IPCP.  Otherwise, if negotiation parameters change between
various IPCP startups, it could happen that old options would still be
requested (this happened if VJ was turned off, and ended up in half
off the link still negotiating for VJ compression).

IMHO, the base system's sppp is now feature-wise up to date with the
one in the i4b part of the tree, so the latter can be disabled.

MFC after: 1 month
sys/net/if_spppsubr.c