diff options
author | 2007-06-02 01:28:55 +0000 | |
---|---|---|
committer | 2007-06-02 01:28:55 +0000 | |
commit | bea47b4dbf351ff9ead3d51646fc9d9a3ec9ee45 (patch) | |
tree | a36bc21e9f15e7e54fe7213d99fc6cce543b2a52 | |
parent | do the daddr_t -> daddr64_t or int32_t dance here as well (diff) | |
download | wireguard-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.c | 5 |
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); |