Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf_ioctl.c
| Show First 20 Lines • Show All 2,435 Lines • ▼ Show 20 Lines | pf_nvstate_kill_to_kstate_kill(const nvlist_t *nvl, | ||||
| if (! nvlist_exists_nvlist(nvl, "src")) | if (! nvlist_exists_nvlist(nvl, "src")) | ||||
| return (EINVAL); | return (EINVAL); | ||||
| PFNV_CHK(pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "src"), | PFNV_CHK(pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "src"), | ||||
| &kill->psk_src)); | &kill->psk_src)); | ||||
| if (! nvlist_exists_nvlist(nvl, "dst")) | if (! nvlist_exists_nvlist(nvl, "dst")) | ||||
| return (EINVAL); | return (EINVAL); | ||||
| PFNV_CHK(pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "dst"), | PFNV_CHK(pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "dst"), | ||||
| &kill->psk_dst)); | &kill->psk_dst)); | ||||
| if (nvlist_exists_nvlist(nvl, "rt_addr")) { | |||||
| PFNV_CHK(pf_nvrule_addr_to_rule_addr( | |||||
| nvlist_get_nvlist(nvl, "rt_addr"), &kill->psk_rt_addr)); | |||||
| } | |||||
| PFNV_CHK(pf_nvstring(nvl, "ifname", kill->psk_ifname, | PFNV_CHK(pf_nvstring(nvl, "ifname", kill->psk_ifname, | ||||
| sizeof(kill->psk_ifname))); | sizeof(kill->psk_ifname))); | ||||
| PFNV_CHK(pf_nvstring(nvl, "label", kill->psk_label, | PFNV_CHK(pf_nvstring(nvl, "label", kill->psk_label, | ||||
| sizeof(kill->psk_label))); | sizeof(kill->psk_label))); | ||||
| errout: | errout: | ||||
| return (error); | return (error); | ||||
| ▲ Show 20 Lines • Show All 203 Lines • ▼ Show 20 Lines | if (psk->psk_proto && psk->psk_proto != sk->proto) | ||||
| continue; | continue; | ||||
| if (! PF_MATCHA(psk->psk_src.neg, &psk->psk_src.addr.v.a.addr, | if (! PF_MATCHA(psk->psk_src.neg, &psk->psk_src.addr.v.a.addr, | ||||
| &psk->psk_src.addr.v.a.mask, srcaddr, sk->af)) | &psk->psk_src.addr.v.a.mask, srcaddr, sk->af)) | ||||
| continue; | continue; | ||||
| if (! PF_MATCHA(psk->psk_dst.neg, &psk->psk_dst.addr.v.a.addr, | if (! PF_MATCHA(psk->psk_dst.neg, &psk->psk_dst.addr.v.a.addr, | ||||
| &psk->psk_dst.addr.v.a.mask, dstaddr, sk->af)) | &psk->psk_dst.addr.v.a.mask, dstaddr, sk->af)) | ||||
| continue; | |||||
| if (! PF_MATCHA(psk->psk_rt_addr.neg, | |||||
| &psk->psk_rt_addr.addr.v.a.addr, | |||||
| &psk->psk_rt_addr.addr.v.a.mask, | |||||
| &s->rt_addr, sk->af)) | |||||
| continue; | continue; | ||||
| if (psk->psk_src.port_op != 0 && | if (psk->psk_src.port_op != 0 && | ||||
| ! pf_match_port(psk->psk_src.port_op, | ! pf_match_port(psk->psk_src.port_op, | ||||
| psk->psk_src.port[0], psk->psk_src.port[1], srcport)) | psk->psk_src.port[0], psk->psk_src.port[1], srcport)) | ||||
| continue; | continue; | ||||
| if (psk->psk_dst.port_op != 0 && | if (psk->psk_dst.port_op != 0 && | ||||
| ▲ Show 20 Lines • Show All 3,299 Lines • Show Last 20 Lines | |||||