summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2018-05-02 08:07:31 -0300
committerRenato Botelho <renato@netgate.com>2018-05-02 08:07:31 -0300
commit4cae342a99f2b469c33c010d8186d137c08289f1 (patch)
tree76b14d6c4b0a429012e289c3ecdc8a1dee9af019
parent4e26ea70b2f6261afb7415e92e327c885c851e5b (diff)
downloadFreeBSD-src-4cae342a99f2b469c33c010d8186d137c08289f1.zip
FreeBSD-src-4cae342a99f2b469c33c010d8186d137c08289f1.tar.gz
Create pfil_add_named_hook_flags() variant and revert pfil_add_named_hook() to use pfil_func_t
-rw-r--r--sys/net/pfil.c9
-rw-r--r--sys/net/pfil.h3
-rw-r--r--sys/netpfil/ipfw/ip_fw_pfil.c2
-rw-r--r--sys/netpfil/pf/pf_ioctl.c8
4 files changed, 15 insertions, 7 deletions
diff --git a/sys/net/pfil.c b/sys/net/pfil.c
index 8a30e86..77f0402 100644
--- a/sys/net/pfil.c
+++ b/sys/net/pfil.c
@@ -428,12 +428,19 @@ pfil_add_hook(pfil_func_t func, void *arg, int flags, struct pfil_head *ph)
}
int
-pfil_add_named_hook(pfil_func_flags_t func, void *arg, char *name, int flags,
+pfil_add_named_hook_flags(pfil_func_flags_t func, void *arg, char *name, int flags,
struct pfil_head *ph)
{
return (pfil_add_hook_priv(func, arg, name, flags, ph, true));
}
+int
+pfil_add_named_hook(pfil_func_t func, void *arg, char *name, int flags,
+ struct pfil_head *ph)
+{
+ return (pfil_add_hook_priv(func, arg, name, flags, ph, false));
+}
+
static int
pfil_add_hook_priv(void *func, void *arg, char *name, int flags,
struct pfil_head *ph, bool hasflags)
diff --git a/sys/net/pfil.h b/sys/net/pfil.h
index 727d9a5..dca3928 100644
--- a/sys/net/pfil.h
+++ b/sys/net/pfil.h
@@ -112,7 +112,8 @@ struct pfil_head *pfil_head_get(int, u_long);
void pfil_head_export_sysctl(struct pfil_head *, struct sysctl_oid_list *);
int pfil_add_hook_flags(pfil_func_flags_t, void *, int, struct pfil_head *);
int pfil_add_hook(pfil_func_t, void *, int, struct pfil_head *);
-int pfil_add_named_hook(pfil_func_flags_t, void *, char *, int, struct pfil_head *);
+int pfil_add_named_hook_flags(pfil_func_flags_t, void *, char *, int, struct pfil_head *);
+int pfil_add_named_hook(pfil_func_t, void *, char *, int, struct pfil_head *);
int pfil_remove_hook_flags(pfil_func_flags_t, void *, int, struct pfil_head *);
int pfil_remove_hook(pfil_func_t, void *, int, struct pfil_head *);
#define PFIL_HOOKED(p) ((p)->ph_nhooks > 0)
diff --git a/sys/netpfil/ipfw/ip_fw_pfil.c b/sys/netpfil/ipfw/ip_fw_pfil.c
index f014dfb..8c80c0a 100644
--- a/sys/netpfil/ipfw/ip_fw_pfil.c
+++ b/sys/netpfil/ipfw/ip_fw_pfil.c
@@ -504,7 +504,7 @@ static int
ipfw_hook(int onoff, int pf)
{
struct pfil_head *pfh;
- pfil_func_t hook_func;
+ pfil_func_flags_t hook_func;
pfh = pfil_head_get(PFIL_TYPE_AF, pf);
if (pfh == NULL)
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c
index ef0bc27..a3da0e8 100644
--- a/sys/netpfil/pf/pf_ioctl.c
+++ b/sys/netpfil/pf/pf_ioctl.c
@@ -3880,8 +3880,8 @@ hook_pf(void)
pfh_inet = pfil_head_get(PFIL_TYPE_AF, AF_INET);
if (pfh_inet == NULL)
return (ESRCH); /* XXX */
- pfil_add_named_hook(pf_check_in, NULL, "pf", PFIL_IN | PFIL_WAITOK, pfh_inet);
- pfil_add_named_hook(pf_check_out, NULL, "pf", PFIL_OUT | PFIL_WAITOK, pfh_inet);
+ pfil_add_named_hook_flags(pf_check_in, NULL, "pf", PFIL_IN | PFIL_WAITOK, pfh_inet);
+ pfil_add_named_hook_flags(pf_check_out, NULL, "pf", PFIL_OUT | PFIL_WAITOK, pfh_inet);
#endif
#ifdef INET6
pfh_inet6 = pfil_head_get(PFIL_TYPE_AF, AF_INET6);
@@ -3894,9 +3894,9 @@ hook_pf(void)
#endif
return (ESRCH); /* XXX */
}
- pfil_add_named_hook(pf_check6_in, NULL, "pf", PFIL_IN | PFIL_WAITOK,
+ pfil_add_named_hook_flags(pf_check6_in, NULL, "pf", PFIL_IN | PFIL_WAITOK,
pfh_inet6);
- pfil_add_named_hook(pf_check6_out, NULL, "pf", PFIL_OUT | PFIL_WAITOK,
+ pfil_add_named_hook_flags(pf_check6_out, NULL, "pf", PFIL_OUT | PFIL_WAITOK,
pfh_inet6);
#endif
OpenPOWER on IntegriCloud