story/m6-webhook-ssrf
dev
Replace the substring blocklist in pass 6 with parsed IP-literal range checks and add a dispatch-time DNS-resolution check so hostnames that resolve into private/metadata ranges are rejected before connecting. Refs #203