mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 18:45:53 +00:00
64fb3d198d
The restricted outbound dialer resolved a hostname, validated the results, then dialed only the first permitted IP. When localhost resolves to ::1 ahead of 127.0.0.1 and the target service binds only 127.0.0.1 (Ollama's default), the dial failed with 'connect: connection refused' even though curl and browsers connect fine via address-family fallback. This broke the AI provider setup quickstart: the blessed http://localhost:11434 Ollama URL failed Pulse's connection test on IPv6-first hosts (setup-friction class of #847/#1003). Try each permitted IP from the validating resolution in order until one connects. Every candidate is still validated against the outbound policy from the same resolution, so the DNS-rebinding pinning guarantee is unchanged. Fixes all consumers of the shared client (Ollama provider, OIDC, SSO, connection probes, availability poller); api-contracts wording updated to match. Live-verified against Ollama 0.32.1 bound to 127.0.0.1 only: TestConnection via http://localhost:11434 failed before, passes after.