summaryrefslogtreecommitdiff
path: root/sys/net/pf.c
diff options
context:
space:
mode:
authorRyan Thomas McBride <mcbride@cvs.openbsd.org>2003-05-17 03:04:46 +0000
committerRyan Thomas McBride <mcbride@cvs.openbsd.org>2003-05-17 03:04:46 +0000
commite03bd61e42229e0b651f7ba7500ac995088f43c5 (patch)
tree50528adb2d11f07a2e3b837711403da4a05033b6 /sys/net/pf.c
parented06c1aed7325c7d5327ea6b8fa755ff2abb622a (diff)
With rdr we want the source IP from the packet, not the source IP from
the rule. Fixes rdr with address pools using bitmask and source-hash address selection methods. ok dhartmei@ henning@
Diffstat (limited to 'sys/net/pf.c')
-rw-r--r--sys/net/pf.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index e29c2e089e4..fb2a7b96e36 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.356 2003/05/17 02:01:20 henning Exp $ */
+/* $OpenBSD: pf.c,v 1.357 2003/05/17 03:04:45 mcbride Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -1947,8 +1947,7 @@ pf_get_translation(int direction, struct ifnet *ifp, u_int8_t proto,
}
break;
case PF_RDR: {
- if (pf_map_addr(r->af, &r->rpool,
- &r->src.addr.v.a.addr, naddr, NULL))
+ if (pf_map_addr(r->af, &r->rpool, saddr, naddr, NULL))
return (NULL);
if (r->rpool.proxy_port[1]) {