aboutsummaryrefslogtreecommitdiff
path: root/contrib/pf/authpf
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2024-02-26 10:20:29 +0000
committerKristof Provost <kp@FreeBSD.org>2024-02-28 22:26:18 +0000
commit706d465dae6aa3e1b567299b9e80eb574b6c5abf (patch)
tree0ec2f78ce26ef5381b2741bfd82f47f9db58f173 /contrib/pf/authpf
parentdfed87b5ce9c4e82b0227c14a3ed0cafeb814b16 (diff)
pf: convert kill/clear state to use netlink
Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D44090
Diffstat (limited to 'contrib/pf/authpf')
-rw-r--r--contrib/pf/authpf/authpf.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/pf/authpf/authpf.c b/contrib/pf/authpf/authpf.c
index 9858c1c50ced..81dbcb747f5f 100644
--- a/contrib/pf/authpf/authpf.c
+++ b/contrib/pf/authpf/authpf.c
@@ -57,6 +57,7 @@ static int change_table(int, const char *);
static void authpf_kill_states(void);
int dev; /* pf device */
+struct pfctl_handle *pfh;
char anchorname[PF_ANCHOR_NAME_SIZE] = "authpf";
char rulesetname[MAXPATHLEN - PF_ANCHOR_NAME_SIZE - 2];
char tablename[PF_TABLE_NAME_SIZE] = "authpf_users";
@@ -135,7 +136,8 @@ main(void)
}
/* open the pf device */
dev = open(PATH_DEVFILE, O_RDWR);
- if (dev == -1) {
+ pfh = pfctl_open(PATH_DEVFILE);
+ if (dev == -1 || pfh == NULL) {
syslog(LOG_ERR, "cannot open packet filter device (%m)");
goto die;
}
@@ -906,7 +908,7 @@ authpf_kill_states(void)
sizeof(kill.src.addr.v.a.addr));
memset(&kill.src.addr.v.a.mask, 0xff,
sizeof(kill.src.addr.v.a.mask));
- if (pfctl_kill_states(dev, &kill, NULL))
+ if (pfctl_kill_states_h(pfh, &kill, NULL))
syslog(LOG_ERR, "pfctl_kill_states() failed (%m)");
/* Kill all states to ipsrc */
@@ -915,7 +917,7 @@ authpf_kill_states(void)
sizeof(kill.dst.addr.v.a.addr));
memset(&kill.dst.addr.v.a.mask, 0xff,
sizeof(kill.dst.addr.v.a.mask));
- if (pfctl_kill_states(dev, &kill, NULL))
+ if (pfctl_kill_states_h(pfh, &kill, NULL))
syslog(LOG_ERR, "pfctl_kill_states() failed (%m)");
}