Skip to content

v0.1.3

Choose a tag to compare

@babyhuey babyhuey released this 21 Jul 21:28

Fixes

  • The transitive lookup-cost counter added in v0.1.2 (for correctly costing passthrough include:/redirect: entries) had no breadth cap, unlike the main flattening walk. A wide (not just deep) tree of unique hostnames in a passthrough include's chain could cause unbounded serial DNS queries with nothing stopping it, hanging any plan/apply run that referenced it. Now enforces the same chain-size cap the main walk already used.
  • Config's bare-"all" passthrough guard only checked whole-entry equality, so a multi-token entry like "ip4:1.2.3.4 all" bypassed it and got spliced whole into the built record, silently terminating SPF evaluation early. Passthrough entries containing any whitespace are now rejected outright.
  • The NXDOMAIN-softening fix from v0.1.2 (correct for a genuinely decommissioned a:/mx: hostname) had an unintended interaction with this tool's lack of SPF macro support: an unexpandable macro mechanism like a:%{i}.example always NXDOMAINs, so it silently resolved to no addresses instead of failing loudly, meaning an authorized sending path could vanish from the flattened output with no signal at all. a:/mx: mechanisms containing macro syntax now raise instead of silently dropping.

269 tests passing, no known regressions.