• exec/ircd_conf2ini.jsdocs/v322_new.md exec/load/ircd/config.js

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Aug 1 00:39:07 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f62d4d9a84b005c27b280566
    Added Files:
    exec/ircd_conf2ini.js
    Modified Files:
    docs/v322_new.md exec/load/ircd/config.js
    Log Message:
    ircd: add ircd.conf to ircd.ini converter, fix .ini read/write defects

    New exec/ircd_conf2ini.js converts a legacy Bahamut-style ircd.conf to
    the ircd.ini format added in d41c2447a (2023-11-09). It reuses the
    reader and writer in ircd/config.js, re-reads the file it just wrote and compares it entry-by-entry against the .conf, and renames the original
    to .bak only if nothing was lost. Class descriptions, which the .conf
    format can carry only as a comment above each Y:Line, are moved into the [Class] Comment key.

    Defects that round-trip exposed, all in ircd/config.js:

    - [Ban] sections were written with a Hostmask key but read back from
    Mask, so every ban was dropped on the next read.
    - OLine_Flags_String() emitted the RESTART and DIE flags only in the
    branch that spells out individual flags, so an operator covered by the
    "o"/"O" shorthand silently lost /RESTART and /DIE.
    - [Server] sections paired C:Lines to N:Lines by array index; they are
    now matched by server name, and an N:Line with no matching C:Line is
    written as an inbound-only link with Port=0.
    - Hubs with no server link of their own were not written at all, and now
    get [Hub] sections.
    - [Allow] Password was documented but never read, and never written.
    - Z:Lines had no representation and were discarded; they are now written
    as [Ban] sections matching *@<address>.
    - [Class] Maximum=0 means unlimited, as Unregistered_Commands() tests
    before enforcing it, but the reader clamped it to a minimum of 1 and
    substituted 100.
    - Entries duplicated between the compiled-in defaults and the config
    file were written twice.

    A [Hub] section with no Servername key is now ignored with a warning
    instead of throwing.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Aug 1 00:39:07 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/b1fbc011bd17bcd452cedbc1
    Added Files:
    exec/ircd_conf2ini.js
    Modified Files:
    docs/v322_new.md exec/load/ircd/config.js
    Log Message:
    Merge branch 'ircd-conf2ini' into 'master'

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