• docs/doordrop_ini.md v322_new.md exec/load/sbbsdefs.js src/sbbs3/sbbs.

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sun Nov 1 00:20:37 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/538eacf3d510002df88fc66c
    Modified Files:
    docs/doordrop_ini.md v322_new.md exec/load/sbbsdefs.js src/sbbs3/sbbs.h sbbsdefs.h src/sbbs3/scfg/scfgxtrn.c src/sbbs3/xtrn.cpp xtrn_sec.cpp src/xpdev/unicode_defs.h
    Log Message:
    Add DOORDROP.INI door drop-file support

    A new drop file type (XTRN_DOORDROP) writes the named-value drop file
    specified in docs/doordrop_ini.md (version 1.0): the file hands a door
    the session details as KEY=value lines grouped in sections, so a door
    reads only the keys it needs. The sysop selects it in SCFG like any
    other drop file type and the door receives the file's absolute path in
    the DOORDROP_INI environment variable and via the %F command-line
    specifier.

    The writer in xtrndat() fills every key Synchronet has a source for:
    system identity and FTN addresses, the connection type (stdio, socket
    with the inherited handle, local, fossil or uart), the user's account
    details and preferences, the terminal size, type, character set and
    detected CTerm capabilities, the remaining time and idle limit, the
    door entry's code and name, and the Synchronet-specific [x-sbbs] keys
    (security level, flags, exemptions, restrictions, expiration, minutes
    and credits) that MODUSER.DAT adjusts. Text values are written in CP437,
    or in UTF-8 when the door's new "Support UTF-8 Encoding" option is set,
    and are cleaned as the spec requires: control and bidirectional format characters become '?', a non-breaking space becomes a space, and a value
    that would exceed the 255-byte line limit is cut at a character boundary
    (text) or left out (anything else).

    Launch handling: a DOORDROP.INI door always runs with no stdio echo, so COMM_TYPE=stdio means what the spec says; a multiuser door on a
    multinode system gets its file in the node directory even when the
    sysop chose the start-up directory, since that directory is shared by
    every node running the door; and the file is removed after the door
    exits. The UART keys describe COM1, the port Synchronet's virtual UART
    driver always emulates.

    external()'s BBSDEV.DRP-only environment variable parameter becomes a
    variable name plus path, so either drop file type's variable reaches
    the door on every launch path (native, DOSEMU and Windows DOS).

    XTRN_UTF8, until now an editor-only option, is also offered for online
    programs that use this drop file type. unicode_defs.h gains the nine bidirectional format code points the spec treats as control characters.

    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
    --- SBBSecho 3.38-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)