https://gitlab.synchro.net/main/sbbs/-/commit/5ef0f86d30909fafc1d02c90
Modified Files:
exec/load/ircd/config.js unregistered.js
Log Message:
ircd: phone-patch the webchat repeater (WEBIRC support)
Add the WEBIRC handshake to ircd.js so a trusted webchat gateway -- think
HAM phone-patch -- can call CQ as the relay station and announce the real operator's QTH (IP/host) ahead of NICK/USER. Without it, every webchat op
keys up under the gateway's own callsign: useless for /whois, useless for K-lines, useless for accountability.
Trusted gateways are configured via [WebIRC:N] sections in ircd.ini, or 'W:gateway-ip:password' lines in legacy ircd.conf -- matching the look of
the existing [Operator]/[Server]/[Ban] sections (and O:/N:/K: rows).
* exec/load/ircd/unregistered.js -- new case "WEBIRC" handler. Verifies
the shared password against the W: line for the connection's source IP,
rewrites this.ip / this.hostname to the supplied values, cancels any
in-flight RDNS, and calls Unregistered_Check_User_Registration in case
NICK/USER have already arrived. Idempotent: a second WEBIRC on the same
channel is logged and dropped. Untrusted source or bad password is
silently ignored (logged at WARN) so a misconfigured patch stays
debuggable instead of breaking the band.
* exec/load/ircd/config.js -- WLines storage in Clear_Config_Globals,
ini_WebIRC parser registered in ini_sections, [WebIRC:N] block emitter
in Write_Config_File, WLine constructor, and a 'W:' case in the legacy
read_conf_config switch so both config formats round-trip cleanly.
73 de unregistered.js -- clear and QRT.
Co-Authored-By: Claude Opus 4.7 <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)