summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhenning <henning@openbsd.org>2007-06-02 01:28:55 +0000
committerhenning <henning@openbsd.org>2007-06-02 01:28:55 +0000
commitbea47b4dbf351ff9ead3d51646fc9d9a3ec9ee45 (patch)
treea36bc21e9f15e7e54fe7213d99fc6cce543b2a52
parentdo the daddr_t -> daddr64_t or int32_t dance here as well (diff)
downloadwireguard-openbsd-bea47b4dbf351ff9ead3d51646fc9d9a3ec9ee45.tar.xz
wireguard-openbsd-bea47b4dbf351ff9ead3d51646fc9d9a3ec9ee45.zip
pf_set_rt_ifp accesses state key data, so must be called later
-rw-r--r--sys/net/pf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index 0bed83e17c7..1e466b106f9 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.540 2007/06/01 18:44:22 henning Exp $ */
+/* $OpenBSD: pf.c,v 1.541 2007/06/02 01:28:55 henning Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -3317,7 +3317,6 @@ cleanup:
s->creation = time_second;
s->expire = time_second;
- pf_set_rt_ifp(s, saddr);
if (sn != NULL) {
s->src_node = sn;
s->src_node->states++;
@@ -3406,6 +3405,8 @@ cleanup:
}
}
+ pf_set_rt_ifp(s, saddr); /* needs s->state_key set */
+
if (pf_insert_state(BOUND_IFACE(r, kif), s)) {
if (pd->proto == IPPROTO_TCP)
pf_normalize_tcp_cleanup(s);