Synchronet Git Commit Log

This is a log of the 500 most recent pushes to the master branch of the Synchronet Git repository.
If you want to view more pushes/commits, you can by passing ?<number> in URL.
  1. Rob Swindell
    Tue May 24 2022 08:17:24 GMT-0700 (PDT)
    Added Files:
    

    src/build/gitinfo.bat diff
    Modified Files:

    src/sbbs3/release.bat diff
    src/sbbs3/sbbs.jsdocs.vcxproj diff
    src/sbbs3/sbbs.vcxproj diff
    Move gitinfo.bat to build directory So it can be reused for other projects more easily

  2. Rob Swindell
    Tue May 24 2022 10:15:32 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.sln diff
    Platform rename x86 -> Win32 To be more consistent with other Synchronet project and solution files.

  3. Rob Swindell
    Tue May 24 2022 10:15:55 GMT-0700 (PDT)
    Added Files:
    

    src/vdmodem/build.bat diff
    src/vdmodem/release.bat diff
    Build files

  4. Rob Swindell
    Tue May 24 2022 10:53:24 GMT-0700 (PDT)
    Added Files:
    

    src/vdmodem/.gitignore diff
    Git-Ignore the git*.h files

  5. Rob Swindell
    Tue May 24 2022 21:58:34 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Include Git branch/hash in detailed version output svdm -V and "ATi1" output.

  6. Rob Swindell
    Mon May 23 2022 19:29:34 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Don't close externally opened/passed socket descriptors Set sbbs_hungup event state correctly based on initial online state (i.e. FALSE if already connected/online). Allow BusyNotice (string) to be configurable via .ini file.

  7. Rob Swindell
    Mon May 23 2022 19:29:56 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fossinfo.c diff
    Report FOSSIL port status

  8. Rob Swindell
    Mon May 23 2022 18:04:13 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Save modem "NVRAM" settings to ini file Support [sockopts] (socket options) settings in ini file CamelCase the ini key names

  9. Rob Swindell
    Mon May 23 2022 18:04:13 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Usage/syntax help output, read svdm.ini from path of svdm.exe Support specifying an additional or alternate .ini file to read using -c<fname> option.

  10. Rob Swindell
    Mon May 23 2022 18:04:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsexec.c diff
    No need to call reset_yield() if we're not calilng maybe_yield()

  11. Rob Swindell
    Wed May 18 2022 18:36:08 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/birthdays.js diff
    Fix loop limit (system.stats.total_users != system.lastuser) When looping to highest user number, use system.lastuser, not system.stats.total_users. This explains why not all userbases would be affected by the just-fixed issue in js_user.c. If the total_users happens to equal lastuser, then you would have hit the issue in js_user.c. If you had at least one deleted or inactive user account, then system.stats.total_users would be less than system.lastuser and your system would *not* have triggered that bug.

  12. Rob Swindell
    Wed May 18 2022 15:32:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_user.c diff
    Fix User.number increment beyond lastuser issue When the 'number' property of an instance of User was incremented beyond the last user, the call to fgetuserdat() on subsequent property 'get' operation would fail and zero-out the user structure (including the user number). This resulted in an infinite loop in load/birthdays.js where the user number would go from lastuser to 1 in one operation (u.number++). Reported by DesotoFireflite (VALHALLA)

  13. Eric Oulashin
    Tue May 17 2022 12:47:01 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Fixes for searching & related error reporting

  14. Rob Swindell
    Tue May 17 2022 12:59:04 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Merge branch 'ddac_search_errors_fix' into 'master' DD area choosers: Fixes for searching & related error reporting See merge request main/sbbs!171

  15. Rob Swindell
    Tue May 17 2022 09:42:03 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.sln diff
    src/vdmodem/vdmodem.vcxproj diff
    build/link with xpdev_mt Build using WinXP-compatible toolset.

  16. Rob Swindell
    Tue May 17 2022 09:27:40 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/netwrap.h diff
    Fix error: Undefined structure 'in_addr' in Borland builds sbbsctrl build failed, it needs another winsock header. <sigh> Oh what a rabbit hole this has been.

  17. Rob Swindell
    Mon May 16 2022 20:44:19 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/netwrap.h diff
    Need ws2tcpip.h for struct ip6_addr definition on Windows

  18. Rob Swindell
    Mon May 16 2022 20:45:08 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/xpdev.props diff
    src/xpdev/xpdev_mt.props diff
    xpdev/netwrap now requires IPHlpApi.lib on Windows

  19. Rob Swindell
    Mon May 16 2022 20:20:27 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    src/xpdev/netwrap.c diff
    src/xpdev/netwrap.h diff
    Move IPv4/v6 address parse functions to netwrap.c And create IPv4AddressToStr(), a wrapper for inet_ntop (or inet_ntoa, when inet_ntop isn't available).

  20. Rob Swindell
    Mon May 16 2022 12:47:57 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    Apparently MinGW32 doesn't have inet_ntop() or inet_pton() either

  21. Rob Swindell
    Mon May 16 2022 12:10:02 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    Borland didn't include inet_ntop() or inet_pton() Fixes CI and nightly build.

  22. Rob Swindell
    Sun May 15 2022 23:48:19 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    src/xpdev/ini_file.h diff
    Replace deprecated inet_ntoa and inet_addr function calls Use inet_ntop and inet_pton instead. Use 32-bit arguments and return values for IPv4 addressess for all target platforms (ulong is 64-bit on LP64, e.g. Linux-x64, targets).

  23. Rob Swindell
    Sun May 15 2022 23:49:36 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Implement svdm.ini file support to store settings and modem NVRAM e.g. AT&W writes the current settings to the [modem] section.

  24. Rob Swindell
    Tue May 10 2022 12:58:32 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Explain that TAB is used to edit the entry comment in online help

  25. Rob Swindell
    Tue May 10 2022 17:03:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/services.c diff
    Allow a per-service "LowestLogLevel" setting Have a service (e.g. imapservice.js) that logs errors that you'd rather not fill your error.log file with? Set that service's "LowestLogLevel" to "Warning" in your services.ini file ("lower" means "more severe" when it comes to log levels, so this would set the maximum severity to Warning).

  26. Rob Swindell
    Tue May 10 2022 17:04:36 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Set Telnet-server options (e.g. will echo) in answer()

  27. Rob Swindell
    Mon May 09 2022 18:52:27 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbhash.c diff
    Remove trailing whitespace before computing Subject CRC Some responding programs will automatically remove the trailing white-space from subject when replying and that would mess up the subject-linkage-by-CRC. So let's just ignore trailing whitespace in the first place.

  28. Rob Swindell
    Mon May 09 2022 18:36:31 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsexec.c diff
    Better RTS support Reducing log output (lowering log level of line 437 from LOG_INFO to LOG_DEBUG) highlighted an issue with Telix stopping RX. That was fixed by checking RTS in input_thread(). Qmodem needs RTS checked when writing the MCR. This improved RTS support has been tested with Telix, Qmodem, Telemate, and Banacom at full data rates.

  29. Rob Swindell
    Mon May 09 2022 18:49:25 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    src/vdmodem/vdmodem.vcxproj diff
    Add Telnet support

  30. Rob Swindell
    Sun May 08 2022 18:56:31 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    Add "Disable Local Display" option for doors, parse DOSXTRN.ERR New option to disable local screen display for door programs: sets the 'Screen' value appropriately in door.sys or pcboard.sys drop files and on Windows, doesn't create a new console window. Also, now parsing the DOSXTRN.ERR file created by the latest/greatest dosxtrn.exe when failing to execute the child/DOS program and log the parsed error details (errno value and description), helpful in debugging the reason why a DOS program may not have been successfully executed by DOSXTRN.

  31. Rob Swindell
    Sun May 08 2022 11:31:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Remember the last 'first_msg' property value after msgbase is closed The other msgbase property values are stored in the smb.status or other private_t members which retain their value when the message base is closed, unlike the 'first_msg' property which required a read of the message base index to get the value (and that doesn't work when the message base is closed, so would return 0). for deon (ALTERANT)

  32. Rob Swindell
    Sun May 08 2022 00:01:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    Print the upload TCP protocol (when available) w/user name, not host/IP Long hostnames would prevent the protocol from being shown. Also, non-operators should be able to see the protocol used to upload files.

  33. Rob Swindell
    Sun May 08 2022 00:09:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/dosxtrn/dosxtrn.c diff
    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.

  34. Rob Swindell
    Sun May 08 2022 00:40:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsexec.c diff
    src/sbbs3/uartdefs.h diff
    Improvements to virtual UART driver for Windows In the process of creating/testing the new Synchronet Virtual DOS Modem (SVDM) project, I made the following significant improvements: - Don't default the log level to DEBUG for debug builds - Add a "carrier change" event so carrier low to high transitions can be tracked too - Replace several lprintf() calls with lputs() for performance reasons - Specify 'volatile' storage for pending_interrupts - Interrupts are re-asserted if there are any pending interrupts after reading IIR register - Emulate FIFO enablement - Support RTS flow control signal - Remove conditional/configurable yields when polling LSR and MSR register, would just unnecessarily slow down terminal programs - Report "DCD change" in MSR correctly - Clean-up (e.g. close handles) in VDD_CLOSE handler - VDD_LOAD_INI_FILE allows an optional ini filename (instead of directory) as its argument - for loading an ini filename other than sbbsexec.ini (e.g. svdm.ini). Initialize log level in VDDInitialize(). For versions of Windows/NTVDM that use/call the "init proc" (this function), we just re-initialize global variables here.

  35. Rob Swindell
    Sun May 08 2022 00:43:48 GMT-0700 (PDT)
    Added Files:
    

    src/vdmodem/vdmodem.c diff
    src/vdmodem/vdmodem.sln diff
    src/vdmodem/vdmodem.vcxproj diff
    Synchronet Virtual DOS Modem for Windows First commit. Right now it just connects/accepts-connections using raw TCP. As demonstrated in YouTube video: https://www.youtube.com/watch?v=fxp38Nde3fg

  36. Rob Swindell
    Sat Apr 30 2022 18:56:29 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    Fix xp_inet_pton: was just writing 0x02 (address family)to 'dst', always Tried using this function in a new project and didn't work. My guess: it wasn't tested. <looks at Deuce>

  37. Rob Swindell
    Sat Apr 30 2022 14:13:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Fix CID 174496: Integer handling issues (BAD_SHIFT) Don't repeat call atoi() unnecessarily.

  38. Rob Swindell
    Sat Apr 30 2022 14:23:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/upload.cpp diff
    Fix DIZ extraction/use for FTP uploads 1. Was not setting f->dir to the correct directory number, so only ftp-uploads to the *first* directory (dirnum = 0) would extract DIZ files of uploaded files. Removing the 'dirnum' parameter to addfile() since that implied that you did not have to initialize the 'dir' element of the passed file_t, but you do: to get the correct file path for file size/date detection and the DIZ extraction. 2. Was getting heap-corruption when freeing the imported/formatted DIZ text on Windows once the above problem was fixed: can't free() in one DLL memory that was allocated in another DLL. Created and now using free_diz() to free the memory allocated in read_diz(). format_diz() handles a NULL 'lines' argument correctly/gracefully, so no need for the NULL lines check in sbbs_t::uploadfile(). Added FTP server log messages for successful file upload or update by user.

  39. Rob Swindell
    Thu Apr 28 2022 19:31:56 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Give the timed event config menu the left/right arrow key treatment Allows quick traversing through timed events (e.g. for comparison of settings).

  40. Rob Swindell
    Thu Apr 28 2022 18:42:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn.cpp diff
    When running 16-bit DOS commands "offline" on Windows, don't use dosxtrn We shouldn't need a virtual UART/FOSSIL driver to execute "offline" program (e.g. timed events) in the first place, and our virtual UART/FOSSIL for Windows wouldn't work right in the scenario anyway even if it did load successfully. This resolves the reported issues with timed events configured as not "native" returning error 255 (and not running successfully) on Windows with SBBS v3.19. I'm not even sure what changed exactly in xtrn.cpp, dosxtrn.c, and sbbexec.c between v3.18 and v3.19 that's causing this to now fail, but it (using DOSXTRN to run offline DOS programs) really shouldn't have been attempted in the first place. So that was just a design issue that happened to kind of sort of work up until v3.19.

  41. Rob Swindell
    Thu Apr 28 2022 18:55:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgnet.c diff
    Add "Native" option for QWKnet call-out cmd-lines This really shouldn't be necessary to toggle (at least now) on Windows, since we treat all off-line executions as "native", but for *nix, it could make a big difference if trying to invoke a native program or shell script for a QWKnet call-out and it would either fail due to no DOS support or try to executing using Linux-DOSEMU (unless the command's program name was in the global "native program list" configured in SCFG->External Programs).

  42. Rob Swindell
    Thu Apr 28 2022 12:59:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sexyz.vcxproj diff
    Mutex-protect the ring buffers (as we do in the *nix builds) This fixes an observed crash in sexyz for Windows. The crash was in RingBufWrite() where 'remain' was set to -1 (4.2B) apparently because pHead and/or pTail changed (to pTail=pHead) during the invocation of the RINGBUF_FILL_LEVEL() macro, because it wasn't thread-safe. Amazing this problem never came up before.

  43. Rob Swindell
    Thu Apr 28 2022 13:39:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/inkey.cpp diff
    Don't add hot-spots for users of terminals without mouse support This eliminates some link-list management and the debug-level log message "Scrolled x mouse hot-spots" for non-mouse-enabled user terminals.

  44. Rob Swindell
    Thu Apr 28 2022 13:42:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    Always displays the 100% progress report ... regardless of the timing of the last progress report. For cases where the progress output isn't erased once done doing the thing.

  45. Rob Swindell
    Thu Apr 28 2022 13:43:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    Sort the batch queues in the .ini files as well This insures that the 'R'emove file option will work correctly if when displayed sorted.

  46. Rob Swindell
    Thu Apr 28 2022 13:45:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    Fix erroneous error message Subpacket OVERFLOW means received subpacket byte offset is >= the max subpacket length.

  47. Rob Swindell
    Thu Apr 28 2022 13:48:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/dosxtrn/dosxtrn.c diff
    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.

  48. Rob Swindell
    Wed Apr 27 2022 20:50:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    Add batch_list_sort() to sort up/download batch xfer list files

  49. Rob Swindell
    Wed Apr 27 2022 20:51:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    Add a sort (alphabetical) option when listing batch queues

  50. Randy Sommerfeld
    Mon Apr 25 2022 23:58:23 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/server.js diff
    We don't use cmd anymore

  51. Rob Swindell
    Mon Apr 25 2022 20:15:01 GMT-0700 (PDT)
    Modified Files:
    

    docs/source.html diff
    docs/sysop_commands.html diff
    Redirect to the relevant wiki.synchro.net page

  52. Rob Swindell
    Mon Apr 25 2022 14:20:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Fix possible underflow conditions in gettimeleft() If a non-'T' exempt user had already used more time today than their security level allows, their timeleft would be computed as a negative value due to integer underflow. Since the return value of this function is assigned to a ulong (timeleft), this becomes a large positive number. Cap the floor of the computed time left at 0. Also fix the potential for underflow that could occur if the system clock changes while a user is online and 'now' becomes greater than 'starttime'.

  53. Rob Swindell
    Mon Apr 25 2022 14:21:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logout.cpp diff
    Add comment about race condition Fixed typo in another comment

  54. Rob Swindell
    Sun Apr 24 2022 19:20:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/xtrn_sec.cpp diff
    Dates in drop files are always MM/DD/YY, never DD/MM/YY Previously, if a sysop had set SCFG->System->Toggles->European Date Format (DD/MM/YY) to "Yes", then many of the dates in drop files would have been written in this format. Unfortunately, since most BBS doors and door development kits were written by Americans, MM/DD/YY format is always assumed. So fixed that (using new TM_MONTH macro too). Also, line 37 ("Event Time") of DOOR.SYS was always 00:00, now it'll be the next event time (in HH:MM format). Unfortunately, that time might be tomorrow or days away and there's no way to represent *that* fact in the DOOR.SYS file format. <shrug>

  55. Rob Swindell
    Sun Apr 24 2022 19:21:48 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/xpdev_mt.props diff
    Add winsock library (ws2_32.lib) to multi-threaded xpdev props file This additional library was already included in the single-threaded version, so this was just a miss.

  56. Rob Swindell
    Sun Apr 24 2022 17:32:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  57. Rob Swindell
    Sun Apr 24 2022 17:34:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    Populate line 36 (user alias) of door.sys with the current user's handle Previously, we just always made this a blank line.

  58. Rob Swindell
    Thu Apr 21 2022 21:57:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Restore ability for MsgBase.open() to open an arbitrary SMB msgbase Before commit 5da26eca, you could pass Msgbase() the path to an SMB on the disk and open() it, no configuration needed. As of 2 years ago, I broke that, and passing a path to an SMB would open the "mail" base instead - most unexpected. This is a feature of smb_open_sub() which we switched to using (from smb_open()), so go back to using smb_open() when an unrecognized code is pass to the constructor. This has the negative consequence that the "mail" base can't be created via JS. Probably should fix that.

  59. Rob Swindell
    Thu Apr 21 2022 22:05:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Use smb_open_sub() for the "mail" base too This restores the ability for JS MsgBase() to be used to create the initial mail message base properly, if needed. This means that the 'subnum' should now be equal to scfg.total_subs when referencing an arbitrary SMB via path (not in the configuration).

  60. Rob Swindell
    Thu Apr 21 2022 22:07:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix segfault when printing Bad-echo name after failing to load cfg This is a weird one: sbbsecho ran right as I was saving msgs.cnf via SCFG and it seems like it loaded 0-byte msgs.cnf into memory and this segfault was a result of trying to print sub[INVALID_SUB]->code. The use of [f]nopen() with proper share perms should have prevented this (truncated msgs.cnf read) from happening, so there's something else afoot here.

  61. Rob Swindell
    Thu Apr 21 2022 21:45:09 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  62. Deucе
    Tue Apr 19 2022 09:32:10 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    Bump the version The extra strength bug fix needs a new version number.

  63. Deucе
    Tue Apr 19 2022 09:25:47 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    Fix STR gain after defeating a trainer. You get str_gained, not str. :(

  64. Rob Swindell
    Sun Apr 17 2022 21:19:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Don't zero-out static variables for option index/bar This prevents re-entry to the door configurations from returning to the previously highlighted menu option. Not sure why this was, but clearly re-zeroing static variables makes no sense in the first place.

  65. Rob Swindell
    Sun Apr 17 2022 21:20:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Fix LAZY_BOOLEAN macro definition This is what was causing the 'is_utf8' message header property to be created as a Number instead of a Boolean.

  66. Rob Swindell
    Sat Apr 16 2022 00:52:34 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    String 387 is now used for YouCantUseThatNetmail string

  67. Rob Swindell
    Sat Apr 16 2022 00:51:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/sbbsdefs.js diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    Implement duplicate new-user email address checking (optional) If a sysop wants to prevent new users from using an email address of an existing user, they can set SCFG->System->New User Values->Question Toggles->Force Unique E-mail/NetMail to "Yes". This partially addresses issue #127, at least for the terminal server.

  68. Rob Swindell
    Fri Apr 15 2022 23:11:38 GMT-0700 (PDT)
    Modified Files:
    

    exec/str_cmds.js diff
    Log string command invoked by users via log() On *nix, log() output can go to syslog() and on Windows, it can go to the event log. This addresses issue #360.

  69. Rob Swindell
    Fri Apr 15 2022 16:09:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Truncate node.dab to correct size when initializing any sbbs_t instance Fixes issue #395

  70. Rob Swindell
    Fri Apr 15 2022 10:56:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Address Coverity-reported printf format issue CID 351997 and 351998

  71. Rob Swindell
    Thu Apr 14 2022 17:30:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    Fix new function: fopenlog() ftello() returns 0 after fnopen(..., O_APPEND). Use filelength() instead.

  72. Rob Swindell
    Thu Apr 14 2022 14:58:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Address new GCC warning instance

  73. Rob Swindell
    Thu Apr 14 2022 14:53:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/xtrn_sec.cpp diff
    Add configurable log size limit and retention count For the following log files: hungup.log error.log crash.log hack.log spam.log guru.log ... they can be limited in size, in bytes, by the sysop, along with a maximum retention limit (number of *.#.log files). Configured in SCFG->System->Advanced. By default, the limit and keep numbers are 0, so "unlimited" (same behavior as before). Once sufficiently tested, I'll change the default in a stock main.cnf file to use a sensible limit (e.g. 10 log files of 10MB each, something like that).

  74. Eric Oulashin
    Wed Apr 13 2022 18:38:38 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Dates shown in file desriptions when extended descriptions are enabled. When extended file descriptions are enabled, the file date is now shown with the file description on the last line.

  75. Rob Swindell
    Wed Apr 13 2022 19:22:14 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_exted_desc_file_dates' into 'master' DDFileLister: Dates shown in file desriptions when extended descriptions are enabled. See merge request main/sbbs!169

  76. Rob Swindell
    Wed Apr 13 2022 13:32:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix packet filename in "Gruned message" log entry on Win32 e.g. "Grunged message (type 2) from 4:80/1 at offset 58 in packet: (null)" off_t is 64-bit, but long in 32-bit (on Win32), so needs a typecast here in lprintf() call (otherwise, the upper 4 bytes of the offset are interpreted as the string address for the corresponding '%s' argument, the filename).

  77. Rob Swindell
    Tue Apr 12 2022 13:59:58 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord2/lord2.js diff
    Un-comment-out the line referencing 'bs' since it's now defined.

  78. Stephen Hurd
    Tue Apr 12 2022 13:48:10 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord2/lord2.js diff
    Copy in missing ws and bs variables from lord.js

  79. Rob Swindell
    Sun Apr 10 2022 20:24:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Install OperationCallback for all executed JS scripts JS doors with the "Use Shell or New Context" option enabled in SCFG and JS modules installed a global hot key handlers would not automatically terminate when the user disconnected (and js.auto_terminate was true, the default). I'm not sure why the operation callback was only installed when scope==NULL but always installing it fixes the issue with some global hot key modules and JS doors becoming "zombies" when a user disconnects while running them.

  80. Rob Swindell
    Sat Apr 09 2022 16:30:28 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/tw2/input.js diff
    Check for user disconnection in CheckTerminate() A user disconnecting while running tw2 would just result in an infinite loop checking node status and waiting for the user's allowed time to run out (which may never happen) or for the server to be locally terminated. This has been happening for years on Vertrauen. Finally now I see why.

  81. Rob Swindell
    Sat Apr 09 2022 16:00:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/qwknodes.c diff
    Send error output to stderr, non-error output to stdout Fixes issue #390

  82. Rob Swindell
    Sat Apr 09 2022 14:29:27 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/presence_lib.js diff
    Fix long-standing issue with external program name display Especially for Guest (G-Exempt) accounts which support multiple concurrent logons - the 'curxtrn' value stored in the user's record may not match the external program that was actually last executed on the node in question, so use the .aux property value (from node.dab) as is done in the C++ code (e.g. printnodedat()). This insures that the node_status() output here matches the C/C++ code output (e.g. when logging on the terminal server). Still support the 'code-based' external program name look-up since that usage is relied upon by other modules, but when a number is passed, use the number to find the right external progarm name (and we need to subtract one, since aux is a 1-based number). I've looked at this problem a couple of times before and not sure why I didn't see the solution. <shrug>

  83. Deucе
    Sat Apr 09 2022 12:14:36 GMT-0700 (PDT)
    Modified Files:
    

    exec/imapservice.js diff
    Throw more interesting errors when a continuation line read fails

  84. Rob Swindell
    Sat Apr 09 2022 11:50:14 GMT-0700 (PDT)
    Modified Files:
    

    exec/imapservice.js diff
    Fix TypeError: args[1].toUpperCase is not a function Issue #389 reported by Keyop: srvc 0324 IMAPS <Keyop> !JavaScript /sbbs/exec/imapservice.js line 653: TypeError: args[1].toUpperCase is not a function I'm not sure how you reproduce this error or what type args[1] is (apparently, not a string), but this fix it regardless. Please let me know.

  85. Rob Swindell
    Sat Apr 09 2022 11:38:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ansiterm_lib.js diff
    Fix the graphic(BIN)->ANSI->HTML translation issue reported by Keyop Broken in commit ce01d8a79d0263. F*ck the English language.

  86. Deucе
    Sat Apr 09 2022 11:34:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbscon.c diff
    Only remove the pid file if it has our pid in it.

  87. Rob Swindell
    Mon Apr 04 2022 19:53:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Include client IP address in HTTP-level error log messages

  88. Rob Swindell
    Mon Apr 04 2022 05:35:55 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Resolve GCC warnings Fixes isue #388 - no change in behavior

  89. Rob Swindell
    Sun Apr 03 2022 19:19:50 GMT-0700 (PDT)
    Modified Files:
    

    exec/webfileindex.ssjs diff
    Change sorting_description from const to var Since this script can be reloaded in the same scope. Fixes issue #387.

  90. Rob Swindell
    Sun Apr 03 2022 16:49:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    For sub-boards configured to export "ASCII Only", convert UTF-8 correctly This converts the body text as well as the to, from, and subject header fields (first to CP437, then to ASCII). This should address the issue raised in issue #386 with exporting UTF-8 sequences to some message networks.

  91. Rob Swindell
    Sun Apr 03 2022 15:49:03 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/file_size.js diff
    Remove the 'B' suffix in file_size_float() output To match behavior of changed xpdev->byte_estimated_to_str(). If the caller wants a 'B' suffix, they can add it.

  92. Rob Swindell
    Sun Apr 03 2022 15:51:09 GMT-0700 (PDT)
    Modified Files:
    

    exec/slog.js diff
    Updated to read csts.tab instead of csts.dab Also changed output to reflect slog.c more closely. I suppose only one of of these 2 "utilities" to read csts.tab should exist at some point. :-) Also added suport for "-r" and "-t" to be more modern and *nixy.

  93. Rob Swindell
    Thu Mar 31 2022 19:01:52 GMT-0700 (PDT)
    Added Files:
    

    exec/webfileindex.ssjs diff
    My initial/simple/ugly dynamic web file index generator Configured in sbbs.ini [web] by setting: FileVpathPrefix = /files/ FileIndexScript = webfileindex.ssjs And optionally (if you want your vhosts to get filebase access): FileVPathForVHosts = true You can use an .xjs file if you prefer.

  94. Rob Swindell
    Thu Mar 31 2022 18:56:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    When auto-deleting inactive users, log their real name too.

  95. Rob Swindell
    Thu Mar 31 2022 18:57:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Fix file list sorting by date, need to use the index not the header When loadfiles() calls sortfiles(), only the file's index records have been read in, so trying to sort on any header field won't work. This bug wasn't observable when sorting by date ascending, since that's the natural index order of the files already (order imported/added), only observed when sorting by date descending (newest at the top).

  96. Rob Swindell
    Thu Mar 31 2022 00:54:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/StatsFormUnit.cpp diff
    Update comment header block. That's all.

  97. Rob Swindell
    Thu Mar 31 2022 00:54:52 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    Total timeon stats in days/hours/min format instead just massive minutes.

  98. Rob Swindell
    Thu Mar 31 2022 00:28:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/StatsFormUnit.dfm diff
    Double the width of the "Total" status text boxes to accommodate larger numbers/strings.

  99. Rob Swindell
    Thu Mar 31 2022 00:11:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Lower level of new "Logoff time <= logon time" log message ... from ERROR to WARNING, but log the human-readable logon time too. This condition can easily happen if the system clock is corrected (e.g. a few seconds via NTP adjustment) during a quick connect/disconnect. Don't call logoffstats() unless a user actually successfully logged-in. I don't think sysops actually want all the time bots sit at the logon prompt counted as "time online" in their stats anyway.

  100. Rob Swindell
    Wed Mar 30 2022 18:21:23 GMT-0700 (PDT)
    Modified Files:
    

    exec/sutils.ini diff
    Remove dstsedit (it's no longer a thing) Is anyone actually using sutils.js?

  101. Rob Swindell
    Wed Mar 30 2022 18:16:53 GMT-0700 (PDT)
    Modified Files:
    

    install/GNUmakefile diff
    remove dstsedit (it's gone)

  102. Rob Swindell
    Tue Mar 29 2022 20:12:51 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  103. Rob Swindell
    Tue Mar 29 2022 20:15:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Use fnopen() in fopen_dstats() to get open auto-retries iniFileOpen() does not perform retries and there can be contention for the ctrl/dsts.ini file.

  104. Rob Swindell
    Tue Mar 29 2022 20:18:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Some archives don't have DIZ in the root directory (I'm looking at you, mist1221.zip) ... so first try to extract DIZ files from the root of the archive, then try again searching nested directories too. <sigh>

  105. Rob Swindell
    Tue Mar 29 2022 12:21:52 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  106. Rob Swindell
    Tue Mar 29 2022 01:57:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Fix slog build more (needs xpdev too, apparently)

  107. Rob Swindell
    Tue Mar 29 2022 01:24:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Fix slog build (now needs libsbbs.so)

  108. Rob Swindell
    Mon Mar 28 2022 23:53:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/date_str.c diff
    src/sbbs3/date_str.h diff
    Add minutes_to_str() function Generates a "Dd Hh Mm" string from a specified number of minutes.

  109. Rob Swindell
    Mon Mar 28 2022 23:54:55 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dat_file.c diff
    src/xpdev/dat_file.h diff
    Add Open/CloseFile and ListFree methods

  110. Rob Swindell
    Mon Mar 28 2022 23:57:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Add enum CSTATS_FIELD definition Defines the field indexes for records in csts.ini

  111. Rob Swindell
    Tue Mar 29 2022 01:05:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    src/sbbs3/getstats.h diff
    Add parse_cstats() function

  112. Rob Swindell
    Tue Mar 29 2022 01:14:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/StatsLogFormUnit.cpp diff
    src/sbbs3/slog.c diff
    src/sbbs3/slog.vcxproj diff
    Pretty much a total rewrite of the csts.* file parsing stuff Hunting down and destroying some super old SBBS code now. :-)

  113. Rob Swindell
    Tue Mar 29 2022 01:15:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Posts from QWKnet users don't count as "posts" for local stats Might add some other statistic for these relayed posts at some point.

  114. Rob Swindell
    Tue Mar 29 2022 01:15:36 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/semfile.c diff
    Fix signed/unsigned compare warning reported by Borland C++.

  115. Rob Swindell
    Tue Mar 29 2022 01:16:13 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Use the pointer *after* checking that its not NULL Fixes CID 351271

  116. Eric Oulashin
    Mon Mar 28 2022 20:24:06 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    DDLightbarMenu OnItemNav on initial display DDLightbarMenu can now optionally call its OnItemNav function when it's first displayed. By default this behavior is disabled, but it can be enabled by setting the (new) callOnItemNavOnStartup property to true.

  117. Rob Swindell
    Mon Mar 28 2022 22:28:34 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_onItemNav_startup' into 'master' DDLightbarMenu OnItemNav on initial display See merge request main/sbbs!168

  118. Rob Swindell
    Mon Mar 28 2022 01:41:02 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Fix the globi() change for *nix I was stripping the path here... oops.

  119. Rob Swindell
    Mon Mar 28 2022 01:20:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Fix another new GCC warning I missed

  120. Rob Swindell
    Mon Mar 28 2022 01:20:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/gtkchat/objects.mk diff
    Fix build (needed getstats.o)

  121. Rob Swindell
    Mon Mar 28 2022 01:12:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/objects.mk diff
    src/sbbs3/sbbs3.sln diff
    src/sbbs3/targets.mk diff
    Removed Files:

    src/sbbs3/dstsedit.c diff
    src/sbbs3/dstsedit.vcxproj diff
    Eliminate DSTSEDIT, no longer needed */dsts.dab was replaced by dsts.ini. */dsts.ini is just a text file, you don't need a special editor.

  122. Rob Swindell
    Mon Mar 28 2022 01:02:52 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/getstats.c diff
    Resolve new GCC warnings

  123. Rob Swindell
    Mon Mar 28 2022 00:59:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/objects.mk diff
    src/sbbs3/scfg/objects.mk diff
    Fix *nix build, more things need to link with getstats.o now

  124. Rob Swindell
    Sun Mar 27 2022 21:58:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    Remove unused stub function.

  125. Rob Swindell
    Mon Mar 28 2022 00:51:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    src/sbbs3/addfiles.vcxproj diff
    src/sbbs3/delfiles.vcxproj diff
    src/sbbs3/dupefind.vcxproj diff
    src/sbbs3/filelist.vcxproj diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/getstats.c diff
    src/sbbs3/getstats.h diff
    src/sbbs3/js_system.c diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.vcxproj diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.vcxproj diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/sbbs3/str.cpp diff
    src/sbbs3/upgrade_to_v319.vcxproj diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    Overhaul statistics files */dsts.dab (daily statistics and running totals) -> */dsts.ini */csts.dab (cumulative statistics / log) -> */csts.tab * dsts.ini now has both daily and total stats for all fields (not just timeon and logons). * dsts.ini is now an easily modifiable text file - no longer need dstsedit (here-by deprecated and soon to be deleted) * dsts.ini and csts.tab support 64-bit upload/download byte stats and are very extensible for future fields to be added or extended > 32-bit (this was the main inspiration for this overhaul, but it was overdue and already designed for v4, pretty much) * csts.tab is a tab-delimited fixed length record format suitable for easy import to a spreadsheet program or parsing with scripts. Each day is a 128-character LF-delimited record with tab-delimited fields of plain ASCII text. * All fields except timeon in dsts.ini files are updated immediately and by more non-terminal servers (e.g. post statistics from web UI scripts). * New user stats are tracked more than just for "today". The upgrade of these files is automatic and built-into SBBS. Still to do: overhaul the slog utility to support the new csts.tab file format.

  126. Rob Swindell
    Mon Mar 28 2022 00:52:16 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    SubInfoViewFileQ and DirInfoViewFileQ are now blank by default

  127. Rob Swindell
    Sun Mar 27 2022 10:24:18 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Only filename portion of pattern for globi() shall be case-insensitive Windows doesn't allow multiple directories of the same name only differing in case, so don't on *nix either.

  128. Rob Swindell
    Sun Mar 27 2022 02:57:58 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/graphic.js diff
    Add auto_extend option If set to true, when setting the ANSI property, rather than throwing away vertically "scrolled" lines, just keep extending the height to accommodate the new required vertical size (height).

  129. Rob Swindell
    Sun Mar 27 2022 03:01:19 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/cga_defs.js diff
    Add from_attr_code[] table for mapping Ctrl-A attribute codes to CGA values

  130. Rob Swindell
    Sun Mar 27 2022 03:02:04 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ansiterm_lib.js diff
    Define and use standard ANSI attribute codes and mappings to CGA values Create expand_ctrl_a() method that expands Ctrl-A attribute codes in a string into ANSI escape sequences.

  131. Rob Swindell
    Sun Mar 27 2022 03:04:15 GMT-0700 (PDT)
    Modified Files:
    

    exec/msglist.js diff
    Support scrolling ANSI messages in preview and view modes Supports mixed Ctrl-A and ANSI messages. ANSIs of any length should display correctly. ANSIs wider than 79 columns will be truncated (not horizontally scrollable). Animated ANSIs will not render with their animation sequences in tact. :-(

  132. Rob Swindell
    Sat Mar 26 2022 22:30:23 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Disable prompt for sub/dir info by default, just show the file yes/no prompts can be disabled by just setting a string to a blank string. Disable these prompts by default (you can reeanble in your own text.dat if you want).

  133. Deucе
    Sat Mar 26 2022 21:23:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/graphic.js diff
    Fix bug

  134. Rob Swindell
    Sat Mar 26 2022 20:03:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    De-duplicate at the first '.' following the filename, not the path Fix the fix to issue #380. Thanks for letting me know Keyop.

  135. Rob Swindell
    Fri Mar 25 2022 10:21:15 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Uh, increment the pointer in globi() Fixes crash reported in #381.

  136. Rob Swindell
    Fri Mar 25 2022 01:16:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/str.cpp diff
    Remove the hard-coded ".msg" extension from data/subs/*.msg display file And data/dirs/*.msg display file. Now you can have any supported menu file in this location if you wish.

  137. Rob Swindell
    Fri Mar 25 2022 00:37:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    Detect/display menu files, even if only a .ans version exists I'm so tired of this 30 year old frequently asked question. If a sysop really wants their Synchronet BBS to only work correctly for ANSI users, I suppose that should be their prerogative. I always felt that by not detecting/displaying menu files when the minimum set of files was not present, I was helping sysops to identify an issue with their system (which would not work correctly for non-ANSI users). *And* I always felt that having a single menu/display file that correctly supported both ANSI and non-ANSI users was a nice convenience (who really wants to maintain multiple versions of their menu files?). But I'm so tired of answering this question, I just give up. Hopefully this doesn't break anything for anyone. <shrug>

  138. Rob Swindell
    Thu Mar 24 2022 23:58:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    Revert to *.XXcol.* being an exact column width, add *.cXX.* support That previous commit made all *.40col.msg files display for 80 column users. Not my intention. So revert to the previous behavior of *.XXcol.* display files. I didn't want to go renaming a bunch of menu files as a result of the previous commit and I didn't want a bunch of sysops with *.XXcol.* files to be suddenly surprised at their new BBS behavior. And introduce a new file naming convention, *.cXX.* (where XX is a MINIMUM column width). This is the same naming convention used by Mystic, which also treats it is as a minimum terminal width, not a required exact width.

  139. Eric Oulashin
    Wed Mar 23 2022 20:32:38 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Now calls bbs.edit_msg() to edit an existing message. Now calls bbs.edit_msg() to edit an existing message (if that function exists - It was added in Synchronet 3.18).

  140. Rob Swindell
    Thu Mar 24 2022 23:27:34 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_bbs_edit_msg' into 'master' DDMsgReader: Now calls bbs.edit_msg() to edit an existing message. See merge request main/sbbs!167

  141. Rob Swindell
    Thu Mar 24 2022 23:06:28 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    src/xpdev/dirwrap.h diff
    Introduce case-insensitive version of glob(): globi() glob() is case-insensitive on Windows already, so create a work-alike for *nix.

  142. Rob Swindell
    Thu Mar 24 2022 23:14:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    Use text/menu/*.###col.* display files for even-wider terminals e.g. display basename.132col.msg even if the terminal is 133+ columns wide. Fixes issue #380.

  143. Rob Swindell
    Thu Mar 24 2022 21:40:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    De-dupe random menu filenames by truncating at first dot, rather than last. Fix for one of the problems described in issue #380. bbs.menu("random*"); would display column-width-specific files (e.g. random.132col.msg) even when they weren't appropriate for the current user terminal width. This is fixed by truncating the filenames matching the requested pattern at their first-dot rather than the last. The downside is, you can't have a set of random.#.* files, where # is the unique part of the filename and * is the file-type extension. Just use the naming pattern "random-#.*" instead (or something similar) instead.

  144. Rob Swindell
    Thu Mar 24 2022 12:40:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfglib.h diff
    DLL-export is_valid_XXXnum() functions, for web server use Fixes recently broken Win32 build

  145. Rob Swindell
    Wed Mar 23 2022 21:17:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/xtrn_sec.cpp diff
    Fix newly-introduced GCC warnings

  146. Rob Swindell
    Wed Mar 23 2022 21:17:42 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Credits don't need 13 characters to display now Since we're not displaying the exact value to the byte, with commas

  147. Rob Swindell
    Wed Mar 23 2022 19:54:21 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    byte-count to string routines type unsigned 64-bit int now We don't have a use case negative byte values in strings anywhere that I can think of. Created wrapper for MSFT _ui64toa_() - unsigned 64-bit integer to ASCII string. Add Petabyte (actually, Pebibyte) support to byte_count_to_str() and byte_estimate_to_str(). Removed 'B' suffix from byte_estimate_to_str() output for values < 1024. Callers may display this returned string followed by "bytes" (or similar) and thus the 'B' suffix is redundant in that case. If the caller needs a 'B' suffix, they can detect no suffix and add it.

  148. Rob Swindell
    Wed Mar 23 2022 20:14:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Add TODO comment about dsts.dab not tracking > 4GB up/downloads

  149. Rob Swindell
    Wed Mar 23 2022 21:07:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filelist.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/js_user.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    Support user credits and transfer stats > 4GB in total Credits and daily free credits are accurate to the byte up to (a maximum) of 18446744073709551615 (that's 18 Exbibytes - 1). User's upload and download byte stats are now similarly extended in maximum range, but the accuracy is only "to the byte" for values less than 10,000,000,000. Beyond that value, the accuracy declines, but is generally pretty damn accurate (to 4 decimal places beyond the nearest multiple of a power of 1024), so I don't expect that to be an issue. This method of storing upload/download byte stats allowed me to use the same 10-character user record fields in the user.dat file. As a side-effect of this enhancements: * User and file credit values are now expressed in multiples of powers of 1024 (e.g. 4.0G rather than 4,294,967,296). * Free credits per day per security level has now been extended from 32 to 64-bits (to accommodate values >= 4GB). * adjustuserrec() now longer takes the record length since we can easily determine that automatically and don't need more "sources of truth" that can be out-of-sync (e.g. the U_CDT field length going from 10 to 20 chars with this change). * setting the stage for locale-dependent thousands-separators (e.g. space instead of comma) - currently still hard-coded to comma * more/better support for files > 4GB in size (e.g. in the batch download queue) * user_t ulong fields changed to either uint32_t or uint64_t - I didn't realize how many long/ulong's remained in the code (which are sometmies 32-bit, sometimes 64-bit) - ugh * Steve's ultoac() function renamed to u32toac() and created a C++ wrapper that still uses the old name, for homage

  150. Rob Swindell
    Mon Mar 21 2022 01:38:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    Fix newly introduced GCC warning warning: invalid suffix on literal; C++11 requires a space between literal and string macro

  151. Rob Swindell
    Mon Mar 21 2022 01:27:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filelist.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/upload.cpp diff
    src/smblib/smbdefs.h diff
    src/smblib/smblib.c diff
    SMB items (messages or files) can now have 32-bit or 64-bit cost value To fully support files > 4GB in size in file bases, credit values larger than 32-bits must be supported too. There's a couple of todo comments/items included in this commit, but that's mainly to do with messages (which don't really have costs anyway). The main thing to deal with now is the fact that users can't have more than 4GB in credits in the first place! That's got to be fixed next.

  152. Rob Swindell
    Mon Mar 21 2022 01:35:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    Merge branch 'master' of gitlab.synchro.net:main/sbbs

  153. Rob Swindell
    Mon Mar 21 2022 00:00:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    Fix newly-encountered GCC warning comparison of integer expressions of different signedness: ‘off_t’ {aka ‘long int’} and ‘uint64_t’ {aka ‘long unsigned int’}

  154. Rob Swindell
    Sun Mar 20 2022 23:53:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/smbutil.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbfile.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    Support files > 4MB in SMB filebase indexes Used the reserved 16-bits in the file index record to extend the supported index-file-size from 4294967295 (4GB) to 281474976710655 (281TB). I think that's big enough for the foreseeable future. :-)

  155. Rob Swindell
    Sun Mar 20 2022 21:13:56 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fmsgdump.c diff
    src/sbbs3/pktdump.c diff
    Get rid of CVS keywords and parsing for revision

  156. Rob Swindell
    Sun Mar 20 2022 21:16:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgxfr2.c diff
    Add options to sort directories by file size (ascending or descending) Size is indexed, so might as well sort by it. This does have an issue with files >= 4GB in length however, so I'm looking at that next.

  157. Rob Swindell
    Sun Mar 20 2022 19:55:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Update the help text for the "file existence check" option This option actually controls whether the disk will be queried for the current file size and modification date/time (when listing) too.

  158. Rob Swindell
    Sun Mar 20 2022 19:57:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    Create some convenience functions for validating lib/dir/grp/sub nums There are lot of places in the code where subnums and dirnums (especially) are compared against total_subs and/or total_dirs or >= 0 without a ton of consistency. We should migrate to use these functions for validity-checking going forward.

  159. Rob Swindell
    Sun Mar 20 2022 20:32:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    File's meta-object's "size" and "time" properties reflect current values Query the disk for file's current "size" and "time" values when get_list() or get() method is used with a "detail" level of >= DETAIL.NORMAL and the "check file existence" toggle option is enabled for this directory in SCFG. I pondered and contemplated whether this configuration setting should be checked/applied here or in the various JS scripts (e.g. filelist.js) and decided here was best to provide the most uniform/expected behavior, even though there is a performance impact. If a script doesn't need/use these properties, they should probably be specifying the DETAIL.MIN (minimal) detail level in their queries anyway, which will then bypass these performance-impacting disk queries.

  160. Rob Swindell
    Sun Mar 20 2022 16:26:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Resolve warning about enum value not handled in switch() statement

  161. Rob Swindell
    Sun Mar 20 2022 16:22:21 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Linux needs strlcpy() defined in xpdev

  162. Rob Swindell
    Sun Mar 20 2022 16:23:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    typedefs to suppress warnings about using JS_ValueToECMAUint32 w/int32_t

  163. Rob Swindell
    Sat Mar 19 2022 19:50:28 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Use JS_ValueToECMAUint32 for full 32-bit time_t values Resolves issue with filelist.js trying to pass 4294967295 (-1) to system.datestr() resulting in: !JavaScript /sbbs/exec/filelist.js line 13: Error: can't convert t to an integer

  164. Rob Swindell
    Sun Mar 20 2022 15:05:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    Add dynamic file area/base indexing to web server By setting sbbs.ini [web] FileIndexScript to an SSJS or XJS script filename, that script (by default, from your exec directory) will be executed when a file area/base listing has been http[s]-requested. File area/base requests are of the form <vpath_prefix> (for the list of libraries), <vpath_prefix>/<lib-name>/ (for list of directories of a library) or <vpath_prefix>/<lib-name>/<dir-code-suffix>/ (for a list of files in a directory). The new http_request "lib" and "dir" properties indicate that a library or directory listing was requested (if neither are defined, that's a request for the root / list of libs). The same configured script is executed to handle all 3 types of index/list requests. A sample script (webfileindex.ssj) will be committed soon. Authentication (via HTTP-AUTH) will be required if user #0 does not have access to all libraries or all directories within a required library. file_area.lib[].link has been changed from "/<vdir>/" to just "<vdir>" (no slashes) and renamed to "vdir". file_area.dir[].link has been changed from "/<vpath>/" to "<vpath>/" (no leading slash) and renamed to "vpath". Added file_area.dir[].vdir property that contains just the directory's virtual directory name. I don't think anyone was using these "link" properties since the dynamic FTP HTML index scripting feature is no longer supported. Added can_user_access_lib() to insure that the user has access to at least one directory of a library before allowing access to the library (e.g. via JS). Something similar should be created for message groups.

  165. Eric Oulashin
    Thu Mar 17 2022 14:01:05 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    DDLightarMenu: For numbered mode, implemented a fix for refreshing the menu after the user types an item number to select/highlight it. Also, added 2 new color settings to specify the color to use for writing the item numbers: itemNumColor (for non-highlighted items) and highlightedItemNumColor (for the current highlighted item).

  166. Rob Swindell
    Fri Mar 18 2022 18:09:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_numbered_mode_draw_update' into 'master' DDLightarMenu: Numbered mode item refresh fix & new item number colors See merge request main/sbbs!164

  167. Eric Oulashin
    Fri Mar 18 2022 15:31:48 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    DD area choosers: For message sub-board/file directory collapsing, if there's only one sub-group/sub-library, then it won't be collapsed DD area choosers v1.23: For message sub-board/file directory collapsing, if there's only one sub-group/sub-library, then it won't be collapsed, as that wouldn't be very useful.

  168. Rob Swindell
    Fri Mar 18 2022 18:01:19 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Merge branch 'dd_area_choosers_all_separators_no_collapse' into 'master' DD area choosers: No sub-board/library collapsing if all have the same separator See merge request main/sbbs!165

  169. Rob Swindell
    Thu Mar 17 2022 00:04:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fmsgdump.c diff
    Fix CID 229603: String not null terminated

  170. Rob Swindell
    Wed Mar 16 2022 20:07:00 GMT-0700 (PDT)
    Modified Files:
    

    exec/sbbslist.js diff
    Don't prompt yes/no upon remove if run with -quiet option for Andre

  171. Rob Swindell
    Tue Mar 15 2022 18:21:23 GMT-0700 (PDT)
    Modified Files:
    

    exec/chat_sec.js diff
    Optional channel list per server configured in modopts.ini So you have multiple IRC servers configured in modopts.ini and you want different channel list per server? Just add more keys to the modopts.ini [chat_sec] section of the form: <server>=<channel_list> Where <server> is the IRC server's host name (e.g. irc.synchro.net) and <channel_list> is a comma-separated list of channels to override the default list of channels (set with the "irc_channel" key). For DesotoFireflite (VALHALLA)

  172. Eugene So
    Tue Mar 15 2022 10:06:34 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    LORD: Fix daily bank transfer count not being reset properly

  173. Rob Swindell
    Tue Mar 15 2022 11:00:27 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    Merge branch 'eugeneso/lord_bankxfer_fix' into 'master' LORD: Fix daily bank transfer count not being reset properly See merge request main/sbbs!163

  174. Eugene So
    Tue Mar 15 2022 08:48:26 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    LORD: Fix online duel event Fixed broken code when taunting opponent Fixed broken code when aborting after waiting a long time for opponent to respond.

  175. Rob Swindell
    Tue Mar 15 2022 11:00:01 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    Merge branch 'eugeneso/lord_online_duel_fix' into 'master' LORD: Fix online duel event See merge request main/sbbs!162

  176. Eric Oulashin
    Tue Mar 15 2022 09:11:35 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Added back a few functions that were accidentally removed Added back a few functions that were accidentally removed (which weren't moved to attr_conv.js)

  177. Rob Swindell
    Tue Mar 15 2022 10:57:04 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'ddmr_add_ansi_funcs_back' into 'master' DDMsgReader: Added back a few functions that were accidentally removed See merge request main/sbbs!161

  178. Eric Oulashin
    Mon Mar 14 2022 23:17:00 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/readme.txt diff
    Removed references to old files

  179. Rob Swindell
    Tue Mar 15 2022 10:56:47 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/readme.txt diff
    Merge branch 'ddmr_doc' into 'master' Removed references to old files See merge request main/sbbs!160

  180. Eric Oulashin
    Mon Mar 14 2022 16:47:53 GMT-0700 (PDT)
    Added Files:
    

    xtrn/DDMsgReader/ddmr_lm.js diff
    Modified Files:

    exec/load/attr_conv.js diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Removed Files:

    xtrn/DDMsgReader/loadable_module_scripts/DDReadPersonalMail.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanMsgs.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanSubs.js diff
    DDMsgReader can be called directly as a loadable module

  181. Rob Swindell
    Mon Mar 14 2022 16:47:53 GMT-0700 (PDT)
    Added Files:
    

    xtrn/DDMsgReader/ddmr_lm.js diff
    Modified Files:

    exec/load/attr_conv.js diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Removed Files:

    xtrn/DDMsgReader/loadable_module_scripts/DDReadPersonalMail.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanMsgs.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanSubs.js diff
    Merge branch 'ddmr_loadable_module_update' into 'master' DDMsgReader can be called directly as a loadable module See merge request main/sbbs!159

  182. Rob Swindell
    Sun Mar 13 2022 23:43:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/upload.cpp diff
    MSVC didn't like that use of std::min(), so just go back to a macro

  183. Rob Swindell
    Sun Mar 13 2022 23:38:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/upload.cpp diff
    Fix issues with std::min() again... std::min() requires both arguments be of same type too.

  184. Rob Swindell
    Sun Mar 13 2022 23:38:54 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Add new strings: HashingFile and HashedFile

  185. Rob Swindell
    Sun Mar 13 2022 23:15:56 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    Create *nix wrapper for MSVC's _i64toa()

  186. Rob Swindell
    Sun Mar 13 2022 23:16:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Create i64toac() to generate comma-separated ASCII string of 64-bit int

  187. Rob Swindell
    Sun Mar 13 2022 23:17:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    Use new i64toac() function to support files > 4GB in size

  188. Rob Swindell
    Sun Mar 13 2022 23:18:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    New strings: HashingFile and HashedFile To display (rather than "Searching for Dupes") when calculating file hashes.

  189. Rob Swindell
    Sun Mar 13 2022 23:19:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/upload.cpp diff
    Use new Hashing/HashedFile text.dat strings, better > 4GB file support Resolve issues displaying file sizes > 4GB and calculating credit values.

  190. Rob Swindell
    Sun Mar 13 2022 23:33:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Save the node status (with "downloading" action value) More immediately. I wanted to debug the ETA value here and the action wasn't written to the node file here, but later.

  191. Eric Oulashin
    Sun Mar 13 2022 21:51:24 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Fix for "fileDesc is not defined" error when displaying the file description on the main screen. ddfilelister version 2.05a: Fix for "fileDesc is not defined" error when displaying the file description on the main screen. Also made a small refactor to the main screen refresh function.

  192. Rob Swindell
    Sun Mar 13 2022 22:09:40 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_filedesc_undefined_fix' into 'master' Fix for "fileDesc is not defined" error when displaying the file description on the main screen. See merge request main/sbbs!158

  193. Rob Swindell
    Sun Mar 13 2022 18:34:25 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbtxt.c diff
    Replace sprintf() calls with safe_snprintf()

  194. Rob Swindell
    Sun Mar 13 2022 18:54:21 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbtxt.c diff
    Fix heap corruption of qp_decode() qp_decode (quoted-printable in-place decode of a string) could write 2 characters *beyond* the allocated buffer by appending "\r\n" to a string that was not quoted-printable in the first place. i.e. the contents of buf were not actually changed in the decode loop. This could result in a corrupted heap and crash of sbbs or smbutil when reading such a message. This change may result in a lack of CRLF appended to decoded plain text output, so we'll have to keep an eye out for that and resolve it some other way. One possibility could be to only append the CRLF if the destination pointer is sufficiently behind the source pointer. This solves the crash that Kirkman reported with a specific message in his "mail" base. The header for the message said it was quoted-printable encoded, but the body text was not actually encoded at all: OtherHeader Content-Type: text/plain; charset="iso-8859-1" OtherHeader MIME-Version: 1.0 OtherHeader Content-Transfer-Encoding: quoted-printable

  195. Rob Swindell
    Sun Mar 13 2022 16:53:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/targets.mk diff
    Apparently we need to use the backtick method of shell expression here

  196. Rob Swindell
    Sun Mar 13 2022 15:05:22 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/sdk/xsdk.c diff
    Resolve warning: type defaults to ‘int’ in declaration

  197. Rob Swindell
    Sun Mar 13 2022 14:33:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/targets.mk diff
    Use whereis to find setcap install location and cut to trim the output <Dan_C> DigitalMan: minor install issue noted today - during a fresh (Linux) install on a test box, the build failed because it was unable to execute the "sudo setcap ..." command. This was on Slackware 15.0, where the setcap executable is located in /sbin , and that directory is not in the $PATH of a normal user, or even when a normal user uses the 'sudo' command.

  198. Rob Swindell
    Sun Mar 13 2022 14:30:17 GMT-0700 (PDT)
    Modified Files:
    

    install/GNUmakefile diff
    Revert "Apparently setcap isn't in /sbin for all Linux distros" This reverts commit 6a2c3722966ff2fd4ca6a114e035d4bd4f340dfc. SETCAP isn't a command-line afterall, it's a build target.

  199. Rob Swindell
    Sun Mar 13 2022 14:30:44 GMT-0700 (PDT)
    Modified Files:
    

    install/GNUmakefile diff
    Revert "Make the default SETCAP value to be /sbin/setcap" This reverts commit 2869cfb81e5436e4eaf58e58c9a7951ae92a757c. SETCAP isn't a command-line after all, it's a build target.

  200. Rob Swindell
    Sun Mar 13 2022 14:09:57 GMT-0700 (PDT)
    Modified Files:
    

    install/GNUmakefile diff
    Apparently setcap isn't in /sbin for all Linux distros So use 'whereis' to find and and 'cut' to trim its output

  201. Rob Swindell
    Sun Mar 13 2022 13:38:07 GMT-0700 (PDT)
    Modified Files:
    

    install/GNUmakefile diff
    Make the default SETCAP value to be /sbin/setcap <Dan_C> DigitalMan: minor install issue noted today - during a fresh (Linux) install on a test box, the build failed because it was unable to execute the "sudo setcap ..." command. This was on Slackware 15.0, where the setcap executable is located in /sbin , and that directory is not in the $PATH of a normal user, or even when a normal user uses the 'sudo' command. Also include SETCAP in the set of documented make variables.

  202. Rob Swindell
    Sun Mar 13 2022 00:38:35 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix CID 174355: Big parameter passed by value

  203. Rob Swindell
    Sun Mar 13 2022 00:28:01 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/netmail.cpp diff
    Fix CID 319119: Unchecked return value from library Actually probably doesn't fix it, but what'evs

  204. Rob Swindell
    Sun Mar 13 2022 00:22:39 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Fix CID 350312: Uninitialized scalar variable

  205. Rob Swindell
    Sun Mar 13 2022 00:26:30 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix CID 319133: Unchecked return value

  206. Rob Swindell
    Sun Mar 13 2022 00:18:44 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Fix CID 33235: Argument cannot be negative

  207. Rob Swindell
    Sun Mar 13 2022 00:11:56 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Paste the table of supported drop files (write and/or read) into F1 help Also, when hitting ESC at the "Use Real Names" prompt, don't prompt for the Lower-casing of the drop file name.

  208. Rob Swindell
    Sat Mar 12 2022 23:20:20 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Address warnings introduced in previous commit

  209. Rob Swindell
    Sat Mar 12 2022 23:20:40 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/pcbdefs.hpp diff
    Fix min() not being in scope when using GCC <C++, shrug>

  210. Rob Swindell
    Sat Mar 12 2022 23:21:04 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    Address new warning

  211. Rob Swindell
    Sat Mar 12 2022 22:42:06 GMT-0800 (PDT)
    Added Files:
    

    src/encode/endian.hpp diff
    Template lib for dealing with endian-specific data types Just integers right now. And only big or little endian.

  212. Rob Swindell
    Sat Mar 12 2022 22:43:28 GMT-0800 (PDT)
    Modified Files:
    

    src/encode/pascal_types.hpp diff
    Use endian.hpp for the LittleEndInt template

  213. Rob Swindell
    Sat Mar 12 2022 22:43:56 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/qbbsdefs.hpp diff
    Correct the harmless wrong filename in the include-guard

  214. Rob Swindell
    Sat Mar 12 2022 23:11:04 GMT-0800 (PDT)
    Added Files:
    

    src/sbbs3/pcbdefs.hpp diff
    PCBoard type definitions for PCBOARD.SYS and USERS.SYS files PCBOARD.SYS is officially the worst file format ever invented, not just the worst BBS drop file format ever invented. What were these guys smoking?!? I don't know what reference I used almost 30 years ago when I first implemented PCBOARD.SYS file support, but this time I used the PCBoard v15.3 source code (e.g. sys.c and usersys.c) and even their own code seems to work really hard to conform to these crazy file formats. USERS.SYS is a little more sane, but not by a lot. C++ features make this cleaner/easier, but man... there's just so much polish you apply to these turds. I guess (and hope) that nobody's really running programs that depend on/use these file formats. <shrug>

  215. Rob Swindell
    Sat Mar 12 2022 23:13:10 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  216. Rob Swindell
    Sat Mar 12 2022 21:07:18 GMT-0800 (PDT)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Display textual version of msg attributes when using 'r'ead command Also displays net and aux attribute values when non-zero (weren't displayed at all with the 'r'ead command previously).

  217. Eric Oulashin
    Sat Mar 12 2022 11:57:26 GMT-0800 (PST)
    Added Files:
    

    exec/load/attr_conv.js diff
    Modified Files:

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    ddfilelister: Now displays extended description in list view if the user has that setting enabled ddfilelister version 2.05 - Now makes use of the user's extended file description setting: If the user's extended file description setting is enabled, the lister will now show extended file descriptions on the main screen in a split format, with the lightbar file list on the left and the extended file description for the highlighted file on the right. Also, made the file info window taller for terminals within 25 lines high. This should resolve issue #363 . This update to ddfilelister also requires the included update to dd_lightbar_menu.js and the new attr_conv.js.

  218. Rob Swindell
    Sat Mar 12 2022 18:53:07 GMT-0800 (PDT)
    Added Files:
    

    exec/load/attr_conv.js diff
    Modified Files:

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_extd_desc_setting' into 'master' ddfilelister: Now displays extended description in list view if the user has that setting enabled Closes #363 and #374 See merge request main/sbbs!157

  219. Rob Swindell
    Fri Mar 11 2022 21:42:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    Remove now-unneeded str2pas() function Functionality replaced with Pascal::String

  220. Eugene So
    Fri Mar 11 2022 09:41:50 GMT-0800 (PST)
    Modified Files:
    

    xtrn/lord/aratime/aratime.js diff
    LORD: Fix crash when exiting aratime igm

  221. Rob Swindell
    Fri Mar 11 2022 10:06:48 GMT-0800 (PST)
    Modified Files:
    

    xtrn/lord/aratime/aratime.js diff
    Merge branch 'eugeneso/lord_aratime_fix' into 'master' LORD: Fix crash when exiting aratime igm See merge request main/sbbs!156

  222. Rob Swindell
    Fri Mar 11 2022 00:08:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Add subject.can (Subject filter file) support For Trikester (DOVEMOD/BSMNTQQ)

  223. Rob Swindell
    Thu Mar 10 2022 23:54:20 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    src/uifc/uifcx.c diff
    UIFC "list" now supports an optional left/right arrow key indicator Passing either WIN_LEFTKEY or WIN_RIGHTKEY in the window "mode" argument enables this new indicator in the upper right of "list" windows. These indicator arrows are mouse-clickable too (translate to the left and right arrow keys). We had defined uses for all 32 available WIN_* mode bits, so I extended the win mode type from 32 to 64 bits (should this now be called uifc64.c?) :-) Anyway, it'll be easier to add more WIN_* mode flags as needed later, but I do wonder about JavaScript support (not so great for > 31-bit integers).

  224. Rob Swindell
    Thu Mar 10 2022 23:56:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    Use the new UIFC WIN_LEFTKEY/RIGHTKEY mode flags to enable indicators A visual clue that there was a new navigation method available on some menus (where left/right arrow keys cycle through configured item) was needed. This seems to work nicely.

  225. Rob Swindell
    Thu Mar 10 2022 19:04:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Change online program and program section via left/right arrow keys Similar to how we can now cycle through the file areas and message areas using left and right arrow keys, do the same for external "online" program sections and program (door) configurations.

  226. Rob Swindell
    Thu Mar 10 2022 19:06:04 GMT-0800 (PST)
    Modified Files:
    

    exec/load/text.js diff
    Latest generated text.js Note: TEXT_TEXT is actually off-by-one here. I suppose there's no need/use for that value anyway.

  227. Rob Swindell
    Thu Mar 10 2022 19:07:17 GMT-0800 (PST)
    Modified Files:
    

    src/encode/pascal_types.hpp diff
    Add Pascal::String::max_size() method Rename len() method to length() to align with std::string.

  228. Rob Swindell
    Thu Mar 10 2022 00:24:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/inkey.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/postmsg.cpp diff
    Fix various Clang warnings seen on FreeBSD build.

  229. Rob Swindell
    Thu Mar 10 2022 00:24:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/putmsg.cpp diff
    Fix Clang warnings.

  230. Rob Swindell
    Thu Mar 10 2022 00:15:53 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Fix FreeBSD/Clang C++ error /usr/include/c++/v1/iterator:1168:87: error: expected unqualified-id ...&& traits_type::eq_int_type(__sbuf_->sputc(__c), traits_type::eof())) ^ /src/sbbs3/../xpdev/filewrap.h:124:21: note: expanded from macro 'eof' #define eof(fd) (tell(fd)==filelength(fd))

  231. Rob Swindell
    Wed Mar 09 2022 23:43:12 GMT-0800 (PST)
    Modified Files:
    

    src/encode/pascal_types.hpp diff
    I think type_traits header is technically required for static_assert() Does this fix the FreeBSD/clang build?

  232. Rob Swindell
    Wed Mar 09 2022 22:47:19 GMT-0800 (PST)
    Modified Files:
    

    src/encode/pascal_types.hpp diff
    Interesting, these modern sea plus plusisms This was necessary to get to build for MSVC2019 and GCC 8.3.0

  233. Rob Swindell
    Wed Mar 09 2022 22:26:04 GMT-0800 (PST)
    Modified Files:
    

    exec/str_cmds.js diff
    Fix typos and add the -pause option to the node command-lines Fix issue #372

  234. Rob Swindell
    Wed Mar 09 2022 22:22:09 GMT-0800 (PST)
    Modified Files:
    

    text/menu/sysmain.asc diff
    s/preceeded/preceded

  235. Rob Swindell
    Wed Mar 09 2022 22:19:32 GMT-0800 (PST)
    Modified Files:
    

    text/menu/attr.asc diff
    text/menu/sysxfer.asc diff
    s/preceeded/preceded

  236. Rob Swindell
    Wed Mar 09 2022 22:11:15 GMT-0800 (PST)
    Modified Files:
    

    src/encode/pascal_types.hpp diff
    std::min() wasn't in scope when using gcc <shrug>

  237. Rob Swindell
    Wed Mar 09 2022 22:11:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    Remove unused variable

  238. Rob Swindell
    Wed Mar 09 2022 22:05:32 GMT-0800 (PST)
    Added Files:
    

    src/encode/pascal_types.hpp diff
    A C++ header-only library for dealing with Pascal data types (e.g. those stored in files, e.g. EXITINFO.BBS).

  239. Rob Swindell
    Wed Mar 09 2022 22:06:10 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/qbbsdefs.hpp diff
    QuickBBS structure definitions (for EXITINFO.BBS)

  240. Rob Swindell
    Wed Mar 09 2022 22:07:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  241. Rob Swindell
    Wed Mar 09 2022 20:54:54 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpendian.h diff
    Fix LE/BE_INT() and BYTE_SWAP_INT() for 64-bit long targets (Linux-x64) long is 64-bits (8 bytes), not 32-bit on some target platforms (e.g. Linux-x64), so don't assume sizeof(long)==4. It appears we weren't using these "automatic" integer-size macros anywhere that I can see, so no harm, but might as well fix them. Also remove BYTE_SWAP_SHORT and BYTE_SWAP_LONG since they're terribly named. Retain the LE/BE_SHORT/LONG macros since we're using them currently in SBBS (e.g. js_file.c).

  242. Rob Swindell
    Wed Mar 09 2022 20:55:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/fmsgdump.c diff
    Don't #include xpendian.h since we're not using it

  243. Rob Swindell
    Wed Mar 09 2022 20:57:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/scfglib1.c diff
    Fix assumptions about sizeof(long/ulong) So I did a search through the code for sizeof.*long and was surprised to find some remaining (harmless) assumptions that a long is 32-bit.

  244. Rob Swindell
    Wed Mar 09 2022 18:28:59 GMT-0800 (PST)
    Modified Files:
    

    exec/logonlist.js diff
    Fix off-by-one error in previous commit The default (when no argument to the '-l' option is provided) is to use the last_few_callers value from the modopts.ini file. This was broken.

  245. Rob Swindell
    Wed Mar 09 2022 14:19:44 GMT-0800 (PST)
    Modified Files:
    

    exec/load/logonlist_lib.js diff
    get() method supports reading entries from multiple days If days_ago argument is undefined (as is the case when performing a "last few callers" query/list), then pull upto the maximum last number of callers from previous days as necessary. Part of fix for issue #371

  246. Rob Swindell
    Wed Mar 09 2022 14:22:06 GMT-0800 (PST)
    Modified Files:
    

    exec/logonlist.js diff
    By default, '-l' (last few callers) option will pull from previous days If modopts.ini [logonlist] last_few_days is set (to a number), that will dictate the maximum number of previous days to pull last few callers from (e.g. set to '0' for previous behavior). Also, '-l' can now be used with a command-line option (e.g. '-l <num>') to specify the number of callers to display (overriding the modopts.ini last_fwe_callers value). This should address issue (feature request) #371.

  247. Eric Oulashin
    Wed Mar 09 2022 09:41:03 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Bug fix: Now successfully formats filenames without extensions when listing files. Version 2.04 - Bug fix: Now successfully formats filenames without extensions when listing files. This addresses issue #369.

  248. Rob Swindell
    Wed Mar 09 2022 09:58:20 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_filename_no_ext_fix' into 'master' DD File Lister bug fix: Now successfully formats filenames without extensions when listing files. See merge request main/sbbs!155

  249. Rob Swindell
    Tue Mar 08 2022 23:33:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  250. Rob Swindell
    Mon Mar 07 2022 20:32:00 GMT-0800 (PST)
    Modified Files:
    

    exec/xbimage.js diff
    Throw an error if trying to convert a > 1-bit BMP file to XBin

  251. Rob Swindell
    Mon Mar 07 2022 17:53:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Fix issue with smtpspy-listed names added in previous commit p (which is used after this) points into 'str', so we can't use 'str' as a temporary variable here.

  252. Eric Oulashin
    Mon Mar 07 2022 15:01:23 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Fix for bogus messages when changing to an empty sub-board Fix: When changing to an empty sub-board from within the reader (either from read mode or list mode), it now properly says there are no messages and exits, rather than showing a list of bogus messages. Unsure when this bug was introduced. The version is now 1.46.

  253. Rob Swindell
    Mon Mar 07 2022 17:00:53 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_chg_empty_subboard_fix' into 'master' DDMsgReader: Fix for bogus messages when changing to an empty sub-board Closes #367 See merge request main/sbbs!154

  254. Eugene So
    Sun Mar 06 2022 10:37:57 GMT-0800 (PST)
    Modified Files:
    

    exec/irc.js diff
    exec/load/irc-default.js diff
    Fix handling of IRC color control sequences An extra comma was being added after the control sequences An empty color control sequence was not handled. It is supposed to remove all color schemes.

  255. Rob Swindell
    Mon Mar 07 2022 11:49:40 GMT-0800 (PST)
    Modified Files:
    

    exec/irc.js diff
    exec/load/irc-default.js diff
    Merge branch 'eugeneso/irc_color_fix' into 'master' Fix handling of IRC color control sequences See merge request main/sbbs!153

  256. Rob Swindell
    Sun Mar 06 2022 17:16:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    Cycle through grps, subs, libs, and dirs using left/right arrow keys Nelgin's suggestion to support quick searching/scanning through message and file areas (e.g. comparing settings or whatever) without having to ESC then arrow key, ENTER, for each. Uses Deuce's WIN_EXTKEYS UIFC mode flag, which I don't think I've used before now and uses the special -CIO_KEY value - 2 trick. Also expanded the width of the sub-board and directory info windows to show more information (including full long name). Fixes issue (wishlist item) #349 by Nelgin

  257. Rob Swindell
    Sun Mar 06 2022 16:06:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    Remove unnecessary current user (co-sysop) level/flag checks As Andre pointed out, these checks perform no function because a user with a level lower than the user being edited cannot enter the related command-key anyway. This was just effectively dead code that was held-over from ancient SBBS days, seemingly before I learned to effectively use the || operator: if(!(atoi(str)>useron.level && console&CON_R_INPUT)) :-) Fixes issue #361

  258. Eric Oulashin
    Sat Mar 05 2022 13:44:40 GMT-0800 (PST)
    Modified Files:
    

    exec/SlyEdit.js diff
    SlyEdit now remembers the quote line window selection between openings. When selecting quote lines in a reply message, SlyEdit now remembers the position in the quote selection menu so that the quote menu isn't always at the top whenever it's opened again. This issue may have been introduced when SlyEdit was refactored to use DDLightbarMenu for its lightbar stuff.

  259. Rob Swindell
    Sat Mar 05 2022 15:06:35 GMT-0800 (PST)
    Modified Files:
    

    exec/SlyEdit.js diff
    Merge branch 'slyedit_quote_win_remember_position' into 'master' SlyEdit now remembers the quote line window selection between openings. See merge request main/sbbs!152

  260. Rob Swindell
    Sat Mar 05 2022 11:48:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/node.c diff
    Move where the "pause" option is applied At the suggestion/request of Andre Robitaille. This option was originally added for debugging use, but may as well move it if it's useful in another way.

  261. Rob Swindell
    Sat Mar 05 2022 11:48:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/str.cpp diff
    Fix CID 174323: Unintended sign extension At least, I think this fixes it.

  262. Rob Swindell
    Fri Mar 04 2022 23:21:00 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Remove beep from UserReadYourMailNodeMsg

  263. Rob Swindell
    Fri Mar 04 2022 23:15:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    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.

  264. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/str.cpp diff
    Fix CID 33227: Argument cannot be negative

  265. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix CID 174378: Argument cannot be negative

  266. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/str.cpp diff
    More correct error message

  267. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/slog.c diff
    Fix CID 33617: Copy into fixed size buffer

  268. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/baja.c diff
    Fix CID 33628: Unbounded source buffer

  269. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/node.c diff
    Fix CID 33629: Unbounded source buffer

  270. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    Fix a few issues around single-file add argument parsing Triggered by CID 33630: Unbounded source buffer

  271. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filelist.c diff
    Safer string handling e.g. CID 33631: Unbounded source buffer

  272. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/allusers.c diff
    Fix CID 33635: Unbounded source buffer

  273. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    Check return value of filelength() Fix CID 33266: Negative loop bound

  274. Rob Swindell
    Thu Mar 03 2022 16:45:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Check for negative filelength() return values e.g. CID 229593: Negative loop bound

  275. Deucе
    Thu Mar 03 2022 11:28:56 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Left for showbuf() is zero-based, calculate width appropriately.

  276. Rob Swindell
    Wed Mar 02 2022 18:41:24 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    Show auto-generated newsgroup name and Fido area-tags Also reversed the order of newsgroup name and area-tag options for a sub-board. Updated help text too to specify that sub's area-tag can be derived from newsgroup name, if one is specified.

  277. Rob Swindell
    Wed Mar 02 2022 13:31:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    Fix CID 33252: Argument cannot be negative

  278. Rob Swindell
    Wed Mar 02 2022 13:38:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Detect smb_fallocdat() and ftell() failures CID 33245

  279. Rob Swindell
    Wed Mar 02 2022 13:47:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Detect/report smb_fallochdr() and ftell() failures Fix CID 33244: Argument cannot be negative

  280. Rob Swindell
    Wed Mar 02 2022 13:51:01 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Fix CID 33239: Argument cannot be negative

  281. Rob Swindell
    Wed Mar 02 2022 16:43:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getmsg.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/writemsg.cpp diff
    src/smblib/smblib.h diff
    src/smblib/smbstr.c diff
    Don't pass smbmsg_t (680 bytes) by value So this started with addressing CID 174264: Big parameter passed by value (PASS_BY_VALUE), but then I fell down the constification rabbit hole. :-)

  282. Rob Swindell
    Wed Mar 02 2022 16:44:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Remove beep from UserReadYourMailNodeMsg

  283. Rob Swindell
    Wed Mar 02 2022 12:29:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/netmail.cpp diff
    Detect smb_[f]allocdat() failures in qnetmail() CID 319140

  284. Rob Swindell
    Wed Mar 02 2022 12:32:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/slog.c diff
    getchar() returns int, not char CID 319110

  285. Rob Swindell
    Wed Mar 02 2022 12:38:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Detect smb_[f]allocdat() failure in editmsg() CID 319091

  286. Rob Swindell
    Wed Mar 02 2022 12:38:49 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smballoc.c diff
    Detect/reject negative offset argument values to smb_freemsgdat()

  287. Rob Swindell
    Wed Mar 02 2022 12:39:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/netmail.cpp diff
    Fix issue in previous commit: no need to free what wasn't allocated

  288. Rob Swindell
    Wed Mar 02 2022 12:48:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    Initialize more sbbs_t members in class declaration CID 319034

  289. Rob Swindell
    Wed Mar 02 2022 13:09:28 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/pktdump.c diff
    Detect/report ftell() failure CID 319007

  290. Rob Swindell
    Wed Mar 02 2022 13:13:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/pktdump.c diff
    Check/report remove() failures CID 319028

  291. Rob Swindell
    Wed Mar 02 2022 13:22:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/unbaja.c diff
    Fix CID 33289: Dereference null return value

  292. Rob Swindell
    Wed Mar 02 2022 13:25:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/str.cpp diff
    Fix CID 33261 Argument cannot be negative

  293. Rob Swindell
    Wed Mar 02 2022 10:11:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_com.c diff
    "Invalid type in argument to printf format specifier" CID 319142

  294. Rob Swindell
    Wed Mar 02 2022 10:14:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_com.c diff
    Invalid type in printf format specifier CID 319135

  295. Rob Swindell
    Wed Mar 02 2022 12:22:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/str.cpp diff
    Address Coverity issue: filelength() can return negative value

  296. Rob Swindell
    Wed Mar 02 2022 10:06:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Fix possible negative offset to lseek() CID 327965

  297. Rob Swindell
    Wed Mar 02 2022 10:07:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix possible negative offset to fseeko() CID 350353

  298. Rob Swindell
    Tue Mar 01 2022 21:43:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Batch download queue not cleared upon packed QWK packet Before the "new filebase" merge of 2021, a user's batch download queue would be cleared when a QWK packet was successfully packed for them via the event thread (i.e. triggered via semaphore file). That was lost in the new filebase change (the batch download queue would not be cleared) - caught by Coverity (CID 350336). It appears pre-packed QWK packets never cleared the batch download queue (does anyone actually use this feature in this day and age?) - fixed.

  299. Rob Swindell
    Tue Mar 01 2022 21:49:39 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgnet.c diff
    Eliminate unnecessary save/restore resolved CID 350321

  300. Rob Swindell
    Tue Mar 01 2022 21:51:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Resolve some Coverity-discovered issues with lseek() argument types, ftell() return type, etc. Likely none of these would be actual issues with files < 2GiB in size.

  301. Rob Swindell
    Tue Mar 01 2022 21:52:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/services.c diff
    Probably doesn't resolve the Coverity issue But good practice anyway

  302. Rob Swindell
    Tue Mar 01 2022 21:54:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Add some NULL argument value checking

  303. Rob Swindell
    Tue Mar 01 2022 21:55:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Added NULL argument checking

  304. Rob Swindell
    Tue Mar 01 2022 21:59:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/chksmb.c diff
    Zero-initialize smb before using Addresses CID 350318

  305. Rob Swindell
    Tue Mar 01 2022 22:01:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Zero-init 'ms'g' before use Addresses CID 350316

  306. Rob Swindell
    Tue Mar 01 2022 22:03:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Zero-init 'msg' before use Addresses CID 350312

  307. Rob Swindell
    Tue Mar 01 2022 22:12:02 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/readmsgs.cpp diff
    Fix private message header field parsing/filtering CID 350294

  308. Rob Swindell
    Tue Mar 01 2022 22:15:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Zero-init 'msg' before use CID 350279

  309. Rob Swindell
    Tue Mar 01 2022 22:20:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Zero-init write buffer in js_writebin() CID 350276

  310. Rob Swindell
    Tue Mar 01 2022 22:42:59 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/fmsgdump.c diff
    Better detection of correctly-null-terminated body text CID 229603

  311. Rob Swindell
    Tue Mar 01 2022 20:30:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Fix host name or IP address-based smtpspy.txt logging Caught by Coverity-scan (use of uninitialized variable, 'str') :-)

  312. Rob Swindell
    Tue Mar 01 2022 20:30:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbscon.c diff
    Document case fall-through Reported by Coverity

  313. Rob Swindell
    Tue Mar 01 2022 20:30:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Address Coverity-scan reported issues Could use more long->off_t conversions, but this is a start.

  314. Deucе
    Mon Feb 28 2022 22:33:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    I don't know what I was smoking when I did this, but it's fixed now. Weird early failure return on TLS sends. Most noticible on local (ie: fast) connections, but clearly stupid all around when you look at the code. Fixed, but some day, I should go back and look how we eneded up in this mess.

  315. Eric Oulashin
    Mon Feb 28 2022 15:11:14 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DD file lister: For terminals over 25 rows tall, the file info window will now be up to 45 rows tall.

  316. Rob Swindell
    Mon Feb 28 2022 15:11:15 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfl_issue_352' into 'master' DD file lister: For terminals over 25 rows tall, the file info window will now be up to 45 rows tall. See merge request main/sbbs!151

  317. Rob Swindell
    Mon Feb 28 2022 10:18:02 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    src/xpdev/ini_file.h diff
    iniSortSections() supports an optional section prefix Needed for echocfg option to sort linked nodes upon reading/writing sbbsecho.ini, for Ray Quinn (1:214/23).

  318. Rob Swindell
    Mon Feb 28 2022 10:19:24 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/sbbsecho.h diff
    Add option to sort the list of linked nodes (defaults: off) Feature request by Ray Quinn (1:214/23)

  319. Rob Swindell
    Sun Feb 27 2022 21:50:11 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Lower the "SSH session establishment failed" log msg level from NOTICE to INFO, per Nelgin

  320. Rob Swindell
    Sun Feb 27 2022 20:21:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/gtkchat/objects.mk diff
    Cleanup (replace DIRSEP with slash)

  321. Rob Swindell
    Sun Feb 27 2022 20:21:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/gtkchat/targets.mk diff
    Replace DIRSEP with slash

  322. Rob Swindell
    Sun Feb 27 2022 20:20:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/gtkchat/objects.mk diff
    load_cfg needs readtext and text_defaults

  323. Rob Swindell
    Sun Feb 27 2022 20:03:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/objects.mk diff
    qwknodes needs the load_cfg objects too

  324. Rob Swindell
    Sun Feb 27 2022 19:53:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/Common.gmake diff
    src/sbbs3/Common.make diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/extdeps.mk diff
    src/sbbs3/objects.mk diff
    src/sbbs3/scfg/objects.mk diff
    src/sbbs3/scfg/targets.mk diff
    src/sbbs3/targets.mk diff
    More elimination of DIRSEP (replace with slash) We only support platforms where slash is a legal path separator.

  325. Deucе
    Sun Feb 27 2022 19:46:07 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    src/sbbs3/jsdoor.c diff
    Enable ctypes in jsdoor SpiderMokey is now built with ctypes, but the object is only being created in jsdoor for now.

  326. Rob Swindell
    Sun Feb 27 2022 19:38:11 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/objects.mk diff
    src/sbbs3/scfg/objects.mk diff
    src/sbbs3/uedit/objects.mk diff
    src/sbbs3/umonitor/objects.mk diff
    load_cfg now depends on readtext and text_defaults... everywhere Needed for text.dat support in SBBSecho load_cfg really should be made either a static library or an exported function from libsbbs.so that everything reuses. Kind of silly to be recompiling and linking these files with every app now.

  327. Rob Swindell
    Sun Feb 27 2022 19:16:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Remove beeps from "sent you email" notices.

  328. Rob Swindell
    Sun Feb 27 2022 19:16:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/load_cfg.c diff
    src/sbbs3/load_cfg.vcxproj diff
    For SBBSecho to use text.dat strings, it needs load_cfg() to support it Thanks to Dan_C for the head's up that SBBSecho stopped (very recently) successfully sending notices to users about received netmail or echomail.

  329. Rob Swindell
    Sun Feb 27 2022 19:13:23 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Remove beeps from "send you email" notices.

  330. Eric Oulashin
    Sun Feb 27 2022 15:10:57 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/readme.txt diff
    Fixed copy paste error for the installation section Changed "Installing into a command shell" to say section 3 ("Installation & Setup") instead. This resolves issue #353

  331. Rob Swindell
    Sun Feb 27 2022 15:22:02 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/readme.txt diff
    Merge branch 'dd_file_lister_doc_install_section' into 'master' Fixed copy paste error for the installation section Closes #353 See merge request main/sbbs!150

  332. Rob Swindell
    Sun Feb 27 2022 14:41:38 GMT-0800 (PST)
    Modified Files:
    

    docs/adding_nodes.html diff
    Redirect to the appropriate wiki page

  333. Rob Swindell
    Sun Feb 27 2022 12:32:32 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.cnf diff
    Change default node1-4 directories from ..\nodeX\ to ../nodeX/ Fixes issue #355 reported by Andre

  334. Rob Swindell
    Sun Feb 27 2022 02:37:37 GMT-0800 (PST)
    Added Files:
    

    xtrn/3rdp-install/dragonshoard.ini diff
    Setup file for Dragon's Hoard (WWIV game, circa 1989)

  335. Rob Swindell
    Sun Feb 27 2022 01:01:41 GMT-0800 (PST)
    Added Files:
    

    xtrn/3rdp-install/foodfite-rigormortis.ini diff
    Setup file for Rigor Mortis' FoodFight! for WWIV

  336. Deucе
    Sat Feb 26 2022 21:56:39 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ciolib.c diff
    Make it const everywhere.

  337. Deucе
    Sat Feb 26 2022 21:43:55 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ciolib.h diff
    Make ciolib_appname const

  338. Rob Swindell
    Sat Feb 26 2022 19:59:18 GMT-0800 (PST)
    Modified Files:
    

    exec/load/install-3rdp-xtrn.js diff
    Install door game even when executable filename case doesn't match e.g. foodfite.com will match FOODFITE.COM or FoodFite.COM (the MD5 sum is insuring it's the right file anyway).

  339. Deucе
    Sat Feb 26 2022 16:19:05 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/CMakeLists.txt diff
    Don't compile xptime

  340. Deucе
    Sat Feb 26 2022 15:44:15 GMT-0800 (PST)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    Set WITH_SDL in parent scope so xpdevplus can pick it up.

  341. Deucе
    Sat Feb 26 2022 15:42:23 GMT-0800 (PST)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    Add WITH_SDL

  342. Rob Swindell
    Sat Feb 26 2022 13:53:01 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_archive.c diff
    Better error handling in Archive.read() Inspired by jsdoor's equivalent change.

  343. Rob Swindell
    Sat Feb 26 2022 12:33:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bulkmail.cpp diff
    Safer string copying/formatting.

  344. Rob Swindell
    Sat Feb 26 2022 12:33:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Add BUILD_DATE and BUILD_TIME @-codes For DesotoFireflite (VALHALLA)

  345. Eric Oulashin
    Sat Feb 26 2022 00:48:41 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    List header fix for personal email Fix for no group information available when displaying the sub-board header above the message list when listing personal email

  346. Rob Swindell
    Sat Feb 26 2022 01:07:09 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_mail_hdr_fix' into 'master' List header fix for personal email See merge request main/sbbs!149

  347. Rob Swindell
    Fri Feb 25 2022 22:33:04 GMT-0800 (PST)
    Added Files:
    

    exec/viewimsgs.js diff
    Modified Files:

    exec/privatemsg.js diff
    exec/str_cmds.js diff
    Move "MSGS" string command logic to its own file This makes the view instant message logic more easily accessible from other places (e.g. menus or whatever). Add (V)iew command the private message (^P) prompt while we're at it. Users don't normally discover ;string commands on their own.

  348. Eric Oulashin
    Fri Feb 25 2022 22:30:06 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DD message reader: Fixed score display and related colors in the message list for wide terminals

  349. Rob Swindell
    Fri Feb 25 2022 22:30:06 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_wide_term_score_and_color_fix' into 'master' DD message reader: Fixed score display and related colors in the message list for wide terminals See merge request main/sbbs!148

  350. Rob Swindell
    Fri Feb 25 2022 19:54:05 GMT-0800 (PST)
    Modified Files:
    

    CONTRIBUTING.md diff
    s/escaping/encoding

  351. Eric Oulashin
    Fri Feb 25 2022 19:35:04 GMT-0800 (PST)
    Added Files:
    

    xtrn/DDArchiveViewer/readme.txt diff
    xtrn/DDArchiveViewer/revision_history.txt diff
    xtrn/DDArchiveViewer/updating_from_previous_versions.txt diff
    xtrn/DDMsgReader/enhanced_header_examples/enhMsgHeader-withoutTimeZone.ans diff
    xtrn/DDMsgReader/enhanced_header_examples/enhMsgHeader.ans diff
    xtrn/DDMsgReader/loadable_module_scripts/DDReadPersonalMail.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanMsgs.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanSubs.js diff
    Modified Files:

    xtrn/DDMsgReader/readme.txt diff
    Removed Files:

    xtrn/DDArchiveViewer/FILE_ID.DIZ diff
    Removed spaces from some filenames of Digital Distortion mods that had them

  352. Rob Swindell
    Fri Feb 25 2022 19:52:22 GMT-0800 (PST)
    Added Files:
    

    xtrn/DDArchiveViewer/readme.txt diff
    xtrn/DDArchiveViewer/revision_history.txt diff
    xtrn/DDArchiveViewer/updating_from_previous_versions.txt diff
    xtrn/DDMsgReader/enhanced_header_examples/enhMsgHeader-withoutTimeZone.ans diff
    xtrn/DDMsgReader/enhanced_header_examples/enhMsgHeader.ans diff
    xtrn/DDMsgReader/loadable_module_scripts/DDReadPersonalMail.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanMsgs.js diff
    xtrn/DDMsgReader/loadable_module_scripts/DDScanSubs.js diff
    Modified Files:

    xtrn/DDMsgReader/readme.txt diff
    Removed Files:

    xtrn/DDArchiveViewer/FILE_ID.DIZ diff
    Merge branch 'dd_remove_spaces' into 'master' Removed spaces from some filenames of Digital Distortion mods that had them See merge request main/sbbs!147

  353. Rob Swindell
    Fri Feb 25 2022 19:34:16 GMT-0800 (PST)
    Modified Files:
    

    CONTRIBUTING.md diff
    Add notes about added filename preferences/expectations.

  354. Rob Swindell
    Fri Feb 25 2022 17:42:15 GMT-0800 (PST)
    Modified Files:
    

    docs/system_config.html diff
    Redirect to the appropriate wiki page which now has this content Thank you Andre!

  355. Eric Oulashin
    Fri Feb 25 2022 15:24:14 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Fixed message list time colors for wide terminals (above 80 columns)

  356. Rob Swindell
    Fri Feb 25 2022 15:24:15 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_list_time_color_fix' into 'master' Fixed message list time colors for wide terminals (above 80 columns) Closes #351 See merge request main/sbbs!146

  357. Rob Swindell
    Fri Feb 25 2022 14:29:27 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Fix sbbs-windows build BCC error filewrap.h 77: Multiple declaration for 'mode_t' Introduced in commit e4adeee8

  358. Rob Swindell
    Fri Feb 25 2022 14:30:29 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Fix MSVC warning in xp_timer64() genwrap.c(855): warning C4244: '=': conversion from 'LONGLONG' to 'uint32_t', possible loss of data

  359. Rob Swindell
    Fri Feb 25 2022 14:30:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    New e-mail, not Internet e-mail

  360. Deucе
    Fri Feb 25 2022 13:01:47 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Even when MSVC has inttypes.h, it still doesn't have ssize_t

  361. Deucе
    Fri Feb 25 2022 13:01:47 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Add a mingw32 compatible mode_t

  362. Deon George
    Thu Feb 24 2022 18:50:33 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-remove-march.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Remove cryptlib's -march=native to avoid SIGILL on x86_64 systems, where SBBS is compiled on a differnt host to where it is run. This should fix issue main/sbbs#324

  363. Rob Swindell
    Fri Feb 25 2022 12:04:18 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-remove-march.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Merge branch 'master' into 'master' Remove cryptlib's -march=native to avoid SIGILL on x86_64 systems, where SBBS... Closes #324 See merge request main/sbbs!144

  364. Deucе
    Fri Feb 25 2022 10:54:12 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Add a UINT64_MAX hack for VS 2022 Not sure why this isn't defined from inttypes.h, but blah.

  365. Rob Swindell
    Thu Feb 24 2022 23:57:33 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Add new text.dat strings for The Millionaire - InternetMailReceived - InternetMailForwarded - FidoNetMailReceived - WithAttachment - FidoEchoMailReceived The first string (suppressed with %.0s) is an optional date/time stamp.

  366. Rob Swindell
    Thu Feb 24 2022 23:56:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    Add/use new text.dat strings for received Fido and Internet mail - InternetMailReceived - InternetMailForwarded - FidoNetMailReceived - WithAttachment - FidoEchoMailReceived For The Millionaire, closing issue #254 The first string (suppressed with %.0s) is an optional date/time stamp. This also deprecates (removes support for) the [mail] NewMailNotice and ForwardNotice keys from sbbs.ini.

  367. Eric Oulashin
    Thu Feb 24 2022 20:25:01 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader v1.45: Fixed message scanning & searching issues introduced in the previous version.

  368. Rob Swindell
    Thu Feb 24 2022 21:18:12 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_145_scan_fix' into 'master' DDMsgReader v1.45: Fixed message scanning & searching issues introduced in the previous version. Closes #344 See merge request main/sbbs!145

  369. Rob Swindell
    Thu Feb 24 2022 17:06:40 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    Save/restore the current selected user Addresses issue #350. Also fixed up the alignment of the header/columns.

  370. Rob Swindell
    Thu Feb 24 2022 12:42:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Handle filelength() possibly returning negative value CID 349724

  371. echicken
    Thu Feb 24 2022 06:10:37 GMT-0800 (PST)
    Modified Files:
    

    webv4/components/navbar.xjs diff
    Include path component of .link pages in menus/submenus. Probably resolves the "Invalid page" problem reported by W6RAY.

  372. Rob Swindell
    Wed Feb 23 2022 23:28:40 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    Just use our local C macro MAX()

  373. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs_status.c diff
    Fix extra argument in printf format specifier CID 319101 Beautified another lprintf() statement while at it.

  374. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    Fix potential divide by zero CID 330961

  375. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs_status.c diff
    Fix invalid type in argument to printf format specifier CID 319001

  376. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_com.c diff
    Fix invalid type in argument to printf format specifier CID 319142

  377. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Fix invalid type in argument to printf format specifier CID 319135 Fix the return value of js_socket_sendfilesocket() while we're here (off_t instead of int).

  378. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Delete dead code CID 174474

  379. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Comment intentional case fall-through CID 33205

  380. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ars.c diff
    Comment intentional case statement fall-throughs CID 33207 CID 33208 CID 33209

  381. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ars.c diff
    src/sbbs3/execfunc.cpp diff
    Document intentional case fall-throughs CID 33210 CID 33211

  382. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/allusers.c diff
    Comment intentional fall-through CID 33212

  383. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/dstsedit.c diff
    Comment intentional case fall-through CID 33213

  384. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/fmsgdump.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/umonitor/umonitor.c diff
    src/sbbs3/websrvr.c diff
    Comment intentional case fall-throughs CID 174223 CID 174227 CID 174461 CID 174519 CID 229602 CID 319040 CID 319137 CID 319159

  385. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    Fix wrong size argument (not actual problem) CID 174261

  386. Rob Swindell
    Wed Feb 23 2022 23:25:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    Initialize a bunch of class members to resolve Coverity issues CID 319034

  387. Rob Swindell
    Wed Feb 23 2022 18:21:35 GMT-0800 (PST)
    Modified Files:
    

    exec/str_cmds.js diff
    Optimize the help display for MSGS command (fits on one line)

  388. Rob Swindell
    Wed Feb 23 2022 18:09:25 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Introduced FreeDownloadUserMsg text.dat string Also updated the default colors of the existing DownloadUserMsg string to have a little more variety.

  389. Rob Swindell
    Wed Feb 23 2022 18:08:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/userdat.c diff
    Introduced FreeDownloadUserMsg text.dat string Tired of being reminded that you were "awarded 0 credits" for free downloads? I know I am, so I created another text.dat string (reusing Unused300), for notification of free-download files where no credits are awarded to the uploader. Also updated the default colors of the existing DownloadUserMsg string to have a little more variety. Not sure why ftpsrvr.c isn't using user_downloaded_file(). That copy/pasta should be eliminated later.

  390. Rob Swindell
    Wed Feb 23 2022 18:01:21 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Add -file=name|pattern option to specify files to add/update postfile.js still should be used for adding a single file to a filebase, but when updating a single file, this seemed like a simple enhancement. It also allows filtering of files to be added by wildcard (e.g. *.zip), so potentially useful for adding files too. Address enhancement request #348

  391. Rob Swindell
    Wed Feb 23 2022 13:27:04 GMT-0800 (PST)
    Modified Files:
    

    exec/avatars.js diff
    Remove accidental debug print() statement left from previous commit

  392. Deucе
    Wed Feb 23 2022 13:07:22 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ciolib.h diff
    Move all exported variables into extern "C" block

  393. Rob Swindell
    Wed Feb 23 2022 13:01:04 GMT-0800 (PST)
    Modified Files:
    

    exec/avatars.js diff
    Increase white-space tolerance when importing avatars from msgbase TARDIS (Quarkware BBS, the Ruby BBS), uses just \n for QWK message line deliniation, but we were expected \r\n terminated lines here. Also, apparently there was trailing white-space on the "json-end" line, so handle that case too.

  394. Rob Swindell
    Wed Feb 23 2022 11:58:52 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/addfiles.vcxproj diff
    src/sbbs3/upgrade_to_v319.vcxproj diff
    Fix Windows build: filedat.c now requires utf8.h And a couple of projects didn't have the encode directory in their include path.

  395. Rob Swindell
    Wed Feb 23 2022 00:19:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Increase maximum extended file description length from 4000 to 5000 Apparently 4000 characters isn't enough for everyone to describe their files in vibrant colors and "graphics". :-)

  396. Rob Swindell
    Wed Feb 23 2022 00:19:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Add strip_cp437_graphics() and have strip_ctrl() remove DEL chars too strip_cp437_graphics() is like strip_exascii(), except it'll leave the foreign language characters and math symbols intact (removing just the common "block" and "line-drawing" characters). DEL (0x7F) is a control character too, so have strip_ctrl() remove it.

  397. Rob Swindell
    Wed Feb 23 2022 00:19:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Strip CP437 "graphics" characters in prep_file_desc() If the extended description is UTF-8, first convert it to CP437.

  398. Rob Swindell
    Wed Feb 23 2022 00:19:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/upload.cpp diff
    Fix issue with blind/batch uploaded file descriptions When no file description was provided (e.g. blind/batch file uploads), I noticed that the short file description (summary) could be set to "(null)". This problem was introduced in commit bc7030d33b264058c4 with the sbbsfile.des creation and post-processing support. I also noticed that the extended description processing in sbbs_t::uploadfile() was not entirely consistent with other methods of adding/uploading files. Let prep_file_desc() do its just of processing the extended description into a suitable short description/summary (including truncation).

  399. Rob Swindell
    Tue Feb 22 2022 21:59:52 GMT-0800 (PST)
    Modified Files:
    

    exec/str_cmds.js diff
    Add "MSGS" command to redisplay instant messages (notices/telegrams)

  400. Rob Swindell
    Tue Feb 22 2022 21:59:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Save instant message history (notifications and telegrams) This should address issue (feature request) #196. The last 20 sets of displayed messages are stored as data/msgs/<user-num>.last.#.msg. This number is currently hard-coded, but could be configurable in the future. I say "sets" because messages are batched-up and displayed together normally, unless a user is actively polling for new users (e.g. while at the Ctrl-P/PrivateMsg prompt). This involved getting rid of some copy/pasta in sbbs_t:getsmsg() as well by creating/using/reusing readsmsg().

  401. Rob Swindell
    Tue Feb 22 2022 18:32:02 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_internal.c diff
    Update JSDOCs on timer-related methods - setInterval() returns a Number, not an Object. - typos fixed - markup added

  402. Rob Swindell
    Tue Feb 22 2022 13:10:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/netmail.cpp diff
    Fix network user/address look-up (using qnet/users.dat) The QWKnet user look-up feature was broken as of commit e4fc5d04d9c6570e31e (a year ago). Just noticed this regression as Andre asked in IRC about looking up network users for netmail. This feature worked for QWKnet users/addresses, at least, and now will work again.

  403. Rob Swindell
    Mon Feb 21 2022 19:55:15 GMT-0800 (PST)
    Modified Files:
    

    exec/automsg.js diff
    Display a different prompt for sysops (that includes the [D]elete option) This addresses the gitlab issue #130. Also, prompt for confirmation when [D]eleting the file. Also, allow modopts.ini customization of this script via keys in the new (optional) [automsg] section: prompt (defaults to text.dat AutoMsg) sysop_prompt (defaults to hard-coded string) intro (defaults to hard-coded string) header_fmt (defaults to text.dat AutoMsgBy) user_fmt (defaults to hard-coded string) line_fmt (defaults to hard-coded string) max_line_len (defaults to 76)

  404. Rob Swindell
    Mon Feb 21 2022 18:22:24 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/data.cpp diff
    Timed event "month days" value of 1 means "any day" (same as 0) This field should not normally have a value of '1' (no way to configure that, normally, since days are numbered starting at 1 and bit 1 is 2), but if it does, it's treated the same as 0 (any day of the month) - so fix that mismatch in getnexteventtime(). Just noticed this while comparing the logic with the new is_time_to_run() functions in main.cpp. That logic wasn't (should not have) changed, so this mismatch in the treatment of mdays == 1 existed before.

  405. Rob Swindell
    Mon Feb 21 2022 15:59:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Refactor timed-event and QWKnet call-out scheduling Reduced probably the biggest if() conditionals in sbbs to a single line by breaking the "time to run" logic into separate functions and sharing those functions between both QWKnet and timed-event scheduling. There was no actual problem with this code/logic, it was just very difficult to read and understand and step-through with a debugger and understand why or why not an event might run under different configurations and circumstances. Also removed the PostLink network call-out logic. pnet.dab is no longer read and written-to and if you happened to have any PostLink hubs configured (how?!?), they'll no longer be "polled". This is the only functional change unless I did something wrong in the process. One thing I noticed and contemplated, the current time is not queried between consecutive timed-event scheduling/execution. It's possible that an executed event can take a long time and impact the criteria for the next timed event. The events are checked for scheduling every few seconds, so I can't really think of a big down-side to the current design (apparently intended to reduce unnecessary querying of the current date/time), so I didn't do anything to change that. Just something I noticed.

  406. Rob Swindell
    Sun Feb 20 2022 17:36:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Rename "Allow Sysop Login" option to "Allow Sysop Access" With this option set to "No", sysops can still login, they just can't perform most sysop functions. Updated System Password help text to clarify that the "Allow Sysop Access" option effectively disables the system password. Also mention the FTP Server use of the system password to enable sysop access.

  407. Rob Swindell
    Sun Feb 20 2022 17:03:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/answer.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/login.cpp diff
    src/sbbs3/logon.cpp diff
    Change the semantics of the "Allow Sysop Logins" setting in SCFG->System As Andre pointed out while documenting this setting on the wiki, the option seemed confusing: if a sysop could not login with "system operator access", how could they login at all? Answer: they could not. This setting used to be called "Allow Remote Sysop Logins", back when there was the concept of a "local login", so setting this option to "No" would mean that user accounts with sysop access could only be used for *local* login. But in Synchronet v3, there's really no such concept as a "local login", so it was changed to just "Allow Sysop Logins" (period) and not a lot of thought given to how/why a sysop would actually set to this "No" or what the implications would be (presumably, nobody ever sets this to "No"). So rather than just get rid if the option altogether, I changed it to mean: an account with sysop access (i.e. level 90+) can still login, but any action that normally requires the system password will not be allowed. This includes the sysop-actions available in the FTP server when authenticating with <user-pass>:<system-pass> as the password. The sysop-user can still authenticate (and login), but none of those sysop-actions will be available to them.

  408. Rob Swindell
    Sun Feb 20 2022 16:53:49 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/threadwrap.h diff
    pthread_mutex_t is a CRITICAL_SECTION (not a pointer) on Win32 Partially revert Deuce's commit b4bc9c9759e6f34c272501e024 This explains the EAccessViolation (stack corruption during sbbs startup) that sysops have reported when using the latest nightly builds.

  409. Deucе
    Sat Feb 19 2022 23:37:00 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Add DISABLE_MKSTEMP_DEFINE support This macro as written won't compile on mingw32 due to the attributes on _mktemp(). This could be worked around, but it's easier to just disable it since I don't need it, and nobody else is building with mingw32.

  410. Deucе
    Sat Feb 19 2022 21:52:53 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.h diff
    Fix socket_ioctl_ptr_t On Win32 it can't be defined until after winsock*.h is #included. On everything else, it needs to be a pointer.

  411. Deucе
    Sat Feb 19 2022 21:45:10 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.h diff
    Add socket_ioctl_ptr_t For Win32, this is actually the pointer type an ioctl() third argument needs to be. For other OSs, this is basically what an FIONBIO third argument needs to be... there's really no restruction at all on what arguments after the second to ioctl() need to be.

  412. Deucе
    Sat Feb 19 2022 14:42:41 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.h diff
    Make socket_send_buffer_t separate from socket_recv_buffer_t It seems we can't add a const to a typedef in a static_cast<>()

  413. Deucе
    Sat Feb 19 2022 14:02:59 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/threadwrap.h diff
    Use MinGW32 types for pthread_t and pthread_mutex_t uintptr_t should be the same as a DWORD on Win32, and CRITICAL_SECTION can be stored in an inptr_t as well. This should work fine, and allow more build environments to be happy. This is generally caused by new C++ standards having thread support in the standard library, so wrappers getting pushed deeper in. At some pointer, this should be redone with standard threads, but now is not the time.

  414. Eric Oulashin
    Sat Feb 19 2022 13:35:35 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    @-code expansion in text lines. Text searching for sub-board, group, or all. Version 1.44: Removed the scanScopePromptText text line and used the SubGroupOrAll line (621) from text.dat instead. Also, the reader now supports @-code expansion in configured text strings. This addresses issue #316 from Vincent Macaluso. Text search now can search sub-board, group, or all like the other text searching (requested by Nelgin). When reading the theme file, color settings are now checked to ensure they only have Synchronet attribute codes.

  415. Rob Swindell
    Sat Feb 19 2022 13:54:35 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_144_atcodes_and_text_search' into 'master' @-code expansion in text lines. Text searching for sub-board, group, or all. See merge request main/sbbs!143

  416. Deucе
    Sat Feb 19 2022 13:47:17 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.h diff
    typedef a socket_buffer_t This is so we can deal with send(), recv() and friends taking a void* on BSD stacks, and a char* on Win32. Not a big deal for C where a void* is universal, but C++ hates that type of thing.

  417. Rob Swindell
    Sat Feb 19 2022 12:01:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    ML/TL and MF/TF haven't been a thing since Synchronet v1 I think Thanks to Andre for pointing that out in his wiki updates.

  418. echicken
    Fri Feb 18 2022 22:53:01 GMT-0800 (PST)
    Modified Files:
    

    xtrn/bullshit/bullshit.js diff
    Added optional 'title' setting to root section of bullshit.ini. If absent, default string 'Bulletins' will be used.

  419. echicken
    Fri Feb 18 2022 22:33:13 GMT-0800 (PST)
    Modified Files:
    

    xtrn/bullshit/bullshit-lib.js diff
    xtrn/bullshit/bullshit.js diff
    Added titleBackground config setting. (For CG Learn) Removed attribution rather than fix its coloring. Nobody cares, and if you do care, have you tried not caring? It's easy, it's just a matter of doing nothing. Bullshit is a proud sponsor of funclib.js.

  420. Rob Swindell
    Thu Feb 17 2022 11:27:35 GMT-0800 (PST)
    Modified Files:
    

    exec/filelist.js diff
    Strip carriage returns from extended descriptions On Windows, CRs in extended descriptions could result in output of \r\r\n which could be displayed as 2 newlines (e.g. in notepad.exe). Since the \n -> \r\n expansion already happens on Windows stdout, we don't want them in the processed input (file metadata). As reported by DesotoFireflite (VALHALLA), thank you!

  421. Rob Swindell
    Wed Feb 16 2022 17:49:57 GMT-0800 (PST)
    Modified Files:
    

    exec/filelist.js diff
    Don't include both normal and extended file descriptions by default As pointed out by DesotoFireflite (VALHALLA), both the file's short/normal description and the extended description were being included in all file listings. This is probably want most sysops will want since the extended description is often used as the content of the short/normal description, resulting in repeated content. So, by default, if there is an extended file description, don't output the short/normal file description. If you want to include *both* the short and extended descriptions (for files that have both), include both the -ext and -desc command line options.

  422. Rob Swindell
    Tue Feb 15 2022 15:01:55 GMT-0800 (PST)
    Modified Files:
    

    exec/load/age.js diff
    Use system.text() instead of bbs.text() so this script can be used from jsexec

  423. Rob Swindell
    Tue Feb 15 2022 19:20:58 GMT-0800 (PST)
    Modified Files:
    

    exec/msglist.js diff
    Add offline execution (e.g. using jsexec or timed event) support Inspired by filelist.js (which is really *only* for use offline), added support to run via JSexec or timed event with command-line options to control the output format, sorting, and msg-age range. Try this Mewcenary (EXTRICAT)

  424. Rob Swindell
    Mon Feb 14 2022 11:05:53 GMT-0800 (PST)
    Modified Files:
    

    xtrn/lord/lord.js diff
    Address !JavaScript lord.js line 5835: TypeError: op is null I think this means one of your nodeon.* files are corrupt and just deleting that file would likely cure the situation as well.

  425. Deucе
    Sun Feb 13 2022 23:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/CMakeLists.txt diff
    Fix

  426. Deucе
    Sun Feb 13 2022 23:17:08 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/CMakeLists.txt diff
    Fix Linux builds

  427. Rob Swindell
    Sun Feb 13 2022 22:12:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_archive.c diff
    Add "name" property, matching Deuce's jsdoor fork Convenient way to get the path/name of the archive file as it was passed to the constructor.

  428. Eric Oulashin
    Sun Feb 13 2022 19:19:51 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Digital Distortion File Lister version 2.02: Added the ability to do a file search (via filespec, description, or new files since last scan). A command-line parameter, -MODE, specifies which search to perform (search_filename, search_description, or new_file_search for searching; list_curdir lists files in the user's current directory, which is the default).

  429. Rob Swindell
    Sun Feb 13 2022 19:32:31 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfl_202_file_searching' into 'master' Digital Distortion File Lister v2.02: Added the ability to do a file search (via filespec, description, or new files since last scan). See merge request main/sbbs!141

  430. Eric Oulashin
    Sat Feb 12 2022 17:46:16 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Digital Distortion Area Choosers version 1.22: In the file area chooser, fixed a lightbar file directory choosing issue when using name collapsing (was using the wrong data structure)

  431. Rob Swindell
    Sat Feb 12 2022 17:57:53 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Merge branch 'ddac_122_file_lightbar_fix' into 'master' Digital Distortion Area Choosers v1.22: Fixed a lightbar directory choosing issue in the file area chooser See merge request main/sbbs!140

  432. Rob Swindell
    Sat Feb 12 2022 15:52:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_global.c diff
    src/sbbs3/js_system.c diff
    Replace more uses of msclock() with xp_timer[64]()

  433. Rob Swindell
    Sat Feb 12 2022 12:16:59 GMT-0800 (PST)
    Modified Files:
    

    exec/archive.js diff
    Lower the "list" archive error log level from NOTICE to DEBUG Since we install archive.js as the viewer for '*' by default, we expect it to be asked to list non-archive file-types frequently, so don't be too alarmist about it.

  434. Rob Swindell
    Sat Feb 12 2022 11:45:59 GMT-0800 (PST)
    Modified Files:
    

    ctrl/file.cnf diff
    Make XMODEM-Original the default 'X' protocol, for ancient commie-puters And change XMODEM-1K/CRC to be the '1' protocol.

  435. Deucе
    Sat Feb 12 2022 00:45:36 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Not *that* t.

  436. Deucе
    Sat Feb 12 2022 00:40:11 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Borland doesn't have roundl() so do terrible things instead.

  437. Deucе
    Sat Feb 12 2022 00:15:27 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    More Win32 optimizations.

  438. Deucе
    Sat Feb 12 2022 00:06:38 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    More Win32 optimizations.

  439. Rob Swindell
    Sat Feb 12 2022 00:00:12 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Resolve new msvc warning warning C4244: '=': conversion from 'double' to 'uint64_t', possible loss of data

  440. Deucе
    Fri Feb 11 2022 23:49:35 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Moar!

  441. Deucе
    Fri Feb 11 2022 23:46:50 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Fix Win32 harder

  442. Deucе
    Fri Feb 11 2022 23:43:05 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Fix Win32 builds maybe?

  443. Deucе
    Fri Feb 11 2022 23:40:09 GMT-0800 (PST)
    Modified Files:
    

    src/conio/mouse.c diff
    Use xp_timer64() instead of xp_timer()

  444. Deucе
    Fri Feb 11 2022 23:38:48 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    Add xp_timer64() This is a millisecond timer that tries to avoid floating-point operations.

  445. Rob Swindell
    Fri Feb 11 2022 23:33:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    src/sbbs3/sbbs.h diff
    Replace use of msclock() with xp_timer() it just seems it's even worst than Deuce thought. :-)

  446. Rob Swindell
    Fri Feb 11 2022 23:27:18 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.h diff
    Restore the msclock_t typedef. Things were using it.

  447. Deucе
    Fri Feb 11 2022 23:21:48 GMT-0800 (PST)
    Modified Files:
    

    src/conio/mouse.c diff
    Use xp_timer() instead of msclock() I'm not really happy about rounding floats in time-critical bits, but there you go.

  448. Rob Swindell
    Fri Feb 11 2022 23:20:29 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.h diff
    Fix Windows build.

  449. Deucе
    Fri Feb 11 2022 23:11:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    Use xp_timer()-based msclock() on Win32 too. Now it should keep working after 24 days.

  450. Rob Swindell
    Fri Feb 11 2022 23:09:09 GMT-0800 (PST)
    Modified Files:
    

    exec/pickfont.js diff
    Resolve SyntaxError: missing ) after condition As seen logging on to WLARB ("too")

  451. Deucе
    Fri Feb 11 2022 20:49:09 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    When a double is cast to an int, but the double has a larger value than the int supports, it's set to 0x80000000 to indicate overflow. msclock() is *always* overflowing, and clock_t is only 32-bits on some platforms (specifically FreeBSD). To "avoid" problems, just keep subtracting UIN32_MAX from the value until it's less than INT_MAX then cast. This function is, of course, terrible and shouldn't actually be used, but it should at least sorta kinda workish.

  452. Deucе
    Fri Feb 11 2022 16:10:32 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpmap.c diff
    Fix mmap flags for read. At least one of MAP_ANON, MAP_GUARD, MAP_PRIVATE, MAP_SHARED, or MAP_STACK must be specified.

  453. Deucе
    Fri Feb 11 2022 15:51:36 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpmap.h diff
    Extern "C"

  454. Deucе
    Thu Feb 10 2022 17:01:06 GMT-0800 (PST)
    Modified Files:
    

    src/conio/utf8_codepages.h diff
    The ole extern "C" trick eh?

  455. Deucе
    Thu Feb 10 2022 16:49:58 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    More constifying of showbuf() Oddly enough the hbuf wasn't actually modified.

  456. Deucе
    Thu Feb 10 2022 16:44:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getmsg.cpp diff
    src/sbbs3/js_global.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    src/sbbs3/writemsg.cpp diff
    Rename utf8_to_cp437_str() to utf8_to_cp437_inplace() This will allow naming consistency in encode/* This is the fix you're looking for Keyop. :)

  457. Deucе
    Thu Feb 10 2022 16:27:20 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/bitmap_con.h diff
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/sdl_con.h diff
    src/conio/x_cio.h diff
    Constify loadfont()

  458. Deucе
    Thu Feb 10 2022 16:23:29 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Actually constify showbuf() Geeze, this is ugly.

  459. Deucе
    Thu Feb 10 2022 16:14:45 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Finish consitfying showbuf()

  460. Deucе
    Thu Feb 10 2022 16:12:38 GMT-0800 (PST)
    Modified Files:
    

    src/encode/utf8.c diff
    Cleanup bad merge (WTF?)

  461. Deucе
    Thu Feb 10 2022 16:06:08 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/unicode.c diff
    src/xpdev/unicode.h diff
    Whoops, add missing files for last commit.

  462. Deucе
    Thu Feb 10 2022 16:01:09 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Constify addr_str argument to inet_ptoaddr()

  463. Deucе
    Thu Feb 10 2022 16:01:09 GMT-0800 (PST)
    Modified Files:
    

    src/encode/utf8.c diff
    src/encode/utf8.h diff
    New functions utf8_to_cp437_str() latin1_to_utf8_str() utf8_to_latin1_str()

  464. Eric Oulashin
    Thu Feb 10 2022 15:18:46 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Digital Distortion Message Reader Version 1.43: Fixed the 'out of memory' error when viewing message header info (I had used the same loop control variable name for a loop inside a loop..oops). Also, when viewing message header information, it will no longer show JS functions.

  465. Rob Swindell
    Thu Feb 10 2022 15:57:40 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_hdrs_out_of_memory_fix' into 'master' DD Message Reader Version 1.43: Fixed 'out of memory' error when viewing message headers See merge request main/sbbs!139

  466. Deucе
    Thu Feb 10 2022 15:36:22 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    Consitfy showbuf too

  467. Deucе
    Thu Feb 10 2022 15:31:52 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    src/uifc/uifcx.c diff
    Some consitifications

  468. Deucе
    Thu Feb 10 2022 14:48:26 GMT-0800 (PST)
    Added Files:
    

    src/encode/CMakeLists.txt diff
    src/hash/CMakeLists.txt diff
    Modified Files:

    src/comio/CMakeLists.txt diff
    src/uifc/CMakeLists.txt diff
    src/xpdev/CMakeLists.txt diff
    More CMakeLists.txt files.

  469. Deucе
    Thu Feb 10 2022 14:42:22 GMT-0800 (PST)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    Add CMakeLists.txt file for use as ExternalProject

  470. Rob Swindell
    Wed Feb 09 2022 00:01:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    src/sbbs3/listfile.cpp diff
    Auto-detect/display UTF-8 encoded extended file descriptions I noticed that the recent NASA "Earth Science Picture of the Day" files have had a DIZ with UTF-8 encoded apostrophe in it. <sigh>

  471. Eric Oulashin
    Tue Feb 08 2022 23:13:54 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Added an option to pause after viewing a file (defaults to true)

  472. Rob Swindell
    Tue Feb 08 2022 23:13:54 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_view_file_pause' into 'master' Added an option to pause after viewing a file (defaults to true) See merge request main/sbbs!138

  473. Rob Swindell
    Tue Feb 08 2022 20:25:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Clarify in the help text: if you include a file extension (e.g. .exe)... Then you must also include the file extension on all the configured command-lines. The opposite is not true: excluding the file extension in the native program list will still work if the command-line includes the file extension.

  474. Rob Swindell
    Tue Feb 08 2022 19:33:00 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Don't call com_setup() unless an alternate [COM:x] section is loaded Apparently com_setup() (which just calls tcsetattr()) will cause an attached modem (with a caller) to disconnect the caller. So you can't do this with a live modem. Leave the hack in for Nelgin's null modem cable setup, but you can't (apparently) support both 8N1 and 7E1 "callers" with a real modem (not surprisingly, for multiple reasons).

  475. Rob Swindell
    Tue Feb 08 2022 00:07:22 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio_nix.c diff
    Fix weird gcc warning with white-space change (!)

  476. Rob Swindell
    Tue Feb 08 2022 00:05:21 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio.h diff
    src/comio/comio_nix.c diff
    src/comio/comio_win32.c diff
    src/sexpots/sexpots.c diff
    Allow ByteSize and StopBits to be configured in sexpots.ini [COM] section(s). Fixed bug where Parity was only initially set (in sexpots) if BaudRate was non-zero.

  477. Rob Swindell
    Mon Feb 07 2022 23:46:40 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Parse/apply [COM:x] section upon prompted key press of 'x' Another hack for Nelgin: this'll allow (in theory) the serial device to switch parity modes (e.g. 8N1 or 7E1) depending on what the user selects (key pressed). I did not add byte/stop bit size configurations. We may need that.

  478. Rob Swindell
    Mon Feb 07 2022 23:36:46 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio.h diff
    src/comio/comio_nix.c diff
    src/comio/comio_win32.c diff
    src/sexpots/sexpots.c diff
    Add support for even/odd parity com ports Set Parity=true in [com] section of sexpots.ini Set ParityOdd=true if using Odd parity.

  479. Rob Swindell
    Mon Feb 07 2022 22:05:23 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Setting IgnoreDCD=true causes wait_for_call() to immediate return For Nelgin's null modem setup, putty doesn't raise DTR? <nelgin> sexpots 1492 root 3u CHR 4,64 0t0 90 /dev/ttyS0 <nelgin> Well, it's listening, but when I connect with putty I get nothing. <nelgin> DigitalMan, probably always assume a client is connected since I have my pc wired to my linux box.

  480. Rob Swindell
    Mon Feb 07 2022 20:10:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Fix compile issue in previous commit. <blush>

  481. Rob Swindell
    Mon Feb 07 2022 19:45:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/msg_id.c diff
    src/sbbs3/msg_id.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    Sanity-check each sub's FidoNet-style address when loading msgs.cnf Just in case a sysop deletes/changes their addresses after create subs, find the nearest matching configured system FTN address/AKA and use that.

  482. Rob Swindell
    Mon Feb 07 2022 19:58:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/startup.h diff
    Support TLSErrorLevel in [mail] and [global] sections of sbbs.ini Allow a configured maximum-severity (minimum value) for TLS-related log messages. Default is 0 (LOG_EMERG, maximum severity). Getting tired of SMTP/TLS (SMTPS) related errors clogging up my inbox. I'm setting this to "Warning", like I did for [web].

  483. Eric Oulashin
    Mon Feb 07 2022 13:21:57 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Fix for left/right navigation for command bar introduced in last commit

  484. Rob Swindell
    Mon Feb 07 2022 13:39:24 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'dd_file_lister_left_right_cmdbar_fix' into 'master' DD file lister: Fix for left/right navigation for command bar introduced in last commit See merge request main/sbbs!137

  485. Eric Oulashin
    Mon Feb 07 2022 11:27:14 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DD file lister version 2.01: Fixed file description being undefined when viewing file info. Fixed command bar refreshing when pressing the hotkeys.

  486. Rob Swindell
    Mon Feb 07 2022 12:16:37 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_info_and_cmd_refresh_fixes' into 'master' DD file lister version 2.01: Fixes for file description and command bar refreshing See merge request main/sbbs!136

  487. Eric Oulashin
    Sun Feb 06 2022 14:12:20 GMT-0800 (PST)
    Added Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/defaultTheme.cfg diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Modified Files:

    exec/load/dd_lightbar_menu.js diff
    Created a file lister (in JS) that lists files in the user's current file directory with a lightbar interface, as well as message windows etc. If the user does not have an ANSI terminal, this lister will run Synchronet's stock file lister interface.

  488. Rob Swindell
    Sun Feb 06 2022 15:01:00 GMT-0800 (PST)
    Added Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/defaultTheme.cfg diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Modified Files:

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_file_lister_new' into 'master' Created a file lister (in JS) that lists files in the user's current file directory See merge request main/sbbs!135

  489. Rob Swindell
    Sun Feb 06 2022 02:34:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Clear mouse hot spots (if any) before hanging up. <nelgin> Ah, here's a good one. If I ssh to my bbs server, then ssh to my bbs, do whatever then /O to logout, when I left click in the putty window I get "0;98;20M0;98;20m and stuff like that. I have to run reset to get it working properly.

  490. Rob Swindell
    Sun Feb 06 2022 02:14:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/client.h diff
    Update comments only.

  491. Rob Swindell
    Sun Feb 06 2022 02:13:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Fix access-control by terminal cap issue introduced a week ago In commit 3f17c245, I was addressing the issue reported by Nelgin via IRC: <nelgin> If you login using a term that doesn't support ansi, it changes your settings - can you set 'em back when done? <DigitalMan> if you have auto-term enabled, it doesn't actually change your settings, just what's in use during that session <nelgin> I logged in using my BBC emulator which doesn't do ansi, then when I logged in through syncterm, I got the display like it was on the BBC. All my characters replaced with #'s and stuff. <nelgin> I had to go back into the user menu to fix it. That is going to confuse users. However, the chk_ar() function in userdat.c which is used to populate JS objects (e.g. xtrn_area.sec_list[].prog_list[]) uses the user.misc value (cannot call term_supports()), so the current user terminal flags need to be reflected in user.misc always. So the real fix for the originally reported problem is to clear the charset-related terminal settings when logging in with auto-terminal settings enabled (and before the auto-detected charset flags are OR'd in). I toyed with the idea of storing a copy of the term_supports() result in client_t, which is passed to chk_ar() when appropriate, but decided that was a bit overkill and there were issues with servers that don't have term_supports (e.g. the web server) and properly populating access-controlled areas in the JS object model (e.g. door games that require ANSI). Better to use the last-auto-detected terminal caps than assuming "no" terminal capabilities in that scenario.

  492. Rob Swindell
    Fri Feb 04 2022 22:29:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/js_user.c diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/scfg/scfgnet.c diff
    O-restriction forces sent netmail to come from user's alias too Users with the 'O' restriction (automatically set if a new user has the same "real name" as another account, and that's allowed by the sysop) will send netmail from their alias and not their real name to prevent impersonation of another user.

  493. Rob Swindell
    Fri Feb 04 2022 19:35:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    Detect and reject duplicate internal code prefixes Don't let (or at least try to prevent) a sysop create a duplicate message group or file library internal code prefix (which could lead to duplicate internal codes for subs and dirs, pretty easily and accidentally).

  494. Rob Swindell
    Thu Feb 03 2022 22:52:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgchat.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfglib1.c diff
    Better detection/rejection of duplicate sub and dir internal codes When manually adding a message/file area or modifying an internal code value, reject the code if it's a duplicate. This required that getsubnum() and getdirnum() support non-prepped configurations (where the full internal code has already been constructed from the prefix and suffix).

  495. Rob Swindell
    Thu Feb 03 2022 22:49:45 GMT-0800 (PST)
    Modified Files:
    

    exec/nntpservice.js diff
    Remove extra debug for Newsgroups heades, but log the internal code of sub

  496. Rob Swindell
    Thu Feb 03 2022 20:28:56 GMT-0800 (PST)
    Modified Files:
    

    exec/nntpservice.js diff
    Add debug log lines to help root-cause issue #334

  497. Rob Swindell
    Thu Feb 03 2022 19:21:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsub.c diff
    Clarify in the help that Message-ID hashing/checking cannot be disabled

  498. Rob Swindell
    Thu Feb 03 2022 19:22:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_archive.c diff
    JSDOC note to clarify that Archive() cannot be used to update an archive

  499. Rob Swindell
    Tue Feb 01 2022 19:13:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    add() method will now parse added, last_downloaded, and times_downloaded These 3 'stats' properties were read-only (never used when adding a file). To support moving files between FileBases while retaining these stats, support the parse/use of these file-meta-object property values. Should fix issue #333 reported by Nightfox.

  500. Rob Swindell
    Tue Feb 01 2022 01:26:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsexec.c diff
    Fix (loss of) carrier detect reporting in Virtual UART driver So Hobo and I have noticed that Global War was leaving game lock (*.LOK) files behind when he disconnected while in the game (e.g. due to the game not responding or something). This was happening because GWAR was not recognizing the loss of connection ("carrier detect" or DCD) and SBBS would ungracefully terminate the process after 5 seconds of being disconnected, thus the game lock files would remain and requiring manual clean-up. I discovered that if I changed the WAR.CFG file to use FOSSIL instead of UART, Global War would then correctly recognize the loss of carrier and exit gracefully (and not leave any .LOK files behind). So... I suspected an issue with the Virtual UART driver. It turns out, that a program that relies on the modem status register change interrupt (and doesn't "poll" the UART MSR register) might never know that the "carrier" was lost. This is fixed by waiting on the hungup_event in the interrupt_thread and deasserting DCD in the "virtual" MSR register and asserting the MSR change interrupt to notify the program that it has in fact changed. Good thing for WaitForMultipleObjects(). Uh huh.

  501. Rob Swindell
    Mon Jan 31 2022 20:57:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/upload.cpp diff
    Implement the sbbsfile.nam and sbbsfile.des post-processing in v3.19 This one was one of the last TODO items for the new filebase implementation: It's been supported (for a *long* time) that a file tester/upload processor could change the uploaded file's name or description by modifying the contents of the sbbsfile.nam and sbbsfile.des files in the node's directory (I know, great names, eh?). These files were not read-back into sbbs to apply any changes in v3.19b and that's now "fixed" though I'm not sure any file upload tester/processor actually ever made use of this feature. Also as part of this change, the '%s' specifier for the tester command-line will now be replaced with the path to the sbbsfile.des file and not the file's description itself (which could easily have been problematic for a command-line). Updated SCFG help text to suit.

  502. Rob Swindell
    Mon Jan 31 2022 19:33:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/upload.cpp diff
    Call clearline() after displaying "working strings" for file processors Testable File Types and Download Events support working strings (display before/while the command-line executes). Clear the current line (displaying this working string) when the execution completes.

  503. Rob Swindell
    Mon Jan 31 2022 16:59:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    By default, don't recognize filebase virtual path prefix for vhosts If the request is to a virtual web host, don't recognize the filebase vpath prefix (FileVPathPrefix setting) unless FileVPathForVHosts is set to "true" (in the [web] section of sbbs.ini). This addresses another of Deuce's concerns about this feature.

  504. Rob Swindell
    Mon Jan 31 2022 17:52:11 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/upload.cpp diff
    Fix "Testable Files" file extension comparison Issue introduced in v3.19: Testable Files (a.k.a. upload processors) with a specified file extension/type (e.g. "ZIP" and not "*") would never run because the file extension comparison logic was "off by one". Testable Files with an extension of "*" (all files/types) would still run however. This fixes issue #331 reported by Nightfox.

  505. Rob Swindell
    Mon Jan 31 2022 12:20:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Change "attempted to upload to invalid directory" msg Make it more accurate/clear: "attempted to upload invalid path/filename"

  506. Rob Swindell
    Mon Jan 31 2022 11:58:39 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Log the full path for rejected uploads based on directory The logged error "!attempted to upload to invalid directory" did log the actual path that was attempted to be uploaded. Added some quotes around other logged paths.

  507. Rob Swindell
    Sun Jan 30 2022 20:58:20 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Support an optional log identifier to syslog() Nelgin: "anyway to get sexpots to report itself differently to syslog" [?]

  508. Rob Swindell
    Sun Jan 30 2022 14:35:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Fix HTTP-requests for files >= 2GB in size An int is 32-bits on all supported platforms, so this has always been broken. The actual file size/request-length sent would depend on fun 2's complement math (a 32GB file was being truncated to 433MB). Also fixed some wrong uses of PRIuOFF: off_t is a signed integer, so technically the maximum file size you can request now is 2^63 bytes, which is "big enough".

  509. Rob Swindell
    Sat Jan 29 2022 20:19:14 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Add optional RingCount and RingInterval [modem] settings Only used in manual answer mode, RingCount defaults 1 (answer after the first ring) and RingInterval defaults to 6000 (maximum elapsed milliseconds between rings of the same "call"). This should address issue/feature-request #330 by Nelgin. Give that a try.

  510. Rob Swindell
    Sat Jan 29 2022 12:32:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn.cpp diff
    Suppress "VDD Open failed" warning if child process terminated Another log message reported by DesotoFireflite (VALHALLA) that can happen when a user has typed something while the programming is running and the program terminates before the data can be sent to it.

  511. Rob Swindell
    Thu Jan 27 2022 23:06:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_file_area.c diff
    Another place where lib_t.vdir needs to be used in place of sname

  512. Rob Swindell
    Fri Jan 28 2022 00:07:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/startup.h diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    Use sbbs.ini [web] FileVPathPrefix to configure web filebase prefix It bothered Deuce having a web server setting in scfg_t/SCFG->File Options, so I moved this setting to [web_]startup_t and the sbbs.ini file. The downside is that file_area.web_file_prefix is no longer available to JS environments outside of the web server and terminal server, but meh, probably not going to use it elsewhere anyway? I can imagine use cases for JSexec scripts to want to generate URLs to filebase files. If that ends up being a need, they'll have to find and parse the "right" sbbs.ini file to determine the vpath prefix.

  513. Rob Swindell
    Thu Jan 27 2022 22:49:40 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Use new 'vdir' elements in getdir_from_vpath()

  514. Rob Swindell
    Thu Jan 27 2022 22:25:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Fix up the directory internal code suffix help text ... more aligned with a sub-board's internal code help text.

  515. Rob Swindell
    Thu Jan 27 2022 22:43:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib2.c diff
    Add 'vdir' (virtual directory name) member to lib_t and dir_t This change is just for internal consistency and convenience right now: the lib_t.vdir is a "sanitized" copy of the lib's short name (spaces are converted to dots or underscores based on the logic that the FTP server used in dotname()) and the dir_t.vdir is just a pointer to the dir's code_suffix. No other permutations are made (e.g. lower-casing the strings). Although the virtual directory names of libraries will now appear in mixed case in the FTP server (previously, they were all lowercase), the directory names are actually treated case-insensitively, so it should not make any difference. If forced-lowercase is preferred for some reason, please speak up. This change leads the way to eventually, possibly, making these virtual path elements sysop-configurable. For now, it's just better to have a *copy* of the lib's short name that is appropriately modified to make a suitable directory name and have that vpath element available globally (to all servers and services) in a consistent manner. So Nelgin asked (about filebase access via http), what if the library short name has a space in it? The answer now is, the spaces are replaced with a '.' or '_' (if there's already dots in the name).

  516. Rob Swindell
    Thu Jan 27 2022 01:15:11 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    Allow files to be removed from batch queues by number This fixes issue #328. The user actually *can* remove files from the batch queues in v3.19b, but you have to type the filenames which is not obvious from the prompt which implies you need to type the file index position (e.g. '1' for the first file in the queue). In all Synchronet versions prior, you could only remove by number (and not by name). The fix is to allow either the number or the name of the file to be entered at the RemoveWhich prompt and the file is removed from the queue successfully. Thanks Ragnarok!

  517. Rob Swindell
    Thu Jan 27 2022 00:44:36 GMT-0800 (PST)
    Modified Files:
    

    exec/sbbslist.js diff
    Set default options.backup_level value (10) Fixes issue #327. Also remove some old obsolete comments. Increment the REVISION value manually (no more CVS keywords).

  518. Rob Swindell
    Wed Jan 26 2022 20:21:05 GMT-0800 (PST)
    Modified Files:
    

    exec/xtrn_sec.js diff
    Fix default program section selection Hitting [Enter] is supposed to select the current/default program section. Instead, it was quitting. This was apparently broken as part of the xtrn_sec.js refactor a year or so ago by/with mlong.

  519. Rob Swindell
    Wed Jan 26 2022 20:10:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn.cpp diff
    Ignore VDD WriteFile() failures if the child process has terminated If the child process (e.g. door game) has terminated, don't log errors if/when WriteFile() to the mailslot fails. This would be expected as the mailslot is created/owen-by sbbsexec.dll which would also terminate along with the process, thus closing the mailslot. Hopefully resolves the errors reported by DesotoFireflite (VALHALLA).

  520. Rob Swindell
    Tue Jan 25 2022 22:16:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Beautification of the previous commit And don't store the autoterm flags in useron.misc even when correcting a manual-PETSCII configuration.

  521. Rob Swindell
    Tue Jan 25 2022 22:18:26 GMT-0800 (PST)
    Modified Files:
    

    ctrl/jsexec.ini diff
    Match the current MaxBytes setting in sbbs.ini (160M)

  522. Rob Swindell
    Tue Jan 25 2022 19:17:34 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Don't modify useron.misc during logon, even for AUTOTERM We shouldn't need to set any of the autoterm flags in useron.misc these days (term_supports() checks autoterm when appropriate). Try this Nelgin.

  523. Rob Swindell
    Tue Jan 25 2022 18:10:47 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Remove the extra stderr output for debug-level log msgs on *nix As reported by Nelgin

  524. Deucе
    Mon Jan 24 2022 16:33:36 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Allow one second longer for timeout

  525. Deucе
    Mon Jan 24 2022 16:31:29 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Actually do bounds checking on timeout. Fix warning while we're here.

  526. Deucе
    Mon Jan 24 2022 16:09:22 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio.c diff
    src/comio/comio.h diff
    src/sexpots/sexpots.c diff
    Add new definition for infinite timeout, and use that explicitly The value of the macro is INT_MIN, not zero to protect agains weird edge cases. I considered INT_MAX, but figured you could get there in sane ways.

  527. Rob Swindell
    Sun Jan 23 2022 14:58:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    delfiles() now removes files and directories, recursively

  528. Rob Swindell
    Sun Jan 23 2022 13:44:56 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.h diff
    Fix comment for GLOB_MARK

  529. Rob Swindell
    Sun Jan 23 2022 13:44:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    create_archive() will skip directories in supplied file_list The file_list[] parameter was expected to contain only files, but the directory() function (used to create that file_list[]) returns a list of all directory entries, including sub-directories. I could (and maybe will) add an option to directory() to only include files or dirs, but this seemed the more direct fix for the problem reported by DesotoFireflite (VALHALLA): TickIT's nodelist_handler.js appears to be creating and leaving behind a sub-directory of the temp directory, triggering this error: 1/23 11:36:56a QNET libarchive error -1 (13 opening c:\SBBS\temp\event\nodelist_handler/) creating c:\SBBS\data\VERT.REP Why isn't the temp directory fully cleaned up after/between events? That's another thing to look into.

  530. Rob Swindell
    Sun Jan 23 2022 12:48:04 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/putmsg.cpp diff
    Address GCC warnings: case label value exceeds maximum value for type

  531. Rob Swindell
    Sun Jan 23 2022 12:29:11 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/putmsg.cpp diff
    Add case fall-through comment To address CID 345626

  532. Rob Swindell
    Sun Jan 23 2022 03:07:42 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Re-parse the "TCP" section before sending (optional) Prompt We need to re-parse the default sexpots.ini [TCP] section for every new session (when using the Prompt feature) or else there's no way to connect to the default host. Also, telnet to be enabled or disabled (e.g. by setting Telnet=false) in any [TCP] or [TCP:x] section to support a mix of Telnet and non-Telnet hosts.

  533. Rob Swindell
    Sun Jan 23 2022 02:46:42 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Change default PromptTimeout to 60 (seconds) Also log a warning if a control character is received in response to the prompt, or log a notice if there's a timeout waiting for a response to the prompt. Change the non-control character response value to a debug-level log message.

  534. Rob Swindell
    Sun Jan 23 2022 02:27:33 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Optional clear-screen before sending banner Set CLS=true in the root section of sexpots.ini to enable. Sends a ^L ASCII 12 0x0c FF CS whatever you want to call it to the remote terminal before sending the carriage return and copyright banner. For Nelgin.

  535. Rob Swindell
    Sun Jan 23 2022 02:07:22 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio.c diff
    comReadBuf() supports an infinite timeout (0)

  536. Rob Swindell
    Sun Jan 23 2022 02:08:37 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Make PromptTimeout configurable (default to 0/infinite) Set to number of seconds to timeout, if desired. Log the received character in response to the prompt.

  537. Rob Swindell
    Sun Jan 23 2022 01:35:21 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Optionally send a prompt to connected user Wait up to 10 seconds for a single-char reply to the prompt and if a non-control character was received, use the [TCP:x] (x is the character sent by the user) from the sexpots.ini for the Host and Port values to connect to. An experimental feature for Nelgin.

  538. Rob Swindell
    Sun Jan 23 2022 01:08:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/putmsg.cpp diff
    Basic PETSCII output column/line counting in putmsg() When printing a PETSCII Sequence (.seq) file, count the lines/rows and columns similar to how we would if we were using outchar() (but we don't, we use the lower-level outcom() to bypass any translations). This is related to issue #325: PETSCII seq files seem to display just fine, the problem I saw was with the auto-pausing (e.g. before a screen-clear) after displaying them.

  539. Rob Swindell
    Sat Jan 22 2022 01:29:28 GMT-0800 (PST)
    Modified Files:
    

    text/menu/restrict.asc diff
    Add the 'O' (post using real name) restriction flag. Oh, QWKnet nodes ('Q' restricted accounts) are impacted by this restriction since the poster's name isn't taken from the user account anyway.

  540. Rob Swindell
    Sat Jan 22 2022 01:14:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/qwk.cpp diff
    Remove some commented-out code Posting restrictions are handled one QWK-message at a time (and have been for a long time). No actual change here.

  541. Rob Swindell
    Sat Jan 22 2022 01:16:34 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/un_rep.cpp diff
    Call can_user_post() rather than manual checks Eliminate some redundant code. Use the userdat lib function provided for this purpose.

  542. Rob Swindell
    Sat Jan 22 2022 01:27:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/newuser.cpp diff
    src/sbbs3/userdat.c diff
    Handle duplicate names and aliases better So some cute user (mine@demon.com) created a new user account on Vertrauen with the alias and real name of "Rob Swindell". Funny. Now, duplicate user aliases are already and always forbidden (even those that just vaguely match an existing alias) - everyone expects those to be unique. And we already forbid new user real names to match an existing user alias (check_name() enforces this and we use that when checking new user real names too), however, nothing prevented a new user account's alias from matching another existing user's real name. And this is a problem: 1. This new/fake user could post a message or send an email/netmail and it would appear to possibly come from the other/original user (we do have options to send mail and post messages using real names) 2. Received email for real names is supported and if enabled, this second account could be used to intercept mail for the original/first account if it was receiving mail for the original/real user's real name. So disallowing a new user's real name to match an existing alias fixes one problem. However, systems *can* be configured to allow duplicate real names (which is convenient for QWKnet accounts, for example) and so we needed another solution for that problem: meet the 'O' restriction. This restriction flag will prevent a user account from posting messages no sub-boards that require real names. New user accounts that have a duplicate real name (the same as another user account's real name), will automatically be assigned the 'O' restriction flag. Systems that don't allow duplicate real names wouldn't have this issue in the first place. Scripts that allow the creation of new user accounts might need some updating to match this security logic.

  543. Rob Swindell
    Fri Jan 21 2022 22:47:30 GMT-0800 (PST)
    Modified Files:
    

    webv4/root/api/register.ssjs diff
    Fix "Username already taken." validation error (could not happen) The system.check_name() check *also* verifies that the username is not already taken, so we must perform the matchuser() check first in order to get the appropriate error message here when trying to use an alias (username) that's already taken.

  544. Rob Swindell
    Fri Jan 21 2022 20:00:00 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Fix issue that prevent "-syslog" option from being used (on *nix) Fixed a couple sprintf() buffer overflow warnings/issues.

  545. Rob Swindell
    Fri Jan 21 2022 19:49:38 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Add a -syslog option for *nix builds to force log output to syslog for Nelgin

  546. Rob Swindell
    Wed Jan 19 2022 20:32:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Eliminate a couple new 'unused variable' warnings.

  547. Rob Swindell
    Wed Jan 19 2022 20:23:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/data_ovl.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scansubs.cpp diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/upload.cpp diff
    Use the progress() interval argument as the time interval Default the progress time interval to 500 milliseconds (twice a second). Don't specify a count/call interval in the call-sites, since we really want to use time-based progress updates now only and the default probably will work fine everywhere.

  548. Rob Swindell
    Wed Jan 19 2022 19:51:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    src/sbbs3/sbbs.h diff
    Don't display progress() updates more than twice a second To send less text over slow (e.g. 4800bps) modems. For Nelgin. This makes the interval argument unnecessary I think.

  549. Rob Swindell
    Wed Jan 19 2022 19:21:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_system.c diff
    Add JS methods for vetting filenames (e.g. for upload by users) system.illegal_filename() - check if contains illegal chars/sequences system.safest_filename() - check if contains only safest chars system.allowed_filename() - check if meets criteria from SCFG->File Options system.check_filename() - check if legal and meets configured criteria and is not in file.can bbs.check_filename() - ditto, except will display badfile.msg as appropriate Now scripts can utilize the sysop-controlled filename criteria and security of the BBS.

  550. Rob Swindell
    Wed Jan 19 2022 11:45:05 GMT-0800 (PST)
    Modified Files:
    

    ctrl/jsexec.ini diff
    Increase default JS heap size from 8M to 16M (ala sbbs.ini) Also remove "JavaScriptContextStack" (no longer used) and other wrong or obsolete comments.

  551. Rob Swindell
    Wed Jan 19 2022 01:32:07 GMT-0800 (PST)
    Modified Files:
    

    exec/hatchit.js diff
    Only produce MS-DOS compatible 'File' key values in TIC files to be compliant with FTS-5006 which states "The name must be in 8x3 DOS format". I'm not converting the filename to ALL CAPS, since that's not explicitly stated and really should not be a problem. This also generates an Lfile key if the generated-DOS-compatible filename does not exactly match the actual filename in any way (not just length).

  552. Rob Swindell
    Wed Jan 19 2022 01:31:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Add run-time check for non-terminating/unsafe snprintf() function Only in debug builds. If this check fails, then we may be producing/using potentially un-terminated strings and need to do something about that. By default, xpdev/genwrap.h redefines snprintf() as safe_snprintf(), so this check *should* always succeed.

  553. Rob Swindell
    Wed Jan 19 2022 00:09:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Fix typo (wrong default size value) in JSDOCS for format_name() The default is 'size' parameter value is 12 characters, not 13.

  554. Rob Swindell
    Tue Jan 18 2022 01:16:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Don't display "blank" extended description in listings If an extended description contains nothing but Ctrl-A codes and white-space, don't display it in a file listing (in place of the normal short description).

  555. Rob Swindell
    Mon Jan 17 2022 22:17:16 GMT-0800 (PST)
    Modified Files:
    

    exec/irc.js diff
    UTF-8 encode/decode support, from martylake Based largley on martylake's provided patch set. By default, assumes all IRC messages are UTF-8 encoded and will translate to CP-437 if appropriate or send as UTF-8 if the user's terminal supports it. Set utf8_support=false in the [irc] section of your ctrl/modopts.ini file if you wish to disable this behavior.

  556. Rob Swindell
    Mon Jan 17 2022 18:55:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    Fix problem saving HangupSound setting in sbbs.ini Apparent copy/paste error in sbbs_set_sound_settings() - I was wondering why the HangupSound key wasn't saving to the sbbs.ini file from SBBSCTRL.

  557. Rob Swindell
    Mon Jan 17 2022 18:56:28 GMT-0800 (PST)
    Modified Files:
    

    ctrl/sbbs.ini diff
    A bit of re-sync with actual keys Remove JavaScriptContextStack (no longer used). Add *Sound keys to the [Global] section.

  558. Rob Swindell
    Mon Jan 17 2022 16:28:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Provide more help for the "Access to Sub-directories" feature This is an experimental feature that's been in the code for quite a while without any supporting help/docs (there was the original commit message, I'm sure). I'm not sure how much value this feature is without providing automatic access to the *files* within the sub-directories, but there you have it.

  559. Rob Swindell
    Sun Jan 16 2022 22:22:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Log requests that resolve outside of the web root as hack attempts "Request for x is outside of the web root" was already logged (with a "NOTICE" log level), but would not sound the hack attempt alarm (on Windows) or log to the hack.log. Now it does.

  560. Rob Swindell
    Sun Jan 16 2022 03:08:42 GMT-0800 (PST)
    Modified Files:
    

    docs/install.rtf diff
    updated link to MSVC 2010 SP1 redist package

  561. Rob Swindell
    Sat Jan 15 2022 20:13:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Fix printf format issue in previous commit.

  562. Rob Swindell
    Sat Jan 15 2022 19:47:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Correct JSDOCS for get_path, get_size, and get_time methods These methods also (optionally) accept a file-meta-object as an argument.

  563. Rob Swindell
    Sat Jan 15 2022 20:11:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_filebase.c diff
    Add JS properties to assist with web-access to filebase file_area.web_vpath_prefix file-metadata-object (return value of FileBase.get()).vpath

  564. Rob Swindell
    Sat Jan 15 2022 18:09:52 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Add support for web request path aliases (defined in web_alias.ini) Similar to the ctrl/ftpalias.cfg file, the new ctrl/web_alias.ini file (optional) can be used to map a portion (the first portion, only) of a web request path to a different physical or virtual path. For example, I'm using it to map: /Synchronet/ = /files/main/sbbs/ for filebase access to my main->sbbs directory of Vertrauen's filebase using a /Synchronet/* web request (i.e. for slightly prettier or shorter custom URLs, if desired).

  565. Eric Oulashin
    Sat Jan 15 2022 16:16:15 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Now supports message sub-board & file directory name collapsing, allowing simplified file directory and message sub-board lists for ones with common groups, adding a 3rd tier of options. For example, if you have the following file directory structure: BBS files DOS: BBS software DOS: BBS doors DOS: BBS utilities Windows: BBS software Windows: BBS doors Windows: BBS utilities With directory name collapsing, the selection will be come 3 tiers, as follows: BBS files DOS BBS software BBS doors BBS utilities Windows BBS software BBS doors BBS utilities

  566. Rob Swindell
    Sat Jan 15 2022 17:31:11 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Merge branch 'dd_area_choosers_name_collapsing' into 'master' Now supports message sub-board & file directory name collapsing See merge request main/sbbs!134

  567. Rob Swindell
    Sat Jan 15 2022 16:19:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/websrvr.c diff
    Add direct filebase access from the web server (optional) By setting SCFG->File Options->Web File Virtual Path Prefix to something (e.g. "/files/"), all HTTP or HTTPS requests to the Synchronet Web Server with request paths beginning with this prefix will be interpreted as filebase access requests (with full access control enforcement). This is configured here (in SCFG) rather than, say, the [web] section of sbbs.ini, because I have plans for the terminal server to use this prefix to generate Web-URLs for files to display or email to users. Currently, only requests to *files* (for download) are supported (no index generation, file information, etc. and definitely no upload support). Full access control (using HTTP auth, not cookies) is used for libraries and directories with controlled access. Credits are deducted and awarded and uploaders are notified of downloads, as one would expect. Requests to any dynamic-web-content files (e.g. .SSJS, .XJS, etc.) will be treated as static file download requests (no script will be executed). I'm reusing the same virtual path parsing logic from the FTP server (moved to the userdat lib), so the virtual path to a file for download would be, for example, http://yourdomain/files/lib/dir-code/filename.ext The main motivation for this feature is: FTP-links in email and web pages are just not useful to many users these days and I don't think that sysops should have to rely on a SSJS web UI (e.g. ecWebv4, cool as it is), to provide web-access to the filebases. Using this feature, you can share simpler/shorter web links to your files that will be more enduring.

  568. Rob Swindell
    Fri Jan 14 2022 13:12:58 GMT-0800 (PST)
    Modified Files:
    

    xtrn/lord2/lord2.js diff
    Comment-out what appears to be a typo/copy-paste error lord2.js line 3168: ReferenceError: bs is not defined

  569. Rob Swindell
    Fri Jan 14 2022 12:18:25 GMT-0800 (PST)
    Modified Files:
    

    exec/hatchit.js diff
    Patch by @acn to include a non-interactive mode, fix point paths, and tic pw

  570. Eric Oulashin
    Thu Jan 13 2022 20:51:01 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Added a load for 822header.js. Whoops.

  571. Rob Swindell
    Thu Jan 13 2022 21:18:40 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'ddmsgreader_822header' into 'master' Added a load for 822header.js. Whoops. See merge request main/sbbs!133

  572. Eric Oulashin
    Thu Jan 13 2022 20:22:01 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Version 1.42: Fixed attachment downloading. Also, the first attempt at converting HTML entities in HTML-formatted messages (not working 100%). Also, added the ability to sort the message list by date & time written rather than the import date/time. This is specified in the configuration file via the msgListSort option.

  573. Rob Swindell
    Thu Jan 13 2022 20:43:13 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'ddmsgreader_attachment_dl_fix' into 'master' Version 1.42: Fixed attachment downloading (most importantly). See merge request main/sbbs!132

  574. Rob Swindell
    Thu Jan 13 2022 20:34:53 GMT-0800 (PST)
    Modified Files:
    

    exec/tempxfer.js diff
    text/menu/tempxfer.asc diff
    The JS Archive class doesn't actually support "adding" to archives So change the (A)dd command to (C)reate here. Leave 'A' as an alias.

  575. Rob Swindell
    Thu Jan 13 2022 19:06:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Address Coverty reported issue about dereferencing a NULL pointer CID 345291 It's actually a false positive because if an extension (".suffix") exists in filespec, it must also exist in newfilespec since it's a copy, but whatever. It's better form to check.

  576. Rob Swindell
    Thu Jan 13 2022 17:04:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Disable libarchive support for creating/appending bundles libarchive apparently cannot be used for in-place modification of (e.g. adding files to) existing archives, so if a bundle already exists, this code would over-write it with a new archive containing just the latest packet. Issue reported by acn (IMZADI) via DOVE-Net. I could and might create an update_archive() function which extracts and re-creates an archive with additional files, but since I don't have that yet, just disable this for now and always use an external archive utility to create or update bundles (so again, an "Archive" configuration is required in your sbbsecho.ini file, which you most likely already have).

  577. Rob Swindell
    Wed Jan 12 2022 19:40:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    A couple more sprintf->SAFEPRINTF conversions Not sure why, as this utility has been deprecated. :-/

  578. Rob Swindell
    Wed Jan 12 2022 19:32:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    Address GCC warning: ‘%s’ directive writing up to 4096 bytes... warning: ‘%s’ directive writing up to 4096 bytes into a region of size between 4034 and 4097

  579. Rob Swindell
    Wed Jan 12 2022 19:08:47 GMT-0800 (PST)
    Modified Files:
    

    docs/v319_new.txt diff
    Fix typo

  580. Rob Swindell
    Wed Jan 12 2022 19:10:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    Remove remnants of alternate file path support Wouldn't work with the new filebase if you tried to use it anyway. Just noticed while watching the v3.19b new feature video that the [.alt_path] was still listed as a command-line option.

  581. Rob Swindell
    Wed Jan 12 2022 19:11:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Search file's tags, author, and author's group (if available) When searching descriptions for text, include these new metadata fields in the content to search.

  582. Rob Swindell
    Tue Jan 11 2022 16:58:59 GMT-0800 (PST)
    Modified Files:
    

    exec/simple.src diff
    Pass unrecognized commands to str_cmd.js (e.g. type "HELP") to get help on string commands, including sysop commands. File Transfer related sysop commands *not* available via this command shell however (there's just the one/main menu, so no "File menu" context from which to execute string/sysop commands). For nick (in #synchronet at irc.synchro.net).

  583. Rob Swindell
    Tue Jan 11 2022 17:15:45 GMT-0800 (PST)
    Modified Files:
    

    exec/str_cmds.js diff
    Remove comment about requiring semicolon prefix, not all shells do.

  584. Rob Swindell
    Mon Jan 10 2022 22:24:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Log unallowed/illegal filenames in quotes Prefixed or trailing white-space characters would be hard to discern without this.

  585. Rob Swindell
    Mon Jan 10 2022 22:27:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    Allow maximum uploaded filename length to be configured Default to 64 characters. Maximum value is 65535 characters, but filenames larger than 64 characters may be problematic (e.g. searching for them, displaying them, security concerns), so only increase with caution. Shorter values are fine, but 0 will just revert back to the default.

  586. Rob Swindell
    Mon Jan 10 2022 19:55:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    loadfiles() will perform liberal filename matching when len > 12 chars As discovered while making the Synchronet v3.18b feature video (https://www.youtube.com/watch?v=_IWzIV0_sZ4), when only a shortened version of a long filename is displayed (e.g. due to 80 column terminal width limitations), trying to download that filename by specifying the filename at the Download File(s) Filespec [All Files]: prompt can be problematic. For example (as seen in the video), the file "SyncTERM-1.1-setup.exe" is displayed as "SyncTERM.exe" (on an 80-column terminal), yet trying to download "SyncTERM.exe" (or "syncterm.exe") using the 'D'ownload command would fail to find a file with that name (understandably, but frustratingly so). This change will transform the requested filename-to-load if it is at least 12 characters in length and contains no wildcards (* or ?), to include a filename extending wildcard: "filename.txt" will become "filename*.txt" and "longfilename" will become "longfilename*". For requested filespecs of NULL (all files) or specs containing wildcards or specs (filenames) less than 12 characters in length, no filespec transform takes place: so trying to list/download "a" doesn't match "apple.txt".

  587. Rob Swindell
    Mon Jan 10 2022 19:55:45 GMT-0800 (PST)
    Modified Files:
    

    docs/v319_new.txt diff
    Include some statistics about the release These git diff stats are a bit misleading as a lot of files were removed from the git repo and some 3rd party libraries were added.

  588. Rob Swindell
    Fri Jan 07 2022 19:18:38 GMT-0800 (PST)
    Modified Files:
    

    exec/load/sbbslist_lib.js diff
    Add BBS entry descriptions as a Comment key values to exported syncterm.lst

  589. sysop
    Tue Dec 21 2021 16:36:31 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/js-config.guess.patch diff
    3rdp/build/js-makefile.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Fix build on arm64 - Update SpiderMonkey config.guess - Include patch for SpiderMonkey Mozilla bug 638056

  590. Rob Swindell
    Thu Jan 06 2022 22:18:42 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/js-config.guess.patch diff
    3rdp/build/js-makefile.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Merge branch 'master' into 'master' Fix build on arm64 See merge request main/sbbs!131

  591. Rob Swindell
    Tue Jan 04 2022 18:41:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Use SAFECOPY() - CID 345193

  592. Rob Swindell
    Mon Jan 03 2022 19:11:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    The simpler fix to issue #317 (nested DIZ files) By extracting with with_path=true, the file_list matching won't match the nested DIZ files.

  593. Rob Swindell
    Mon Jan 03 2022 17:34:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Increase revision to 'c' (v3.19c) as v3.19b was released yesterday

  594. Rob Swindell
    Mon Jan 03 2022 17:39:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    Add overwrite argument to extract_file_from_archive and Archive.extract Previously, extracted files were always overwritten (so that is the "default" for Archive.extract() and mostly what I'm specifying in the C/C++ code by default now), but this caused a problem with DIZ extraction: archives that contained multiple DIZ files (e.g in sub-directories), the last to be extracted would be used. A maximum of 3 DIZs can be extracted, so it would usually be the 3rd DIZ in the archive if there were that many. Another solution would be to *only* extract DIZ files from the root of the archive and I should look into that as well, but the always-overwrite behavior also seemed to be wrong, so that *also* needed fixing (allow caller to control behavior). This fixes issue #317, at least for archives where the root DIZ exists *before* any nested DIZ files. I'll have to try and create a purposeful archive to test the other conditions (where the root DIZ would appear *after* the nested DIZ(s)).

  595. Randy Sommerfeld
    Sun Jan 02 2022 17:43:18 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ircd/config.js diff
    Ignore malformed I:lines

  596. Randy Sommerfeld
    Sun Jan 02 2022 17:32:56 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ircd/unregistered.js diff
    Agh, fixing again

  597. Randy Sommerfeld
    Sun Jan 02 2022 17:26:50 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ircd/unregistered.js diff
    Missing parenthesis

  598. Randy Sommerfeld
    Sun Jan 02 2022 17:12:58 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ircd/unregistered.js diff
    Handle null or timed out DNS replies properly

  599. Randy Sommerfeld
    Sun Jan 02 2022 16:37:12 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dns.js diff
    Actually call back on a timeout

  600. Rob Swindell
    Sun Jan 02 2022 15:55:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Need to escape backslashes in JSDOC strings

  601. Rob Swindell
    Sun Jan 02 2022 15:54:29 GMT-0800 (PST)
    Modified Files:
    

    exec/jsdocs.js diff
    Document properties even when then have a value of 'null'

  602. Rob Swindell
    Sun Jan 02 2022 15:52:36 GMT-0800 (PST)
    Modified Files:
    

    docs/jsobjs.html diff
    Add some missing File properties (due to a bug in jsdocs.js) properties with a value of null were not being documented

  603. Rob Swindell
    Sun Jan 02 2022 14:58:17 GMT-0800 (PST)
    Modified Files:
    

    xtrn/war/war.js diff
    Load terrain.fnt from startup directory, not game directory Resolves !ERROR Cannot load font \sbbs\xtrn\war\worlds\alderon\terrain.fnt!

  604. Rob Swindell
    Sun Jan 02 2022 14:36:37 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    src/sbbs3/newuser.cpp diff
    Eliminate a couple of hard-coded instances of "ZIP"

  605. Rob Swindell
    Sun Jan 02 2022 11:33:56 GMT-0800 (PST)
    Modified Files:
    

    docs/v319_new.txt diff
    Consolidate and beautify

  606. Rob Swindell
    Sun Jan 02 2022 00:56:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/TelnetCfgDlgUnit.dfm diff
    Updated to reflect NTDVDM required (not necessarily a 32-bit OS)

  607. Rob Swindell
    Sun Jan 02 2022 00:02:07 GMT-0800 (PST)
    Modified Files:
    

    docs/jsobjs.html diff
    A little more clean-up for v3.19b.

  608. Rob Swindell
    Sat Jan 01 2022 23:31:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_archive.c diff
    JSDOC output beautification I wanted to use an unordered bullet list, but the CSS tricks are making those not-displayed, so going with ordered (numbered) list for now.

  609. Rob Swindell
    Sat Jan 01 2022 23:58:39 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Document the new SHA1-related File properties.

  610. Rob Swindell
    Sat Jan 01 2022 23:27:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Resolve GCC warning

  611. Rob Swindell
    Sat Jan 01 2022 22:46:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_archive.c diff
    Remove extraneous <p> tag (copied from js_file.c no doubt)

  612. Rob Swindell
    Sat Jan 01 2022 22:39:35 GMT-0800 (PST)
    Modified Files:
    

    docs/jsobjs.html diff
    Generated with v3.19b for Win32

  613. Rob Swindell
    Sat Jan 01 2022 22:37:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs.jsdocs.vcxproj diff
    Updated to match sbbs.vcxproj

  614. Rob Swindell
    Sat Jan 01 2022 22:38:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Increment revision to b (so, v3.19b).

  615. Rob Swindell
    Sat Jan 01 2022 22:07:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Don't enable the multi-file prompt (for upload descriptions) by default

  616. Rob Swindell
    Sat Jan 01 2022 22:07:33 GMT-0800 (PST)
    Modified Files:
    

    ctrl/file.cnf diff
    Eliminate default archive extract/compress/list cmd-lines Use built-in archive support (and archive.js, for listing) instead. We still have info-zip (zip) here for testing archives and adding comments since we don't have that explicit support form libarchive (yet).

  617. Rob Swindell
    Sat Jan 01 2022 22:07:33 GMT-0800 (PST)
    Modified Files:
    

    install/install.iss diff
    Updated for v3.19 ecWeb is only web UI included/installed Optional to enable 16-bit DOS support on 64-bit Windows now (since we support NTVDMx64 now). Add libarchive.dll and zlib1.dll Always install old 16-bit DOS utils (e.g. svdmansi.com), just in case

  618. Rob Swindell
    Sat Jan 01 2022 22:07:33 GMT-0800 (PST)
    Modified Files:
    

    docs/install.rtf diff
    Updated for v3.19

  619. Rob Swindell
    Sat Jan 01 2022 22:08:06 GMT-0800 (PST)
    Modified Files:
    

    ctrl/msgs.cnf diff
    Use the internal archive (ZIP) support for VERT QWKnet hub

  620. Rob Swindell
    Sat Jan 01 2022 22:08:47 GMT-0800 (PST)
    Modified Files:
    

    docs/v319_new.txt diff
    De-duped a bit

  621. Rob Swindell
    Sat Jan 01 2022 22:05:42 GMT-0800 (PST)
    Added Files:
    

    docs/text319b.dif diff
    Changes to text.dat since v3.18b (in diff format)

  622. Rob Swindell
    Sat Jan 01 2022 20:45:45 GMT-0800 (PST)
    Modified Files:
    

    exec/tempxfer.js diff
    Display archive extraction error to user and abort search (upon error)

  623. Rob Swindell
    Sat Jan 01 2022 20:50:51 GMT-0800 (PST)
    Modified Files:
    

    exec/archive.js diff
    Log exception details if 'list' command fails

  624. Rob Swindell
    Sat Jan 01 2022 20:52:19 GMT-0800 (PST)
    Modified Files:
    

    exec/email_sec.js diff
    Trim white-space from email/netmail addresses

  625. Rob Swindell
    Sat Jan 01 2022 20:57:24 GMT-0800 (PST)
    Modified Files:
    

    exec/dupefind.js diff
    Save JS heap memory by using a hash of the achive contents for map key Rather than the content listing itself (which can be a very long string).

  626. Rob Swindell
    Sat Jan 01 2022 20:58:51 GMT-0800 (PST)
    Modified Files:
    

    exec/updatefiles.js diff
    Add a force option that's currently only enabled. <shrug> Not sure what I was doing here, but might as well have it committed.

  627. Rob Swindell
    Sat Jan 01 2022 18:55:59 GMT-0800 (PST)
    Modified Files:
    

    text/sbbs.msg diff
    We no longer generate HTML indexes for the FTP server And other minor updates

  628. Rob Swindell
    Sat Jan 01 2022 17:46:52 GMT-0800 (PST)
    Modified Files:
    

    ctrl/sbbs.ini diff
    Make ecWebv4 the default [web] RootDirectory value

  629. Rob Swindell
    Sat Jan 01 2022 18:09:57 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/strwrap.h diff
    Resolve MSVC warning C4273: 'strnlen': inconsistent dll linkage

  630. Rob Swindell
    Sat Jan 01 2022 18:12:41 GMT-0800 (PST)
    Modified Files:
    

    exec/load/text.js diff
    Synchronized with latest text.dat/text.h

  631. Rob Swindell
    Sat Jan 01 2022 17:17:49 GMT-0800 (PST)
    Modified Files:
    

    xtrn/3rdp-install/carlton-blackjack.ini diff
    xtrn/3rdp-install/carlton-crazy8.ini diff
    xtrn/3rdp-install/carlton-doormania.ini diff
    xtrn/3rdp-install/carlton-fleethunter.ini diff
    xtrn/3rdp-install/carlton-litecar.ini diff
    xtrn/3rdp-install/carlton-milleborne.ini diff
    xtrn/3rdp-install/carlton-minezone.ini diff
    xtrn/3rdp-install/carlton-navgrid.ini diff
    xtrn/3rdp-install/carlton-plinko.ini diff
    xtrn/3rdp-install/carlton-rockin.ini diff
    xtrn/3rdp-install/carlton-scavenger.ini diff
    xtrn/3rdp-install/carlton-urges.ini diff
    xtrn/3rdp-install/carlton-wordguess.ini diff
    xtrn/3rdp-install/dalton-adgt.ini diff
    xtrn/3rdp-install/dalton-camptown.ini diff
    xtrn/3rdp-install/dalton-deathbytrivia.ini diff
    xtrn/3rdp-install/dalton-escape.ini diff
    xtrn/3rdp-install/dalton-goc.ini diff
    xtrn/3rdp-install/dalton-gruntfest.ini diff
    xtrn/3rdp-install/dalton-risepower.ini diff
    xtrn/3rdp-install/dalton-shipline.ini diff
    xtrn/3rdp-install/dalton-tfbroadside.ini diff
    xtrn/3rdp-install/dalton-warfreight.ini diff
    xtrn/3rdp-install/disoft-futurerunner.ini diff
    xtrn/3rdp-install/disoft-islandempires.ini diff
    xtrn/3rdp-install/disoft-nuclearwar.ini diff
    xtrn/3rdp-install/disoft-rebelkingdom.ini diff
    xtrn/3rdp-install/disoft-wordmix.ini diff
    xtrn/3rdp-install/dreamware-dreamstakes.ini diff
    xtrn/3rdp-install/exdx-empireatwar.ini diff
    xtrn/3rdp-install/exdx-railroadempires.ini diff
    xtrn/3rdp-install/exdx-riverboatblackjack.ini diff
    xtrn/3rdp-install/exdx-romansatwar.ini diff
    xtrn/3rdp-install/exdx-spaceforcecommander.ini diff
    xtrn/3rdp-install/gutterbowl32.ini diff
    xtrn/3rdp-install/ironwar.ini diff
    xtrn/3rdp-install/jns-amazingmemory.ini diff
    xtrn/3rdp-install/jns-bombsquad.ini diff
    xtrn/3rdp-install/jns-boxedpoker.ini diff
    xtrn/3rdp-install/jns-doublesolitree.ini diff
    xtrn/3rdp-install/jns-fivecarddrawpoker.js.ini diff
    xtrn/3rdp-install/jns-fortythievessolitaire.ini diff
    xtrn/3rdp-install/jns-freecellsolitaire.ini diff
    xtrn/3rdp-install/jns-golfsolitaire.ini diff
    xtrn/3rdp-install/jns-greatwhitecard.ini diff
    xtrn/3rdp-install/jns-idiotsdelight.ini diff
    xtrn/3rdp-install/jns-inbetween.ini diff
    xtrn/3rdp-install/jns-kingslast.ini diff
    xtrn/3rdp-install/jns-matchtwo.ini diff
    xtrn/3rdp-install/jns-montanasolitaire.ini diff
    xtrn/3rdp-install/jns-ontheedge.ini diff
    xtrn/3rdp-install/jns-pressyourluck.ini diff
    xtrn/3rdp-install/jns-quotefall.ini diff
    xtrn/3rdp-install/jns-slidersolitaire.ini diff
    xtrn/3rdp-install/jns-solitree.ini diff
    xtrn/3rdp-install/jns-strikesandspares.ini diff
    xtrn/3rdp-install/jns-theelminator.ini diff
    xtrn/3rdp-install/jns-thepuzzlemachine.ini diff
    xtrn/3rdp-install/jns-threeshuffles.ini diff
    xtrn/3rdp-install/jns-trapper.ini diff
    xtrn/3rdp-install/jns-treasuretrove.ini diff
    xtrn/3rdp-install/jns-tripeakssolitaire.ini diff
    xtrn/3rdp-install/jns-twocardpoker.ini diff
    xtrn/3rdp-install/jns-yacht.ini diff
    xtrn/3rdp-install/latenight-civilwar.ini diff
    xtrn/3rdp-install/latenight-darkcastle.ini diff
    xtrn/3rdp-install/latenight-superrig.ini diff
    xtrn/3rdp-install/latenight-triviamaster.ini diff
    xtrn/3rdp-install/lore.ini diff
    xtrn/3rdp-install/mycroft-adventuressherlockholmes.ini diff
    xtrn/3rdp-install/mycroft-fictiousstockexchange.ini diff
    xtrn/3rdp-install/mycroft-stellarquest.ini diff
    xtrn/3rdp-install/mycroft-uboat.ini diff
    xtrn/3rdp-install/thepit.ini diff
    Replace bbsfiles.com HTTP URLs with vert.synchro.net FTP URLs Unfortunately, Doug Reah passed away, so bbsfiles.com is no more Thanks to MRO for supplying us with a site-rip of bbsfiles.com which is now extracted/expanded and available (via FTP) on vert.synchro.net.

  632. Randy Sommerfeld
    Fri Dec 31 2021 21:56:21 GMT-0800 (PST)
    Modified Files:
    

    exec/ircd.js diff
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    exec/load/irclib.js diff
    Update copyright

  633. Rob Swindell
    Fri Dec 31 2021 21:43:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/AboutBoxFormUnit.dfm diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/sbbsdefs.h diff
    Increment copyright year to 2022

  634. Rob Swindell
    Thu Dec 30 2021 20:51:13 GMT-0800 (PST)
    Modified Files:
    

    exec/letsyncrypt.js diff
    Insure the web RootDirectory ends in a slash. Reported by Compctech via DOVE-Net: "On a side note, I had to modify the letsyncrypt.js file to get letsencrypt to work. I had to add a / before .well-known on lines 86 - 89 & 96." I'm guessing this is because his sbbs.ini [Web] RootDirectory wasn't terminated with a slash.

  635. Rob Swindell
    Thu Dec 30 2021 15:34:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/telgate.cpp diff
    Use non-blocking connect for telnet/rlogin gateway Default connect timeout is now 10 (seconds), and can be overridden by passing an additional number argument to bbs.telnet_gate() or bbs.rlogin_gate(). Addresses issue #314 by Nelgin.

  636. Rob Swindell
    Thu Dec 30 2021 14:12:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    A few minor JSDOC fixes.

  637. Rob Swindell
    Thu Dec 30 2021 14:31:10 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    If SMTP-transmit-relay is enabled by no relay server, disable log an error message and disable the transmit-relay in this detected-misconfiguration case. Fixes issue #315 reported by Nelgin.

  638. Randy Sommerfeld
    Tue Dec 14 2021 22:05:10 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ircd/unregistered.js diff
    Only reverse resolve for the proper protocol family

  639. Randy Sommerfeld
    Tue Dec 14 2021 21:56:05 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dns.js diff
    Allow IPv{4,6} only queries while retaining backwards compatibility.

  640. Randy Sommerfeld
    Tue Dec 14 2021 16:01:31 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ircd/server.js diff
    Silently ignore unsupported SVSMODE, requested by nelgin

  641. Randy Sommerfeld
    Tue Dec 14 2021 15:58:54 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ircd/core.js diff
    Use ssl_session for reporting secure connections via WHOIS. Found by nelgin, thanks!

  642. Rob Swindell
    Tue Dec 14 2021 15:27:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/inkey.cpp diff
    Disable mouse hot spot adding/clearing debug log messages ... even in debug builds (was already disabled for release builds)

  643. Eric Oulashin
    Tue Dec 14 2021 14:58:35 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Better handling of ESC key input if mouse support is disabled

  644. Rob Swindell
    Tue Dec 14 2021 14:58:35 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_nomoues_traditional_input' into 'master' Better handling of ESC key input if mouse support is disabled See merge request main/sbbs!130

  645. Deucе
    Tue Dec 14 2021 14:04:25 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-moar-objects.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Increase the Cyrptlib object limit from 1024 to 16384 This may fix various out of resources issues. Here's what the source has to say about this number: /* The maximum number of objects. By default we use a fixed limit set to an appropriate large-enough value because the only time anyone that would really be creating thousands of objects is if they're leaking them and setting a fixed limit means this is detected without the code having to run for days or weeks leaking handles, however we allow a dynamically- configurable limit set via CONFIG_NUM_OBJECTS if someone really needs to use vast numbers of objects */

  646. Rob Swindell
    Mon Dec 13 2021 18:22:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/dosxtrn/dosxtrn.c diff
    Simplify the enabling of all the optional interrupt counters for debug

  647. Rob Swindell
    Mon Dec 13 2021 18:22:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    Sync-up the node status flag output with presence_lib.js

  648. Rob Swindell
    Mon Dec 13 2021 18:23:10 GMT-0800 (PST)
    Added Files:
    

    docs/v319_new.txt diff
    List changes since v3.18 (rough draft)

  649. Eric Oulashin
    Sat Dec 11 2021 15:47:48 GMT-0800 (PST)
    Modified Files:
    

    docs/SlyEdit_ReadMe.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_DCTStuff.js diff
    exec/SlyEdit_IceStuff.js diff
    exec/SlyEdit_Misc.js diff
    exec/load/dd_lightbar_menu.js diff
    SlyEdit v1.75: Refactored the quote selection menu and cross-post selection menus to use DDLightbarMenu instead of SlyEdit's own lightbar code. This allowed the elimination of most of the rest of SlyEdit's own lightbar code, reducing the size of SlyEdit.js by about 40Kb. It also provides some consistency in behavior by using a common menu component. Also, to support some additional required behaviors by SlyEdit, added the following 'event' functions to the DDLightbarMenu class: ValidateSelectItem(pItemRetval): For validating that the user can select an item. Takes the item's return value, and returns a bool to indicate whether the item can be selected. OnItemSelect(pItemRetval, pSelected): A function that is called when an item is being selected (or de-selected, when multi-select is enabled). The parameters are the item's return value and a boolean to indicate whether the item was selected or de-selected. Also, added an explicit DoKeyDown() function to DDLightbarMenu to support scrolling the menu down when desired (special case for SlyEdit's quote selection window).

  650. Rob Swindell
    Sat Dec 11 2021 19:31:04 GMT-0800 (PST)
    Modified Files:
    

    docs/SlyEdit_ReadMe.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_DCTStuff.js diff
    exec/SlyEdit_IceStuff.js diff
    exec/SlyEdit_Misc.js diff
    exec/load/dd_lightbar_menu.js diff
    Merge branch 'slyedit_175_crosspost_and_quote_menu_refactor_ddlightbarmenu' into 'master' SlyEdit v1.75: Refactored the quote selection menu and cross-post selection See merge request main/sbbs!128

  651. Deucе
    Thu Dec 09 2021 16:33:01 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-good-sockets.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Sockets over 1024 or below stderr aren't bad, just misunderstood. :(

  652. Eric Oulashin
    Tue Dec 07 2021 20:42:52 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Made a fix (kludge?) to properly write menu items with the check character (multi-selected) in a borderless menu (vs. a menu with borders).

  653. Rob Swindell
    Tue Dec 07 2021 22:24:54 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'ddLightBarMenuMultiSelectDrawFix' into 'master' dd_lightbar_menu: Made a fix (kludge?) to properly write menu items with the check character See merge request main/sbbs!127

  654. Deucе
    Tue Dec 07 2021 12:17:56 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/cl-poll-not-select.patch diff
    Remove check for fd <= FD_SETSIZE This was preventing cryptlib from working with socket descriptors over FD_SETSIZE despite being patched to use poll() to avoid the issue it's protecting against. May fix the various SSH/SSL internal error issues.

  655. Rob Swindell
    Mon Dec 06 2021 15:23:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs3.sln diff
    Don't build sbbsexec.dll by default for debug builds This build is touchy and requires an explicit path to a Win10 SDK directory, so just disable by default for (for debug build). We still want this built by default for CI, which are release builds.

  656. Rob Swindell
    Sun Dec 05 2021 18:42:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Fix FTPS upload failure: !DATA ERROR 0 receiving on data socket Don't treat CRYPT_ERROR_COMPLETE (-24) as a socket error during upload since it's an indication that the remote closed the connection and is the normal "end of file/transfer" indicator, not an error. 'rd' is already 0 in this case, so no need to set at all (since recv() returns 0 upon disconnect and that's what we're emulating here). Fixes issue #309 reported by Jas Hud.

  657. Rob Swindell
    Sun Dec 05 2021 18:08:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sexyz.c diff
    src/sbbs3/xmodem.c diff
    Allow local abort/cancel to abort (more) retries/loops While debugging a SyncTERM upload issue, I came across some scenarios where an out of control file transfer could not be aborted via local key press (e.g. Ctrl-C, Ctrl-Break). We use zm.local_abort for all local abort indications (even for X/YMODEM). <shrug>

  658. Rob Swindell
    Thu Dec 02 2021 20:40:55 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Work around GetVersionEx deprecation warning/error For some reason this deprecation warning is being treated as an error (and only with newer Windows platform SDKs). Just disable this warning for the GetVersionEx line. See https://stackoverflow.com/questions/22303824/warning-c4996-getversionexw-wa s-declared-deprecated for details.

  659. Rob Swindell
    Thu Dec 02 2021 21:03:15 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/sbbsexec.vcxproj diff
    Modified Files:

    src/sbbs3/sbbs3.sln diff
    Add sbbsexec.dll project (again) Regenerated for MSVC2019, the Synchronet virtual UART/FOSSIL driver (VDD) can be built from Visual Studio again (the makevdd.bat can probably go away now). I haven't had an MSVC project to build this DLL since the old MSVC 6.0 sbbsexec.dsp file. A few oddities about this project: 1. xpdev files had to directly included/compiled in this project rather than linking with the xpdev_mt.lib because __stdcall calling convention is required for compatibility with ntvdm.lib and xpdev_mt.lib is built using __cdecl calling convention (the default). Rather than re-introducing the calling convention game-playing that I just recently removed (e.g. #define DLLCALL), just build the required xpdev files directly as part of this project. Perhaps there is a more elegant solution that I'll revisit later. 2. The absolute path of my install Windows 10 SDK directories had to be specified (for include and library paths) to find vdd_svc.h and ntvdm.lib. Weird thing is that I didn't have to do anything hacky like this with the command-line/batch file build method. Again, there's probably a better solution I'm not seeing. But as is, this project might not build on other systems. So why use this rather than the brute-force batch file (makevdd.bat)? Well, this should be a little easier to get into CI/nightly builds and the resulting release build was 30KB (instead of 150KB), so that's good. Before: 1AA00 size of code AA00 size of initialized data 0 size of uninitialized data After: 4C00 size of code 2A00 size of initialized data 0 size of uninitialized data Those default DLL project build options include some good optimization flags apparently.

  660. Rob Swindell
    Tue Nov 30 2021 22:52:03 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/dosxtrn/dosxtrn.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsexec.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/vdd_func.h diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    Removed Files:

    src/sbbs3/execvxd.h diff
    src/sbbs3/execvxd/c.bat diff
    src/sbbs3/execvxd/debugout.h diff
    src/sbbs3/execvxd/makefile diff
    src/sbbs3/execvxd/sbbsexec.cpp diff
    src/sbbs3/execvxd/sbbsexec.h diff
    src/sbbs3/execvxd/sbbsexec.vrc diff
    Remove the last remnants of Win9x/Me support Allow "FOSSIL Only" as a configuration option for external programs in SCFG. This is a much easier method of disabling the virtual UART support in the Virtual UART/FOSSIL device driver (if/when necessary) than editing the sbbsexec.ini file (which is still supported).

  661. Rob Swindell
    Tue Nov 30 2021 19:14:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsexec.c diff
    The sem_wait() call was just a bad idea after-all The sem_wait() call from vdd_read() that was fixed in the previous commit to this file was a bad idea to begin with: There is (often) not a 1:1 ratio of bytes in the receive ring buffer and the semaphore count, so we'd often halt here waiting for the semaphore to be signaled even though there were still characters in the receive buffer. This caused (new) stalls/hangs in keyboard input in DOS door games. We didn't see this previously because the sem_wait() call just didn't work (wrong semaphore pointer value). Now, call sem_trywait_block() in vdd_read(), but only if the RingBufRead() returned 0 (no bytes read) and even then, only block/wait for a maximum of 30 seconds (same as X00 FOSSIL driver). This blocking behavior is specified for FOSSIL function 02h (Get received character with wait) and would not have worked previous to the previous "fix", so now we have that corrected behavior too. The FTSC spec says the wait is indefinite, but I think a 30 second timeout (ala X00) is more reasonable. Log the git brach/hash instead of the old CVS revision. GetMailSlotInfo() apparently always fails on Windows 7 with error 87 (even using Microsoft's own sample code), so lower the log message severity of that failure from ERR to DEBUG. Apparently this is pretty harmless anyway as nothing really needs the write-mailslot status. <shrug>

  662. Rob Swindell
    Tue Nov 30 2021 19:25:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/dosxtrn/dosxtrn.c diff
    src/sbbs3/fossdefs.h diff
    Fix some FOSSIL functions Function 0Ch (peek) never worked correctly (character was not returned in AX); I guess nothing uses this function (?). Function 01h (transmit char w/wait) now will set the timeout flag (0x8000) in the AX if the VDD_WRITE function fails (returns value other than 1). Optimize Function 18h (read block) - no need for the extra VDD_STATUS call. Use newly defined FOSSIL macros instead of magic numbers of port status bits. Log the git branch/hash values to the Windows debug log (via sbbsexec.dll).

  663. Rob Swindell
    Tue Nov 30 2021 18:47:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    Add a debug line when wrapping split-screen chat lines. Is this the point when the lost chars problem happens?

  664. Rob Swindell
    Mon Nov 29 2021 19:53:45 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/dosxtrn/.gitignore diff
    Modified Files:

    src/sbbs3/.gitignore diff
    Ignore sbbsexec.dll and dosxtrn.exe build artifacts.

  665. Rob Swindell
    Mon Nov 29 2021 19:39:00 GMT-0800 (PST)
    Modified Files:
    

    install/GNUmakefile diff
    Fix typo in condition (if linux) for setting the SETCAP/setcap target As reported via irc by Nelgin, the setcap target was not being passed to 'make -C src/sbbs3' by default (on Linux) due to a misplaced paren.

  666. Rob Swindell
    Mon Nov 29 2021 18:28:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ringbuf.h diff
    Finally get rid of RINGBUFCALL (finish what was started in April of this year) Missing part of commit 4da964dd8ff83256df5755e525a0f3f42b1f30d3

  667. Rob Swindell
    Mon Nov 29 2021 18:28:45 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/makevdd.bat diff
    A batch file to build SBBSEXEC.DLL (may or may not require NTDDK?) Using options (e.g. RINGBUF_MUTEX) from old sbbsexec.dsp

  668. Rob Swindell
    Mon Nov 29 2021 18:40:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/dosxtrn/dosxtrn.c diff
    src/sbbs3/sbbsexec.c diff
    src/sbbs3/xtrn.cpp diff
    Add support for NTVDMx64 Yes, you can run 16-bit DOS doors on 64-bit (x64) Windows now. Install NTVDMx64 (http://www.columbia.edu/~em36/ntvdmx64.html, it's not as onerous as it sounds) and re-enable DOS program support in SBBS (i.e. make sure "NO_DOS" is not in your sbbs.ini [bbs] Options value) and voila: DOS doors work. This change adds an empty init routine to sbbsexec.dll since older versions of NTVDM (which NTVDMx64 is based on) required one. Also, the sbbsexec.dll should be located in your Synchronet "exec" directory when using NTVDMx64 (in addition to or instead of your Windows/System32 directory).

  669. Rob Swindell
    Mon Nov 29 2021 18:02:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsexec.c diff
    Fix sem_wait() call in vdd_read() Introduced in Revision 1.16 (CVS) Wed May 10 08:52:11 2006 UTC (15 years, 6 months ago) by rswindell This was supposed to wait (block) until there was a new received byte (the ringbuf semaphore was signaled), but we were passing the sem_t value rather than the pointer to the sem_t. Since sem_t (on Windows) is a HANDLE (which is a void*), there was no compiler warning or error. Type-safety in C sucks. So, this just never worked (I'm assuming the call would just fail). I discovered this bug while working on NTVDMx64 support and in that case, this call would block/wait forever. Simple one character fix.

  670. echicken
    Sat Nov 27 2021 20:22:22 GMT-0800 (PST)
    Modified Files:
    

    xtrn/bullshit/bullshit-lib.js diff
    Don't crap out if [files] section empty or missing.

  671. echicken
    Sat Nov 27 2021 20:06:44 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    FWebSocketHeader should just be a bare object.

  672. echicken
    Thu Nov 25 2021 20:49:26 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    Case-insensitive search for headers in ShakeHands. Some proxies like to mangle these unless you tell them not to. Capture the value of the X-Forwarded-For header, if present, and stash it in FWebSocketHeader['X-Forwarded-For'].

  673. echicken
    Thu Nov 25 2021 21:05:24 GMT-0800 (PST)
    Modified Files:
    

    exec/load/ftelnethelper.js diff
    Added UsingHAProxy() function to this here funclib dot js

  674. echicken
    Thu Nov 25 2021 21:07:40 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    If BBS is using HAProxy ([BBS] Options line has HAPROXY_PROTO) then throw an error if X-Forwarded-For header was not received, or otherwise do the HAProxy thing upon connecting.

  675. echicken
    Thu Nov 25 2021 21:10:52 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    Avoid spurious connections to the terminal server - and some other unnecessary work - if the BBS is using HAProxy but we can't do the thing with the stuff because we don't have the things.

  676. echicken
    Thu Nov 25 2021 22:20:59 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    Added inet_pton function borrowed from the internet. Added incomplete send of haproxy protocol header. Need to sort out lookup of target (BBS) IP address.

  677. echicken
    Thu Nov 25 2021 22:34:33 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    Hurr. But also, this needs some revision since I'm supposed to send the header all at once and probably shouldn't be doing a bunch of individual sendBin calls.

  678. echicken
    Thu Nov 25 2021 22:43:59 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    Build protocol header as string and send all in one big barforama.

  679. echicken
    Fri Nov 26 2021 05:34:16 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    Use client address from header

  680. echicken
    Fri Nov 26 2021 05:38:20 GMT-0800 (PST)
    Modified Files:
    

    exec/websocketservice.js diff
    Address family must occupy bytes 15 & 16

  681. echicken
    Thu Nov 25 2021 19:41:24 GMT-0800 (PST)
    Modified Files:
    

    exec/presence-service.js diff
    Changed the format of some messages.

  682. Rob Swindell
    Tue Nov 23 2021 21:14:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/dosxtrn/dosxtrn.c diff
    Implement FOSSIL function 0Dh (Keyboard read without wait) As a work around for TradeWars 2 (v11.14 and v11.20) FOSSIL support: This door game would never call the FOSSIL "get received character" function (02h) . But I did notice that it was calling the "Keyboard read" functions. I never implemented the "Keyboard read" functions (figured the door game could read the keyboard itself if it wanted to), but appparently TW2 won't ever read the COM port (using function 02h) unless the Keyboard read function returns AX=0xFFFF (no keyboard data available). So now, I just do that and TW2 works (with FOSSIL I/O). Incremented the revision to 26. Logging the Git branch/hash and other helpful FOSSIL-debug stuff now.

  683. Rob Swindell
    Tue Nov 23 2021 19:54:44 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    Continuation of previous commit (support for UART-only doors on Windows) Needed the actually mapping of XTRN_UART -> EX_UART mode flag here.

  684. Rob Swindell
    Tue Nov 23 2021 14:32:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/execvxd.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgchat.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/xtrn.cpp diff
    Allow FOSSIL mode of the Win32 virtual UART/FOSSIL driver to be disabled When configuring an external program, a Win32 sysop can now choose to *only* enable the virtual UART (and not the FOSSIL driver) feature of the Synchronet virtual UART/FOSSIL driver (dosxtrn.exe/sbbsexec.dll). Some programs (e.g. TradeWars 2) will always use the FOSSIL driver if one is detected and in order to force the use of COM/UART driver for I/O (if that is desired), then one must disable the FOSSIL driver. It's a rare use case, but I can see the potential need. Renamed the "Intercept I/O" option in SCFG to "I/O Method" and make it clear that "Socket" (for native programs) and "FOSSIL or UART" (for 16-bit DOS programs) is the default method (what was previously identified as "No" I/O Interception). If a sysop want to disable the virtual UART support (on Win32, e.g. so *only* FOSSIL is available to one or all DOS programs), they do that via their sbbsexec.ini file.

  685. Rob Swindell
    Mon Nov 22 2021 20:52:14 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    MSVC 1.5c defines _MSDOS, not __MSDOS__ This change needed to build dosxtrn.exe (again).

  686. Rob Swindell
    Mon Nov 22 2021 20:53:01 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/dosxtrn/make.bat diff
    Added helpful reminder remark to build this old beast

  687. Rob Swindell
    Thu Nov 18 2021 17:37:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Resolve gcc warning warning: format ‘%lx’ expects argument of type ‘long unsigned int’

  688. Rob Swindell
    Thu Nov 18 2021 13:36:44 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Add All and ListKey strings.

  689. Rob Swindell
    Thu Nov 18 2021 13:35:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/email.cpp diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/getstr.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/writemsg.cpp diff
    Add text.dat lines for "All" and the List key ('L'), used in quoting The internal line editor's quoting feature add some hard-coded strings ("Done" and "All") and the (L)ist key was hard-coded. Use the text.dat string (new and pre-existing) for these now. Also, use the new sbbs_t *_key() methods for referencing the configured key bindings (via text.dat) for these common key-stroke commands. Convert the text.dat strings for keys (e.g. YNQP) to uppercase always as well.

  690. Rob Swindell
    Wed Nov 17 2021 18:36:02 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Part of previous commit: new text strings for msg/file scan config prompt/keys

  691. Rob Swindell
    Wed Nov 17 2021 18:32:40 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scansubs.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    Make msg/file scan configuration prompts and keys configurable For localization purposes, no more hard-coded text strings or characters in the new-file and file scan configuration menus. This change fixes issue 232. A Hungarian sysop also requested this change via Facebook not long ago.

  692. Rob Swindell
    Wed Nov 17 2021 18:03:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfgdefs.h diff
    src/sbbs3/ssl.c diff
    Don't use time_t in scfg_t definition sbbsctrl.exe is built with Borland C++ still which only has a 32-bit time_t, so to keep the scfg_t definition compatible between MSVC and Borland builds, use time32_t (32-bit time_t) values only. This fixes the reported sbbsctrl.exe error: Error loading configuration cfg->size (23944) != sizeof(scfg_t) (23952) Introduced in commit e535aaac. Reported via DOVE-Net by Daryl Stout (TBOLT), confirmed by Nightfox (DIGDIST).

  693. Rob Swindell
    Tue Nov 16 2021 18:20:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Include twit-listed sender name in quotes in log message Since mail server log messages have their white-space condensed, it was not obvious why some sender's name would match a twitlist.cfg line that filters names beginning with a space: "\ *" because the initial space of the sender's name was condensed/combined with space before it in the log message.

  694. Rob Swindell
    Mon Nov 15 2021 21:29:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/qwktomsg.cpp diff
    Initialize time zone variable (zone) As found and reported by Talisam author, apam (HAPPYLND). sscanf() won't initialize the buffer of the argument passed if the format string is not matched, so when there was no hexadecimal/SMB timezone value, the timezone specified in the ISO date/time string (if any) would be overwritten with 0, converted from the uninitialized 'zone' variable (unlikely to be valid hex-ASCII chars). Thanks apam!

  695. Rob Swindell
    Mon Nov 15 2021 21:11:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/qwk.cpp diff
    src/sbbs3/sbbsecho.c diff
    Add support for "name@address" syntax in twitlist.cfg where "address" is a QWKnet ID or path or a FidoNet originating address. Wildcards can be used (e.g. "*@VERT"). For Trikester.

  696. Rob Swindell
    Mon Nov 15 2021 17:58:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/xtrn.cpp diff
    Add command-line specifier for user's real name (auto-quoted) %+ will now expand to the current user's real name, automatically enclosed in quotes if it contains any spaces.

  697. Rob Swindell
    Fri Nov 12 2021 14:07:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Generate a MSGID kludge for netmail messages created by SBBSecho The "serialno" field is a bad/naive one (a time_t value), but this is really just an experiment for Ragnarok to see if this fixes issue #306 (with hotdoged receiving AreaFix responses/notices).

  698. Rob Swindell
    Thu Nov 11 2021 19:03:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/upload.cpp diff
    Fix sbbsfile.nam contents: contained file's description instead of name Found during review of previous commit. Introduced as part of the new file base branch merge (commit fcf58640).

  699. Rob Swindell
    Thu Nov 11 2021 18:37:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Log an error and exit immediately when a local linked-node is configured When a linked-node (in echocfg->Linked Nodes) contains one of the local system's FTN addresses, display/log an error and exit immediately, e.g.: Configuration ERROR: Linked node #20 is your own address: 1:103/705 I'd perform this check in EchoCfg, but: 1. echocfg doesn't read the BBS's configuration files (where the local FTN addresses are configured), and 2. some sysops just directly edit their sbbsecho.ini file

  700. Rob Swindell
    Thu Nov 11 2021 18:43:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    src/sbbs3/upload.cpp diff
    Don't write uploaded filename and description to env variables Environment variables are shared among all threads of a process (e.g. all nodes of a instance of sbbs), so this scheme of passing the uploaded filename and description to an external file tester (upload processor) via environment variables has always been fraught with the possibility of failure or flakiness in Synchronet v3. Since I very much doubt that any upload processor is actually using this scheme, just remove it. Upload processors can and should)use the sbbsfile.nam and sbbsfile.des text files created in the node directory instead.

  701. Deucе
    Sun Nov 07 2021 23:24:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfgdefs.h diff
    src/sbbs3/ssl.c diff
    Keep track of certificate file timestamp and reload if it has changed With the old method, it was possible for a certificate to remain used eternally, and letsyncrypt.js can change it relatively often.

  702. Rob Swindell
    Sun Oct 31 2021 16:37:43 GMT-0700 (PDT)
    Modified Files:
    

    src/encode/utf8.c diff
    src/xpdev/unicode_defs.h diff
    Re-synchronize utf8_getc/putc with OpenSSL 3.0 Now correctly rejects UTF-8 encoded Unicode surrogates and does not support 5 and 6 byte UTF-8 encodings. For reference: https://github.com/openssl/openssl/commit/ba64e5a92a6f009e311ad1 c3565817820a1632a4

  703. Rob Swindell
    Fri Oct 29 2021 19:08:55 GMT-0700 (PDT)
    Modified Files:
    

    exec/rlogin.js diff
    Allow the client-name, server-name, and term-type to be passed as arguments Optional, for easier use with game servers that take one of the 3 rlogin negotation parameters as the name/code of the door to execute. A telgate mode flag value argument must be provided (use 0 for default behavior) if you want to provide any of the other arguments to override the defaults (the user's alias, real name, and current detected terminal type).

  704. Rob Swindell
    Sat Oct 23 2021 10:06:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    Fix segfault after batch-upload when no "uploads" dir specified When there's no "uploads" directory configured by the sysop, cfg.upload_dir will be set to INVALID_DIR, which cannot be used as an index into cfg.dir[] to determine if the time used for uploading the files should be "given back" to the user. In v3.18, we used the first file in the upload queue, if there was one, else fell back to the "uploads" dir (which had to have been defined if there were no files in the queue). So this illegal array indexing was a regression in v3.19. Reported by Zoltán Gábor on Facebook

  705. Rob Swindell
    Tue Oct 19 2021 12:42:49 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Replace $(DIRSEP) with '/' to make this file easier to view/edit We don't support platforms where '/' doesn't work as a path element separator.

  706. Rob Swindell
    Tue Oct 19 2021 12:46:33 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Replace some apparently errant double-slashes with single-slash

  707. Rob Swindell
    Tue Oct 19 2021 12:55:56 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/cl-linux-yield.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Use shed_yield() instead of pthread_yield() on Linux Per https://man7.org/linux/man-pages/man3/pthread_yield.3.html This call is nonstandard, but present on several other systems. Use the standardized sched_yield(2) instead. Should fix #299.

  708. Rob Swindell
    Tue Oct 19 2021 11:21:39 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/genwrap.h diff
    Don't use the deprecated pthread_yield() function Per https://man7.org/linux/man-pages/man3/pthread_yield.3.html This call is nonstandard, but present on several other systems. Use the standardized sched_yield(2) instead. Should fix #299.

  709. Randy Sommerfeld
    Fri Oct 15 2021 23:27:15 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/unregistered.js diff
    Don't count unregistered clients

  710. Randy Sommerfeld
    Fri Oct 15 2021 18:18:12 GMT-0700 (PDT)
    Modified Files:
    

    exec/ircd.js diff
    exec/load/ircd/core.js diff
    Move ircd 1.9 out of beta in anticipation of Synchronet 3.19

  711. Randy Sommerfeld
    Wed Oct 13 2021 16:22:05 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/core.js diff
    Bump connect delay from 1s to 10s, thanks to keyop for testing!

  712. Randy Sommerfeld
    Tue Oct 12 2021 22:37:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/ircd.js diff
    exec/load/ircd/core.js diff
    Only allow one outbound CONNECT at a time

  713. Rob Swindell
    Wed Oct 06 2021 18:37:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    When packing netmail (stored messages), don't discard non-zero zones As reported by Ragnarok (DOCKSUD) via DOVE-Net, when packing (packetizing) netmail messages, the source and destination zones from the netmail header were discarded (since they are defined as "optional" in FTS-1) and the zone values were replaced with the system's primary/default zone number. If the netmail message included an INTL kludge, the source and destination zone values would be parsed from that kludge line and this issue would not be noticed. So the fix is: Only if the netmail message header contains a source or destination zone number of 0, replace that zone with the system's primary/default zone number. As before, the INTL kludge zone information can override the header fields. Also, there's no reason to force the point numbers from the header to zero, since if they were not valid (e.g. "fill" in the original FTS-1 specification), they would be already zero. So use the source and destination point numbers, as is, from the netmail header too (with the FMPT and TOPT kludge override support left in-tact).

  714. Rob Swindell
    Wed Oct 06 2021 18:10:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/pktdump.c diff
    Print "All good" or "All bad" when trying to recover or split a packet At Nelgin's suggestion, if all the messages in a packet are either good or bad, say so (since no .good or .bad file will be generated in that case).

  715. Rob Swindell
    Wed Oct 06 2021 00:38:17 GMT-0700 (PDT)
    Modified Files:
    

    text/menu/chat.msg diff
    text/menu/maincfg.msg diff
    text/menu/qwk.msg diff
    text/menu/xfercfg.msg diff
    Fix PETSCII display of this menu's title/tab

  716. Rob Swindell
    Tue Oct 05 2021 23:46:44 GMT-0700 (PDT)
    Modified Files:
    

    text/menu/e-mail.msg diff
    Fix PETSCII display of this menu's title/tab

  717. Rob Swindell
    Tue Oct 05 2021 23:42:33 GMT-0700 (PDT)
    Added Files:
    

    text/menu/mailread.msg diff
    text/menu/sysmailr.msg diff
    Removed Files:

    text/menu/mailread.asc diff
    text/menu/sysmailr.asc diff
    Make 40-column happy versions of mail reading menu (and sysop sub-menu) Renamed from .asc to .msg for PabloDraw convenience.

  718. Rob Swindell
    Tue Oct 05 2021 21:08:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    New @-codes SEX and GENDERS SEX is the user's sex/gender GENDERS is the list of system-supported genders for new users to choose from.

  719. Rob Swindell
    Tue Oct 05 2021 22:05:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    New @-code: !x to perform Ctrl-A style terminal/attribute control Most Ctrl-A code terminal/attribute effects can now be invoked via @!x@ where x is one or more Ctrl-A sequence operands (e.g. @!B@ to set the current attribute to blue, @!P@ to pause the terminal). Multiple attribute codes may be specified in a single @!x@ sequence. Both upper and lowercase attribute codes are supported. The "^A@" sequence is not supported, but there's already an @-code to perform the equivalent operation ("SHOW:20"). Rationale: when using PabloDraw to edit display (e.g. .msg) files, there was no easy way to explicitly clear (set to "normal") the current attributes at the end of a line of text. If that line of text contained a background color and the line caused the terminal to scroll, that background color would fill the next/new line resulting in some potential undesirable effects. There are 2 common solutions to this problem: either clear the screen before displaying the file (not always desirable) or clear the attributes at the end of the line (before the CR/LF). This can now be achieved by adding a @!N@ (the equivalent of Ctrl-AN for "normal" attributes) to the end of a line. There's no way to insert custom Ctrl-A sequences or other way to force PabloDraw to clear the attributes at the end of a line, that I found. I chose the '!' character because it's (on my keyboard anyway) the Shift-1 key and Ctrl-A is ASCII 1. I considered a sequence such as @A:x@, but that's one more character and since this sequence usually won't display anything, a shorter sequence is likely preferred. For the shortest-possible sequence, use Ctrl-A sequences instead. However, for many consecutive Ctrl-A sequences, the @-code equivalent might actually end up being shorter(!). @-codes aren't support in as many places in Synchronet where Ctrl-A codes are supported (for security reasons), so it's not like this is going to replace the use of Ctrl-A codes everywhere.

  720. Rob Swindell
    Tue Oct 05 2021 17:07:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fmsgdump.c diff
    src/sbbs3/pktdump.c diff
    Don't append the stale static string in fmsgattr_str() When this function was called multiple times (e.g. multiple messages in a pkt), it would keep appending to the current (static) string, eventually overflowing the buffer and corrupting the stack. Although reported in pktdump, it could have also happened with fmsgdump if passed multiple stored message (.msg) files. Fixes #295 reported by Nelgin

  721. Rob Swindell
    Mon Oct 04 2021 20:14:30 GMT-0700 (PDT)
    Modified Files:
    

    text/menu/multchat.msg diff
    Remove the invisible (black on black) dots I added them to solve the ANSI screen scroll background attribute fill-new line issue as I didn't want this menu to clear the screen (there could be chat lines of text after all). If this file gets edited with PabloDraw again later, this will have to be fixed again.

  722. Rob Swindell
    Mon Oct 04 2021 20:09:41 GMT-0700 (PDT)
    Added Files:
    

    text/menu/multchat.msg diff
    40-column friendly version of the (now defunct) multchat.asc menu.

  723. Rob Swindell
    Mon Oct 04 2021 20:10:28 GMT-0700 (PDT)
    Removed Files:
    

    text/menu/multchat.asc diff
    Removed in favor of the new multchat.msg

  724. Rob Swindell
    Thu Sep 30 2021 21:57:06 GMT-0700 (PDT)
    Added Files:
    

    text/menu/main.40col.msg diff
    text/menu/transfer.40col.msg diff
    Rename the 40col menus from .asc to .msg so they appear for CBM/PETSCII terms The menu file selection priority is like this (for 40col CBM/PETSCII terminals): main.40col.seq main.seq main.40col.msg main.msg main.40col.asc main.asc so the main.msg was being chosen before main.40col.asc. Plus, these files contain ex-ASCII chars, so .msg is actually the more correct file extension anyway.

  725. Rob Swindell
    Sat Sep 25 2021 15:02:38 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    EnterYourSex -> EnterYourGender Uses new @code: GENDERS parts of enhancement #291

  726. Rob Swindell
    Sat Sep 25 2021 14:57:56 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/useredit.cpp diff
    Allow sysop to configure new user gender options (not just M/F) Up to 40 characters can be configured by the sysop for gender options. The default choice/configuration is now: "M/F/X" (not just "M/F") New @-code: GENDERS text.dat EnterYourSex -> EnterYourGender Closes enhancement request #291 by Ragnarok

AuthorCommitsLatest
Rob Swindell594Tue May 24 2022 21:58:34 GMT-0700 (PDT)
Eric Oulashin35Tue May 17 2022 12:47:01 GMT-0700 (PDT)
Randy Sommerfeld15Mon Apr 25 2022 23:58:23 GMT-0700 (PDT)
Deucе60Tue Apr 19 2022 09:32:10 GMT-0700 (PDT)
Stephen Hurd1Tue Apr 12 2022 13:48:10 GMT-0700 (PDT)
Eugene So4Tue Mar 15 2022 10:06:34 GMT-0700 (PDT)
Deon George1Thu Feb 24 2022 18:50:33 GMT-0800 (PST)
echicken15Thu Feb 24 2022 06:10:37 GMT-0800 (PST)
sysop1Tue Dec 21 2021 16:36:31 GMT-0800 (PST)

For older commits (in CVS), click here

Dynamically generated in 719 milliseconds