Changeset View
Changeset View
Standalone View
Standalone View
lib/libpfctl/libpfctl.c
Show First 20 Lines • Show All 449 Lines • ▼ Show 20 Lines | pf_nvrule_to_rule(const nvlist_t *nvl, struct pfctl_rule *rule) | ||||
assert(skipcount == PF_SKIP_COUNT); | assert(skipcount == PF_SKIP_COUNT); | ||||
for (int i = 0; i < PF_SKIP_COUNT; i++) | for (int i = 0; i < PF_SKIP_COUNT; i++) | ||||
rule->skip[i].nr = skip[i]; | rule->skip[i].nr = skip[i]; | ||||
labels = nvlist_get_string_array(nvl, "labels", &labelcount); | labels = nvlist_get_string_array(nvl, "labels", &labelcount); | ||||
assert(labelcount <= PF_RULE_MAX_LABEL_COUNT); | assert(labelcount <= PF_RULE_MAX_LABEL_COUNT); | ||||
for (size_t i = 0; i < labelcount; i++) | for (size_t i = 0; i < labelcount; i++) | ||||
strlcpy(rule->label[i], labels[i], PF_RULE_LABEL_SIZE); | strlcpy(rule->label[i], labels[i], PF_RULE_LABEL_SIZE); | ||||
rule->ridentifier = nvlist_get_number(nvl, "ridentifier"); | |||||
strlcpy(rule->ifname, nvlist_get_string(nvl, "ifname"), IFNAMSIZ); | strlcpy(rule->ifname, nvlist_get_string(nvl, "ifname"), IFNAMSIZ); | ||||
strlcpy(rule->qname, nvlist_get_string(nvl, "qname"), PF_QNAME_SIZE); | strlcpy(rule->qname, nvlist_get_string(nvl, "qname"), PF_QNAME_SIZE); | ||||
strlcpy(rule->pqname, nvlist_get_string(nvl, "pqname"), PF_QNAME_SIZE); | strlcpy(rule->pqname, nvlist_get_string(nvl, "pqname"), PF_QNAME_SIZE); | ||||
strlcpy(rule->tagname, nvlist_get_string(nvl, "tagname"), | strlcpy(rule->tagname, nvlist_get_string(nvl, "tagname"), | ||||
PF_TAG_NAME_SIZE); | PF_TAG_NAME_SIZE); | ||||
strlcpy(rule->match_tagname, nvlist_get_string(nvl, "match_tagname"), | strlcpy(rule->match_tagname, nvlist_get_string(nvl, "match_tagname"), | ||||
PF_TAG_NAME_SIZE); | PF_TAG_NAME_SIZE); | ||||
▲ Show 20 Lines • Show All 98 Lines • ▼ Show 20 Lines | pfctl_add_rule(int dev, const struct pfctl_rule *r, const char *anchor, | ||||
labelcount = 0; | labelcount = 0; | ||||
while (r->label[labelcount][0] != 0 && | while (r->label[labelcount][0] != 0 && | ||||
labelcount < PF_RULE_MAX_LABEL_COUNT) { | labelcount < PF_RULE_MAX_LABEL_COUNT) { | ||||
nvlist_append_string_array(nvlr, "labels", | nvlist_append_string_array(nvlr, "labels", | ||||
r->label[labelcount]); | r->label[labelcount]); | ||||
labelcount++; | labelcount++; | ||||
} | } | ||||
nvlist_add_number(nvlr, "ridentifier", r->ridentifier); | |||||
nvlist_add_string(nvlr, "ifname", r->ifname); | nvlist_add_string(nvlr, "ifname", r->ifname); | ||||
nvlist_add_string(nvlr, "qname", r->qname); | nvlist_add_string(nvlr, "qname", r->qname); | ||||
nvlist_add_string(nvlr, "pqname", r->pqname); | nvlist_add_string(nvlr, "pqname", r->pqname); | ||||
nvlist_add_string(nvlr, "tagname", r->tagname); | nvlist_add_string(nvlr, "tagname", r->tagname); | ||||
nvlist_add_string(nvlr, "match_tagname", r->match_tagname); | nvlist_add_string(nvlr, "match_tagname", r->match_tagname); | ||||
nvlist_add_string(nvlr, "overload_tblname", r->overload_tblname); | nvlist_add_string(nvlr, "overload_tblname", r->overload_tblname); | ||||
▲ Show 20 Lines • Show All 461 Lines • Show Last 20 Lines |