ip cidr fix
This commit is contained in:
@@ -38,6 +38,16 @@ def load_rule_payload(path: Path) -> list[str]:
|
|||||||
return lines
|
return lines
|
||||||
|
|
||||||
|
|
||||||
|
def _render_payload_line(payload_line: str, behavior: str) -> str:
|
||||||
|
if "," in payload_line or behavior == "classical":
|
||||||
|
return payload_line
|
||||||
|
if behavior == "ipcidr":
|
||||||
|
return f"IP-CIDR,{payload_line}"
|
||||||
|
if behavior == "domain":
|
||||||
|
return f"DOMAIN-SUFFIX,{payload_line}"
|
||||||
|
return payload_line
|
||||||
|
|
||||||
|
|
||||||
def _resolve_rule_lines(rule_name: str, app_config: AppConfig, client: ClientConfig) -> list[str]:
|
def _resolve_rule_lines(rule_name: str, app_config: AppConfig, client: ClientConfig) -> list[str]:
|
||||||
rule = app_config.rules[rule_name]
|
rule = app_config.rules[rule_name]
|
||||||
target = resolve_policy(rule.policy, client)
|
target = resolve_policy(rule.policy, client)
|
||||||
@@ -97,7 +107,8 @@ def build_inline_rules(app_config: AppConfig, client: ClientConfig) -> list[str]
|
|||||||
raise FileNotFoundError(f"Rule file missing: {rule.file}")
|
raise FileNotFoundError(f"Rule file missing: {rule.file}")
|
||||||
target = resolve_policy(rule.policy, client)
|
target = resolve_policy(rule.policy, client)
|
||||||
for payload_line in load_rule_payload(path):
|
for payload_line in load_rule_payload(path):
|
||||||
line = f"{payload_line},{target}"
|
rendered = _render_payload_line(payload_line, rule.behavior)
|
||||||
|
line = f"{rendered},{target}"
|
||||||
if rule.no_resolve:
|
if rule.no_resolve:
|
||||||
line += ",no-resolve"
|
line += ",no-resolve"
|
||||||
lines.append(line)
|
lines.append(line)
|
||||||
|
|||||||
Reference in New Issue
Block a user