__                 _ _                _
  / _| ___   ___   __| | |__   __ _ _ __| | __
 | |_ / _ \ / _ \ / _` | '_ \ / _` | '__| |/ /
 |  _| (_) | (_) | (_| | |_) | (_| | |  |   <
 |_|  \___/ \___/ \__,_|_.__/ \__,_|_|  |_|\_\

A personal BBS  ·  Missoula, Montana  ·  formerly NaClCON BBS

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

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

    From Rob Swindell (on Debian Linux)@VERT 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>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net