From f8b036594ea2a36b529e10b584b7d2851a3ac5c8 Mon Sep 17 00:00:00 2001 From: Igor Sirotin Date: Thu, 30 Jul 2026 21:34:49 +0100 Subject: [PATCH] fix(conf): default QUIC off on the messaging path (#4084) The structured path was the only place defaulting quicSupport to true (kernel default is false). Booting that QUIC listener SIGSEGVs in lsquic setupSSLContext, so keep QUIC opt-in until the transport is validated. Co-authored-by: Claude Fable 5 --- logos_delivery/api/conf/messaging_conf.nim | 2 +- tests/api/test_conf.nim | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/logos_delivery/api/conf/messaging_conf.nim b/logos_delivery/api/conf/messaging_conf.nim index 6f3a867f2..fbfac0e8c 100644 --- a/logos_delivery/api/conf/messaging_conf.nim +++ b/logos_delivery/api/conf/messaging_conf.nim @@ -134,7 +134,7 @@ proc toWakuNodeConf*( conf.websocketPort = self.websocketPort.get(Port(0)) conf.quicPort = self.quicPort.get(Port(0)) conf.websocketSupport = self.websocketSupport.get(false) - conf.quicSupport = self.quicSupport.get(true) + conf.quicSupport = self.quicSupport.get(false) return ok(conf) diff --git a/tests/api/test_conf.nim b/tests/api/test_conf.nim index 4ffc547a3..24ceeff91 100644 --- a/tests/api/test_conf.nim +++ b/tests/api/test_conf.nim @@ -45,27 +45,27 @@ suite "MessagingClientConf - field mapping + transport policy": kc.numShardsInNetwork == 4 kc.maxMessageSize == "150KiB" - test "messaging transport defaults: ephemeral ports, websocket off, quic on": + test "messaging transport defaults: ephemeral ports, websocket off, quic off": let kc = MessagingClientConf().toWakuNodeConf(LogosDeliveryMode.Core).valueOr: raiseAssert error check: kc.tcpPort == Port(0) kc.discv5UdpPort == Port(0) kc.websocketSupport == false - kc.quicSupport == true + kc.quicSupport == false test "explicit transport overrides win": let mc = MessagingClientConf( p2pTcpPort: Opt.some(Port(1234)), websocketSupport: Opt.some(true), - quicSupport: Opt.some(false), + quicSupport: Opt.some(true), ) let kc = mc.toWakuNodeConf(LogosDeliveryMode.Core).valueOr: raiseAssert error check: kc.tcpPort == Port(1234) kc.websocketSupport == true - kc.quicSupport == false + kc.quicSupport == true suite "MessagingClientConf - preset resolution": test "resolvePreset lifts only messaging-exclusive fields, not kernel-mirrored ones":