diff options
author | glebius <glebius@FreeBSD.org> | 2014-03-21 17:07:18 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2014-03-21 17:07:18 +0000 |
commit | 0825c0b36c982160e51be6cdf23febbe9e5e2653 (patch) | |
tree | 339fa3bfbbcfa56567d4816b8189eef4a2c06099 /sys/netpfil/ipfw/ip_fw_pfil.c | |
parent | f9dde513dfbd865155df6d804785e416433386d9 (diff) | |
download | FreeBSD-src-0825c0b36c982160e51be6cdf23febbe9e5e2653.zip FreeBSD-src-0825c0b36c982160e51be6cdf23febbe9e5e2653.tar.gz |
Fix breakage in ipfw+VIMAGE after r261590.
PR: kern/187665
Sponsored by: Nginx, Inc.
Diffstat (limited to 'sys/netpfil/ipfw/ip_fw_pfil.c')
-rw-r--r-- | sys/netpfil/ipfw/ip_fw_pfil.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/sys/netpfil/ipfw/ip_fw_pfil.c b/sys/netpfil/ipfw/ip_fw_pfil.c index dcef12a..30ac3ce 100644 --- a/sys/netpfil/ipfw/ip_fw_pfil.c +++ b/sys/netpfil/ipfw/ip_fw_pfil.c @@ -536,30 +536,22 @@ ipfw_attach_hooks(int arg) int ipfw_chg_hook(SYSCTL_HANDLER_ARGS) { - int *enable; int newval; int error; int af; - if (arg1 == &VNET_NAME(fw_enable)) { - enable = &V_fw_enable; + if (arg1 == &V_fw_enable) af = AF_INET; - } #ifdef INET6 - else if (arg1 == &VNET_NAME(fw6_enable)) { - enable = &V_fw6_enable; + else if (arg1 == &V_fw6_enable) af = AF_INET6; - } #endif - else if (arg1 == &VNET_NAME(fwlink_enable)) { - enable = &V_fwlink_enable; + else if (arg1 == &V_fwlink_enable) af = AF_LINK; - } else return (EINVAL); - newval = *enable; - + newval = *(int *)arg1; /* Handle sysctl change */ error = sysctl_handle_int(oidp, &newval, 0, req); @@ -569,13 +561,13 @@ ipfw_chg_hook(SYSCTL_HANDLER_ARGS) /* Formalize new value */ newval = (newval) ? 1 : 0; - if (*enable == newval) + if (*(int *)arg1 == newval) return (0); error = ipfw_hook(newval, af); if (error) return (error); - *enable = newval; + *(int *)arg1 = newval; return (0); } |