• exec/tests/ircd/motd.jsexec/load/ircd/config.js core.js

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tuesday, November 10, 2026 20:48:27
    https://gitlab.synchro.net/main/sbbs/-/commit/a4d74ff75048171f0ccae284
    Added Files:
    exec/tests/ircd/motd.js
    Modified Files:
    exec/load/ircd/config.js core.js
    Log Message:
    ircd: stop reading the MOTD and ircd.conf when a read fails

    IRCClient_motd() and the ircd.conf parser both read with
    "while (!file.eof) line = file.readln()". File.readln() returns null when
    the read fails, but a failed read sets the stream's error flag, not its end-of-file flag, so eof stays false and the loop never ends.

    With text/ircmotd.txt on a network share that developed a fault, the first
    MOTD request after it left the server spinning in that loop and deaf to
    every link and client until it was killed.

    Both loops now end at the first null line. The MOTD is still terminated
    with numeric 376.

    Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>

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