• src/sbbs3/xtrn_sec.cpp

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Feb 23 23:25:45 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/5b9c39e190152b4a2b981ab6
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Fix wrong size argument (not actual problem)

    CID 174261

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Mar 4 23:16:07 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/959fa9fe08666fe6d0259afd
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Don't use pointers to the low byte of multi-byte integers

    This only works on little endian systems (which is all we support currently).

    Fixes CID 174261: Wrong size argument

    This binary drop file writing code is pretty terrible and inefficient, but I remember being really proud of it (supporting so many drop files). This really should be re-written to use structures and/or buffered file I/O.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Mar 8 23:38:32 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/6ddae40a5b23d21b78c63921
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Fix EXITINFO.BBS generation for 64-bit time_t and more

    So I was working on re-writing some of this door file generation code and noticed that the EXITINFO.BBS files generated by SBBS:

    1. had a lot of garbage data filling unused string characters (no "harm", but potentially leaking information)
    2. had the wrong total file length due to 64-bit logontime (time_t)
    3. had the wrong total file length due to writing 19 GosubData elements (instead of 20)

    The first and last issues appear to be some of those "forever" (20+ year old) bugs.

    So I'm guessing no regularly used door games actually use these portions of the EXITINFO.BBS, so most likely: no harm, no foul. But still, best to fix this before I commit the rewrite.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Mar 9 22:07:34 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/85d9915b8eaa586d5ec4a143
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Overhaul EXITINFO.BBS creation using C++ templated classes

    Ah, that's better. Actually would work correctly on big-endian platforms (should we ever support one) and with way less code.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Mar 9 22:12:06 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/44810bb051267fc8ddeb3c59
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Remove unused variable

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Mar 11 21:42:50 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/f41d2475beeb7d1fc325c991
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Remove now-unneeded str2pas() function

    Functionality replaced with Pascal::String

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Mar 12 23:13:18 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/1abae6a2a5e9b86a92f184d2
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Use buffered file I/O when writing drop files and overhaul PCBOARD.SYS

    ... and USERS.SYS file creation using new C++ type definitions in pcbdefs.hpp.

    This mostly fixes issue #366.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Mar 12 23:21:15 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/ff60b4f95b2e70842780f94d
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Address new warning

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Mar 29 12:21:53 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/446f28d60ed14e86814d0cb0
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Use PRIu64 for (newly) 64-bit user fields (credits, up/download bytes)

    Fixes recently-introduced crash when generating text drop files (e.g. XTRN.DAT, SFDOORS.DAT, DOOR.SYS, CHAIN.TXT) on Win32 (only) where a 'long int' is still just 32-bit.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Mar 29 20:18:45 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/df9b2c9d8a8ef1e1d2b2f586
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    CHAIN.TXT files need CRLF terminated lines

    This was a regression (to just LF-terminated lines), an accidental change (from "text" to "binary" file-open) in commit 07580ea7b1b6e.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Apr 21 21:45:17 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/6b36b3792f49d8b37bcbf7d1
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Limit door.sys numeric values to 32767

    The DoorFrame door library will about with "Overflow Error" if it reads a door.sys file with lines 16 (calls), 42 (minute credits), or 52 (posted messages) with a value > 32767, the maximum positive value of a signed 16-bit integer. So cap these values in the door.sys file at that maximum. This does potentially break/limit doors that give minutes using the door.sys drop file, so use that "modify user data" option in SCFG with care.

    Electrosys initially reported this problem with the Lemonade! door game which was barfing on a line 42 value of 449632.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 24 17:36:19 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/e8c2e70cc1a44a90d7044125
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Add line 8 (user's real name) to DOORFILE.SR (Solar Realms' drop file)

    Apparently this line was added at some point, not sure if it's actually used
    in any doors, but here it is anyway.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 24 17:36:19 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/2ebc0bb7892d874db684f9e0
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Populate line 36 (user alias) of door.sys with the current user's handle

    Previously, we just always made this a blank line.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Oct 8 20:02:23 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/cf35956b350af5ca83395b7c
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Don't require USE_DOSEMU for DOS-compatible drive mappings in xtrn.dat

    We no longer use/require the USE_DOSEMU definition anywhere else, so
    this was just a miss when the DOSEMU patch was perm-enabled.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Feb 13 11:20:56 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/553e9229faa73c9f16dfed5d
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Fix "running external" log message format mistake

    Introduced in commit 73e5dd9c, reported by Codefenix

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Sat Sep 23 20:29:02 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/8facd954892600d2d636ca6a
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Add space after numeric value on second line of DOORFILE.SR

    This appears to work around a bug in BRE, FE, and TAL where they don't recognize the "1" (ANSI supported) unless there is at least one other
    character on the line following the decimal digit, resulting in the
    unnecessary prompting of the user:
    This game is much more enjoyable with ANSI graphics enabled.
    Do you want ANSI Graphics? (Y/n)

    As reported by "ben" in IRC.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Feb 7 13:19:47 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9fe49eba2534f6efe40efc56
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Another time_t printf

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sun Mar 3 18:31:44 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/161f9470a75a51d04ef27fac
    Modified Files:
    src/sbbs3/xtrn_sec.cpp
    Log Message:
    Clear any mouse hot-spots before executing external program from exec_xtrn()

    As Nelgin pointed out, mouse hot-spots were still active when running external programs (door games) - so clear any active hot-spots before running external programs.

    This could possibly be done in external() instead, but this sufficient for
    now. I wouldn't want a menu that EXEC's something (via @-code) to lose all its hot-spots as a result.

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