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