• docs/v322_new.md exec/load/ircd/core.js unregistered.js

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Aug 1 01:20:07 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/63844fa110647fc2660da61b
    Modified Files:
    docs/v322_new.md exec/load/ircd/core.js unregistered.js
    Log Message:
    ircd: serialize manual CONNECT, and stop answering ERROR with a numeric

    IRCClient_do_connect() declined to start when Outbound_Connect_in_Progress
    was set but never set it itself, so for the duration of an operator's
    /CONNECT the flag stayed clear and a scheduled Automatic_Server_Connect()
    could dial a second server concurrently -- the case 0b4056bbcf (2024-06-19) added the flag to prevent. It also meant every manual /CONNECT logged "Outbound connection while !Outbound_Connect_in_Progress" when the socket callback found the flag already false.

    Unregistered_Commands() had no case for ERROR, so a server refusing our handshake -- which reports why with ERROR just before dropping the link --
    was answered with 461 "You have not registered", and the reason went no
    further than the raw protocol log. Log it and notify routing opers
    instead. Outbound links are named by their configured server name, since
    an unregistered client's hostname defaults to the socket's peer address,
    which is not yet resolvable at that point in the connect callback.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

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