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

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

  • src/doors/syncduke/Game/src/game.c src/doors/syncduke/syncduke_door.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Jun 26 17:57:47 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8fb1ed22fe35eb429e310167
    Modified Files:
    src/doors/syncduke/Game/src/game.c src/doors/syncduke/syncduke_door.c Log Message:
    syncduke: strip door args before the engine's command-line parser

    A sysop reported SyncDuke dumping the Duke3D command-line help to syslog and never starting. The vendored engine's DOS-era checkcommandline() treats any argv element beginning with '/' as a "/option" and, on an unrecognized one, prints comlinehelp() and exits. On a Unix host the DOOR32.SYS drop-file path (Synchronet's %f) and the -home/-grpdir values are ABSOLUTE paths starting
    with '/', so the engine misreads them -- e.g. "/home/.../door32.sys" parses as option '/h' -> unknown -> help+exit.

    It only "worked" when the install path's first letter happened to be a handled option letter (e.g. /sbbs -> 's', which is the skill flag and survives -- as a side effect forcing player skill 0). And it surfaced only once the user had a GRP: GRP init runs before checkcommandline and exits early when no GRP is present, so a GRP-less install hits the GRP error first, masking this.

    Fix: syncduke_sanitize_cmdline() compacts argv to remove the door's own args (DOOR32.SYS path, -home, -grpdir, -s<fd>) just before checkcommandline, handing the engine an engine-only argv. All of these are already consumed by the pre-main constructors, so stripping them is safe. Path-independent, and it also eliminates the incidental skill-0 side effect.

    Reproduced (GRP present, /home launch path -> help dump) and verified fixed (loads the GRP, proceeds into init, no help dump); /sbbs path unregressed.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

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