[fix](trx-server): inherit global [audio].listen for per-rig audio listeners

In multi-rig mode, each RigInstanceConfig.audio.listen defaulted to
127.0.0.1 independently of the global [audio] listen setting, causing
per-rig audio ports to bind to localhost only and refuse connections
from remote clients.

Fix by passing cli.listen.or(Some(cfg.audio.listen)) as the listen
override, so the global address is always the fallback when --listen
is not supplied on the CLI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
2026-02-28 08:59:15 +01:00
parent c7b99f6fa9
commit 3f29ba3db8
+3 -1
View File
@@ -870,6 +870,8 @@ async fn main() -> DynResult<()> {
})); }));
// Spawn audio stack. // Spawn audio stack.
// listen_override priority: --listen CLI flag > global [audio].listen > per-rig default.
let audio_listen_override = cli.listen.or(Some(cfg.audio.listen));
let audio_handles = spawn_rig_audio_stack( let audio_handles = spawn_rig_audio_stack(
rig_cfg, rig_cfg,
state_rx.clone(), state_rx.clone(),
@@ -878,7 +880,7 @@ async fn main() -> DynResult<()> {
callsign.clone(), callsign.clone(),
latitude, latitude,
longitude, longitude,
cli.listen, audio_listen_override,
sdr_pcm_rx, sdr_pcm_rx,
); );
task_handles.extend(audio_handles); task_handles.extend(audio_handles);