• exec/load/ircd/config.js unregistered.js

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Tue Apr 28 20:23:15 2026
    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)