_  _    __    ___  __    ___  _____  _  _
 ( \( )  /__\  / __)(  )  / __)(  _  )( \( )
  )  (  /(__)\( (__  )(__( (__  )(_)(  )  (
 (_)\_)(__)(__)\___)(____)\___)(_____)(_)\_)

The History of Hacking  ·  May 31 – June 2, 2026  ·  Carolina Beach, NC

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • exec/load/xtrn_mirror.js xtrn/tests/xtrn_mirror_test.js

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Jul 21 21:53:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2b030be7a3717cf215f68745
    Added Files:
    exec/load/xtrn_mirror.js xtrn/tests/xtrn_mirror_test.js
    Log Message:
    xtrn: add exec/load/xtrn_mirror.js, a mirror-fallback download helper

    Door asset fetchers download game data from a dozen upstream hosts nobody
    here controls. When one goes away, renames a release, or refuses the
    request, the door cannot be installed at all and the sysop's only
    recourse is to find the file by hand. This adds a shared helper that
    retries against Synchronet's asset mirror when the publisher fails.

    The fallback fires on an unreachable host, a non-2xx response, and --
    via the caller's optional verify callback -- a checksum mismatch. That
    last case is the point: without a check, a second source would be
    trusted exactly as blindly as the first, so adding one would weaken
    every fetcher that used it rather than strengthen it.

    HTTPRequest.Download() streams a 404 error body to disk before returning
    0, so a failed attempt removes the file it wrote; otherwise an HTML
    error page would reach Archive() claiming to be a game archive.

    No fetcher calls it yet.

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