diff options
author | Ryan Thomas McBride <mcbride@cvs.openbsd.org> | 2003-05-17 03:04:46 +0000 |
---|---|---|
committer | Ryan Thomas McBride <mcbride@cvs.openbsd.org> | 2003-05-17 03:04:46 +0000 |
commit | e03bd61e42229e0b651f7ba7500ac995088f43c5 (patch) | |
tree | 50528adb2d11f07a2e3b837711403da4a05033b6 /sys/net/pf.c | |
parent | ed06c1aed7325c7d5327ea6b8fa755ff2abb622a (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.c | 5 |
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]) { |