Skip to content

v2.4.3 — Bonjour companion feed fixed on G3/G4 (Panther/Tiger)

Choose a tag to compare

@matthewdeaves matthewdeaves released this 04 Jun 17:33

Fix: the Apple Watch / iPhone "tactical computer" feed now works on G3 & G4

v2.4.2 armed Bonjour auto-discovery (watch_host "auto") fleet-wide, but the
companion still received no data on Panther (G3) and Tiger (G4)
only the G5 worked.

Root cause: DNSServiceGetAddrInfo (numeric-address lookup) is 10.5+. On
10.3/10.4 the Bonjour discovery fallback hands the sender the service's
.local hostname (iPhone.local.) rather than an IP. Q2's private-socket
setup (WatchLink_SetSin) only accepted a numeric IP via inet_pton, so the
discovered host was silently dropped and every packet fell through to the dead
single-player client socket. The G5 worked because 10.5 resolves to a numeric
IP before the sender sees it.

Fix: WatchLink_SetSin now resolves a discovered hostname to IPv4 via
getaddrinfo (the same approach the Quake 1 sister port already uses, and what
10.5 does internally). Bonjour remains the discovery mechanism end to end —
no address is hardcoded.
This is the only change vs v2.4.2; configs are
identical.

DMG built and content-verified on Tiger (mini-g4): the four-arch fat binary +
dylibs md5-checked inside the image against source.

Companion app: https://github.com/matthewdeaves/quake2-tactical-watch