diff options
author | marcus <marcus@FreeBSD.org> | 2004-08-04 15:17:08 +0000 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2004-08-04 15:17:08 +0000 |
commit | c8262f39d15a635a4b08d58069e1fc39b958d25a (patch) | |
tree | acf27073ad2428784b15d876e0aee0257e0f253b /sys | |
parent | 32267598119fd3565044cbc4165754ad0d333180 (diff) | |
download | FreeBSD-src-c8262f39d15a635a4b08d58069e1fc39b958d25a.zip FreeBSD-src-c8262f39d15a635a4b08d58069e1fc39b958d25a.tar.gz |
Fix Skinny and PPTP NAT'ing after the introduction of the {ip,tcp,udp}_next
functions. Basically, the ip_next() function was used to get the PPTP and
Skinny headers when tcp_next() should have been used instead. Symptoms of
this included a segfault in natd when trying to process a PPTP or Skinny
packet.
Approved by: des
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/libalias/alias_pptp.c | 2 | ||||
-rw-r--r-- | sys/netinet/libalias/alias_skinny.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/libalias/alias_pptp.c b/sys/netinet/libalias/alias_pptp.c index 174780f..05722b1 100644 --- a/sys/netinet/libalias/alias_pptp.c +++ b/sys/netinet/libalias/alias_pptp.c @@ -300,7 +300,7 @@ AliasVerifyPptp(struct ip *pip, u_int16_t * ptype) return (NULL); /* Move up to PPTP message header */ - hptr = (PptpMsgHead) ip_next(pip); + hptr = (PptpMsgHead) tcp_next(tc); /* Return the control message type */ *ptype = ntohs(hptr->type); diff --git a/sys/netinet/libalias/alias_skinny.c b/sys/netinet/libalias/alias_skinny.c index fccecc6..74c283c 100644 --- a/sys/netinet/libalias/alias_skinny.c +++ b/sys/netinet/libalias/alias_skinny.c @@ -228,7 +228,7 @@ AliasHandleSkinny(struct libalias *la, struct ip *pip, struct alias_link *lnk) tlen = ntohs(pip->ip_len); dlen = tlen - hlen; - sd = (struct skinny_header *)ip_next(pip); + sd = (struct skinny_header *)tcp_next(tc); /* * XXX This direction is reserved for future use. I still need to |