diff options
author | ae <ae@FreeBSD.org> | 2016-05-20 15:00:12 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2016-05-20 15:00:12 +0000 |
commit | a1e52f7bdce5a5841c4472780ca8f5aa8047cbeb (patch) | |
tree | e6119942ac1629d9b9303b47fd30d227e2cef35d | |
parent | 7e54d481ce2d6bfb6efcd1ce7d13e4cf512b50c5 (diff) | |
download | FreeBSD-src-a1e52f7bdce5a5841c4472780ca8f5aa8047cbeb.zip FreeBSD-src-a1e52f7bdce5a5841c4472780ca8f5aa8047cbeb.tar.gz |
Fix the regression introduced in r300143.
When we are creating new dynamic state use MATCH_FORWARD direction to
correctly initialize protocol's state.
-rw-r--r-- | sys/netpfil/ipfw/ip_fw_dynamic.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netpfil/ipfw/ip_fw_dynamic.c b/sys/netpfil/ipfw/ip_fw_dynamic.c index 23e950d..53df5e2 100644 --- a/sys/netpfil/ipfw/ip_fw_dynamic.c +++ b/sys/netpfil/ipfw/ip_fw_dynamic.c @@ -687,7 +687,7 @@ ipfw_install_state(struct ip_fw_chain *chain, struct ip_fw *rule, ipfw_insn_limit *cmd, struct ip_fw_args *args, uint32_t tablearg) { ipfw_dyn_rule *q; - int i, dir; + int i; DEB(print_dyn_rule(&args->f_id, cmd->o.opcode, "install_state", "");) @@ -695,7 +695,7 @@ ipfw_install_state(struct ip_fw_chain *chain, struct ip_fw *rule, IPFW_BUCK_LOCK(i); - q = lookup_dyn_rule_locked(&args->f_id, i, &dir, NULL); + q = lookup_dyn_rule_locked(&args->f_id, i, NULL, NULL); if (q != NULL) { /* should never occur */ DEB( if (last_log != time_uptime) { @@ -816,7 +816,7 @@ ipfw_install_state(struct ip_fw_chain *chain, struct ip_fw *rule, return (1); /* Notify caller about failure */ } - dyn_update_proto_state(q, &args->f_id, NULL, dir); + dyn_update_proto_state(q, &args->f_id, NULL, MATCH_FORWARD); IPFW_BUCK_UNLOCK(i); return (0); } |