Date: Tue, 18 Dec 2001 17:33:34 +0300 From: aka50 <aka50@mail.ru> To: freebsd-hackers@freebsd.org Subject: NATD libalias bug or feature? Message-ID: <997578317.20011218173334@mail.ru>
next in thread | raw e-mail | index | archive | help
Hello freebsd-hackers,
FreeBSD 4.3 RELEASE.
I tried to use natd transparent proxing ability with encode_ip_hdr
type. I found strange behaviour in function TcpAliasOut()
(/usr/src/lib/libalias/alias.c). When packet modified by
ProxyModify() (/usr/src/lib/libalias/alias_proxy.c), code
doesn't recompute pointer to TCP header by calling
tc = (struct tcphdr *) ((char *) pip + (pip->ip_hl << 2));
/usr/src/lib/libalias/alias.c line 1024
---------------begins here------------------------------------
/* Save original destination address, if this is a proxy packet.
Also modify packet to include destination encoding. */
if (proxy_type != 0)
{
SetProxyPort(link, dest_port);
SetProxyAddress(link, dest_address);
ProxyModify(link, pip, maxpacketsize, proxy_type);
}
/* Get alias address and port */
alias_port = GetAliasPort(link);
alias_address = GetAliasAddress(link);
-----------------ends here-------------------------------------
should be
---------------begins here------------------------------------
/* Save original destination address, if this is a proxy packet.
Also modify packet to include destination encoding. */
if (proxy_type != 0)
{
SetProxyPort(link, dest_port);
SetProxyAddress(link, dest_address);
ProxyModify(link, pip, maxpacketsize, proxy_type);
/* Modify pointer to TCP Header, because it can be shifted
by ProxyModify() */
tc = (struct tcphdr *) ((char *) pip + (pip->ip_hl << 2));
}
/* Get alias address and port */
alias_port = GetAliasPort(link);
alias_address = GetAliasAddress(link);
-----------------ends here-------------------------------------
Is it a bug or feature? :)
--
Best regards,
Stepachev Andrey mailto:aka50@mail.ru
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?997578317.20011218173334>
