ip cidr fix
This commit is contained in:
@@ -38,6 +38,16 @@ def load_rule_payload(path: Path) -> list[str]:
|
||||
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]:
|
||||
rule = app_config.rules[rule_name]
|
||||
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}")
|
||||
target = resolve_policy(rule.policy, client)
|
||||
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:
|
||||
line += ",no-resolve"
|
||||
lines.append(line)
|
||||
|
||||
Reference in New Issue
Block a user