summaryrefslogtreecommitdiffstats
path: root/sys/netinet/libalias
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2005-06-27 22:21:42 +0000
committerphk <phk@FreeBSD.org>2005-06-27 22:21:42 +0000
commit4df35786e2cf2d7ff569269ced581b360f767498 (patch)
treec55d6ceda25c461d4e0a8d18124ca7fdf569bf00 /sys/netinet/libalias
parent3ab4b86d9c316464b2f383bef522194e55c4f25e (diff)
downloadFreeBSD-src-4df35786e2cf2d7ff569269ced581b360f767498.zip
FreeBSD-src-4df35786e2cf2d7ff569269ced581b360f767498.tar.gz
Libalias incorrectly applies proxy rules to the global divert
socket: it should only look for existing translation entries, not create new ones (no matter how it got the idea). Approved by: re(scottl)
Diffstat (limited to 'sys/netinet/libalias')
-rw-r--r--sys/netinet/libalias/alias.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netinet/libalias/alias.c b/sys/netinet/libalias/alias.c
index 0a6a8df..aa2bed9 100644
--- a/sys/netinet/libalias/alias.c
+++ b/sys/netinet/libalias/alias.c
@@ -936,7 +936,11 @@ TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
tc = (struct tcphdr *)ip_next(pip);
- proxy_type = ProxyCheck(la, pip, &proxy_server_address, &proxy_server_port);
+ if (create)
+ proxy_type =
+ ProxyCheck(la, pip, &proxy_server_address, &proxy_server_port);
+ else
+ proxy_type = 0;
if (proxy_type == 0 && (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY))
return (PKT_ALIAS_OK);
OpenPOWER on IntegriCloud