• src/sbbs3/dosxtrn/dosxtrn.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Apr 28 14:05:48 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/d4024229466dc841c757a561
    Modified Files:
    src/sbbs3/dosxtrn/dosxtrn.c
    Log Message:
    Report CTS status in FOSSIL driver (high when outbuf has some space)

    Some programs (e.g. sbbs.exe v2.30) check for CTS (when configured/enabled for hardware flow control), so reflect the signal (Clear To Send) accurately.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun May 8 00:43:59 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/5e9cc98f6a9b5681487a788b
    Modified Files:
    src/sbbs3/dosxtrn/dosxtrn.c
    Log Message:
    Support an optional ini filename argument, write to DOSXTRN.ERR

    If a 4th optional argument is provided, use that as the ini filename for virtual UART/FOSSIL driver settings instead of "sbbsexec.ini". Using this feature requires an updated sbbsexec.dll that supports an ini-filename argument (instead of a directory) to the VDD_LOAD_INI_FILE command.

    If DOSXTRN fails to execute the passed command-line, _spawnvp() returns -1, log the errno value and description to DOSXTRN.ERR (in the same directory as DOSXTRN.ENV). This will help diagnose issues executing DOS command-lines (e.g. file not found).

    Upon failure to open/create DOSXTRN.RET, don't prematurely terminate as that would skip a lot of important cleanup.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wed Apr 15 01:22:33 2020
    src/sbbs3/dosxtrn dosxtrn.c 1.24 1.25
    Update of /cvsroot/sbbs/src/sbbs3/dosxtrn
    In directory cvs:/tmp/cvs-serv3878

    Modified Files:
    dosxtrn.c
    Log Message:
    So 20 years ago I decided that the DOSXTRN.ENV file created by SBBS would never have more than 10 environment variables defined in it. I added no bounds checking or dynamic allocation, so if the file contained more than 10 environment variables (and it has since 2002), other stack memory in DOSXTRN would get over-written (classic buffer overflow).

    When I recently experimented with adding another environment variable (PCBDIR), all dosxtrn NTVDM instances would crash with a familiar but mysterious error dialog. This bug may have been causing other dosxtrn instances to crash for a long tmie.
    I also had an arbitrary limit on the number of command-line arguments, 16, with no bounds-checking, so passing a long list of space-separated arguments could also crash DOSXTRN.

    So I've increased both limits to 32 and added bounds checking. I had to break out the old 16-bit MSVC (v1.52) and an NT2K DDK (and remove the 64-bit int stuff from gen_defs.h) to get this thing to build. But here it is. Updated again after all these years. Who'd a thunk.


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