https://gitlab.synchro.net/main/sbbs/-/commit/732838f8c2e03dd31a117fcc
Added Files:
exec/tests/dns/records.js
Modified Files:
exec/load/dns.js exec/load/ircd/config.js core.js fileserv-worker.js fileserv.js fileserv.md exec/tests/ircd/fileserv-network.py fileserv.js stats.js tls.js
Log Message:
ircd: support dual-stack FileServ endpoints and asynchronous DNS
Allow shared Address/Bind hostnames with A and AAAA records, plus optional Address4/Bind4 and Address6/Bind6 overrides. Select the endpoint using the client's IRC address or private ADDRESS override while preserving existing numeric configurations. Resolve names through dns.js without blocking IRC, share pending lookups, cache answers within their TTL, and fail clearly
when the requested family is unavailable.
Capture the advertised address, numeric bind and expected peer for each
request so queued and active transfers retain consistent endpoints. Cancel pending DNS requests without allowing late replies to start DCC sessions. Expose the new settings in STATS and document dual-stack/NAT configuration.
Fix dns.js AAAA zero compression, truncated-record validation and unsigned 32-bit TTL decoding. Audit resolver callers for dependent workarounds and retain the separate IRC NICK 0::1 serialization workaround.
Validate native IPv4/IPv6 SEND, SSEND, SCHAT, resume, hostname resolution, missing AAAA, DNS timeouts and cancellation. All 53 FileServ workers and
the IRCd exit normally. FileServ access through a v1.3 relay, RBL network tests, DNS wire-format regressions, and IRC state/configuration suites pass. ---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net