• exec/load/ircd/link-security.js tls.js tls.md exec/tests/ircd/link-sec

    From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, October 27, 2026 15:26:47
    https://gitlab.synchro.net/main/sbbs/-/commit/837e19692961860aed5cccf9
    Added Files:
    exec/load/ircd/link-security.js tls.js tls.md exec/tests/ircd/link-security.js tls-network.py tls-worker.sjs tls.js
    Modified Files:
    exec/ircd.js ircdcfg.js exec/load/ircd/config.js core.js server.js services.js unregistered.js user.js exec/tests/ircd/state.js
    Log Message:
    ircd: add validated TLS server links and route security reporting

    Support dedicated TLS listeners and automatic/manual outbound server links. Validate the peer hostname, certificate dates, server-authentication usage
    and trust chain against an explicit PEM CA bundle before sending IRC credentials. Enforce TLS-required inbound peers before password/QWK authentication, close on validation failure without plaintext fallback,
    and expose the settings in ircdcfg with configuration round-trip support.

    Add optional LINKSEC observations and an unprivileged TLSROUTE command to report each server hop's encryption and certificate-checking endpoint.
    Accept remote observations through configured hubs, keep legacy gaps and untrusted leaf claims unknown, and retain contradictory evidence without reporting a verified route. Tie observations to live topology edges so
    splits and same-name reconnects discard old state; explicitly distinguish embedded services from network links.

    Preserve existing plaintext links and legacy services without requiring
    the new capability during rolling upgrades.

    Validation: 127 state/config/services checks, native certificate rejection
    and multi-hub TLS/reconnect scenarios, and all nine rolling-upgrade checks against each of the saved 1.3 and 2.0 IRCds.

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