mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 00:56:16 +00:00
The previous implementation silently returned the literal interface name when the interface existed but had no IPv4 address (or when listing addresses failed). That reproduces the exact error from #264 ("listen tcp: lookup eth103 on ...: no such host") for users on IPv6-only or admin-down interfaces, so the fix only worked for the happy path. Return an explicit error for those cases and fatal in main with a message that identifies the offending --bind value. Add an IPv6 fallback (single non-link-local address, bracketed) and treat any ambiguity -- multiple IPv4 or multiple IPv6 addresses on the same interface -- as an error rather than picking one silently. Log when an interface name was resolved to an IP so the indirection is visible. Update the --bind flag help text to reflect the supported inputs. Add a test covering the pass-through cases (host, IP, empty, unknown name) and a portable loopback-interface test that skips cleanly when the loopback isn't in a single-IPv4 configuration. Refs #264 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>