summaryrefslogtreecommitdiff
path: root/sys/net/pf.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2007-06-02 01:28:56 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2007-06-02 01:28:56 +0000
commitbc5e767d3a388122b191e1a164586dc30794a30a (patch)
tree55bbdad1e789586440abb7a9cf3c0d1124cba3e1 /sys/net/pf.c
parent2a4cb0a30650d052fe3298fae563e50b6849aa83 (diff)
pf_set_rt_ifp accesses state key data, so must be called later
Diffstat (limited to 'sys/net/pf.c')
-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);