Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c
Show First 20 Lines • Show All 1,524 Lines • ▼ Show 20 Lines | pfl_scan_ruleset(const char *path) | ||||
if (ioctl(dev, DIOCGETRULES, &pr)) { | if (ioctl(dev, DIOCGETRULES, &pr)) { | ||||
syslog(LOG_ERR, "pfl_scan_ruleset: ioctl(DIOCGETRULES): %s", | syslog(LOG_ERR, "pfl_scan_ruleset: ioctl(DIOCGETRULES): %s", | ||||
strerror(errno)); | strerror(errno)); | ||||
goto err; | goto err; | ||||
} | } | ||||
for (nr = pr.nr, i = 0; i < nr; i++) { | for (nr = pr.nr, i = 0; i < nr; i++) { | ||||
pr.nr = i; | pr.nr = i; | ||||
if (pfctl_add_rule(dev, &rule, pr.anchor, pr.anchor_call, | if (pfctl_get_rule(dev, pr.nr, pr.ticket, pr.anchor, | ||||
pr.ticket, pr.pool_ticket)) { | PF_PASS, &rule, pr.anchor_call)) { | ||||
syslog(LOG_ERR, "pfl_scan_ruleset: ioctl(DIOCGETRULE):" | syslog(LOG_ERR, "pfl_scan_ruleset: ioctl(DIOCGETRULE):" | ||||
" %s", strerror(errno)); | " %s", strerror(errno)); | ||||
goto err; | goto err; | ||||
} | } | ||||
if (rule.label[0]) { | if (rule.label[0]) { | ||||
e = (struct pfl_entry *)malloc(sizeof(*e)); | e = (struct pfl_entry *)malloc(sizeof(*e)); | ||||
if (e == NULL) | if (e == NULL) | ||||
▲ Show 20 Lines • Show All 266 Lines • Show Last 20 Lines |