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)