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. Deucе
    Thu Oct 24 2024 22:20:05 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Deal with more windows console braindeadedness. The window and the screen buffer are two different things... the screen buffer must always be the same size as or larger than the window. Further, there are times where it's not possible to resize the windown programatically (new terminal for example). There still appears to be a stupid bug in what I assume is the Windows Terminal LCF flag implementation which causes writes to the beginning of a line that occur after a write to the end of the previous line to be in the wrong position. If it's not the LCF flag (which isn't turned on), it's in their wrapping thing which is extra irritating since I explocitly turn that off.

  2. Deucе
    Thu Oct 24 2024 20:34:01 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    Fix ANSI_KEY_PGDN definition. Likely still not right though.

  3. Deucе
    Thu Oct 24 2024 20:34:38 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Some more Win32 Terminal fixes Almost there, the main issue remaining is when running from a command-line, it sometimes "unwraps" lines.

  4. Deucе
    Thu Oct 24 2024 18:41:12 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Keep a local copy of the screen for windows Because it screws up the display when you resize the window.

  5. Rob Swindell (on Debian Linux)
    Thu Oct 24 2024 14:02:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_msg_area.c diff
    Clarify in docs that grp/sub/lib/dir numbering is zero-based

  6. Rob Swindell (on Debian Linux)
    Thu Oct 24 2024 14:00:01 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Add misisng parens from previous commit

  7. Rob Swindell (on Debian Linux)
    Thu Oct 24 2024 13:57:28 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Use 1-based group and lib numbers for optional subs* and dirs* menu files This was a bug in the conversion from Baja and C++ to JS. Discovered/reported by vela025

  8. Rob Swindell (on Debian Linux)
    Thu Oct 24 2024 12:14:04 GMT-0700 (PDT)
    Added Files:
    

    src/sexpots/.gitignore diff
    Git-ignore auto-generated files: git_branch.h and git_hash.h

  9. Rob Swindell (on Debian Linux)
    Thu Oct 24 2024 12:14:04 GMT-0700 (PDT)
    Modified Files:
    

    exec/init-fidonet.ini diff
    Fix the 404 error retrying Micronet info packet (MININFO.ZIP not mininfo.zip) I'm not sure if the file was renamed at some point or what, but apparently it's currently named in ALL CAPS.

  10. Rob Swindell (on Debian Linux)
    Thu Oct 24 2024 12:14:04 GMT-0700 (PDT)
    Modified Files:
    

    exec/init-fidonet.js diff
    Pass the ctrl directory on the SCFG command-line Fixes issue were jsexec was used to invoke this script and a ctrl dir (different than the contents of the SBBSCTRL env var) was passed on the command-line (i.e. testing purpose). Use the correct ctrl directory. Create the data/text directory if it doesn't already exist. This dir is normally created whenever SBBS is run, so it should normally already exist, but if someone runs this script via jsexec before (ever) running sbbs, then it's possible the data/text directory does not yet exist.

  11. Deucе
    Thu Oct 24 2024 11:59:11 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/telnets.c diff
    src/syncterm/telnets.h diff
    Fix telnets This was broken when SFTP support was added and wasn't noticed. Big thanks to Scott Labrecque of ems-bbs.com for noticing!

  12. Deucе
    Thu Oct 24 2024 10:07:28 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/conn.c diff
    Fix telnets port.

  13. Deucе
    Thu Oct 24 2024 08:18:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Deal with consile resizing This doesn't fix the terrible crap Windows does to the contents of the console yet though (sigh).

  14. Deucе
    Thu Oct 24 2024 07:10:39 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    <nelgin> Wont crash if it wont build.

  15. Rob Swindell (on Debian Linux)
    Wed Oct 23 2024 19:36:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/sbbs.h diff
    Make JS bbs.msg_number and smb_curmsg writable These 2 properties, specifically, could be made writable since 1. smb_t.curmsg is a special element owned by the application, not smblib 2. a special sbbs_t.current_msg_number property could be created/used to underlie the bbs.msg_number when there's no open message base (by sbbs). This might be all that's needed to resolve issue #793 The other bbs.msg_* and bbs.smb_* properties are not so easily made writable, so hopefully that's not desired.

  16. Deucе
    Wed Oct 23 2024 17:50:35 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Some fixups to not crash and stuff.

  17. Deucе
    Wed Oct 23 2024 14:01:42 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    The MSVC builds apparently target some ancient API So we need to define the Windows API ourselves. :(

  18. Deucе
    Wed Oct 23 2024 13:20:47 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    src/syncterm/CHANGES diff
    Fix -iW colors in conio. SetConsoleScreenBufferInfoEx() can no longer set colors in the console palette. Switch to virtual terminal parsing stuff and send some ANSI to adjust the palette instead.

  19. Rob Swindell (on Debian Linux)
    Wed Oct 23 2024 12:00:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chksmb.c diff
    Update chksmb usage (msg/file bases have .shd files, not .SHD) And try to make it clear that multiple bases can be passed on the command-line.

  20. Deucе
    Wed Oct 23 2024 11:13:59 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Log the changes.

  21. Deucе
    Wed Oct 23 2024 11:23:58 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Attempt to re-enable palette setting on Win32 This was disabled due to mingw32 limitations, and we use mingw64 now

  22. Rob Swindell (on Debian Linux)
    Wed Oct 23 2024 10:57:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getmsg.cpp diff
    src/sbbs3/sbbs.h diff
    Don't use user's default download protocol for msg attachments Fix issue #801

  23. Deucе
    Wed Oct 23 2024 09:35:30 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Fix some remains of input weirdness... Now that the conio layer is handling translation of character sets, the key handler in term.c should only handle terminal related translations (such as backspace to delete). This fixes bug 159, but there's still some inconsistency across the various backends on how they handle C0 control characters and input characters outside of US-ASCII.

  24. Rob Swindell (on Debian Linux)
    Tue Oct 22 2024 22:13:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Add contains_invalid_attr() - checks string for invalid attr Ctrl-A codes Other Ctrl-A codes (e.g. ^A\) might be valid, but they're not attribute control codes, so their existence would cause this function to return true.

  25. Rob Swindell (on Debian Linux)
    Tue Oct 22 2024 22:13:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getkey.cpp diff
    Expand tildes in mnemonics strings that conain non-attr Ctrl-A codes Fix for issue #800

  26. Deucе
    Tue Oct 22 2024 21:42:42 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    src/conio/xbr.c diff
    src/syncterm/syncterm.c diff
    Rejigger width iterpolation. The old code expected the L1 cache to be fairly large, and the prefetcher to be fairly smart, and did updates by columns to save some math. This change performs width interpolation row-by-row so even the dumbest prefetcher can get it right, and there's no need to keep the whole source and destination images in the cache. This may help out older processors when scaling with interpolation (most commonly used in fullscreen). It's entirely possible though that this won't be enough and they'll still need to use "External" scaling.

  27. Rob Swindell (on Debian Linux)
    Tue Oct 22 2024 17:19:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    IP addresses are logged (most) everywhere else in square brackets There are still places where it could be logged in <> (if username is not yet known).

  28. Rob Swindell (on Windows 11)
    Tue Oct 22 2024 17:13:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ansiterm.cpp diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/prntfile.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/useredit.cpp diff
    Rename sbbs_t::ansi_getlines() to ansi_getdims(), add sbbs_t::getdimensions() Add JS console.ansi_getdims() Use sbbs_t::getdimensions() or JS console.getdimensions() to move user cols/rows values to run-time console values (querying ANSI terminal if appropriate/supported). JS console.pushxy(), popxy(), and gotoxy() all return Boolean now. sbbs_t::getdimensions() and its JS wrapper is now the proper way to propagate user's cols/rows settings to the run-time console values. This was done (post-login) only via use of the TERMROWS and TERMCOLS @-codes in user_settings.js. Weird.

  29. Deucе
    Tue Oct 22 2024 16:00:23 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    src/conio/xbr.c diff
    src/conio/xbr.h diff
    src/syncterm/CHANGES diff
    Remove cases where pointy falls back to blocky.

  30. Deucе
    Tue Oct 22 2024 14:34:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    Don't use the C99 restrict keyword because MSVC is apparently still more than 25 years behind the C standard.

  31. Deucе
    Tue Oct 22 2024 14:14:55 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Attempt to fix issue #799 receive_thread() needs to use the control session correctly for TLS connections.

  32. Deucе
    Tue Oct 22 2024 13:51:24 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    Decorate some arguments to allow compiler to optimize harder

  33. Rob Swindell (on Debian Linux)
    Mon Oct 21 2024 22:01:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    Add NO_FTPS [FTP] Option to disable FTPS support when necessary Ideally, a sysop would never need to disable FTPS support, but as a trouble shooting measure, it can be helpful.

  34. Rob Swindell (on Debian Linux)
    Mon Oct 21 2024 16:10:05 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Add a bunch of conditional line continuations for 40 column terminals Using Ctrl-A\ (\1\\) in a bunch of text strings (especially prompts) to better accommodate 40 column terminals. Fixes email/netmail address prompt issue reported by phigan (TACOPRON) along with a bunch of other cosmetic and input issues with 40col terminals.

  35. Rob Swindell (on Debian Linux)
    Mon Oct 21 2024 11:32:04 GMT-0700 (PDT)
    Modified Files:
    

    exec/rlogin.js diff
    The P, C, and v options would report 'unrecognized option' Fix for issue #798

  36. Deucе
    Mon Oct 21 2024 09:13:41 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/updvers.sh diff
    Fix script to update Info.plist properly. We need -g to do multi-line matching with -p.

  37. Deucе
    Sun Oct 20 2024 17:59:48 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/syncterm/CHANGES diff
    Fix macOS mouse position reporting Under SDL2, with HighDPI enabled, we end up with two coordinate systems for our window... there's the pixel coordinates which we draw in, and are available via SDL_GetWindowSizeInPixels(), and there's the "screen" coordinates, which is an underlying source size that is scaled from, and is available via SDL_GetWindowSize(). Mouse events are in the screen coordinates, drawing is in pixel coordinates. This commit converts mouse event positions to pixel coordinates before converting further to text coordinates. :( A specual thanks to u/ten-oh-four for working to track this down with me, they ran multiple experimental builds and collected logs which allowed to to be tracked down. Fixes issue 155

  38. Deucе
    Sun Oct 20 2024 14:51:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_cryptcon.c diff
    Seriously, Poly1305 is not HMAC.

  39. Deucе
    Sun Oct 20 2024 14:31:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_cryptcon.c diff
    Add a couple commas for the docs.

  40. Deucе
    Sun Oct 20 2024 14:25:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_cryptcon.c diff
    Poly1305 isn't HMAC.

  41. Deucе
    Sun Oct 20 2024 14:15:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_cryptcon.c diff
    Add new algorithms.

  42. Eric Oulashin
    Sat Oct 19 2024 16:23:26 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit.js diff
    SlyEdit: Open the quote file in "binary" mode (only applicable on Windows; same as the fseditor change)

  43. Rob Swindell
    Sat Oct 19 2024 16:23:26 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit.js diff
    Merge branch 'slyedit_open_quote_file_in_binary_mode' into 'master' SlyEdit: Open the quote file in "binary" mode (only applicable on Windows; same as the fseditor change) See merge request main/sbbs!462

  44. Deucе
    Sat Oct 19 2024 10:56:14 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/conio/sdlfuncs.c diff
    src/conio/sdlfuncs.h diff
    More hacking to make macOS happy... Allow ALT+Arrow to resize from maximized by calling SDL_RestoreWindow() first. This should allow macOS users to escape the weird window size mess it can start in. Still no idea what is actually happening there, but this should at least provide an "out" now. :(

  45. Deucе
    Sat Oct 19 2024 11:10:41 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Add call to update_cvstat() in setup_surfaces() This should ensure that cvstat has the right window size at the start. I hope.

  46. Deucе
    Sat Oct 19 2024 07:28:58 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/conio/sdlfuncs.c diff
    src/conio/sdlfuncs.h diff
    src/syncterm/CHANGES diff
    src/syncterm/bbslist.c diff
    src/syncterm/uifcinit.c diff
    src/syncterm/uifcinit.h diff
    More changes around fullscreen/maximized/etc for SDL On macOS, fullscreen and maximized are very slightly different, so don't force one to mean the other. However, when entering or leaving fullscreen mode, we need to explicitly make the window resizable or not. Also, update the uifc screen title when the mode changes and we're at one of the main menus... still a bit icky, but likely the best that can be done (won't update if you toggle fullscreen from a sub-menu for example).

  47. Deucе
    Sat Oct 19 2024 07:35:32 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/conn.c diff
    src/syncterm/conn.h diff
    Fix warning on 64-bit Windows where a socket isn't an int. Le sigh for the socket API.

  48. Deucе
    Sat Oct 19 2024 07:45:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Query current fullscreen state on ALT-Enter Because things get weird sometimes.

  49. Deucе
    Sat Oct 19 2024 07:51:32 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdlfuncs.h diff
    SDL_SetWindowResizable() returns void.

  50. Deucе
    Sat Oct 19 2024 08:02:25 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Spell SDL_WINDOW_FULLSCREEN correctly. Also, there's SDL_WINDOW_FULLSCREEN_DESKTOP, so or that in even though we don't need to due to how it's defined.

  51. Deucе
    Fri Oct 18 2024 18:59:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Basically a revert of 02dce657 This appears to break the mouse position stuff. :(

  52. Deucе
    Fri Oct 18 2024 18:28:40 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/cterm_lib.js diff
    Make scale_rgb_channel_value() a bit smoother and avoid divide by zero.

  53. Deucе
    Fri Oct 18 2024 18:18:35 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/bbslist.c diff
    Increase the width of File Locations window Decrease height by one to avoid the memo line.

  54. Rob Swindell (on Debian Linux)
    Fri Oct 18 2024 17:07:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/cterm_lib.js diff
    Define cterm_version_supports_copy_buffers (1316)

  55. Rob Swindell (on Debian Linux)
    Fri Oct 18 2024 17:08:27 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.js diff
    Use cterm_lib.js for cterm-specific constants/operations Update date display format to be less ambiguous (more international). js.exec_dir is guaranteed to end in a slash, so no need to add one. Bump version to 3.00.

  56. Rob Swindell (on Debian Linux)
    Fri Oct 18 2024 13:10:28 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ansiterm_lib.js diff
    Add mouse reporting modes not supported by SyncTERM 1001, 1004, 1005, 1007, and 1015 Add ability for the set/clear mouse reporting calls to set/clear 'all' modes with a single function call.

  57. Rob Swindell (on Debian Linux)
    Fri Oct 18 2024 13:16:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ansiterm_lib.js diff
    Allow multiple mouse reporting modes to be set/clear by passing array This (ever so slightly) optimizes the transmtited ANSI sequences

  58. Rob Swindell (on Debian Linux)
    Fri Oct 18 2024 13:41:54 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ansiterm_lib.js diff
    Fix array support in mouse_reporting_modes() typeof [] returns 'object', not 'array'

  59. Rob Swindell (on Debian Linux)
    Fri Oct 18 2024 13:43:23 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.js diff
    Use ansiterm_lib.js for constructing ANSI mouse reporting set/clear sequences Code beautification, no functional change other than we're not clearing mouse mode 1016 since I don't have a definiton for that mode yet.

  60. Deucе
    Fri Oct 18 2024 12:01:11 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.js diff
    Be more aggressive about setting mouse modes. When starting, turn off all mouse modes, then turn on the ones we need instead of relying on the console object to do anything in particular. On exit, explicitly turn off the two modes we had enabled before changing the console setting. Maybe this will fix the SyncTERM bug 153

  61. Deucе
    Fri Oct 18 2024 11:38:31 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/term.c diff
    Fix cache subdirectories on Windows. Windows appears to treat backslashes and slashes the same when using the API, but Windows always returns backslashes. Convert backslashes to slashes in clean_path() to ensure paths compare the same regardless of them being specified with backslashes or slashes. There's still an open question of what to do about paths received from the remote with backslashes in them, but I suspect that doing that would actually work on *nix systems and break on Windows systems, so hopefully whoever does that can fogure out what's going on.

  62. Deucе
    Fri Oct 18 2024 10:46:39 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.js diff
    Ensure graphics are cached successfully. It appears that cache operations in SyncTERM on Windows does not currently work with subdirectories for some reason (likely backslashes). Ensure that after sending a file to be cached, it correctly appears in the cache, and fall back to not using graphics. This will fix the blank board issue in minesweeper with a Windows SyncTERM and fallback to text mode. Once SyncTERM is fixed, it should work in graphics mode too.

  63. Deucе
    Fri Oct 18 2024 08:09:18 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Don't copy the name to the address. The DNS lookup can cause delays on some systems. Fixes bug 154

  64. Rob Swindell (on Windows 11)
    Thu Oct 17 2024 21:55:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/answer.cpp diff
    Fix indentation of one line.

  65. Rob Swindell (on Windows 11)
    Thu Oct 17 2024 21:56:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logfile.cpp diff
    Fix extra line feed (and blank line) when long (> 78 char) strings were logged to node.log via sbbs_t::log()

  66. Rob Swindell (on Debian Linux)
    Thu Oct 17 2024 16:45:39 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/mime_types.ini diff
    Add mp4 MIME type mapping

  67. Rob Swindell (on Debian Linux)
    Thu Oct 17 2024 16:46:23 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/attr.ini diff
    Add line-feed to last line (not strictly required)

  68. Rob Swindell (on Debian Linux)
    Wed Oct 16 2024 21:37:55 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/xtrn_sec.cpp diff
    Add 21 extra blank lines to the end of the 31-line DOOR.SYS file Some doors/door kits actually require all 52 lines, but since they (may) have problems with the values we populate on those additional 21 lines, just write them as blank when a program is configured for the GAP (original) 31 line DOOR.SYS drop file. I doubt (and hope) that no programs will care if their are more lines than they expect.

  69. Rob Swindell (on Debian Linux)
    Wed Oct 16 2024 00:06:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    Fix silliness discovered in conversion to JavaScript So apparently 23 years ago (almost 24), I made a typo in commit 7731d16dbbcb7 that broke the batch transfer menu for RIP users. Also elminated silly/unnecessary loop-control variable ('done'). I'm working on a port to JS and noticed these oddities (so far).

  70. Rob Swindell (on Debian Linux)
    Tue Oct 15 2024 23:29:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Fix GCC warning (unused variable) introduced in last commit

  71. Rob Swindell (on Windows 11)
    Tue Oct 15 2024 13:50:56 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/services.ini diff
    src/sbbs3/services.c diff
    Add configurable "LoginRequirements" (ARS format) per-service in services.ini In response to Reddit inquiry in /r/bbs by wts42: "is there a possibility in sbbs to restrict access to services like IMAP by level or flag?" ... now there is. This only works for services that use the JS login() method to authenticate the user. If the services server's LoginRequirements are set in the sbbs.ini file, then *both* sets of requirements must be met to successfully login to a service.

  72. Rob Swindell (on Windows 11)
    Tue Oct 15 2024 13:54:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Add missing file to commit 095368c0d7 Not sure how I missed this one, but this file was needed to complete the 'bbs' object changes mentioned in that commit message.

  73. Rob Swindell (on Windows 11)
    Tue Oct 15 2024 13:56:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/xtrn_sec.cpp diff
    Add support for 31-line DOOR.SYS file format (alternative to 52-line version) Removed UTIDOOR.TXT file format: nobody uses this drop file format and we removed the UTI driver long ago, so this was just an artifact. If you previously had an external program (door) configured in SCFG to use the "GAP DOOR.SYS" file format, SBBS will create the same (52 line) format as before (no change). But for doors that have compatibilty issues with the 52-line DOOR.SYS file created by Synchronet (e.g. Thunder cat V3.30), a sysop can now choose "GAP (original)" for the drop file type and Synchronet will create a 31-line DOOR.SYS file instead.

  74. Deucе
    Tue Oct 15 2024 13:33:18 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Put the manpage in ${PREFIX}/share regardless of what PREFIX is.

  75. Deucе
    Tue Oct 15 2024 11:33:45 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/PackageInfo.in diff
    Use the pre-installed GPL license

  76. Deucе
    Tue Oct 15 2024 11:33:45 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/DarwinWrappers.m diff
    src/syncterm/syncterm.c diff
    Fix macOS bug where the *first* entry on a new system could not be added When the code to use URLForDirectory to get paths was written, it didn't create the paths, so the files in them could not be created either. If SyncTERM had ever ran using the old FSFindFolder() method, the path would already exist, so things would work. Also, since we're here, use mkpath() instead of MKDIR().

  77. Rob Swindell (on Debian Linux)
    Tue Oct 15 2024 00:45:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_user.c diff
    New user properties: batch_upload_list and batch_download_list For exposing the list path/file for a user's batch up/download lists

  78. Deucе
    Mon Oct 14 2024 23:43:13 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/haiku.rdef diff
    Add the icon art created years ago (in 2012)

  79. Deucе
    Mon Oct 14 2024 23:30:14 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/haiku.rdef diff
    rdef resources need to end in a ;

  80. Deucе
    Mon Oct 14 2024 23:05:40 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/haiku.rdef diff
    src/syncterm/updvers.sh diff
    Whoopse, this was master. Master is 1.2b

  81. Deucе
    Mon Oct 14 2024 22:46:28 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/haiku.rdef diff
    Modified Files:

    src/syncterm/CMakeLists.txt diff
    src/syncterm/updvers.sh diff
    And generate/use the Haiku rdef file

  82. Deucе
    Mon Oct 14 2024 21:58:34 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/PackageInfo.in diff
    src/syncterm/updvers.sh diff
    More Haiku stuff

  83. Deucе
    Mon Oct 14 2024 21:33:57 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/PackageInfo.in diff
    Modified Files:

    src/syncterm/CMakeLists.txt diff
    Create a .PackageInfo file for Haiku

  84. Rob Swindell (on Debian Linux)
    Mon Oct 14 2024 19:06:50 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/gettext.js diff
    Add optional friendly-key name argument, pull text from [scriptname.js] Not all strings make good key names (e.g. those with control characters), so allow an additional, optional argument to gettext() that allows for more friendly key names to be used to specify/look-up (some) text strings. Also, in addition to the global [js] section for these text values, look (first) in [scriptfilename.js] - this allows more customization on a per-script basis (e.g. [default.js] can be used to override strings used in the Synchronet Classic command shell (default.js) but would not effect if/when those same strings are used in other scripts/shells.

  85. Rob Swindell (on Debian Linux)
    Mon Oct 14 2024 19:11:54 GMT-0700 (PDT)
    Modified Files:
    

    exec/default.js diff
    Allow more shell prmopt text to be configured vi ctrl/text[.lang].ini file Using the new load/gettext.js: A sysop can override these additional strings (that contain Ctrl-A sequences) now by assigning to the following keys: - shell_prompt_begin - shell_prompt_middle - shell_main_prompt_end - shell_file_prompt_end Also, a sysop can now put these keys in the [default.js] section of the file (rather than [js]) if desired, to avoid conflict with other scripts/shells. Added for vela025 and their BBC Micro Acron mode 7 language support mod. There are other strings still hard-coded in default.js and notably, in load/shell_lib.js that are not (yet) customizable. Let's try this change first.

  86. Deucе
    Sun Oct 13 2024 22:48:23 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Get correct Haiku file paths. It appears the "right" place to put downloads is on the Desktop... and the OS won't tell you that.

  87. Rob Swindell (on Debian Linux)
    Sun Oct 13 2024 13:36:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Reset sbbs_t menu path vars (menu_dir and menu_file) before execing cmd shell I obvserved an issue with Amessyroom's bbs where his custom (JS) shell is setting bbs.menu_dir but when switching to another stock shell, his menu files were still being displayed (with mismatching command keys as a result). bbs.menu_dir (and implicitly, the set_menu_dir Baja function) apparently have not been used in this way (much) before.

  88. Deucе
    Sun Oct 13 2024 09:58:53 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/CMakeLists.txt diff
    Set PREFER_POLL in CMake as well. Not just for GMUmakefile anymore!

  89. Deucе
    Sun Oct 13 2024 10:00:01 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/syncterm/CHANGES diff
    Quit video subsystem from video thread. Some SDL targets (like Haiku) have issues doing video calls from threads other than the video thread.

  90. Deucе
    Sun Oct 13 2024 08:36:49 GMT-0700 (PDT)
    Added Files:
    

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

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    src/conio/CMakeLists.txt diff
    src/syncterm/CHANGES diff
    src/syncterm/CMakeLists.txt diff
    src/syncterm/conn_pty.c diff
    src/xpdev/CMakeLists.txt diff
    src/xpdev/multisock.c diff
    Initial Haiku support. CMake only, has issues.

  91. Rob Swindell (on Debian Linux)
    Sun Oct 13 2024 02:13:50 GMT-0700 (PDT)
    Modified Files:
    

    exec/bullseye.js diff
    Pass P_NOERROR to bbs.menu() ... to not log an error when the bullseye.asc file doesn't exist.

  92. Rob Swindell (on Debian Linux)
    Sun Oct 13 2024 02:23:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    Don't use global menu_dir for calls to menu() with path starting with '.' For scripts that set the global menu_dir (e.g. via JS bbs.menu_dir), let's not require that all the files moved from text to text/menu (for example). Problem reported by Amessyroom when using his custom shell and bullseye.js.

  93. Deucе
    Sat Oct 12 2024 21:17:27 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/updvers.sh diff
    Fix Info.plist command-lines

  94. Deucе
    Sat Oct 12 2024 14:43:49 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Remove duplicated item

  95. Deucе
    Sat Oct 12 2024 14:38:53 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Mention GDI AltGr fix

  96. Deucе
    Sat Oct 12 2024 12:52:08 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    Only Win32 needs dbghelp.dll

  97. Rob Swindell (on Debian Linux)
    Sat Oct 12 2024 12:48:59 GMT-0700 (PDT)
    Modified Files:
    

    BUILDING.md diff
    install/GNUmakefile has been renamed to install-sbbs.mk

  98. Deucе
    Sat Oct 12 2024 12:47:27 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Whoops.

  99. Deucе
    Sat Oct 12 2024 12:41:38 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    src/xpdev/dirwrap.c diff
    Fix a couple interesting-looking MSVC warnings.

  100. Deucе
    Sat Oct 12 2024 12:09:13 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    Do a Windows build if GDI or SDL is enabled. Kinda hacky to do it here.

  101. Deucе
    Sat Oct 12 2024 11:10:53 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Improve input in GDI mode This may be a fix for bug 150 (which was reported against SDL mode). Basically, Windows will report AltGr as Alt + Ctrl, so we need to be able to parse that. Since we're here, support WM_UNICHAR to avoid the need to have Windows convert to "ANSI" for us, and allow direct unicode input (even in "ANSI" mode).

  102. Deucе
    Sat Oct 12 2024 01:49:57 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    A bit more fixups for Windows.

  103. Deucе
    Sat Oct 12 2024 00:51:18 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    src/syncterm/CMakeLists.txt diff
    Fix debug builds, and default to debug. CMake does weird things if CMAKE_BUILD_TYPE isn't defined and a multi-whatzit generator is used.

  104. Deucе
    Sat Oct 12 2024 00:35:03 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    src/syncterm/FBSD-mingw64.cmake diff
    Use the detected thread library, don't -pthread anything.

  105. Deucе
    Sat Oct 12 2024 00:17:40 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    src/syncterm/CMakeLists.txt diff
    The last few bits to make SyncTERM build for Windows on Windows. The resulting binary crashes, but at least it builds!

  106. Deucе
    Fri Oct 11 2024 23:45:35 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/cl-mingw64-unicode-gibble.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    Work around bug in mingw64 headers NetStatisticsGet() always takes a unicode string, but the header uses the TEXT() macro to declare the standard types.

  107. Deucе
    Fri Oct 11 2024 23:30:52 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/cl-fix-cpuid-order.patch diff
    Þe olde bug in last commit.

  108. Deucе
    Fri Oct 11 2024 23:26:37 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/cl-fix-cbli-incompatible.patch diff
    3rdp/build/cl-fix-cpuid-order.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    More patches and fixes and stuff.

  109. Deucе
    Fri Oct 11 2024 22:59:50 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/cl-lowercase-versionhelpers.patch diff
    3rdp/build/cl-mingw64-is-really-new.patch diff
    3rdp/build/cl-mingw64-thread-handles.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    Some more patches for mingw64

  110. Deucе
    Fri Oct 11 2024 22:27:54 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    Don't enable crypto devices, even if we're in Windows.

  111. Rob Swindell (on Debian Linux)
    Fri Oct 11 2024 22:08:44 GMT-0700 (PDT)
    Removed Files:
    

    install/GNUmakefile diff
    Renamed to install-sbbs.mk

  112. Rob Swindell (on Debian Linux)
    Fri Oct 11 2024 22:04:56 GMT-0700 (PDT)
    Added Files:
    

    install/install-sbbs.mk diff
    Renamed install/GNUmakefile to install-sbbs.mk Made 'install' the default target (no longer need to include "target" on installation command-line). Specify "build" if you want to perform global build, only (no installation). This will help resolve confusion and mistake when running 'make install' in the wrong directory. Also, the installation command-lines and the re-build command-lines will no be more different and less error-prone. All documentation that references [install/]GNUmakefile now needs updating <sigh>.

  113. Rob Swindell (on Debian Linux)
    Fri Oct 11 2024 19:40:03 GMT-0700 (PDT)
    Modified Files:
    

    exec/default.js diff
    exec/load/shell_lib.js diff
    Replace console.crlf() calls with console.newline()

  114. Rob Swindell (on Debian Linux)
    Fri Oct 11 2024 19:38:31 GMT-0700 (PDT)
    Modified Files:
    

    exec/user_settings.js diff
    Clean up the default transfer protocol selection was printing "None (auto-hangup)" in some cases. Wasn't very pretty or clear to the user what was being asked (e.g. if they accidentically entered this selection/prompt). Setup for localization using gettext.js. Using console.newline() in place of (now deprecate) console.crlf().

  115. Rob Swindell (on Windows 11)
    Fri Oct 11 2024 18:06:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/sbbs.h diff
    Rename sbbs_t::batch_upload() to process_batch_upload_queue() That was a badly named function.

  116. Rob Swindell (on Windows 11)
    Fri Oct 11 2024 18:06:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Update online help (F1 key displayed help text) for directory "Short name" This text/terminology was pretty out of date.

  117. Rob Swindell (on Windows 11)
    Fri Oct 11 2024 18:37:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/useredit.cpp diff
    File/batch upload decomp for scripting, unique-password-check fix, Ctrl-AX fix Created sbbs_t::batch_upload() and JS bbs.batch_upload() returns true if one or more blind-uploads were received and all files in the batch upload queue (if any) were received The Rainbow Ctrl-A codes (x|X) are not valid for message (there's no universal ANSI equivalent) - so treat as "invalid Ctrl-A codes" for most (message) uses. e.g. they're stripped when entered into text with the internal message editor. sbbs_t::chkpass() and JS bbs.good_password() now default to *not* requiring the password to be substantially different from the user's current password. This fixes weird issues where a user that just wanted to add more characters to their current password woudl not be allowed by cause the new password was "too obvious" JS bbs.good_password() now accepts an optional second argumnet: forced_unique which defaults to false. sbbs_t::chkpass() (JS bbs.good_password()) would always return false if the provided password was the same as the user's current password, regardless of the 'unique' parameter value. Now, only reject unchanged password when unique is true. sbbs_t::upload() and JS bbs.upload_file() now accept an optional second argument: 'filename' which when specified, the function won't prmopt for the user-supplied filename. New JS property: file_area.max_filename_length file_area.min_diskspace, settings, and web_vpath_prefix are now read-only. These properties should not have been writable.

  118. Rob Swindell (on Windows 11)
    Fri Oct 11 2024 18:38:55 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    upload_file() will now fall-back to blind/batch upload if no filename provided If the user doesn't type a filename (just hits enter) and there are either files in the batch upload queue and/or there's an 'Uploads' directory configured by the sysop, then prompt if they want to start a batch upload now and do that (using the new bbs.batch_upload() method). This change requires the latest SBBS v3.20a changes committed in this same push. Change made to accomodate users/sysops like Chris Mifsud from Facebook: "For decades using other bbs software I always just pressed enter without entering a file name and it goes straight to the zmodem upload and then I select the file and hit upload no problem." Since only the default ("Synchronet Classic") command shell currently uses this library, this change only works when using that command shell. When we port other shells from Baja to JS (and this lib), they'll get this feature automatically.

  119. Deucе
    Fri Oct 11 2024 11:54:14 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    The syncterm-cmake targets don't need cryptlib to be built first anymore.

  120. Deucе
    Fri Oct 11 2024 11:35:12 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/hashpatch.pl diff
    src/syncterm/CMakeLists.txt diff
    Tie cryptlib cmake into syncterm cmake build There's still some dependency weirdness on Linux, and cryptlib won't automagically rebuild if the patches change, but it at least works for an initial build, which is the primary use-case. None of this has been tested on Windows yet.

  121. Deucе
    Fri Oct 11 2024 00:20:09 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/hashpatch.pl diff
    Start working out how to build cryptlib using cmake. The tricky part is really extracting the source and applying the patches THEN configuring cryptlib. I can do this with ExternalProject, but I'm not sure exactly how to hook this up yet. This also requires patch and perl and a supported md5 thing to be installed in a place CMake will find them, which sill be challenging for Windows. If Windows (or compilers for Windows) have started shipping with git, I can use git apply instead of patch, but the rest is still kinda fuzzy. This does at least fix up the terrible serialized build though, so once I get this working, it will work well with values other than -j1.

  122. Deucе
    Fri Oct 11 2024 00:25:44 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    Linux needs libutil for forkpty() too. Except when it doesn't... it's harmless to link with it then though.

  123. Rob Swindell (on Debian Linux)
    Thu Oct 10 2024 22:23:34 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Don't display/log an error if text/menu/upload.* doesn't exist "upload.*" is an optional menu file, so this should've always used the P_NOERROR flag, but the bug just fixed (in commit b656e19ff) masked this issue.

  124. Rob Swindell (on Windows 11)
    Thu Oct 10 2024 22:18:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    Report error when menu() can't find a display file and P_NOERROR not used This issue was introduced in commit d02fc1a2 (3 years ago), where menu() would silenty fail (just return false) if no display file matching the supported menu/display file types/extensions could be found. Previous to commit d02fc1a2, we would log a NOTICE-level message and display a "File not found" message to the user (what sbbs_t::printfile() does), but since d02fc1a2, we no longer even call printfile() when the file doesn't exist, so no error was logged or message displayed to the user. Of course, when using the P_NOERROR mode flag, silent failure is expected and that's still what happens in that case.

  125. Deucе
    Thu Oct 10 2024 20:53:39 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Ring the changes

  126. Deucе
    Thu Oct 10 2024 20:50:54 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/CMakeLists.txt diff
    Remove spurious brace

  127. Deucе
    Thu Oct 10 2024 20:38:16 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Don't do cross-platform CMake builds. They're tricky tricky tricky tricky.

  128. Deucе
    Thu Oct 10 2024 20:34:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    src/xpdev/CMakeLists.txt diff
    Fix SDL2 linkage for Darwin.

  129. Deucе
    Thu Oct 10 2024 20:34:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Store window size on size change event. Allows arbitrary sized windows on Darwin... the OS is still scaling the window contents though rather than allowing us to dynamically update them.

  130. Deucе
    Thu Oct 10 2024 20:34:07 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Add SyncTERM CMake test build. So we can be sure it keeps working.

  131. Rob Swindell (on Debian Linux)
    Thu Oct 10 2024 12:33:02 GMT-0700 (PDT)
    Modified Files:
    

    text/feedback.msg diff
    Update the language to reflect modern times

  132. Rob Swindell (on Windows 11)
    Thu Oct 10 2024 12:28:36 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    Always reload the edited user record from disk after executing a "usercfg_mod" Normally, when modifying user fields via JS, the "user modified" node.dab flag would be set for that user (on all node's that user is logged-into) and the user record automatically re-read (soon after). But this doesn't work during newuser registration because the user is not yet "logged-into" a node. This fixes the issue reported by Nelgin (and observed on amessyroom's BBS) whereby if a new user resets/changes their external message editor, it would not take effect for their new user validation email to the sysop (they would still be using the default new user message editor as configured by the sysop). It's possible other new user default changes made (e.g. language) would also not have taken immediate effect as a result of this bug (now fixed).

  133. Deucе
    Thu Oct 10 2024 10:21:09 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/FBSD-mingw64.cmake diff
    Modified Files:

    src/conio/CMakeLists.txt diff
    src/syncterm/CMakeLists.txt diff
    src/syncterm/COMPILING diff
    src/xpdev/CMakeLists.txt diff
    src/xpdev/genwrap.h diff
    Make CMake able to cross-build Win32 binaries on FreeBSD

  134. mcmlxxix
    Sat Oct 05 2024 13:24:44 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/bublbogl/game.js diff
    remove debug logging bits :|

  135. mcmlxxix
    Sat Oct 05 2024 13:21:28 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/bublbogl/game.js diff
    show month name in high score list

  136. mcmlxxix
    Sat Oct 05 2024 13:09:51 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/bublbogl/game.js diff
    xtrn/bublbogl/lobby.bin diff
    added "talk shit" feature

  137. Deucе
    Thu Oct 03 2024 14:18:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_global.c diff
    Fix multi-array version of socket_select() when using poll() Previously, when multiple lists were passed, the "write" parameter (which can't be changed) was applied to all sockets. This means they would always all be poll()ed for read, then checked for the appropriate flag (read/write/priority)... which effectively meant that only the first (read) array would work.

  138. Deucе
    Thu Oct 03 2024 09:33:57 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Document the connect() callback thing.

  139. Deucе
    Wed Oct 02 2024 23:34:56 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/graphics.ppm diff
    xtrn/minesweeper/minesweeper.js diff
    xtrn/minesweeper/selmask.pbm diff
    Play with selection-follows-mouse a bit. Can't seem to get it reliable using the SBBS mouse parsing... doing it all myself for now until I decide if it's neat enough. I'll need to try it from a remote location to see how the latenct impacts playability.

  140. Deucе
    Wed Oct 02 2024 21:12:52 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ooii.c diff
    Replace non-ASCII characters with \xXX escaped ones. Too many tools are gungo-ho over UTF-8 these days.

  141. Deucе
    Wed Oct 02 2024 21:13:41 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    src/xpdev/CMakeLists.txt diff
    Some CMakeLists.txt cleanup Remove more of the obsolete stuff.

  142. Deucе
    Wed Oct 02 2024 21:15:09 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Mention CMake changes

  143. Deucе
    Wed Oct 02 2024 15:30:01 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    src/conio/ciolib.c diff
    src/encode/CMakeLists.txt diff
    src/sftp/CMakeLists.txt diff
    src/syncterm/CMakeLists.txt diff
    src/xpdev/CMakeLists.txt diff
    Initial stab at making the macOS cmake build work

  144. Deucе
    Wed Oct 02 2024 11:56:58 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Add NetBSD fix note

  145. Deucе
    Wed Oct 02 2024 11:55:56 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    src/conio/curs_cio.c diff
    src/xpdev/CMakeLists.txt diff
    Fixup NetBSD and OpenBSD builds CMake is now fixed, and a NetBSD extra wait for key on exit with the system curses is also fixed.

  146. Deucе
    Wed Oct 02 2024 03:53:31 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    src/syncterm/CMakeLists.txt diff
    src/syncterm/bbslist.c diff
    src/xpdev/CMakeLists.txt diff
    Make all listed build options optional in CMake builds PC Speaker can't actually be disabled, so remove it from build options listing.

  147. Deucе
    Wed Oct 02 2024 00:08:01 GMT-0700 (PDT)
    Modified Files:
    

    src/build/SynchronetMacros.cmake diff
    Compare project names instead of dirs. Allows top-level wrapper CMakeLists.txt files to work (as long as their project name is right).

  148. Deucе
    Wed Oct 02 2024 00:11:13 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/CMakeLists.txt.top diff
    Add top-level CMakeLists.txt for SyncTERM

  149. Deucе
    Tue Oct 01 2024 23:27:46 GMT-0700 (PDT)
    Added Files:
    

    src/sftp/CMakeLists.txt diff
    Add CMakeLists.txt for sftp

  150. Deucе
    Tue Oct 01 2024 23:25:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    src/syncterm/CMakeLists.txt diff
    src/xpdev/CMakeLists.txt diff
    Fix CMake system for SyncTERM

  151. Deucе
    Tue Oct 01 2024 20:39:08 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.adoc diff
    Clarify that you can still set a macro with p2=0 (and p2=1).

  152. Deucе
    Tue Oct 01 2024 16:08:34 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/vidmodes.c diff
    src/syncterm/CHANGES diff
    Fix memory leak in initializing vmem. Much easier to fix it this way than to figure out why X11 needs to init it before bitmap_con does.

  153. Deucе
    Tue Oct 01 2024 15:19:38 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    src/syncterm/CHANGES diff
    Undo part of the previous commit. All of this code runs in the same thread, races aren't possible.

  154. Deucе
    Tue Oct 01 2024 13:51:37 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    src/syncterm/CHANGES diff
    Fix a potential race between drawing and discarding last buffer. If the last is freed while the screen is being updated, and the use after free bug is not detected, corruption could occur resulting in bad areas of the screen that persists until the window gets an expose event again, or the impacted pixels are updated again. Possibly fixes an issue reported by nelgin via IRC.

  155. Deucе
    Tue Oct 01 2024 11:28:21 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    src/syncterm/CHANGES diff
    Remove cast-to-int in gdi_getscaling This fixes bug 141, which is currently the last blocker for rc2.

  156. Deucе
    Tue Oct 01 2024 11:20:04 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Document more changes.

  157. Deucе
    Tue Oct 01 2024 11:09:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.js diff
    More graphical fixes... Force mouse support in graphics mode even if user disabled it for the BBS. It would be nice if mouse support in the menus was a separate option than "terminal doesn't support mouse", and we know the terminal supports the mouse when we detect graphics mode. Move top/margin/width calculations into separate functions. For level 1, center the playboard. Fix an apparent off-by-one drawing the title bar.

  158. Deucе
    Tue Oct 01 2024 00:08:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    File.read() encodes base64, it doesn't decode.

  159. Deucе
    Tue Oct 01 2024 00:09:18 GMT-0700 (PDT)
    Added Files:
    

    xtrn/minesweeper/graphics.ppm diff
    xtrn/minesweeper/selmask.pbm diff
    Modified Files:

    xtrn/minesweeper/minesweeper.js diff
    Initial support for SyncTERM PPM/PBM graphics. Hidden behind the graphics option for now since there's still issues... the board is offset in the window, the level 1 board is framed wrong (since the graphics are always 2 cols), and it doesn't check the graphical resolution, so if you're in a weird mode, it can break. Also, the graphics are uninspired at best... just hacked them up in Gimp.

  160. Deucе
    Mon Sep 30 2024 20:14:38 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    Since we can check at the menu now, we don't need this warning.

  161. Deucе
    Mon Sep 30 2024 19:52:08 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Fix SAUCE date properly... avoid writing past the end of the buffer

  162. Deucе
    Mon Sep 30 2024 17:53:00 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/Common.gmake diff
    src/xpdev/GNUmakefile diff
    Fixups for build changes. Sneaky hiding extra interesting bits at the end like that. :(

  163. Deucе
    Mon Sep 30 2024 17:47:40 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Fix the macro used to detect X11. NO_X is defined in the ciolib GNUmakefile. DISABLE_X11 is defined on Common.gmake.

  164. Deucе
    Mon Sep 30 2024 17:39:03 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/Manual.txt diff
    src/syncterm/bbslist.c diff
    src/xpdev/Common.gmake diff
    src/xpdev/GNUmakefile diff
    src/xpdev/xpbeep.c diff
    Add a "Build Options" menu item. Useful to check if SyncTERM was built with or without specific features.

  165. mcmlxxix
    Mon Sep 30 2024 17:09:41 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/bublbogl/boggle.bin diff
    xtrn/bublbogl/lobby.bin diff
    xtrn/dicewarz/dicewarz.bin diff
    xtrn/dicewarz2/lobby.bin diff
    xtrn/maze/fog.bin diff
    xtrn/maze/lobby.bin diff
    xtrn/synchronetris/lobby.bin diff
    xtrn/uberblox/game.js diff
    xtrn/uberblox/gameend.bin diff
    xtrn/uberblox/lobby.bin diff
    update more ansi (links, names, some column widths, etc) increase player name width in uberblox lobby

  166. Deucе
    Mon Sep 30 2024 16:03:11 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix some more warnings when not using optional features.

  167. Deucе
    Mon Sep 30 2024 15:05:42 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Add note about WM_SETCUSOR fix

  168. Deucе
    Mon Sep 30 2024 13:55:17 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/OverhaulNotes.txt diff
    src/conio/win32gdi.c diff
    Fix issue 146 Fix return value when handling WM_SETCURSOR. Returning FALSE indicating we didn't handle it stopped the cursor from being set to the size arrow cursors. Instead, pass it to DefWindowProc(). While we're here, handle WM_SIZING to make it more clear that you can't change the aspect ratio by dragging.

  169. mcmlxxix
    Mon Sep 30 2024 09:02:38 GMT-0700 (PDT)
    Added Files:
    

    xtrn/dicewarz/exit.bin diff
    Modified Files:

    xtrn/bublbogl/exit.bin diff
    xtrn/dicewarz2/exit.bin diff
    xtrn/maze/exit.bin diff
    xtrn/starstocks/exit.bin diff
    xtrn/synchronetris/exit.bin diff
    xtrn/uberblox/exit.bin diff
    updated exit splash screens with new repository url

  170. Deucе
    Sun Sep 29 2024 19:23:45 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix warnings in last commit.

  171. Deucе
    Sun Sep 29 2024 19:15:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Refine last commit... Add a comment explaining why we do what we do, and verify the aspect is unchanged as well since we could change only the aspect and need to set new hints in some cases.

  172. Deucе
    Sun Sep 29 2024 19:02:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    If we're not mapping, only XSetWMNormalHints() if it's different.

  173. Deucе
    Sun Sep 29 2024 18:44:04 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Never call XMapWindow() in response to a _NET_FRAME_EXTENTS change This breaks at least herbstluftwm's focus-follows-mouse, and rustles Cyan's jimmies. It's also a terrible idea.

  174. Deucе
    Sun Sep 29 2024 18:09:50 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Fix last commit.

  175. Deucе
    Sun Sep 29 2024 18:09:50 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Fix bool inversion introduced by 8f7cfadf44 quitting needs to be set to true, not false when quitting. :(

  176. Deucе
    Sun Sep 29 2024 17:45:20 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Fix bug generating SAUCE date introduced by commit dcf8c35f9b Using snprintf() prevents the last character of the date from being put into the string.

  177. Deucе
    Sun Sep 29 2024 14:39:28 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Actually don't call XSetICFocus() at start. :(

  178. Deucе
    Sun Sep 29 2024 14:37:18 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Update CHANGES for rc2

  179. Deucе
    Sun Sep 29 2024 14:28:24 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    Have the IC focus follow the X11 focus Basically, If we get a FocusOut, call XUnsetICFocus(), and if we get a FocusIn, call XSetICFocus(). Since we're doing this, don't call XSetICFocus() unconditionally at start, wait for the server to send us the initial FocusIn instead. The only bit I'm not sure of is if I got the times to ignor messages right... see here: https://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html If you want to check my work. May fix the focus follows mouse issue reported by Cyan.

  180. Rob Swindell (on ChromeOS)
    Sat Sep 28 2024 18:00:41 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Add missing period in "Upgrade detected" help text.

  181. Deucе
    Sat Sep 28 2024 15:27:40 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Fix reversed mouse wheel on Win32GDI... From MSDN: A positive value indicates that the wheel was rotated forward away from the user; a negative value indicates that the wheel was rotated backward, toward the user. Fixes bug 143. However, this re-opens the confusion around request 75... nigel and DigitalMan should take a look at this more closely in rc2 (or an updated nightly).

  182. Deucе
    Sat Sep 28 2024 11:06:47 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/OverhaulNotes.txt diff
    src/syncterm/Manual.txt diff
    Add "Persistant State" section to manual. This describes in more detail how the window size is saved and restored when starting/exiting SyncTERM.

  183. Rob Swindell (on Windows 11)
    Sat Sep 28 2024 01:21:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    MIME-encode words that contain non-ASCII values in text header fields (e.g. to, from, subject) ... when transmitting to other hosts (e.g. POP3 clients or other SMTP hosts). For messages that contain CP437 or UTF-8 chars in these fields and were *not* imported into the BBS via SMTP or POP3, these header fields would be transmitted to other hosts with the raw CP437 or UTF-8 chars, thus violating POP3 and SMTP protocols and likely resulting in garbage displayed in message readers. The fix is to encode (using MIME "encoded words", per RFC 2407) where necessary. Since moderm mail clients (e.g. Thunderbird) don't see to support CP437 charset in MIME encoded header fields, always translate to UTF-8 first. We probably should be translating message body text to UTF-8 as well, for maximum compatibilty with modern mail readers, but this commit doesn't address body text issues with CP437-encoded content. That'll come later.

  184. Deucе
    Fri Sep 27 2024 23:39:56 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Fix builds that don't support any graphics.

  185. Deucе
    Fri Sep 27 2024 23:24:12 GMT-0700 (PDT)
    Modified Files:
    

    src/encode/GNUmakefile diff
    src/hash/GNUmakefile diff
    src/sftp/GNUmakefile diff
    src/smblib/GNUmakefile diff
    src/uifc/GNUmakefile diff
    src/xpdev/GNUmakefile diff
    As it turns out, ciolib isn't special. We can't update a fat static library using ar on macOS. :(

  186. Deucе
    Fri Sep 27 2024 23:13:12 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Fix a couple use-after-free bugs in RIP This likely is the cause of bug 140. The first one, the LCF flag is copied out of the cterm struct after cterm_end() is called (which frees the struct). Copy moved to before cterm_end(). The second one is trickier... it's executing the commands in a mouse button, and one of the commands is to delete all the mouse button commands. This ends up free()ing the string that's currently being parsed while it's being parsed. We now use a strdup() of the string which we free at the end of the function.

  187. Deucе
    Fri Sep 27 2024 23:01:58 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    src/syncterm/ripper.h diff
    src/syncterm/term.c diff
    src/syncterm/window.c diff
    Fix status bar issue when RIP changes the number of lines. RIP is currently the only thing that can change the number of lines in the terminal while connected. This can actually result in there being more lines on the screen than the last set video mode supports. There's a "feature" in SyncTERM text modes (curses, ANSI, and Win32 Console) where if the screen mode is "current", it uses the number of lines in the terminal, but if it's anything else, it forces the number of lines to the lines in the mode. This works great until RIP increases the number of lines beyond the number in the mode... when this happened, RIP would draw the status bar at the incorrect location on the screen. This change no longer sets the max rows in the terminal if the backend can set individual pixels (required for RIP). Further, to avoid a delay before redrawing the status bar after RIP changes the number of rows, the reinit_screen() function now sets a global to indicate it was called, and the status bar will always redraw when it's enabled and the flag is true. This *may* be related to bug 140, but may not be.

  188. Deucе
    Fri Sep 27 2024 21:35:32 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/OverhaulNotes.txt diff
    src/conio/win32gdi.c diff
    Fix issue 138 Weird stuff happened when dragging a GDI window between monitors with different zoom (DPI) settings. The following changes were all done to clean up this stuff: Window position is signed Do some type casting for warnings Fix return times of GetDpiFor*() pointers Fix fallback to GetDpiForSystem() (could never be used) Handle WM_DPICHANGED correctly Move some copy/pasted code into a function Fix return value for WM_GETDPISCALEDSIZE Fix return value for WM_USER_SETCURSOR

  189. Deucе
    Thu Sep 26 2024 15:00:30 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/syncterm.c diff
    Enable new reverse_cursor UIFC option for SyncTERM Thanks DigitalMan!

  190. Rob Swindell (on Debian Linux)
    Thu Sep 26 2024 14:47:51 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    Add uifcapi_t.reverse_cursor (BOOL), default is FALSE Setting this to TRUE reverses the type of cursor used to indicate insert versus overwrite mode (solid/block cursor veruss underline/normal cursor). Deuce probably wants to set this to TRUE for SyncTERM.

  191. Deucе
    Thu Sep 26 2024 09:33:23 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Mention insert mode change

  192. Deucе
    Wed Sep 25 2024 23:21:27 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.txt diff
    cterm.txt is no longer the normative reference for cterm. Add a link to the new generated HTML document, and mention the .adoc file so people can find it in the future.

  193. Deucе
    Wed Sep 25 2024 21:45:32 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Start UIFC in insert mode. Per comment on reddit by dialsoft, the lack of an insert key on laptops can make manipulating the phonebook more difficult. Since all the other UIFC functions have an insert alternate, they don't need any changes now that there's a manual, but for editing a string, the insert key is the only way to toggle overstrike. Since the insert mode toggle persists, simply starting in overstrike mode should be fine. Maybe some weird control key of function key can be used (though I guess laptops don't have function keys either anymore).

  194. Deucе
    Wed Sep 25 2024 20:10:48 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    Manual updates.

  195. Deucе
    Wed Sep 25 2024 15:51:24 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/Info.plist diff
    src/syncterm/Manual.txt diff
    src/syncterm/dpkg-control.in diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    And this isn't.

  196. Deucе
    Wed Sep 25 2024 15:50:42 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/Info.plist diff
    src/syncterm/Manual.txt diff
    src/syncterm/dpkg-control.in diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    And this is RC1

  197. Deucе
    Wed Sep 25 2024 15:38:24 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    src/syncterm/updvers.sh diff
    Put the full version number into Manual.txt I'll want to generate a version-specific one on release, and want to ensure it's consistent.

  198. Deucе
    Wed Sep 25 2024 15:40:37 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    Bump revision. I need to document when I should do this better.

  199. Deucе
    Wed Sep 25 2024 15:41:33 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/updvers.sh diff
    Add reminder to bump cterm revision on version update. I guess that could be mostly good enoughish.

  200. Deucе
    Wed Sep 25 2024 15:34:16 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.adoc diff
    Add reference to STD-070.

  201. Rob Swindell (on Debian Linux)
    Wed Sep 25 2024 15:25:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    include petdefs.h (needed for PETSCII_UPPERGRFX definiton)

  202. Deucе
    Wed Sep 25 2024 15:12:42 GMT-0700 (PDT)
    Added Files:
    

    src/conio/ciolib.adoc diff
    Modified Files:

    src/syncterm/Manual.txt diff
    Add a user document for ciolib, and add it to SyncTERM manual.

  203. Deucе
    Wed Sep 25 2024 13:49:44 GMT-0700 (PDT)
    Added Files:
    

    src/conio/cterm.adoc diff
    Modified Files:

    src/syncterm/Manual.txt diff
    Include CTerm doc in SyncTERM doc

  204. Deucе
    Wed Sep 25 2024 13:39:48 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    src/syncterm/CHANGES diff
    src/syncterm/Manual.txt diff
    More doc updates.

  205. Rob Swindell (on Debian Linux)
    Wed Sep 25 2024 11:59:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Add PETGRFX @-code to send char 142 (enter PETSCII upper/graphics char set) ... when PETSCII terminal in use. For those sysops using editors that don't automatically or easily add this character to their SEQ art files when needed.

  206. Deucе
    Tue Sep 24 2024 23:35:26 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/xpdev/Common.gmake diff
    Add SDL_FRAMEWORK_PATH to rpath. Apparently, /Library/Frameworks isn't searched by default anymore?

  207. Deucе
    Tue Sep 24 2024 19:55:13 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/js-include-headers.patch diff
    Modified Files:

    .gitlab-ci.yml diff
    3rdp/build/GNUmakefile diff
    Fix config test for va_copy() on darwin. Because the appropriate header wasn't included, there was no prototype. Not having a prototype is an error in C99, which caused the test to indicate that there was no va_copy() on darwin. This in turn caused jsprf.cpp to try to copy a va_list using assignment. This is invalid, so the compiler would normally return an error. Somwhere in here, that error became a clang crash (not trivially reproducable). At the end of the day, ancient broken tests in config caused the darwin Spidermonkey builds to fail. The new patch fixes up the configure tests, and darwin Synchronet builds are re-enabled.

  208. Deucе
    Tue Sep 24 2024 16:33:36 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.txt diff
    Oh, cterm.txt was wrong w.r.t. APC vs. APS too

  209. Deucе
    Tue Sep 24 2024 16:09:38 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/termtest/termtest.js diff
    Fix APC/SOS naming. Thanks Ree!

  210. Deucе
    Tue Sep 24 2024 15:15:00 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    More manual fiddling.

  211. Deucе
    Tue Sep 24 2024 15:00:33 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    Remove incorrect escaping.

  212. Deucе
    Tue Sep 24 2024 14:44:45 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    clang 16.0.0 crashes when building JS... unhook from builds.

  213. Deucе
    Tue Sep 24 2024 14:02:21 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    Convert to asciidoc

  214. Deucе
    Mon Sep 23 2024 22:06:07 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.man.in diff
    Update manpage

  215. Deucе
    Mon Sep 23 2024 15:42:08 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/js-int-main-conf.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Fix up configure for platforms that don't use configure.in Give simple test code a return type (default int isn't valid in C99) and make some fallback tools executable.

  216. Deucе
    Mon Sep 23 2024 11:02:23 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix build when XRandR is available, but Xinerama isn't.

  217. Deucе
    Mon Sep 23 2024 10:56:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Remove elfctl calls... they don't help.

  218. Deucе
    Mon Sep 23 2024 09:08:17 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Fix build. Whoops.

  219. Deucе
    Mon Sep 23 2024 01:30:11 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Update fullscreen and mode on Darwin to match window This should normalize everything, with the possible exception of "zoom" (the thing other OSs call maximized). Ideally, we wouldn't allow window size changes when "zoomed" if we could detect the state, but it doesn't look like we can.

  220. Deucе
    Sun Sep 22 2024 22:43:34 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/GNUmakefile diff
    Apparently ar can't update this when it's fat. Hopefully this is the only lib like this (maybe the resources?)

  221. Deucе
    Sun Sep 22 2024 22:44:34 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/conio/sdlfuncs.c diff
    src/conio/sdlfuncs.h diff
    Use SDL_GetWindowSizeInPixels, and don't resize when maximized Fixes sourceforge issue 126 (finally!) Apparently, macOS "maximized" is the same as "fullscreen" in SDL.

  222. Deucе
    Sun Sep 22 2024 16:58:52 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Destroy ssh_tx_mutex

  223. Deucе
    Sun Sep 22 2024 16:58:52 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ssh.c diff
    No no, *DESTROY* sftp_tx_mutex

  224. Rob Swindell (on Windows 11)
    Sun Sep 22 2024 16:56:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Always close csts.ini file, even in error path (failure to open dsts.ini) Fix for CID 509720

  225. Rob Swindell (on Windows 11)
    Sun Sep 22 2024 16:56:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgmsg.c diff
    Free ini string list in error path (no sectinos exist) Fix CID 509721

  226. Rob Swindell (on Windows 11)
    Sun Sep 22 2024 16:56:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix potential null pointer dereference strListReadFile() can return NULL upon error

  227. Deucе
    Sun Sep 22 2024 16:56:15 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Be sure to close ssh_sock regardless of ssh_active

  228. Deucе
    Sun Sep 22 2024 16:45:15 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Some more ssh_close() cleanup Make ssh_active only true when ssh_session was set. Only do ssh cleanup if ssh_active is true. Initialize channel values to -1 (already done in ssh_connect(), but doesn't hurt anything).

  229. Deucе
    Sun Sep 22 2024 16:21:13 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Fix sourceforge issue 136 With ssh_sock initialized to zero, if the connect fails, stdin was closed, preventing ANSI and curses modes from functioning.

  230. Deucе
    Sun Sep 22 2024 16:03:13 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    Fix up handling of -b option First, we need to parse it before load_settings() so we can deal with it there. Next, we need to keep the one from the config file available so it is edited from the program settings, and not the command line version

  231. Deucе
    Sun Sep 22 2024 15:40:08 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    src/xpdev/netwrap.c diff
    Fix some warnings, return false for zero-length strings.

  232. Deucе
    Sun Sep 22 2024 15:17:29 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/termtest/termtest.js diff
    Send a backspace space backspace after shift in Keeps the display cleaner when things work and the shift in byte is displayed. Should be harmless in cases where shift in is interpreted per the standards.

  233. Deucе
    Sun Sep 22 2024 14:01:57 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/updvers.sh diff
    Add script to update version numbers in various files Hopefully I'll be able to keep them all wrangled now.

  234. Deucе
    Sun Sep 22 2024 13:45:10 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    Make syncterm_version const

  235. Deucе
    Sat Sep 21 2024 22:41:11 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    src/syncterm/term.c diff
    More docs. It's likely time to find a nice format that can be used to generate HTML and PDFs and such now.

  236. Deucе
    Sat Sep 21 2024 20:34:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Fix copy/paste error.

  237. Deucе
    Sat Sep 21 2024 20:27:09 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    elfctl doesn't work on shared objects.

  238. Deucе
    Sat Sep 21 2024 17:14:30 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Looks like we do need both.

  239. Deucе
    Sat Sep 21 2024 17:07:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Call elfctl -e +noprotmax in binaries that do JS Prevents crashes on modern FreeBSD systems that default to implicit PROT_MAX in the JS code. (It's possible that +wxneeded will be needed too.. still experimenting)

  240. Deucе
    Sat Sep 21 2024 17:02:48 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/netwrap.c diff
    Fix Borland build.

  241. Deucе
    Sat Sep 21 2024 17:00:31 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    src/syncterm/bbslist.c diff
    src/syncterm/conn.h diff
    src/xpdev/netwrap.c diff
    src/xpdev/netwrap.h diff
    Clean up and improve 6e516ae The first entry I tried adding was "Example..." which was not a valid hostname, but was copied into the address and looked silly. Now only copies into address if it's a valid, usable hostname. Also, add a convenience macro to check if a connection type uses the network or not. New functions in netwrap: bool isValidHostname(const char *str); bool isValidAddressString(const char *str); bool isResolvableHostname(const char *str); We ust the last one (which calls the other two) for this feature now.

  242. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/str_list.c diff
    strListReadFile() now returns NULL on any file read failure Previously, the partially-read lines would be returned in an allocated string list. This is a suspected cause of issue #791: even though the file was successfully opened exclusively (using sopen... SH_DENYRW), it's possible that Samba had already allowed another client or local process to open the same file, but is now a denying read (most likely, the first read). As Deuce pointed out, the xpdev *nix implementation of sopen() locks the region/record of the entire file. So before this change, strListReadFile() might fail on the first read, and a function that uses iniFileRead() to modify the contents of an ini file, might end up writing back the empty list (with added keys), thus deleting all the existing content of the file. Also in this change: - Eliminated the unnecessary local/wrapped str_list_read_file() function. - Elminate unecessary null-before-free check - Fixed potential memory leak upon malloc failure (the potentially-allocated list wasn't freed).

  243. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    fread_dstats() will now return false upon file read failure The file position should always be at the EOF after reading the contents. This should help detect (log errors) upon potential cause of issue #791. - use a little easier to read .ini style - add a NULL argument check to local function write_dstats() return false rather than deref the NULL pointer

  244. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    src/sbbs3/main.cpp diff
    Log an error upon read failure of dsts.ini and don't write changes back Part of potential fix (or work-around) for issue #791

  245. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    src/sbbs3/main.cpp diff
    Log errors upon any dsts.ini write failures.

  246. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    user_downloaded_file() now return false upon statistics update failure

  247. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Don't update/rewrite dsts.ini when iniReadFile returns NULL Even if the empty, iniReadFile() should return an empty list (not NULL), NULL indicates a file read (or unlikely malloc failure) - so don't write back what we read and return false (result) instead. Part of likely work-around of issue #791: it's better to not increment stats upon a file read error than to reset them all to zero.

  248. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Add missing NULL pointer check to js_iniReadAll() iniReadFile() can return NULL upon file read error or malloc error. Let's not crash if that happens.

  249. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Log a file "create" error if process_edited_file() returns a negative value I discovered that sbbs_t::editfile() (exposed as JS console.editfile) just silently failed if it couldn't write to the destination file (e.g. permission denied by OS).

  250. Rob Swindell (on Windows 11)
    Sat Sep 21 2024 13:08:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    Don't update displayed stats values if getstats() returns false (failure) Use byte_estimate_to_str() to display upload/download byte totals (better support for totals in gibibytes, tebibytes, etc.).

  251. Deucе
    Sat Sep 21 2024 00:26:41 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    src/build/Common.gmake diff
    Add support for fat Darwin builds... Using FAT=1 one the make command-line

  252. Rob Swindell (on Debian Linux)
    Fri Sep 20 2024 21:19:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/text_sec.js diff
    Add edit option when adding text files that don't already exist Revisiting this script due to usability issues reported by W5jsn (TUCUMCAR). Dynamically figure out the file path rather than storing another property ('path') in the list objects (which ends up in the .ini file). The absence of the path property (when the file didn't exist) could result in script-ending exceptions. .ini files are supposed to be open for read/write access (even when just writing), so open the file in "w+t" mode in write_list(). Clear console.aborted flag before menu listings: hitting Ctrl-C in some point could display just header and prompt of lists with no contents.

  253. Rob Swindell (on Windows 11)
    Fri Sep 20 2024 00:00:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Clear the Guest user's language (lang) field during logon - revert to default

  254. Rob Swindell (on Windows 11)
    Fri Sep 20 2024 00:01:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    src/sbbs3/getstats.h diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/userdat.c diff
    Store debug information in dsts.ini to help solve cause of issue #791 This should help identify the function(s) used when the corruption occurs.

  255. Rob Swindell (on Debian Linux)
    Thu Sep 19 2024 23:05:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    In debug builds only, backup dsts.ini file when opening for write Hopefully help to determine cause of issue #791 (when is the apparent corruption of this file occurring?)

  256. Rob Swindell (on Debian Linux)
    Thu Sep 19 2024 23:09:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Non-functional changes iniWriteFile() returns bool, not int. Removed inapplicable function comment.

  257. Rob Swindell (on Debian Linux)
    Wed Sep 18 2024 22:26:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    Cosmetic improvements to indication of user status (deleted/inactive) This should address issue #787

  258. Rob Swindell (on Debian Linux)
    Wed Sep 18 2024 13:28:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Fix return value of fclose_dstats - not currently checked anywhere fclose() returns 0 on success.

  259. Rob Swindell (on Debian Linux)
    Wed Sep 18 2024 13:49:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Fix comment header for putstats() - copy/pasted from getstats()

  260. Rob Swindell (on Debian Linux)
    Wed Sep 18 2024 14:18:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msg_area.c diff
    Use JS_ValueToECMAUint32() instead of JS_ValueToInt32() for scan_ptr prop set scan_cfg and last_read props too. This gives us use of the entire 32-bit range of an unsigned int. But does someone actually have a message base with message numbers in the billions? This is an attempt to fix isssue #792, but I suspect scan_ptr might instead be trying to be set to NaN or ... ?

  261. Eric Oulashin
    Tue Sep 17 2024 13:08:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    DDFileLister: Fix for replacing cursor-right codes to allow finding & replacing all of them in a string

  262. Rob Swindell
    Tue Sep 17 2024 13:31:22 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'dd_file_lister_replace_cursor_right_improvement' into 'master' DDFileLister: Fix for replacing cursor-right codes to allow finding & replacing all of them in a string See merge request main/sbbs!461

  263. Rob Swindell (on Windows 11)
    Tue Sep 17 2024 11:57:31 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    NUL-terminate the SMB fileidxrec_t.name field, just in case The terminating NUL is actually part of the index record, but with file corruption, it's technically possible the NUL could be missing. Fixes CID 509554

  264. Rob Swindell (on Windows 11)
    Tue Sep 17 2024 12:00:06 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbfile.c diff
    NUL-terminate the SMB fileidxrec_t.name field, just in case The terminating NUL is actually part of the index record, but with file corruption, it's technically possible the NUL could be missing. Fixes CID 509552 Use strnicmp() insted of stricmp() in smb_removefile() Fixes CID 509551

  265. Rob Swindell (on Windows 11)
    Tue Sep 17 2024 12:05:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Update default CantPostMsg to match text.dat

  266. Rob Swindell (on Debian Linux)
    Mon Sep 16 2024 18:52:51 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Check for console abort (Ctrl-C) in directory searching for loops Multiple directory searching functions wouldn't terminate on Ctrl-C

  267. Rob Swindell (on Windows 11)
    Mon Sep 16 2024 18:07:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Update JSDOC description of update() method Clarify that this is the method to use to rename a file.

  268. Rob Swindell (on Windows 11)
    Mon Sep 16 2024 18:09:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/listfile.cpp diff
    Only use liberal file pattern matching in the terminal server listfile funcs Commit 3a3c889b (2 years ago now) changed loadfiles() to use liberal file matching (e.g. "syncterm.exe" matched both "syncterm.exe" and "syncterm_v1.2b.exe"). This could produce surprising results when doing file list querieis/operations with the FileBase methods via JS (e.g. jsexec utils) and (now that I look at it), the FTP server too. So we should not have been doing liberal file matching *everywhere* loadfiles is used, just where it was a usability issue (due to displayed filenames being truncated to 12 chars for <=80 column terminals). Now solved by add/use of new liberal_filepattern() function only in the built-in file listing methods: sbbs_t::listfiles() and sbbs_t::listfileinfo(). Note: Custom JS file searching/listing scripts may now need their own work-arounds for this usability issue, if they have it.

  269. Rob Swindell (on Windows 11)
    Mon Sep 16 2024 18:50:23 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Use the liberal file matching to continue file listing/searches If the user didn't supply a wildcard, only a single file (the first file matching the liberal file pattern) would ever be listed in the file listing/searches, even when multiple files in the directory matched the liberal file matching pattern. This is not a new bug.

  270. Rob Swindell (on Debian Linux)
    Mon Sep 16 2024 13:54:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/updatefiles.js diff
    Remove the always-on force option, replaced with new readdfiles.js

  271. Rob Swindell (on Debian Linux)
    Mon Sep 16 2024 13:54:42 GMT-0700 (PDT)
    Added Files:
    

    exec/readdfiles.js diff
    New script that just re-adds (updates index position/date-time) files If you want to "touch" a file in the filebase (so it appears a new again) this is the script to use to do that.

  272. Rob Swindell (on Debian Linux)
    Mon Sep 16 2024 13:55:30 GMT-0700 (PDT)
    Modified Files:
    

    exec/nntpservice.js diff
    Re-open closed message base for commands to use selected/open base Should fix issue #790

  273. Rob Swindell (on Debian Linux)
    Mon Sep 16 2024 13:56:26 GMT-0700 (PDT)
    Modified Files:
    

    exec/webfileindex.ssjs diff
    Display the file index date-time instead of the file's date-time Since sorting works on the file index record date-time (date/time added) it was confusing to display dates that didn't always match the sort order.

  274. Eric Oulashin
    Mon Sep 16 2024 12:17:55 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: When displaying a file description, remove/replace cursor movement characters, which can corrupt the display

  275. Rob Swindell
    Mon Sep 16 2024 12:17:55 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_description_remove_or_replace_cursor_movement_attrs' into 'master' DDFileLister: When displaying a file description, remove/replace cursor movement characters, which can corrupt the display See merge request main/sbbs!460

  276. Rob Swindell (on ChromeOS)
    Sat Sep 14 2024 18:46:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Delete data/file/*.out directory for new user (if exists) emailfiles.js puts files here that the user requested to download "via email" and might not have been successfully delivered and deleted. So clean-up.

  277. Rob Swindell (on Debian Linux)
    Sat Sep 14 2024 17:16:04 GMT-0700 (PDT)
    Modified Files:
    

    exec/postmsg.js diff
    Add -F option to set file request attribute flag to force SBBSecho to create a .req file (in FLO-mode), rather than send as netmail. For Keyop

  278. Rob Swindell (on Debian Linux)
    Sat Sep 14 2024 14:12:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_msgbase.c diff
    Don't heap allocate argument to MsgBase and FileBase constructors Nelgin reported a weird error with a failed very large allocation for the base/code argument to the FileBase constructor. There's no good reason these strings were heap-allocated in the first place, so just change to use a stack allocated variable instead. I don't know why this would fix anything, but at least there's one less heap allocation and potential for memory leak here. Fix 2 bugs in js_update_file(): 1. missing parenthesis (really?!? Caught by Coverity - sigh) in last commmit caused attempt/failure/error to remove file after making any updates. The removing is only supposed to happen when its necessary to remove and re-add the file to the filebase (e.g. updating extended description or auxdata). 2. Wrong filename used in 'removing' exception string.

  279. Rob Swindell (on Debian Linux)
    Sat Sep 14 2024 14:18:29 GMT-0700 (PDT)
    Modified Files:
    

    exec/fileman.js diff
    When renaming a file (using F2 key), need to get all metadata before update ... otherwise, we'll erase the file's extended description or auxdata, if it has any.

  280. Rob Swindell (on Windows 11)
    Fri Sep 13 2024 21:28:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/js_filebase.c diff
    src/smblib/smbfile.c diff
    src/smblib/smblib.h diff
    Add/use smb_removefile_by_name() This fixes a filebase corruption issue that could be triggered by using FileBase.update() to rename a file while also changing the file's auxdata or extended description: you can't remove a file header that has the new filename (in the file_t.name field), cause it doesn't exist yet. So we needed an SMBLIB API function to pass the (original) filename instead. Much like the filedat.c removefile() function, but without the SMB opening/closing feature.

  281. Rob Swindell (on Debian Linux)
    Fri Sep 13 2024 20:45:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Don't allow FileBase.update() to create a duplicate file FileBase.update() will now throw an exception if attempting to rename a file to a filename that already exists in the filebase index. Prior to this change, one could (via JS methods) rename a file in the base to create a duplicate filename which would corrupt the base (one index entry and two header records for the same filename).

  282. Rob Swindell (on Windows 11)
    Fri Sep 13 2024 20:29:27 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smblib.c diff
    MSVC requires a 0 in the struct initializer

  283. Rob Swindell (on Debian Linux)
    Fri Sep 13 2024 19:57:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Eliminte weird gcc (12.2) warning in release build (only) Increasing size of mode[] element by 2 bytes eliminated these GCC warnings that seem like false-positives to me: sbbs.h:194:48: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 194 | (ret)[JSSTSpos]=(char)JSSTSstrval[JSSTSpos]; \ | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ js_file.c:225:25: note: in expansion of macro ‘JSSTRING_TO_STRBUF’ 225 | JSSTRING_TO_STRBUF(cx, str, p->mode, sizeof(p->mode), NULL); | ^~~~~~~~~~~~~~~~~~ js_file.c:42:17: note: at offset 5 into destination object ‘mode’ of size 5 42 | char mode[5]; | ^~~~ Similar use of JSSTRING_TO_STRBUF in other files (js_console.cpp, js_archive.c) (with larger target buffers) does not trigger the same warnings.

  284. Rob Swindell (on Debian Linux)
    Fri Sep 13 2024 19:57:58 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbdefs.h diff
    fileidexrec_t doesn't need to contain union This served exactly no purpose (since the idxrec_t existed at the same offset in both parts of the union). So this was just some weird artifact from the new filebase development.

  285. Rob Swindell (on Debian Linux)
    Fri Sep 13 2024 20:02:21 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smblib.c diff
    smb_getmsgidx() now reads entire index records from file bases too chksmb needed this to perform filename checks (index against headers).

  286. Rob Swindell (on Debian Linux)
    Fri Sep 13 2024 20:05:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chksmb.c diff
    Perform filename checks (index versus header fields) on filebases I was able to corrupt a filebase using fileman.js, renaming a file (the filename in the index as viewed with 'smbutil x' did not match the filename listed with 'smbutil l') - yet, chksmb reported no errors with the filebase. Now chksmb will detect that type of corruption.

  287. Rob Swindell (on Debian Linux)
    Fri Sep 13 2024 20:07:09 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    FileBase.update() method throws more exceptions upon error This will help to determine cause of any file update (e.g. rename) failures, as reported by Nelgin.

  288. Eric Oulashin
    Fri Sep 13 2024 18:30:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DD file lister: Check for null when getting extended metadata from the DB (possibly caused by corruption). Also, allow changing the filename when editing file info/metadata.

  289. Rob Swindell
    Fri Sep 13 2024 18:30:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_get_extd_info_null_check_and_allow_edit_filename' into 'master' DD file lister: Check for null when getting extended metadata from the DB (possibly caused by corruption). Also, allow changing the filename when editing file info/metadata. See merge request main/sbbs!459

  290. Rob Swindell (on Windows 11)
    Thu Sep 12 2024 23:37:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/ClientFormUnit.cpp diff
    src/sbbs3/ctrl/ClientFormUnit.dfm diff
    src/sbbs3/ctrl/ClientFormUnit.h diff
    Add keyboard shortcuts to Clients list view: Ctrl-A, Ctrl-F and Del Ctrl-A - Select All Ctrl-F - Filter IP address DEL - Close Socket Also, use Begin/EndUpdate() calls to batch updates to the ListView in Timer tick (no visible difference, but it's the right thing to do). I don't know why C++Builder increased the TextHeight value of this form from 13 to 15, but doesn't seem to really matter (or at least, I couldn't tell).

  291. Rob Swindell (on Windows 11)
    Thu Sep 12 2024 22:56:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    Display horizontal splitter in the correct spot. For who knows how long now, the horizontal splitter that allows the sysop to control the size of the top 2 panels (server forms), was displayed above the top panel, not between the top and bottom panel, thus making the panel heights not controllable. Weird. Change the order of making the controls visible to insure that the splitter is displayed below the top panel and on top of the bottom panel. Also (non-functional changes): Remove redunant mutex from client_on() - makes no difference. Use try/catch in client_on() to try to catch VCL exceptions - doesn't catch the "invalid index" error popups that we see on occasion. <shrug>

  292. Rob Swindell (on Windows 11)
    Thu Sep 12 2024 22:57:14 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.dfm diff
    Change the height of the horizontal splitter to the minimum (1 pixel) I don't know why this was set so wide (10 pixels), but that did help to easily see that it was being placed in the wrong spot in the form (between the tool button bar and the top panel). But we don't need it to be that thick. 1 pixel is still enough to be able to grab it with the mouse and resize the top/bottom panels.

  293. Rob Swindell (on Debian Linux)
    Thu Sep 12 2024 21:35:16 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    Fix crash due to use after free or double-free ... bug introduced in commit 29a35642160a7f4. strListMerge() doesn't realloc the strings in the list, so we don't want to free the strings in this list here. This is likely the cause of the crash Keyop eluded to in #synchronet.

  294. Rob Swindell (on Debian Linux)
    Thu Sep 12 2024 16:40:41 GMT-0700 (PDT)
    Modified Files:
    

    exec/nntpservice.js diff
    Close any open message base after input timeout (5 minutes) As Nelgin pointed out, the nntpservice can leave a message bases open while a client is idle. Normally, an inactive client would be disconnected after 5 minutes of inactivity, so that wouldn't be much of an issue. However, if authenticated as a user with the H-exemption, no auto-disconnection after input timeout would happen. So let's close any open message base for good measure. The input/receive timeout probably should be configurable and lowered to a smaller duration (one minute?). I'll leave that for another commit.

  295. Rob Swindell (on Debian Linux)
    Thu Sep 12 2024 16:50:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/nntpservice.js diff
    Close an open message base after just 10 seconds of client inactivity ... and log a debug-level log message when doing so. The current input/receive timeout duration (5 minutes) might be a bit long to leave a message base open (though, there's no known issue with doing so). For example, when users read message bases using the terminal server, they can sit for much longer than 5 minutes reading an open message base.

  296. Rob Swindell (on Windows 11)
    Thu Sep 12 2024 13:58:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/data_ovl.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Split-up the opening and writing of msg pointer files, to help debug issue Reported by Keyop (upon being auto-disconnected overnight): !ERROR 9 (Bad file descriptor) in data_ovl.cpp line 47 (putmsgptrs) writing "message pointers" access=0 Unfortunately, the way putmsgptrs() was written, we couldn't tell if this was an open (data/user/*.subs file) issue or a writing issue. So create putmsgptrs_fp() and use that from sbbs_t::putmsgptrs(), so we can log a different error (with more accurate details) if it's a file-open failure versues a file-write failure.

  297. Rick Parrish
    Thu Sep 12 2024 13:58:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/websocketservice.js diff
    Fix #782 - websocketservice.js garbles input on Banana Pi running Armbian

  298. Rob Swindell
    Thu Sep 12 2024 13:58:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/websocketservice.js diff
    Merge branch 'ree/websocketservice-debug' into 'master' Fix #782 - websocketservice.js garbles input on Banana Pi running Armbian Closes #782 See merge request main/sbbs!458

  299. Rob Swindell (on Windows 11)
    Wed Sep 11 2024 20:23:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    Blocked IP addresses in ip-silent.can weren't filtered from QWK and REP pkts The "from_ip" header field of QWK messages is checked against blocked IP addresses, but was only checking against IP addresses from ip.can, not any addresses listed in ip-silent.can. These 2 list files are now merged together for the purposes of filtering during QWK/REP packet import.

  300. Rob Swindell (on Windows 11)
    Mon Sep 09 2024 18:29:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Refactor the function: unpack_bundle() 1. When a 0-length bundle file was encountered or an unpacking error occurred, any remaining bundles for the current search day-of-week (e.g. *.SU*) would be skipped/ignored. This bug (issue #764, regarding the 0-length file part), is fixed by not incrementing the day-of-week index in the main loop, but rather only incremeting the index when all bundles for the current day-of-week have been processed. 2. The age calculation for 0-byte/length bundle files was incorrect, so all 0-length bundle files would always be considered "less than 24-hours old" (and thus, never auto-deleted). This exacerbated the problem of issue #764 since it would persist until the 0-length files were manually deleted. Fixed the file age calculation and now logging the date/timestamp of the 0-length file as well. 3. Don't do the switch/case/sprintf dance when we're not re-running a glob() search. 4. Replace the switch/case statement with an array of week day names/patterns. 5. Ignore (with a warning log message) any sub-directories of the inbound directory that happen to match the bundle file search pattern. 6. Use better variable naming. 7. Refer to files with a length of 0 as "0-length" instead of "0-byte" in log messages.

  301. Rob Swindell (on Windows 11)
    Mon Sep 09 2024 18:29:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chksmb.c diff
    Don't check header fields of deleted messages for control characters ... related to issue #786. Also, don't check for a message-ID if the message-type does not match the expected message type ("type mismatch").

  302. Rob Swindell (on Windows 11)
    Mon Sep 09 2024 18:29:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Indicate vote/poll messages and files (with details) when listing msgs/files Add '-v' (increase verbosity) option, used to display msg dates and timezones ... when using the the 'l' (list messages) command (to view post date/time). Use '-vv' or '-v -v' to see timezones of messages. The -v option is now also applicable to the 'v' (view) messages command (now redundant with the 'V' command). Features as requested by Nelgin as part of issue #786. Removed day-of-week from date/times displayed. We don't need that level of user-friendliness with this tool. However, we are also displaying 12h/am/pm times. Some sysops probably would prefer 24hour time, so that should be considered at some point.

  303. Rob Swindell (on ChromeOS)
    Sun Sep 08 2024 18:36:58 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    More v3.20 changes documented

  304. Rob Swindell (on Windows 11)
    Sat Sep 07 2024 14:42:55 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/mqtt.c diff
    src/sbbs3/mqtt.h diff
    src/sbbs3/putnode.cpp diff
    Don't attempt to publish MQTT messages unless/until connected to broker For cases where an mqtt struct is shared between threads without concurrency control. I'm making this improvement in light of research into issue #781, though I don't expect this change to fix the reported issue. The reported error seems to come from the event thread (publishing node status upon starting to run the "DAILY" event) when a broker connection was not successful, however the reporter (Nelgin) may not have had debug-level logging turned on, so didn't capture the successful broker-connect log message. I think the broker connection *was* successful and perhaps then terminated by the broker ("due to protocol error"?).

  305. Rob Swindell (on Windows 11)
    Sat Sep 07 2024 15:27:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    src/sbbs3/mqtt.h diff
    Track broker-connected status via Mosquitto connect/disconnect callbacks I think this might fix issue #781. I suspect that SBBS (the MQTT client) is being disconnected by the server ("due to protocol error") *after* the call to mosquitto_connect_bind() is successful. We don't have any correponding log output for this case, but at least we can track the connection status accurately using the Mosquitto client callbacks and not try to publish when we're not connected.

  306. Rob Swindell (on Debian Linux)
    Sat Sep 07 2024 13:19:15 GMT-0700 (PDT)
    Modified Files:
    

    exec/tickit.js diff
    Strip trailing whitespace off end of values read from .tic files Fix issue #785

  307. Rob Swindell (on Windows 11)
    Sat Sep 07 2024 13:08:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logfile.cpp diff
    src/sbbs3/sbbs.h diff
    Add llprintf() to log a formatted line to the node.log and term server log There's a whole lotta calls to sprintf() then logline() that could be reduced with this function.

  308. Rob Swindell (on Windows 11)
    Sat Sep 07 2024 13:13:11 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/email.cpp diff
    src/sbbs3/postmsg.cpp diff
    Log more/better messages when message fails to post (e.g. duplicate detected) It appears I had the idea to make the CantPost text.dat string a format string before, but never quite finished that change (e.g. made the change to email.cpp and text.dat too).

  309. Rob Swindell (on Windows 11)
    Fri Sep 06 2024 20:48:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/qwktomsg.cpp diff
    Don't use QWK reply message date unless time zone is also specified For regular user QWK Relpy packet uploads only, if no timezone is specified (e.g. via @TZ kludge or HEADERS.DAT), then over-ride the message's "posted" date/time with the current date/time since we're going to set the message's timezone to the BBS's local timezone as well. This is a fix for issue #783 reported by Chris Jacobs. If/when we support user-specified timezones, then this likely would be a place where we'd want to use the user's timezone.

  310. Rob Swindell (on Windows 11)
    Thu Sep 05 2024 19:52:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Create system.tz_offset property; minutes east (+) or west (-) of UTC From todo list on Vertrauen, not in GitLab (shrug)

  311. Eric Oulashin
    Wed Sep 04 2024 23:27:17 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    dd_lightbar_menu.js: Fix for out-of-bounds row updates when updating the scrollbar in DDLightbarMenu_UpdateScrollbar()

  312. Rob Swindell
    Wed Sep 04 2024 23:27:17 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_UpdateScrollbar_RowOutOfRange_Fix' into 'master' dd_lightbar_menu.js: Fix for out-of-bounds row updates when updating the scrollbar in DDLightbarMenu_UpdateScrollbar() See merge request main/sbbs!457

  313. Eric Oulashin
    Tue Sep 03 2024 21:58:02 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Fix for saving an ANSI message to the local BBS PC (undeclared variable error). Found by Amessyroom

  314. Rob Swindell
    Tue Sep 03 2024 21:58:02 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_save_ansi_message_fix' into 'master' DDMsgReader: Fix for saving an ANSI message to the local BBS PC (undeclared variable error). Found by Amessyroom See merge request main/sbbs!456

  315. Eric Oulashin
    Wed Aug 28 2024 15:46:22 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    ddfilelister: "Edit" item text on the bottom horizontal menu for traditional/non-lightbar interface

  316. Rob Swindell
    Wed Aug 28 2024 15:46:22 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'ddfilelister_bottom_menu_edit_item_text_len' into 'master' ddfilelister: "Edit" item text on the bottom horizontal menu for traditional/non-lightbar interface See merge request main/sbbs!454

  317. Rob Swindell (on Windows 11)
    Mon Aug 26 2024 17:07:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    Fix NULL pointer deref in random_menu() When no files with extensions are found, though they matched the glob() pattern, a NULL pointer deref would result (segfault). This could happen if the only files matching the pattern had no extenions or were directories (not files). Fix for issue #779

  318. Rob Swindell (on Windows 11)
    Thu Aug 22 2024 21:19:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    Don't call utime() on the node.dab file for every read ... this was the cause of some observed unnecessarily high disk/file server (Samba) utilization, as we call getnodedat() a lot. utime() opens and closes the file, which was already open - and we're not modifying the file, so updating the 'modification time' here is wrong anyway. Disabling this 21-year old bit of logic resulted in a pretty dramatic reduction in Samba (smbd) CPU utilization on Vertrauen. If a BBS actually needes this hack (e.g. for NFS compatibility, as Deuce eluded in the comment), they'd be better off just setting the "Keep Node File Open" node setting (in SCFG->Nodes) to "No".

  319. Rob Swindell (on Debian Linux)
    Thu Aug 22 2024 19:49:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Extend (and back-off) the user.tab record lock attempts I'v been getting errors locking user.tab (for read) for a while (over samba), so hopefully this helps. The lockuserdat() total timeout duration extends from about 5 seconds to about 45 seconds (with an incremental back-off). Implement the same lock-retry logic/limit in putuserdat().

  320. Rob Swindell (on Debian Linux)
    Mon Aug 19 2024 19:01:42 GMT-0700 (PDT)
    Modified Files:
    

    exec/telgate.js diff
    Add -N option to send blank line after connect ... requested by someone in #synchronet

  321. Rob Swindell (on Debian Linux)
    Mon Aug 19 2024 15:32:37 GMT-0700 (PDT)
    Modified Files:
    

    exec/init-fidonet.ini diff
    Fix the HobbyNet entry: Zone 954 is not a FidoNet (proper) address Apparently, Mike Dippel's actual FidoNet address is 3:712/1321.5

  322. Rob Swindell (on Debian Linux)
    Sun Aug 18 2024 18:44:47 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/diskusage.js diff
    exec/load/filelist_lib.js diff
    exec/load/gettext.js diff
    exec/load/install-3rdp-xtrn.js diff
    exec/load/nodedefs.js diff
    exec/load/presence_lib.js diff
    exec/load/shell_lib.js diff
    exec/load/termdesc.js diff
    exec/load/uifcdefs.js diff
    Remove executable attribute

  323. Rob Swindell (on Debian Linux)
    Sun Aug 18 2024 18:42:47 GMT-0700 (PDT)
    Modified Files:
    

    exec/addfiles.js diff
    exec/archive.js diff
    exec/badpasswords.js diff
    exec/default.js diff
    exec/delfiles.js diff
    exec/dupefind.js diff
    exec/emailfiles.js diff
    exec/examples/uifc.js diff
    exec/fido-nodelist-syncterm.js diff
    exec/filelist.js diff
    exec/fileman.js diff
    exec/filescancfg.js diff
    exec/hashfile.js diff
    exec/importcfg.js diff
    exec/inventory_archives.js diff
    exec/logon.js diff
    exec/mqtt_spy.js diff
    exec/noyesbar.js diff
    exec/postfile.js diff
    exec/rehashfiles.js diff
    exec/replace_text.js diff
    exec/simple.src diff
    exec/sysavail.js diff
    exec/tempxfer.js diff
    exec/testbuild.js diff
    exec/updatefiles.js diff
    exec/upgrade_to_v320.js diff
    exec/viewimsgs.js diff
    exec/webfileindex.ssjs diff
    exec/yesnobar.js diff
    Remove executable attribute

  324. Rob Swindell (on Debian Linux)
    Sun Aug 18 2024 18:43:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sexyz.c diff
    src/sbbs3/xmodem.c diff
    src/sbbs3/zmodem.c diff
    src/sbbs3/zmodem.h diff
    Remove executable attribute

  325. Rob Swindell (on Windows 11)
    Sat Aug 17 2024 18:06:39 GMT-0700 (PDT)
    Modified Files:
    

    exec/user_settings.js diff
    Defense against TypeError: xtrn_area.editor[thisuser.editor] is undefined

  326. Eric Oulashin
    Fri Aug 16 2024 21:39:58 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: Now supports editing file info (with the E key).

  327. Rob Swindell
    Fri Aug 16 2024 21:39:58 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_edit_file_info' into 'master' DDFileLister: Now supports editing file info (with the E key). See merge request main/sbbs!453

  328. Rob Swindell (on Debian Linux)
    Thu Aug 15 2024 16:58:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/upgrade_to_v319.c diff
    Removed Files:

    src/sbbs3/sbbs4defs.h diff
    Eliminate unused file sbbs4defs.h

  329. Rob Swindell (on Debian Linux)
    Thu Aug 15 2024 17:08:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/telgate.cpp diff
    Log warning if sendsocket() fails to send string passed to telgate() Eliminates GCC warning about not checking return value of write/sendsocket()

  330. Rob Swindell (on Debian Linux)
    Thu Aug 15 2024 17:35:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/telgate.cpp diff
    Fix small memory leak when telgate() was used to proxy for a telnet server At least 512 bytes per call.

  331. echicken
    Thu Aug 15 2024 09:52:01 GMT-0700 (PDT)
    Modified Files:
    

    exec/fido-nodelist-browser.js diff
    Includes swindows with unborked home/end key handling in lightbar. Fixes problem reported by Nightfox.

  332. echicken
    Thu Aug 15 2024 07:44:09 GMT-0700 (PDT)
    Modified Files:
    

    exec/fido-nodelist-browser.js diff
    Temporary fix to restore things on exit pending figuring out why the other way doesn't work.

  333. echicken
    Thu Aug 15 2024 06:54:04 GMT-0700 (PDT)
    Modified Files:
    

    exec/fido-nodelist-browser.js diff
    Restore cursor on exit; which should be happening via js.on_exit anyway but ... isn't?

  334. echicken
    Wed Aug 14 2024 22:43:13 GMT-0700 (PDT)
    Modified Files:
    

    exec/fido-nodelist-browser.js diff
    A faster, better looking, less janky version of the FTN nodelist browser. Should be feature-equivalent with the old one, though the navigation is a bit different. If you don't like it, dig the old one out of git and run it from some other location. This is a build of: https://gitlab.synchro.net/echicken/nodelist-browser and it will be maintained there for now. I'll try to remember to update this copy as needed. Do not edit / commit changes to this file; it's transpiled from TypeScript and not meant to be edited by hand. Do not read this file if you value your sanity.

  335. Rob Swindell (on Windows 11)
    Tue Aug 13 2024 15:57:16 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/sbbsdefs.js diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/telgate.cpp diff
    Add Telnet Gateway "Raw TCP" (TG_RAW) and "Expand Bare-LF to CRLF" TG_EXPANDLF The expansion of LF to CRLF (with TG_EXPANDLF) is on receive. For Nelgin

  336. Eric Oulashin
    Mon Aug 12 2024 19:21:59 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Updates to fix new user newscan, depending on the scan_ptr value

  337. Rob Swindell
    Mon Aug 12 2024 19:40:25 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_new_user_scan_ptr_fix' into 'master' DDMsgReader: Updates to fix new user newscan, depending on the scan_ptr value See merge request main/sbbs!452

  338. Rob Swindell (on Debian Linux)
    Mon Aug 12 2024 19:01:36 GMT-0700 (PDT)
    Modified Files:
    

    exec/rlogin.js diff
    exec/telgate.js diff
    Add support for -v (verbose) option and modopts.ini Don't display remote host name/addr unless -v option is specified or verbosity=1 is set in modopts.ini. Allow the displayed messages to be customized or disabled as the sysop wishes via modopts.ini keys: - help_msg - connecting_msg - failed_connect_msg (e.g. set to a blank string to disable) The following settings are also now configurable via modopts.ini: - quiet (correlates with -q option) - pause (correlates with -P option) - clear (correlates with -C option) - timeout (correlates with -T option) - verbosity (correlates with -v option) ... a sysop can control the default behavior of all invocations of telgate.js or rlogin.js via a single file now (modopts.ini). The rlogin.js module will first look ing for the [rlogin] section in modopts.ini and if it doesn't exist, then [telgate] section. telgate.js just looks for the [telgate] section. For the #synchronet irc crew: Nelgin and Keyop

  339. Rob Swindell (on Windows 11)
    Sat Aug 10 2024 19:40:14 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/node.c diff
    Fix usage of "node list <node_num> <node_num> [...]" Only the last node number specified would be listed before this fix.

  340. Rob Swindell (on Windows 11)
    Sat Aug 10 2024 19:41:04 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Fix CIDs 508283 508284 508285 508286 508287 HANDLE_PENDING() macro returns from the calling function (without freeing allocated resources), so don't use that here.

  341. Rob Swindell (on Windows 11)
    Sat Aug 10 2024 19:43:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/telgate.cpp diff
    Fix CID 508288 (STRING_NULL) I'm not clear why Coverity suddenly thinks that getstr() doesn't nul-terminate strings, but whatever: NUL-terminate the buf before passing it to getstr(). <shrug>

  342. Rob Swindell (on Debian Linux)
    Sat Aug 10 2024 16:30:46 GMT-0700 (PDT)
    Modified Files:
    

    exec/telgate.js diff
    Send CRLF terminated strings with -S option instead of CR-terminated Telnet requires CRLF or CR/NUL instead of bare CR.

  343. echicken
    Sat Aug 10 2024 10:36:32 GMT-0700 (PDT)
    Removed Files:
    

    xtrn/bullshit/bullshit-lib.js diff
    xtrn/bullshit/bullshit.ini diff
    xtrn/bullshit/bullshit.ssjs diff
    xtrn/bullshit/readme.txt diff
    These files no longer needed with new version.

  344. echicken
    Sat Aug 10 2024 10:38:40 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/bullshit/999-bullshit.xjs diff
    Basically the same as before, but without the help of bullshit-lib.js. Untested.

  345. echicken
    Sat Aug 10 2024 10:40:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/bullshit/bullshit.js diff
    bullshit v4 build as in-place replacement for v3. On first run under the terminal server, your old bullshit.ini settings will be migrated to ctrl/modopts.d/bullshit.ini in a slightly different format.

  346. echicken
    Sat Aug 10 2024 10:40:41 GMT-0700 (PDT)
    Added Files:
    

    xtrn/bullshit/.babelrc.json diff
    xtrn/bullshit/.devcontainer/devcontainer.json diff
    xtrn/bullshit/.gitignore diff
    xtrn/bullshit/Readme.md diff
    xtrn/bullshit/package-lock.json diff
    xtrn/bullshit/package.json diff
    xtrn/bullshit/src/bullshit.ts diff
    xtrn/bullshit/src/lib/UI.ts diff
    xtrn/bullshit/src/lib/list.ts diff
    xtrn/bullshit/src/lib/options.ts diff
    xtrn/bullshit/tsconfig.json diff
    Bullshit v4 (source & tooling). This is a rewrite of the Bullshit bulletin lister. Should have all the same features as v3, but much faster at lightbar navigation and especially better at scrolling large files. (frame.js has been replaced here by my new screen management library, 'swindows'.) Sysops don't need to concern themselves with the files in this commit; the build generated from these has been placed in the same location as the old 'bullshit.js' script. Just copy that one to wherever you normally run this from and it'll take over. Or you could run Bullshit from the repo if you like to live dangerously.

  347. Rob Swindell (on Debian Linux)
    Sat Aug 10 2024 02:32:27 GMT-0700 (PDT)
    Modified Files:
    

    exec/tickit.js diff
    Change log level of "already exists" log messages from ERROR to WARNING Fix issue #773

  348. Rob Swindell (on Debian Linux)
    Sat Aug 10 2024 02:24:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/node.c diff
    Fix the 'node list' command No longer claim that 'list' is the default action (it's not). If you want to list nodes, you need to specify the 'list' action. Fix for issue #772

  349. Rob Swindell (on Debian Linux)
    Sat Aug 10 2024 02:10:53 GMT-0700 (PDT)
    Modified Files:
    

    exec/telgate.js diff
    Fix the mode passing to bbs.telnet_gate() - never undefined value bbs.telnet_gate() is not tolerant of receiving an undefined parameter value (while bbs.rlogin_gate() is), so this messed up the subsequent argument parsing which caused the strings pushed with the '-s' or '-S' options to not work. Fixes issue #774

  350. Rob Swindell (on Debian Linux)
    Fri Aug 09 2024 21:40:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/rlogin.js diff
    Fixed typo

  351. Rob Swindell (on Debian Linux)
    Fri Aug 09 2024 21:38:39 GMT-0700 (PDT)
    Modified Files:
    

    exec/telgate.js diff
    Support more command-line options, like -p, -C, -T, -m ala rlogin.js Includes new feature to optionally send string(s) to remote server after connecting (for Nelgin). The -q option addition fixes issue #771.

  352. Rob Swindell (on Windows 11)
    Fri Aug 09 2024 21:23:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/telgate.cpp diff
    Add optional array argument to bbs.telnet_gate() and bbs.rlogin_gate() If an array argument is passed to these methods, the stringified contents of each array element value will be sent to the remote server after connecting. This is to support Nelgin's request of sending some strings to a server after connecting. There's no way to insert pauses between the sent strings or wait for certain output from the remote - that's beyond this scope/capability.

  353. Eric Oulashin
    Fri Aug 09 2024 19:52:53 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: New msgSaveDir option to specify a default dir to save messages to (for the sysop)

  354. Rob Swindell
    Fri Aug 09 2024 20:17:45 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_default_save_path_option' into 'master' DDMsgReader: New msgSaveDir option to specify a default dir to save messages to (for the sysop) See merge request main/sbbs!450

  355. Rob Swindell (on Windows 11)
    Fri Aug 09 2024 19:16:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ansiterm.cpp diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/sbbs.h diff
    Rename sbbs_t::ungetstr() and JS console.ungetstr() to ungetkeys() ... since these methods only feed the keyboard buffer. Add an optional 'insert' argument to console.ungetkeys() - default is false (append). Add a new version of console.ungetstr() which feeds the passed characters directly to the receive input buffer. Now returns bool indicating success. Existing scripts (if any) that use console.ungetstr() should continue to work just fine. This is anticipation of telgate.js being able to stuff strings (e.g. username, password) into the input buffer and those chars/keys being passed to the remote (gatewayed) telnet server. Since the telnet gateway reads directly from the receive input buffer (ignoring the keyboard buffer), we needed a way to stuff strings of characters into the receive input buffer directly and that sort of exposed the weirdness of the existing console.ungetstr() method: - it didn't return a return value (not indication of failure) - it didn't support an 'insert' operation (even though the underlying C++ method does) - it didn't use the sbbs_t method that already existed for feedding a string of characters into the input/keyboard buffer

  356. Rob Swindell (on Windows 11)
    Thu Aug 08 2024 21:07:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_global.c diff
    Global JS exit() function now sets 'exit_code' to 0 by default Calling exit() causes JS_ExecuteScript() to return false (same return value as if there's a syntax error) - so if we always set exit_code in exit() (even when not passed a parameter) and then use that exit code if the property is defined, then we get the -1 return value from js_execfile() if the script is terminated prematurely without using exit(). This fixes the issue introduced in the previous commit where scripts that call exit() - without any parameters, were causing errors to be logged about scripts (e.g. timed events) returning -1.

  357. Rob Swindell (on Windows 11)
    Thu Aug 08 2024 19:10:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    src/sbbs3/main.cpp diff
    Fix infinite loop of error msgs/notifications when JS shell has syntax error js_execfile() now returns -1 when JS_ExecuteScript() return false (failure). The main command-shell loop will now terminate when js_execfile() returns anything but 0 (success), similar to how PCMS (Baja-compiled) command-shell .bin file parse errors are handled.

  358. Rob Swindell (on Windows 11)
    Thu Aug 08 2024 18:19:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/readmail.cpp diff
    Save/reuse the mail save path/filename as a user property (in data/user/*.ini) This is a fix for issue #340 Another idea would be to store a history of mail save paths and allow the user to scroll through them/choose with the up and down arrow keys, but that goes beyond the original feature request. So this just stores/reuses the last successfully used path/filename.

  359. Rob Swindell (on Debian Linux)
    Thu Aug 08 2024 13:25:25 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Prompt to clear the batch download queue if user chooses not to download files Some users may have unintentionally added files to their batch download queue and not know how to clear the queue manually, so prompt here for user friendliness/convenience.

  360. Rob Swindell (on Windows 11)
    Thu Aug 08 2024 13:22:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Make argument to bbs.batch_clear() optional (clear downlaod queue by default) ... as appears to have been the intent

  361. Rob Swindell (on Windows 11)
    Thu Aug 08 2024 12:32:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_internal.c diff
    Fix CID 508259: Control flow issue (DEADCODE) ... introduced in commit 54523145

  362. Rob Swindell (on Windows 11)
    Thu Aug 08 2024 12:35:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Fix CID 508260: Null pointer dereference And really, more importantly, the msg header field_list array length would always be interpretted as 0-length! ... introduced in commit 54523145

  363. Rob Swindell (on Windows 11)
    Thu Aug 08 2024 00:01:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/node.c diff
    Display usage help when unrecognized param is detected Include -pause and -loop options in usage help output. Don't delay (sleep) one second when looping and -pause option is used. Flush the output before waiting for key-press (-pause option is used). This should all address issue #365. Sorry for the long wait.

  364. Rob Swindell (on Debian Linux)
    Wed Aug 07 2024 21:17:59 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    StartXferNow string now contains argument (%s) for the protocol name This is helpful when auto-starting a download using the user's pre-selected default download protocol, reminds the user to start the appropriate transfer protocol on their end (when necessary). Goes along with the previous commited fix to issue #767

  365. Rob Swindell (on Windows 11)
    Wed Aug 07 2024 21:10:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    src/sbbs3/text_defaults.c diff
    Don't display menu of file xfer prots when auto-selecting user's default prot When a user has a "default download protocol" selected (configured for their user account), don't display a menu of file transfer protocols when we're just going to auto-select their default anyway (e.g. when downloading a QWK packet). This change also introduces an argument (%s, the protocol name) in the StartXferNow text.dat string, so that if/when the user forgets which default download transfer protocol they had selected, they'll be reminded ("oh yeah, I need start an XMODEM download!"). This fixes issue #767

  366. Rob Swindell (on Windows 11)
    Wed Aug 07 2024 19:44:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/js_conio.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/websrvr.c diff
    Prevent NULL pointer dereference when 'null' object passed to JS functions As was discovered as part of investigation into issue #769, a JavaScript could crash SBBS (cause a segfault) due to a NULL pointer dereference when the script passes 'null' to native JS functions where an object is expected. The issue raised was with console.gotoxy(), but it turns out that *many* Synchronet native JS functions would call JSVAL_TO_OBJECT() and then, without checking for NULL/nullptr, pass its return value to JS api functions such as JS_GetPrivate, JS_GetProperty, JS_GetClass, JS_ObjectIsFunction, JS_IsArrayObject, JS_GetArrayLength, JS_DefineProperty, JS_Enumerate, etc. All of these JS API functions dereference the passed object pointer without NULL/nullptr checking. The fix here is to either call JSVAL_IS_NULL() or JSVAL_NULL_OR_VOID() and if true, not call JSVAL_TO_OBJECT() and/or check the return value for the NULL value before using as an argument to any other JS API functions.

  367. Rob Swindell (on Debian Linux)
    Tue Aug 06 2024 18:26:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_console.cpp diff
    Better invalid argument reporting (null object) from js_gotoxy() The calling script will still terminate if it does this, but at least the caller will get a useful JS exception. Related to fix for issue #769

  368. Rob Swindell (on Windows 11)
    Tue Aug 06 2024 18:06:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_console.cpp diff
    Fix potential null object pointer passed to JS_GetProperty in js_gotoxy() I'm not sure under what script conditions this could happen, but apparently Nelgin was able to produce this null pointer deref (and segfault) using DDMsgReader. This should fix issue #769

  369. Nigel Reed
    Mon Aug 05 2024 18:26:48 GMT-0700 (PDT)
    Modified Files:
    

    exec/imapservice.js diff
    Fix messages with blank bodies not showing up on iphone

  370. Rob Swindell
    Mon Aug 05 2024 18:26:48 GMT-0700 (PDT)
    Modified Files:
    

    exec/imapservice.js diff
    Merge branch 'fix_blank_imap_body' into 'master' Fix messages with blank bodies not showing up on iphone See merge request main/sbbs!449

  371. Eric Oulashin
    Sun Aug 04 2024 21:58:18 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader Fix: Indexed newscan mode for new users now shows the number of new messages in sub-boards like it's supposed to. Reported by Nelgin.

  372. Rob Swindell
    Sun Aug 04 2024 23:11:35 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_indexed_newscan_num_new_msgs_fix' into 'master' DDMsgReader Fix: Indexed newscan mode for new users now shows the number of new messages in sub-boards like it's supposed to. Reported by Nelgin. See merge request main/sbbs!448

  373. echicken
    Sun Aug 04 2024 20:23:43 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lemons/level.js diff
    Select the thing and do the thing.

  374. Rob Swindell (on Debian Linux)
    Sun Aug 04 2024 17:37:19 GMT-0700 (PDT)
    Modified Files:
    

    exec/dyndns.js diff
    Allow password to be read from modopts.ini [dyndns] 'password' key Overrides whatever is passed on the command-line. Works around issue of '%' character included in password bein interpretted as a command-line specifier (e.g. %s). Increment revision to 2.0.

  375. Rob Swindell (on Windows 11)
    Sat Aug 03 2024 19:50:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    Make the [BBS] MaxSessionInactivity 10m (not 0), when not set in sbbs.ini We've had this value as the default in sbbs.ini for a while now, so should be safe to use as the upgrading-sysop (who wouldn't have this value in their sbbs.ini file, most likely) setting. Not all default sbbs.ini values are true "defaults" (meaning, if they don't exist in the file, then same value would be used) - but we should do an audit and correct those mismatches at some point.

  376. Rob Swindell (on Windows 11)
    Sat Aug 03 2024 19:53:14 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getkey.cpp diff
    Better support for a blank ("") text.dat AreYouThere string If a sysop doesn't want this warning to do anything, then no need to save and restore the current (last displayed) line of text.

  377. Rob Swindell (on Windows 11)
    Sat Aug 03 2024 19:55:31 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Log a warning if any socket inactivity max durations are shorter/equal to ... to the getkey inactivity timeout. By setting a socket timeout shorter or equal to the getkey timeout, the getkey timeout effectively does nothing.

  378. Rob Swindell (on Windows 11)
    Sat Aug 03 2024 19:56:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsrvr.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgsys.c diff
    Help text updates, particularly around socket inactivity timeouts See issue #765 for background.

  379. Nigel Reed
    Tue Jul 23 2024 15:11:31 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    Missing quote mark added.

  380. Rob Swindell
    Tue Jul 23 2024 15:11:31 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    Merge branch 'mrc_fix_missing_quote' into 'master' Missing quote mark added. See merge request main/sbbs!446

  381. Nigel Reed
    Mon Jul 22 2024 15:51:24 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    Add ssl support for server to server connections.

  382. Rob Swindell
    Mon Jul 22 2024 15:51:24 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    Merge branch 'mrc_ssl' into 'master' Add ssl support for server to server connections. See merge request main/sbbs!445

  383. Rob Swindell (on Debian Linux)
    Sun Jul 21 2024 13:58:35 GMT-0700 (PDT)
    Modified Files:
    

    exec/text_sec.js diff
    Check console.aborted flag in display loops So that hitting 'N' at pause prompt will abort the loop. Reported by phigz via irc.synchro.net

  384. Nigel Reed
    Sat Jul 20 2024 12:14:59 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.example.ini diff
    xtrn/mrc/mrc-client.js diff
    xtrn/mrc/mrc-connector.example.ini diff
    xtrn/mrc/mrc-connector.js diff
    xtrn/mrc/readme.txt diff
    Add ssl support for server to server connections.

  385. Rob Swindell
    Sat Jul 20 2024 12:14:59 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.example.ini diff
    xtrn/mrc/mrc-client.js diff
    xtrn/mrc/mrc-connector.example.ini diff
    xtrn/mrc/mrc-connector.js diff
    xtrn/mrc/readme.txt diff
    Merge branch 'mrc_ssl' into 'master' Add ssl support for server to server connections. See merge request main/sbbs!443

  386. Rob Swindell (on Debian Linux)
    Wed Jul 17 2024 13:15:18 GMT-0700 (PDT)
    Modified Files:
    

    exec/logonlist.js diff
    Allow time format to be set via modopts.ini [logonlist] time_fmt ... in strftime format (https://cplusplus.com/reference/ctime/strftime/) If you (sysop) have last_few_callers_fmt set to a custom value in your modopts.ini, you'll need to update that format as a result of this change: the number and type of arguments have now changed: instead of the logon time be passed as hours and minutes (integers), it's now passed as a single a string. That string is the result of a call to strftime() with the time_fmt or (by default), "%H:%M". This change was made to accommodate request by NeoArata (THEREALM)

  387. Rob Swindell (on Debian Linux)
    Tue Jul 16 2024 12:22:33 GMT-0700 (PDT)
    Modified Files:
    

    exec/irc.js diff
    Add '-p' option to over-ride password sent to server via PASS message If -p (or -P) is the last option given with no argument following, then no password would be sent to the server (via PASS message). For Odusseus71

  388. Rob Swindell (on Debian Linux)
    Mon Jul 15 2024 19:51:34 GMT-0700 (PDT)
    Modified Files:
    

    exec/default.js diff
    Don't display the sysop file transfer menu (in response to '!' key) ... for non-sysops

  389. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 19:38:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Include current node number intead of socket descriptor in highwater log msg looks better, more consistent with the log messages before/after it.

  390. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 19:28:09 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix *nix build We removed the large-scope 'i', but didn't update the Unix-only blocks of code (dealing with UNIX domain spy sockets).

  391. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 18:49:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Clear (set to 0) each server's "highwater" topic upon startup The other server stats (e.g. error_count, served) are zeroed upon startup, so the highwater mark should be zeroed too.

  392. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 19:00:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix incorrect 'socket' value for new (highwater) log message

  393. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 19:15:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Eliminate large-scoped 'i' variable in bbs_thread() This is just a code quality (readability) improvement. No functional change.

  394. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 18:30:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/services.c diff
    Track/log/publish-to-MQTT services server (total) client highwater mark Like the other servers. A sysop likely would want to know which services/protocols had what utilization (as a portion of the total highwater mark), so that'll have to be added later.

  395. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 13:38:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Fix off-by-one reporting of "active client highwater mark" Only log the hightwater mark when it's > 1. :-)

  396. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 17:29:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Publish client highwater mark (max concurrent client stat) to MQTT

  397. Rob Swindell (on Windows 11)
    Thu Jul 11 2024 17:30:04 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    Log and MQTT-public active client highwater values when seen/reached We don't log highwater valeus of 1, though those are published to MQTT. Not dealing with 'services' server yet, cause that's kind of tricky with the sysop likely wanting to know per-service stats (served counter, highwater mark, etc.)

  398. Rob Swindell (on Debian Linux)
    Tue Jul 09 2024 20:40:03 GMT-0700 (PDT)
    Added Files:
    

    exec/load/filelist_lib.js diff
    Modified Files:

    exec/addfiles.js diff
    libify the filelist (e.g. FILES.BBS) parsing logic in addfiles.js ... for (soon) reuse in fileman.js

  399. Rob Swindell (on Debian Linux)
    Tue Jul 02 2024 12:30:52 GMT-0700 (PDT)
    Modified Files:
    

    exec/bullseye.js diff
    Don't exclude the missing bulletin files from the list (change in last commit) ... since that messes up the bulletin->file numbering which is often hard-coded in bullseye.asc

  400. Rob Swindell (on Debian Linux)
    Tue Jul 02 2024 12:39:19 GMT-0700 (PDT)
    Modified Files:
    

    exec/bullseye.js diff
    Log bulletin file view success/failure more accurately Also updated log output format, avoid redundancy

  401. Rob Swindell (on Debian Linux)
    Tue Jul 02 2024 12:26:35 GMT-0700 (PDT)
    Modified Files:
    

    exec/typeasc.js diff
    Fix "undefined" filename in error message if file doesn't exist

  402. Rob Swindell (on Debian Linux)
    Tue Jul 02 2024 12:26:35 GMT-0700 (PDT)
    Modified Files:
    

    exec/bullseye.js diff
    Refactor, make bullseye menu file (e.g. bullseye.asc) optional Use console.uselect() to list the bulletin files, if the menu file (e.g. bullseye.asc) doesn't exist. For Amessyroom. Don't replace the Pause (hit a key) prompt, since that messes up localizaton support (reverts to the text.dat Pause prompt, instead of the text.*.ini translated Pause prompt). The replace/revert text buffers should really be a stack for a full fix for this. Missing bulletin files are automatically excluded from the bulletin list. The rest is just clean-up from the conversion from Baja. This is still a very old/basic script, but at least it's not quite as hideous and outdated as before. Increment the version to 3.00.

  403. Eric Oulashin
    Sun Jun 30 2024 16:20:20 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: When listing messages via lightbar, check if the subject is UTF-8, which now helps the lightbar menu display the line properly, particularly for UTF-8 terminals

  404. Rob Swindell
    Sun Jun 30 2024 16:20:20 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_msg_list_utf8' into 'master' DDMsgReader: When listing messages via lightbar, check if the subject is UTF-8, which now helps the lightbar menu display the line properly, particularly for UTF-8 terminals See merge request main/sbbs!442

  405. Eric Oulashin
    Sat Jun 29 2024 16:45:56 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    dd_lightbar_menu.js: Fixed text truncation issue when displaying item text when we know it's UTF-8

  406. Rob Swindell
    Sat Jun 29 2024 17:10:44 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_write_item_utf8_improvement' into 'master' dd_lightbar_menu.js: Fixed text truncation issue when displaying item text when we know it's UTF-8 See merge request main/sbbs!441

  407. Rob Swindell (on Debian Linux)
    Sat Jun 29 2024 16:23:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/newuser.js diff
    Allow dash character in new QWKnet account names ... as reported by Mike Powell, and amessroom and root-caused by Nightfox A '-' is a valid QWK-ID character since it is a valid DOS filename character.

  408. Eric Oulashin
    Mon Jun 24 2024 17:11:50 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    dd_lightbar_menu: str_is_utf8() seems to return true sometimes when a string doesn't have UTF-8, so that is now commented out for now

  409. Rob Swindell
    Thu Jun 27 2024 14:43:51 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_text_is_utf8_dont_use_str_is_utf8' into 'master' dd_lightbar_menu: str_is_utf8() seems to return true sometimes when a string doesn't have UTF-8, so that is now commented out for now See merge request main/sbbs!440

  410. Eric Oulashin
    Sun Jun 23 2024 13:25:56 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: Fix for msgText being undefined when doing a message search

  411. Rob Swindell
    Sun Jun 23 2024 14:29:31 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_search_msgbase_msgtext_undefined_fix' into 'master' DDMsgReader: Fix for msgText being undefined when doing a message search See merge request main/sbbs!439

  412. Eric Oulashin
    Sat Jun 22 2024 21:21:30 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    dd_ligbtar_menu.js: Fix for behavior with the item color when printing the last portion of an item. Also, UTF8 detection improvement.

  413. Rob Swindell
    Sat Jun 22 2024 21:21:30 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_list_utf8_detection_and_bkg_color' into 'master' dd_ligbtar_menu.js: Fix for behavior with the item color when printing the last portion of an item. Also, UTF8 detection improvement. See merge request main/sbbs!438

  414. Rob Swindell (on Debian Linux)
    Fri Jun 21 2024 12:44:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Fix new small memory leak (no need to use strdup here) Fix CID 497098

  415. Rob Swindell (on Windows 11)
    Fri Jun 21 2024 12:33:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Fix getnodedat() error handling and usage If a file descriptor is passed to getnodedat() and the lock retry counter was reached, the file would be closed, but the passed file descriptor reference would not be set to -1. This could result in exceptions (from subsequent read attempts on the referenced file descriptor) in cases where the node.dab could not be locked or read by getnodedat() and was thus closed. The set/get_node_* helper functions (used by MQTT) were not initializing the node.dab file descriptor (i.e. to -1), so it's possible getnodedat() could try to read from and close an invalid/wrong open file descriptor. If the local variable happened to be initialized to a value <= 0, then, no problem, but this is undefined behavior (UB).

  416. Rob Swindell (on Debian Linux)
    Thu Jun 20 2024 15:00:00 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Expand tabs and ignore form-feeds in showbuf/help text

  417. Rob Swindell (on Debian Linux)
    Thu Jun 20 2024 15:11:56 GMT-0700 (PDT)
    Modified Files:
    

    exec/fileman.js diff
    Pass filename (instead of file-obj) to FileBase.get[_path/size/time] methods to work around recently-fixed bug with > 64 char filenames parsed from file-meta-objects. Although this bug was fixed in [lib]sbbs[.so|.dll] might as well use the backward-compatible method to set a better example that works as expected with SBBS v3.19.

  418. Rob Swindell (on Debian Linux)
    Thu Jun 20 2024 16:33:53 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Truncate long titles in showbuf() the corrupt the screen and the heap Don't actually truncate the string, just the display length

  419. Rob Swindell (on Debian Linux)
    Thu Jun 20 2024 16:34:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Fix bug with FileBase.get_time() for filenames > 64 chars in length We need to read the file header (not just index) entry to get the actual full filename. Also, removed some extraneous calls to getfilepath() that served no purposed.

  420. Rob Swindell (on Debian Linux)
    Thu Jun 20 2024 16:36:46 GMT-0700 (PDT)
    Modified Files:
    

    exec/fileman.js diff
    Fix one remaining FileBase.get_path() call that passed file-meta-object (instead of file name), which would have issues in SBBS v3.19 for filenames > 64 chars in length. Also, remove extraneous calls to format().

  421. Rob Swindell (on Debian Linux)
    Thu Jun 20 2024 20:58:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/load_cfg.c diff
    Fix small memory leak when loading lib "Auto-Add Subs" feature enabled caught by valgrind

  422. Rob Swindell (on Debian Linux)
    Thu Jun 20 2024 21:24:55 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifcx.c diff
    Pretend we know the screen width and that it's 132 columns wide ... for UIFC apps/scripts that have screen-width dependant behavior.

  423. Rob Swindell (on Debian Linux)
    Fri Jun 21 2024 00:10:23 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    Introduce a restore() uifc_api method for restoring a saved window buffer This allows for menu options on an "active" list (with both WIN_SAVE and WIN_ACT mode flags) to close the window and restore the most recently saved window. Also, for the range check on the save buffer count in ulist(), if we've hit the bounds, don't *just* beep (though, that was useful), but turn off the WIN_SAV mode flag so we don't overflow the sav[] array and corrupt the heap!

  424. Rob Swindell (on Debian Linux)
    Fri Jun 21 2024 00:15:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_uifc.c diff
    Use the new uifc_t.restore() method when decrementing the save_num This is the proper way to manually-restore the most recently saved window (via the WIN_SAV mode flag to the list() method). I wanted something that was backward comaptible with earlier builds of SBBS, so just doing a magic thing when decrementing the save_num rather than adding a new method seemed the seamless way to do it.

  425. Rob Swindell (on Debian Linux)
    Fri Jun 21 2024 00:18:31 GMT-0700 (PDT)
    Modified Files:
    

    exec/fileman.js diff
    Add new "Search Pending Files" operation Sort of the opposite of the "Offline Files" search, find files copied into the directory storage paths but not yet added to the filebase, with a "Add File..." option (and tagging support) along with DELete files option. Auto-ignore listing files (e.g. FILES.BBS, etc.) when searchign for new files to add to a directory's filebase. If an argument is passed to fileman.js, use that as the UIFC mode (for testing purposes only). Fix case-sensitive file compares (on *nix OSes) when adding files (now case-insensitive). Fix issue with get file paths for files not yet in a filebase (using FileBath.get_path unnecessarily). Display virtual paths to files in many place, when available (> SBBS v3.19).

  426. Rob Swindell (on Windows 11)
    Thu Jun 20 2024 14:49:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Fix 64-char filename length limit for FileBase.get[_path/size/time] methods This was only a problem when these methods were passed a file-meta-object instead of the file name. In hindsight, that's kind of a dumb API "feature" since we're just parsing the name property out of the object. The file_t.file_idx.name is limited to 64 chars, so don't use that struct element to store the parsed "name" property of the passed file-meta-object.

  427. Rob Swindell (on Debian Linux)
    Wed Jun 19 2024 19:35:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/fileman.js diff
    Support viewing text files, deal with LF-terminated extended descriptions Text files with recognized plain text file names/extensions can be viewed from within fileman now. Some extended descriptions may only be terminated with LF (instead of CRLF), so deal with those accordingly. Some auto-translation from LF to CRLF terminated extended description lines may occur when editing extended descriptions.

  428. Rob Swindell (on Debian Linux)
    Tue Jun 18 2024 22:26:42 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    src/uifc/uifcx.c diff
    Add WIN_BLANKOPTS list() option, to support options/lists with blank lines This requires that the option list be NULL-terminated, when used. For use with js_uifc.c (JS uifc.list method). For some reason, this exposed an issue where "(null)" would be printed for the last line when combined with WIN_XTR mode flag, so worked around that bug too.

  429. Rob Swindell (on Debian Linux)
    Tue Jun 18 2024 22:28:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_uifc.c diff
    Use new uifc.list mode flag WIN_BLANKOPTS uifc option lists are always NULL-terminated string lists (not static arrays of char arrays, as is often used in other UIFC utils), so grow the ability to have blank options (list items). This was needed for fileman.js to accurately edit extended file descriptions that contain blank lines.

  430. Rob Swindell (on Debian Linux)
    Tue Jun 18 2024 22:34:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/fileman.js diff
    Add ability to add files, display/edit extended descriptions (yes, I know, unzip for DIZ can corrupt the TUI display when adding files) Add ability to display and edit extended file descriptions (including inserting and deleting lines. Fixed bug with moving files between dirs. F2 is now just a shortcut for renaming files, ENTER is the main edit/display option key now. This really requires an updated sbbs/jsexec to work fully correct (e.g. display/edit extended descriptions that contain blank lines).

  431. Rob Swindell (on Debian Linux)
    Mon Jun 17 2024 20:40:18 GMT-0700 (PDT)
    Modified Files:
    

    exec/viewimsgs.js diff
    A bit more dynamically translated/localizable

  432. Rob Swindell (on Debian Linux)
    Mon Jun 17 2024 19:29:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Make filebase status output less confusing ("file" not "msg") Cosmetic change only, output of 'smbutil s' command when used on a filebase. Increment the SMBUTIL version from 3.19 to 3.20

  433. Rob Swindell (on Debian Linux)
    Mon Jun 17 2024 19:33:31 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    Add suport for option/item tagging using the WIN_TAG ulist() mode flag For use with fileman.js: The space bar can be used by the user to "tag" items, or Ctrl-A to toggle tag status for *all* items. Returns MSK_TAG|with the option tagged/untagged or MSG_TAGALL when all tags are being toggled (via ^A). Also, fix bug where ^Find command would not restore the status bar after ulist() would overwrite it with the string-input/edit hot-keys available.

  434. Rob Swindell (on Debian Linux)
    Mon Jun 17 2024 19:36:35 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/uifcdefs.js diff
    Add WIN_TAG, MSK_TAG, MSG_TAGALL and (missing) WIN_HLP definitions

  435. Rob Swindell (on Debian Linux)
    Mon Jun 17 2024 20:06:30 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    FileBase.add() now supports override to *never* extract/use DIZ if desired Working on fileman.js, when moving files to another base, the output of unzip (trying to extra a FILE_ID.DIZ) was corrupting the display. We don't really want a DIZ file to get imported when moving files between bases anyway. So the second parameter to FileBase.add() can be either: - undefined: will try to extract/use DIZ only if there's no ext desc already - true: will try to extract/use a DIZ even if there's an ext desc already - false: will never try to extract/use a DIZ If the directory is not configured for DIZ support, then the DIZ extraction/use will never occur under any condition.

  436. Rob Swindell (on Debian Linux)
    Mon Jun 17 2024 20:16:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    Better JSDOC description of use_diz param to FileBase.add()

  437. Rob Swindell (on Debian Linux)
    Mon Jun 17 2024 20:37:32 GMT-0700 (PDT)
    Modified Files:
    

    exec/fileman.js diff
    Add multi-file tagging, deleting, moving A bunch of other improvements, cosmetic and functional (viewing archives, editing more File fields, etc.).

  438. Rob Swindell (on Debian Linux)
    Sun Jun 16 2024 14:22:33 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/json-sock.js diff
    More detail to JSON.parse() error in Socket.prototype.recvJSON This is likely the cause of the vauge logged error that I and other sysops see from time to time: srvc 0000 JSON SyntaxError: JSON.parse ... so log the function name and the contents of the string that's failing to parse.

  439. Rob Swindell (on Debian Linux)
    Sun Jun 16 2024 14:26:38 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/json-sock.js diff
    Include the service descriptor in the JSONrecv error message

  440. Rob Swindell (on Debian Linux)
    Fri Jun 14 2024 21:38:45 GMT-0700 (PDT)
    Added Files:
    

    exec/fileman.js diff
    New Synchronet File Manager (run using jsexec) This is a new TUI-style filebase browser/editor for sysop use. Sysops can search files, descriptions/metadata, uploader names, offline files and then easily remove/delete or edit those file's names, description, uploader. Ideas for improvements (e.g. file tagging/bulk deleting) may require updates to UIFC. This is a proof of concept at least and provides some functionality already.

  441. Rob Swindell (on Debian Linux)
    Fri Jun 14 2024 21:02:45 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbdump.c diff
    If the msg type is 'File', the subject is the Filename, so say so in the dump

  442. Rob Swindell (on Debian Linux)
    Thu Jun 13 2024 18:04:37 GMT-0700 (PDT)
    Modified Files:
    

    exec/fseditor.js diff
    Open the quote file in "binary" mode (only applicable on Windows) If the quote file contained a Ctrl-Z (ASCII 26) char, it would be truncated at that point. Some UTF-8 messages that include a "right arrow" unicode code point are translated to ASCII Ctrl-Z (ASCII 26) char, which is interpretted by Windows as "EOF" (end of file) marker for files open in "text mode" and the file won't be read beyond that char. Open the file in binary mode to more closely match the *nix fopen() before.

  443. Rob Swindell (on Windows 11)
    Sun Jun 09 2024 20:24:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sexpots/release.bat diff
    Build the git_*.h files on Win32 from here too

  444. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 20:21:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Log an error if calls to send() don't return the expected value This addresses GCC warnings about not using the return value of send().

  445. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 20:12:28 GMT-0700 (PDT)
    Modified Files:
    

    src/sexpots/GNUmakefile diff
    Build git_branch.h and git_hash.h here This rule should really be in build/Common.gmake or similar

  446. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 20:15:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Fix warning about potential uninitialize variable value use

  447. Rob Swindell (on Windows 11)
    Sun Jun 09 2024 19:20:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Output the Git repo/branch/hash details in execution banner Not sent in connection banner.

  448. Rob Swindell (on Windows 11)
    Sun Jun 09 2024 19:20:47 GMT-0700 (PDT)
    Modified Files:
    

    docs/sexpots.txt diff
    Updated to latest details (e.g. GIt, not CVS)

  449. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 18:52:06 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/logonlist_lib.js diff
    exec/logonlist.js diff
    Log the current connection protocol as a separate property in logon.jsonl Accession reported that (sometimes?) his NNTP logins show up in his logon.jsonl files. This is most likely just a race condition when logging in close to the same time with multiple protocols (e.g. Telnet and NNTP in this case). So, let's log the client.protocol as a separate JSON property and not require on the user.connection property (which is overwritten for *every* login, for almost all connection/server types, not just the terminal server). The client.protocol is always correct for the current session running the script. An NNTP login should never appear in the logon.json file.

  450. Rob Swindell (on Windows 11)
    Sun Jun 09 2024 18:42:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_user.c diff
    Make legacy/alias properties non-enumerable: computer, modem I noticed these redundant properties were being logged for every logon in logon.jsonl. We don't need these properties separately enumerable, and really they shouldn't be used anyway. computer is an alias of host_name modem is an alias of connection

  451. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 17:50:03 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/logonlist_lib.js diff
    When pulling from previous days to fulfill the "last few callers list", insert Insert (using unshift) to the beginning of the list, rather than append (using push) to the end of the list. This fixes issue #761

  452. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 16:38:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Replace line-feeds with space in extended descriptions used for short desc Fixes cosmetic/readability issue when imported DIZ files that have line/word wrapped text and the space between words was being removed.

  453. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 16:07:37 GMT-0700 (PDT)
    Modified Files:
    

    exec/logonlist.js diff
    Add some usage comments

  454. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 15:49:24 GMT-0700 (PDT)
    Modified Files:
    

    exec/logonlist.js diff
    If passing a non-zero integer, display logons from that many days ago Similar to -y option, but supports going further back than just yesterday.

  455. Rob Swindell (on Debian Linux)
    Sun Jun 09 2024 00:05:22 GMT-0700 (PDT)
    Modified Files:
    

    exec/update.js diff
    Fix typo in output: that's attr.cfg -> attr.ini, not file.cfg -> file.ini As reported by Keyop

  456. Rob Swindell (on Windows 11)
    Mon Jun 03 2024 22:21:36 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/smbutil.c diff
    Add test command 'Z' for locking an SMB header until keypress Just for testing/experimenting with proper recording locking support. e.g. when one process or network node (on a LAN) has the SMB header locked, another process/node should not be able to lock it or reading the status header.

  457. Rob Swindell (on Windows 11)
    Mon Jun 03 2024 21:15:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Update help text on startup directory options. Now can include command-line specifiers.

  458. Rob Swindell (on Windows 11)
    Sat Jun 01 2024 18:41:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn_sec.cpp diff
    Add support for command-line specifiers in external program 'startup dir' The exception is: DOS programs on Linux (e.g. Linux DOSEMU), due to the funky drive letter mappng, this can't be supported for those external programs. As requested by Fluid via IRC, for Frotz support, to store user-unique data files in data/user/####.something (e.g. "%juser/%4.zork").

  459. Eric Oulashin
    Wed May 29 2024 13:48:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    exec/load/dd_lightbar_menu.js diff
    dd_lightbar_menu: Added KEY_F* defines in there that were referenced in getKeyWithESCChars(). Refactored the includes in SlyEdit, since SlyEdit uses getKeyWithESCChars()

  460. Rob Swindell
    Wed May 29 2024 13:48:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_slyedit_get_key_with_esc_chars_f_key_refactor' into 'master' dd_lightbar_menu: Added KEY_F* defines in there that were referenced in getKeyWithESCChars(). Refactored the includes in SlyEdit, since SlyEdit uses getKeyWithESCChars() See merge request main/sbbs!437

  461. Rob Swindell (on Debian Linux)
    Mon May 27 2024 23:29:57 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/telgate.cpp diff
    Address unused return value warnings from GCC

  462. Rob Swindell (on Windows 11)
    Mon May 27 2024 23:24:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/telgate.cpp diff
    Fix GCC compile error (can't use __FUNCTION__ macro like that) And warning about signed/unsigned compare

  463. Rob Swindell (on Debian Linux)
    Mon May 27 2024 23:18:18 GMT-0700 (PDT)
    Modified Files:
    

    exec/telgate.js diff
    exec/unixgate.js diff
    Use the telnet gateway proxy (not pass-through) by default Pass-through only really does anything useful if the BBS user's client is a Telnet client and it responds as the server expects. Since the user's Telnet client (when using one) has already negotiated Telnet options, they won't ACK options that the server expects them to, so this doesn't really work. The proxy fixes that issue.

  464. Rob Swindell (on Windows 11)
    Mon May 27 2024 23:14:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/telgate.cpp diff
    telnet_gateway() is now, by default, a telnet proxy Meaning, it'll negotiate all Telnet options with the remote server (assuming not an RLogin server), so long as the TG_PASSTHRU option is *not* set. This allows more Telnet servers to work as expected, especially when the client (BBS user) is not using a Telnet client! Fix issue #432

  465. Rob Swindell (on Windows 11)
    Mon May 27 2024 23:14:26 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/telnet_io.c diff
    We don't support echo (sending what we receive back to the server).

  466. Rob Swindell (on Debian Linux)
    Mon May 27 2024 17:19:09 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/cfglib.js diff
    Add missing xtrn.ini "hotkey" section read/writing Also arrange section writing order to match scfglib2.c

  467. Rob Swindell
    Mon May 27 2024 15:58:25 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/conio_gdi.vcxproj diff
    src/conio/conio_sdl.vcxproj diff
    Don't set MinimalRebuild option to true Avoid build warning about use of deprecated /Gm option.

  468. Rob Swindell (on ChromeOS)
    Sat May 25 2024 19:27:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    Default to 80x25 LCD video mode

  469. Rob Swindell (on ChromeOS)
    Sat May 25 2024 19:35:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/umonitor/umonitor.c diff
    Add support for umonitor.ini (with fallback to uifc.ini) ... for uifc/ciolib settings And make default video mode LCD 80x25

  470. Rob Swindell (on ChromeOS)
    Sat May 25 2024 19:00:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/asc2ans.c diff
    Display Git branch/hash instead of VERSION for revision info (like ans2asc) This should fix the Win32 build.

  471. Rob Swindell (on ChromeOS)
    Sat May 25 2024 18:36:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/umonitor/umonitor.c diff
    Eliminate use of CVS Revision keyword

  472. Rob Swindell (on ChromeOS)
    Sat May 25 2024 18:38:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/makeuser.c diff
    Eliminate use of CVS Revision keyword

  473. Rob Swindell (on ChromeOS)
    Sat May 25 2024 18:48:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/asc2ans.c diff
    src/sbbs3/baja.c diff
    src/sbbs3/unbaja.c diff
    Eliminate use of CVS Revision keyword

  474. Rob Swindell (on Debian Linux)
    Sat May 25 2024 17:25:14 GMT-0700 (PDT)
    Modified Files:
    

    exec/noyesbar.js diff
    exec/yesnobar.js diff
    Fix issue where Ctrl-C would leave a 'N' in the keyboard input buffer This problem doesn't happen with the .bin version of these scripts.

  475. Rob Swindell (on Debian Linux)
    Sat May 25 2024 16:56:54 GMT-0700 (PDT)
    Modified Files:
    

    exec/cleanup.js diff
    Clean up the old attr.cfg file Thanks for the reminder, Keyop

  476. Rob Swindell (on Windows 11)
    Sat May 25 2024 15:48:21 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/attr.ini diff
    Add new rainbow attribute key If this key doesn't exist, the default value is used So it's not a big deal if your ctrl/attr.ini file is missing or doesn't have any particular key in it.

  477. Rob Swindell (on Windows 11)
    Sat May 25 2024 15:23:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    Elminte use of CVS Keyword for revision number

  478. Rob Swindell (on Windows 11)
    Sat May 25 2024 15:28:19 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc_ini.c diff
    Make the video_mode and ciolib_mode out params option (may be NULL)

  479. Rob Swindell (on Windows 11)
    Sat May 25 2024 15:30:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    Add support for ctrl/uedit.ini (with fallback to uifc.ini) For Nelgin

  480. Rob Swindell (on Windows 11)
    Sat May 25 2024 15:15:10 GMT-0700 (PDT)
    Added Files:
    

    src/uifc/uifc_ini.c diff
    Modified Files:

    src/uifc/objects.mk diff
    src/uifc/uifc.h diff
    src/uifc/uifc.vcxproj diff
    Create read_uifc_ini() for a common method of reading UIFC/CIOLIB .ini files Copied from read_scfg_ini() in scfg.c

  481. Rob Swindell (on Windows 11)
    Sat May 25 2024 15:17:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Use new read_uifc_ini() to scfg.ini or (if it doesn't exist), uifc.ini

  482. Rob Swindell (on Windows 11)
    Sat May 25 2024 15:18:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    Add support for ctrl/echocfg.ini (or fallback to ctrl/uifc.ini) For controlling the UIFC/CIOLIB properties (scaling, modes, etc.)

  483. Rob Swindell (on Debian Linux)
    Sat May 25 2024 14:18:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Don't convert/store small integers to doubles when reading/writing .ini files Fix issue #760 UINT_TO_JSVAL automatically handles the storage as the necsesary underlying type in the JS engine. Values > 0x7fffffff (2147483647) will still be stored (and re-written) as doubles and could be problematic.

  484. Rob Swindell (on Windows 11)
    Sat May 25 2024 12:02:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    Move the line_delay logic so it has effect on PETSCII terminals too Fix issue #759

  485. Rob Swindell (on Debian Linux)
    Fri May 24 2024 17:46:35 GMT-0700 (PDT)
    Modified Files:
    

    exec/cleanup.js diff
    Remove unused remove() function definition

  486. Rob Swindell (on Debian Linux)
    Fri May 24 2024 18:34:03 GMT-0700 (PDT)
    Modified Files:
    

    src/encode/hex.c diff
    src/encode/hex.h diff
    hex_decode() now supports no-escape char, if desired

  487. Rob Swindell (on Debian Linux)
    Fri May 24 2024 21:19:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/prntfile.cpp diff
    src/sbbs3/putmsg.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/str_util.c diff
    Add rainbow (elite text) attribute feature New key "rainbow" in ctrl/attr.ini New Ctrl-A codes: 'X' to turn on repeating/wrapping rainbow attributes, 'x' to turn on non-repeating/wrapping rainbow attributes. New @-code: RAINBOW:x to set the list of (comma-separated) rainbow attribute values (in same form as attr.ini). When used in a display file, the rainbow attribute change is temporary. Ever wanted to add alternating attributes to @-code expanded text in display files? Now you can. Also can be used to easily/quickly create display files with repeating elements (e.g. commands/options) using alternating attributes.

  488. Rob Swindell (on Debian Linux)
    Wed May 22 2024 17:12:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    Clear mouse hotspots when executing *any* external program/script Previously, we only cleared hotspots when executing any external from the external program section (doors menu). This means that invoking a script or external program (e.g. via JS bbs.exec()) from anywhere else, any current mouse hotspots would remain active. Disable those. This fixes issue #758

  489. Rob Swindell (on ChromeOS)
    Tue May 21 2024 20:09:17 GMT-0700 (PDT)
    Added Files:
    

    ctrl/attr.ini diff
    Removed Files:

    ctrl/attr.cfg diff
    Replace attr.cfg with attr.ini (similar, but not same format)

  490. Rob Swindell (on ChromeOS)
    Tue May 21 2024 19:37:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_console.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfgdefs.h diff
    Replace ctrl/attr.cfg (customized text colors/attrs) with ctrl/attr.ini Another legacy config file replaced with .ini file (for easier editing and future extensibility). No longer dynamically allocate scfg_t.colors (no need). There's really no reason why this is still an array, but leave as is for now. Also, I noticed JS console.color_list (also an array) is not enumerable (or documented) - that should be fixed.

  491. Rob Swindell (on ChromeOS)
    Tue May 21 2024 19:40:45 GMT-0700 (PDT)
    Modified Files:
    

    exec/update.js diff
    Upgrade attr.cfg to attr.ini The extra characters (comments) are ignored when parsing this particular file, so though this is not how we normally add comments to .ini files, it still works fine in this case.

  492. Rob Swindell (on ChromeOS)
    Fri May 17 2024 17:32:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/qwk.cpp diff
    P-restricted users (including QWKnet accounts) can no-longer post polls This was a loop-hole that caused Denn (OUTWEST) some confusion, those his QWKnet account could post polls, it could not post messages due to having the P-restriction.

  493. Deucе
    Wed May 15 2024 20:33:30 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    reLoad() does not return the record. Fixes error reported by Rowyn Sand (Ravne) with accepting a marriage proposal (issue #757)

  494. Rob Swindell (on ChromeOS)
    Wed May 15 2024 19:41:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/scfg/scfg.c diff
    Set ciolib_initial_mode before calling initciolib() ... rather than calling textmode() after. This solves the problem of black bars above and below the UIFC window in echocfg and SCFG on ChromeOS, at least.

  495. Rob Swindell (on ChromeOS)
    Wed May 15 2024 19:45:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/postmsg.cpp diff
    Resolve new(er) warnings comparing client_t.protocol with NULL client_t.protocol is no longer a pointer. Warnings reported by gcc (Debian 12.2.0-14) 12.2.0

  496. Rob Swindell (on Windows 11)
    Wed May 15 2024 19:11:55 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Overhaul scfg.ini keys All keys are now in the root/global section and they are now: video_mode (default: 42) uifc_mode (default: 0) ciolib_mode (default: 0) scaling (default: 0) lines (default: 25) insert (default: false) esc_delay (default: 25)

  497. Rob Swindell (on Debian Linux)
    Wed May 15 2024 18:56:51 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/sbbs3/scfg/scfg.c diff
    Eliminate unused ciolib vars: ciolib_initial_window_height and height These global variables weren't actually used for any purpose.

  498. Rob Swindell (on ChromeOS)
    Mon May 13 2024 22:43:51 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Allow SCFG ciolib and uifc parameters to be read from ctrl/scfg.ini If a sysop wants to override the default user interface/console I/O library behavior of SCFG without using command-line arguments, they can create a ctrl/scfg.ini file with the following optional [section] keys: [uifc] mode (advanced uses, e.g. disabling mouse support) height (in lines) insert (keyboard insert mode, not overwrite) esc_delay (ESC-key delay) [ciolib] mode (advanced uses) scaling (fractional values, e.g. 1.5, supported) height (in pixels) width (in pixels) Command-line arguments take precedence over scfg.ini settings (if set). The scfg.ini file is read *before* parsing command-line args, so if a ctrl directory is specified on the command-line (e.g. rather than via environment variable), the scfg.ini file won't be read from that specified location but rather the default (/sbbs/ctrl) or the SBBSCTRL env var value. Another attempt to make Nelgin happy and close out issue #749, though no, this doesn't auto-save the current parameters (you'll have to create/edit the scfg.ini file by hand).

  499. Rob Swindell (on Debian Linux)
    Mon May 13 2024 18:11:17 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/lord.js diff
    Fix apparent typo (vds array has length property, not length5) Fix issue #754

  500. Eric Oulashin
    Sat May 11 2024 19:11:25 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    exec/slyedcfg.js diff
    SlyEdit: In SlyEdit_Misc.js, check to see that xtrn_area.editor[user.editor] is an object before using it. Should help with #755.

  501. Rob Swindell
    Mon May 13 2024 12:26:21 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    exec/slyedcfg.js diff
    Merge branch 'slyedit_xtrn_area_editor_user_editor_check_first' into 'master' SlyEdit: In SlyEdit_Misc.js, check to see that xtrn_area.editor[user.editor] is an object before using it. Should help with #755. See merge request main/sbbs!436

  502. Rob Swindell (on Windows 11)
    Mon May 06 2024 16:21:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Skip files listed in imported DIRS.TXT/DIRS.WIN/00_INDEX.TXT files I'm not clear why Walnut Creek would list files (e.g. readme.txt) in these lists of "directories", but don't create file areas for them. Less clean-up required after import.

  503. Rob Swindell (on Debian Linux)
    Mon May 06 2024 11:59:32 GMT-0700 (PDT)
    Modified Files:
    

    exec/privatemsg.js diff
    Use the localizable Quit @-code

  504. Rob Swindell (on Debian Linux)
    Mon May 06 2024 12:44:00 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Use name as default address when creating new TCP dialing entry I usually use the hostname for the name of the dialing entry and got tired of always having to type the hostname twice when creating a new entry. If the name looks like a hostname or IP address (includes a dot but no spaces) and the connection type is appropriate, make the name the default string for the address (easily over-ridden if wrong, by just typing the correct address). This time-saving feature doesn't work for single-word hostnames (e.g. "localhost") or IPv6 addresses.

  505. Eric Oulashin
    Sun May 05 2024 01:35:00 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_DCTStuff.js diff
    exec/SlyEdit_Misc.js diff
    SlyEdit: Don't line-wrap poll messages for quoting. Also, minor fix for the 'to' name length in DCT mode.

  506. Rob Swindell
    Sun May 05 2024 01:35:00 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_DCTStuff.js diff
    exec/SlyEdit_Misc.js diff
    Merge branch 'slyedit_poll_quoting_and_dct_to_name_fix' into 'master' SlyEdit: Don't line-wrap poll messages for quoting. Also, minor fix for the 'to' name length in DCT mode. See merge request main/sbbs!435

  507. Rob Swindell (on Windows 11)
    Sat May 04 2024 16:03:31 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Fix CID 493283: Incorrect expression (NO_EFFECT) Comparing an array to null is not useful: "client->protocol == NULL", since the test will always evaluate as true. or will always evaluate as *false* (the array won't ever be NULL). <shrug>

  508. Rob Swindell (on Windows 11)
    Fri May 03 2024 19:37:34 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Re-assign the dirnum and subnum fields after sorting dirs or subs The dirnum and subnum are used for the next/previous (left and right) arrow nav through sub-boards and directories. For message groups or file libs that are configured to auto-sort the sub-boards or directory list, when importing an unsorted list, the dirnum and subnum values would then be wrong after the qsort() at the end of the import thus making the left/right nav thing broken (jump to other groups/libs and such). This fixes that. Could I have fixed this by passing an index value to the next/prev_dirnum() and _subnum() functions and returning the next/previous index value instead of relying on the subnum/dirnum elemment to be correct? Maybe. <shrug> Do I like second guessing myself? Not really.

  509. Rob Swindell (on Windows 11)
    Fri May 03 2024 19:37:34 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Support dir/subdir syntax in DIRS.TXT (CD-ROM) import getfname() just returns the last path element, so can't use that here.

  510. Rob Swindell (on Debian Linux)
    Fri May 03 2024 17:25:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    Fixup extract_diz() - fallback to external archivers The fallback to external extractors/archivers didn't really work unless a libarchive function (called from extract_files_from_archive) actually failed and the return value was < 0. A return value of 0 would mean the external file extractor would never be used. This was discovered when trying to import DIZ from old ZIP files (from 1992) that used "Implode" compression method for the FILE_ID.DIZ, which is a compression method *not* supported by libarchive. This is a reason why sysops might want to leave Info-zip's 'unzip' as a configured Extractable File Type handler (in SCFG) for 'zip' files. Don't call the external archiver 3 times for the 3 DIZ filenames supported. Just call the external archiver once, and pass all 3 filesnames. This also means that the call to system() can return non-zero (e.g. Info-zip 'unzip' will return 2 if any of the files aren't present in the archive, even if one is) - so ignore this return value from system(). This speeds up bulk import (e.g. using addfiles.js). Unfortunately, I couldn't really find a nice cross-platform way to suppress the unzip "caution: filename not matched" message sent to stderr. That's a bummer and a little annoying. Ignore 0-length DIZ files.

  511. Rob Swindell (on Windows 11)
    Fri May 03 2024 17:09:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/answer.cpp diff
    src/sbbs3/client.h diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/services.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/websrvr.c diff
    Change client_t.protocol from pointer to buffer Fix observed crash when shutting down services server where the client_t protocol was pointing to a freed service's protocol description string. This was the last pointer in client_t and should resolve the last race conditions (memory ownership issues) with its data members. This also resolves a small memory leak in getnodeclient() where the last client "gotten" would have its heap-duplicated protocol string leaked.

  512. echicken
    Thu May 02 2024 20:25:36 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ansiview/ansiview.js diff
    Don't get colors that already done got gotten. Fixes #752

  513. Rob Swindell (on Debian Linux)
    Tue Apr 30 2024 18:02:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/addfiles.js diff
    Better support for CD-ROM filenaming (no dashes in ISO 9660 filenames!) Though the FILES.BBS might have filenames with dashes, the filenames actually have underscores. Consider converting any other valid DOS filename characters that are not allowed in ISO 9660 filenames as well (but to what?). More logging of missing and renamed files (e.g. fixed case, dashes replaced with underscores).

  514. Eric Oulashin
    Tue Apr 30 2024 12:53:11 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    exec/slyedcfg.js diff
    SlyEdit quote line wrapping update: When re-wrapping quote lines, use the quote wrap settings from xtrn.ini, or default to 79 columns, as many terminals are 80 columns wide.

  515. Rob Swindell
    Tue Apr 30 2024 12:53:11 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    exec/slyedcfg.js diff
    Merge branch 'slyedit_quote_wrap_update' into 'master' SlyEdit quote line wrapping update: When re-wrapping quote lines, use the quote wrap settings from xtrn.ini, or default to 79 columns, as many terminals are 80 columns wide. See merge request main/sbbs!434

  516. Rob Swindell (on Windows 11)
    Tue Apr 30 2024 10:58:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Fix issue in previous commit, caught by GCC warning, reported by Keyop lastchar() returns a char pointer, not a char. This fixes issue #751

  517. Rob Swindell (on Windows 11)
    Tue Apr 30 2024 00:23:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Create replace_chars(), a wrapper for REPLACE_CHARS() The iteration variable (p) is created on the stack.

  518. Rob Swindell (on Windows 11)
    Tue Apr 30 2024 00:24:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Improvements to DIRS.TXT/DIRS.WIN import support Strip prepended and trailing slashes. Convert backslashes to forward slashes. When setting lib's parent path: - Auto-fix the sub-directory name case - Display error when setting lib parent to path that doesn't exist

  519. Rob Swindell (on Debian Linux)
    Mon Apr 29 2024 22:01:25 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Not every platform has GLOB_ONLYDIR support ... kind of as I suspected

  520. Rob Swindell (on Debian Linux)
    Mon Apr 29 2024 21:06:50 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    src/xpdev/dirwrap.h diff
    Add getdircase() - like fexistcase(), but for sub-directory names

  521. Rob Swindell (on Debian Linux)
    Mon Apr 29 2024 21:32:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Add option to import and export DIRS.TXT as found on CD-ROMs Walnut Creek and Simtel CD-ROMs usually have this file format which lists the sub-directories along with descriptions of each (one per line). Not to be confused with the DIRS.TXT format that has long been exported from and imported into SCFG.

  522. Rob Swindell (on ChromeOS)
    Sun Apr 28 2024 14:55:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/scfg/scfg.c diff
    Add -s option to set window scaling factor (e.g. 1.5 to set 50% bigger) This is an attempt to make Nelgin happy (issue #749) without writing/reading an additional settings file.

  523. Rob Swindell (on ChromeOS)
    Sun Apr 28 2024 13:43:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsrvr.c diff
    Fix typo in help text reported by Apam

  524. Rob Swindell (on Debian Linux)
    Sat Apr 27 2024 17:20:57 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/gtkuseredit/events.c diff
    src/sbbs3/uedit/uedit.c diff
    Remove WIP terminal support

  525. Rob Swindell (on Windows 11)
    Sat Apr 27 2024 17:19:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/useredit/MainFormUnit.cpp diff
    src/sbbs3/useredit/MainFormUnit.dfm diff
    Removed WIP terminal support

  526. Rob Swindell (on Windows 11)
    Sat Apr 27 2024 17:03:52 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/readmail.cpp diff
    Oops, another WIP reference here

  527. Rob Swindell (on Windows 11)
    Sat Apr 27 2024 16:52:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    Use bool type to eliminate MSVC warning

  528. Rob Swindell (on Windows 11)
    Sat Apr 27 2024 17:02:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ars.c diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scansubs.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/useredit.cpp diff
    Remove support for deprecated WIP and HTML user settings WIPterm hasn't been supported in ages and HTMLterm was just an ephemeral experiment. Leave the WIP ARS keyword parsing support, for backwards script compatibilty.

  529. Rob Swindell (on Windows 11)
    Sat Apr 27 2024 17:03:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/build.bat diff
    Suppress the XP deprecation warning, as suggested by Yigael

  530. Rob Swindell (on Windows 11)
    Sat Apr 27 2024 16:29:26 GMT-0700 (PDT)
    Removed Files:
    

    exec/OVB-2.SRC diff
    OVB-2.SRC was renamed to obv-2.src, but Git didn't track that

  531. Rob Swindell (on Debian Linux)
    Sat Apr 27 2024 16:06:08 GMT-0700 (PDT)
    Modified Files:
    

    exec/default.js diff
    Enforce the default message read cmds: (A)uto-reply, (R)e-read The "RemoteAccess emulation" flag can be set by other shells, so be sure to clear it when using (e.g. switching back) to this shell.

  532. Rob Swindell (on Debian Linux)
    Sat Apr 27 2024 16:08:44 GMT-0700 (PDT)
    Modified Files:
    

    exec/sbbsimsg.js diff
    Remove the (D)ebug command

  533. Rob Swindell (on Debian Linux)
    Sat Apr 27 2024 16:10:45 GMT-0700 (PDT)
    Modified Files:
    

    exec/text_sec.js diff
    Multi-language support

  534. Rob Swindell (on Debian Linux)
    Fri Apr 26 2024 21:04:12 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Use localizable @-code (words) and MNE @-code in mnemonic strings More support for multi-languages

  535. Rob Swindell (on Windows 11)
    Fri Apr 26 2024 19:15:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn.cpp diff
    Fix MSVC compiler issues introduced in previous commit And use DWORD insteaad of 'unsigned long' where specified by Win32 API.

  536. Rob Swindell (on Debian Linux)
    Fri Apr 26 2024 17:24:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn.cpp diff
    Fix GCC-aarch64 compile (caught be pipeline) error: cannot bind non-const lvalue reference of type ‘long unsigned int&’ to an rvalue of type ‘long unsigned int’ Just getting rid of more use of ulong (replaced with size_t).

  537. Rob Swindell (on Debian Linux)
    Fri Apr 26 2024 17:09:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/xtrn.cpp diff
    Convert CP437 to UTF-8 (when necessary) for *nix stdio doors (e.g. DOSEMU) ... as requested by "ben" in #synchronet at irc.synchro.net Currently, this assumes all stdio doors aren't "UTF-8 native", which might be an incorrect assumption.

  538. Rob Swindell (on Debian Linux)
    Fri Apr 26 2024 09:27:04 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/telnet_io.c diff
    Fix CID 425333: update_binary_mode() is a function returning void

  539. Rob Swindell (on Debian Linux)
    Thu Apr 25 2024 23:05:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib2.c diff
    Add MNE:<low>[:high][:cmd] @-code for mnemonic string attribute control The "default" mnemonic string attributes are still set in ctrl/attr.cfg, but now, each mnemonic string (e.g. from text.dat or passed to JS console.mnemonics()) can include a "MNE:" @-code to over-ride the default mnemonic string attributes (low, high, and command). If the "high" attribute isn't specified, it defaults to the same color as the "low" attribute with the "high intensity" flag flipped. The "cmd" attribute defaults to whatever was included in the attr.cfg, if not specified. Technically, the separator between the attributes can be any non-valid attribute character (e.g. symbol). Renamed (really old function) attrstr() to strtoattr() since its usage now more closely resembles other std C strto* functions (has an 'endptr' arg).

  540. Eric Oulashin
    Thu Apr 25 2024 12:42:01 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    dd_lightbar_menu.js: Changed the older KEY_PAGE_UP to KEY_PAGEUP and KEY_PAGE_DOWN to KEY_PAGEDN, as defined in key_defs.js

  541. Rob Swindell
    Thu Apr 25 2024 12:55:39 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_pgup_pgdown_defs' into 'master' dd_lightbar_menu.js: Changed the older KEY_PAGE_UP to KEY_PAGEUP and KEY_PAGE_DOWN to KEY_PAGEDN, as defined in key_defs.js See merge request main/sbbs!433

  542. echicken
    Wed Apr 24 2024 15:00:10 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/openweathermap.js diff
    Check for stale cache in a way that works for 2.5 and 3.0.

  543. echicken
    Wed Apr 24 2024 11:49:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/openweathermap.js diff
    Whoopsiedoodle

  544. echicken
    Wed Apr 24 2024 10:09:46 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/openweathermap.js diff
    call_api_v3

  545. Rob Swindell (on Windows 11)
    Mon Apr 22 2024 23:57:00 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Fix apparent missing return statement in get_win_filename() Found by MSVC warning

  546. Rob Swindell (on Windows 11)
    Mon Apr 22 2024 23:57:53 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/filepick.c diff
    Fix strlcpy() not defined warning in Windows build

  547. Rob Swindell (on Windows 11)
    Tue Apr 23 2024 00:15:57 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/telnet_io.c diff
    Track Telnet Binary TX mode set by server via Telnet (IAC) commands As reported by Chris/akacastor (21:1/162), SyncTERM would always assume the Telnet session was in ASCII mode until/unless conn_binary_mode_on() was called which is only called at the beginning of a file transfer, which sets the conn_api.binary_mode accordingly. Unfortunately, if the Telnet server requested binary mode itself (e.g. during initial connection), SyncTERM would (try to) set the connection back to ASCII mode after any file transfer. :-( With this change, the conn_api.binary_mode will track the actual binary TX mode whether initiated locally or remotely (by the server), but it'll only be set to true when *both* directions are succesfully set to binary mode. And this way, if the connection was already in binary mode before any file transfer, it'll remain in binary mode as was apparently desired by the server. Also with this change, we could probably remove the setting of conn_api.binary_mode to true/false in conn_binary_mode_on()/off() functions, but it shouldn't hurt anything if it's left there I suppose (in case some *other* terminal transport protocols have the concept of binary mode?).

  548. Rob Swindell (on Windows 11)
    Mon Apr 22 2024 23:24:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Move swap version and platform in banner to accommodate 40 column display This should now display pretty normally on both 40 and 80 column displays. "FreeBSD" is 7 chars, so make that the max expected platform name (for now). Addresses issue #746, request from Nelgin

  549. Rob Swindell (on Windows 11)
    Mon Apr 22 2024 23:10:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    Don't allow sysops to page or send messages to nodes without a useron Fix a long standing bug where by sysops could page for chat or send node messages or telegrams to any node, even if there wasn't a user even connected. Regular users were not affected by this bug.

  550. Rob Swindell (on Debian Linux)
    Mon Apr 22 2024 21:56:54 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Use mnemonics and @-codes for more auto-translated prompts Of particular interest is DoYouMeanThisUserQ since it wasn't a mnemonic string before. The string numbers for the last couple strings were wrong, corrected.

  551. Rob Swindell (on Debian Linux)
    Mon Apr 22 2024 21:58:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/data.cpp diff
    Using mnemonic with @-codes for DoYouMeanThisUserQ text.dat string

  552. Rob Swindell (on Windows 11)
    Mon Apr 22 2024 21:53:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Update the previous commit to revert the error_code length to 4, since we can And use sizeof, not the magic number (again).

  553. Rob Swindell (on Windows 11)
    Sun Apr 21 2024 21:40:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Fix bug with error files (e.g. 404.html) introduced in commit 90de10cf Deuce expanded the local 'error_code' buf to not trip the SAFECOPY macro destionation buffer length check. Only this buffer needed to be 4 chars exactly to truncate the 'message' string at 3 chars (e.g. just "404" for an error message string that starts with "404 "). Switch from SAFECOPY to strlcpy to eliminate this bug. As reported by Ragnarok as part of issue #748 The web error files should work again.

  554. Rob Swindell (on Windows 11)
    Tue Apr 16 2024 11:31:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fidodefs.h diff
    src/sbbs3/scfgdefs.h diff
    Increase FidoNet echo/area tag max length from 40/50 to 60 chars Update to commit 85a2de04e9ca82 (2 years ago). FSC-74 specifies: "The conference name shall be no more than 60 characters in length." SCFG was limiting sub and dir area-tags to 40 chars and SBBSecho was limiting area tags to 50 chars in length. FSC-74 isn't a standard, but lacking this detail in FTS-4 and considering it comes from the same authoritative source (the Conference Mail System User Manual), I think it's the best source of truth we have. Also, since we're no longer using .cnf files, we don't need different max area-tag lengths between SBBSecho and SCFG structs - they all now use the same macro: FIDO_AREATAG_LEN

  555. Rob Swindell (on Debian Linux)
    Mon Apr 15 2024 12:00:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/sbbslist.js diff
    Some old stil (SBL) messages might include 'address' before 'network'? Attempt to address error reported by Manitoo in IRC: JavaScript sbbslist.js line 327: TypeError: bbs.network[network] is undefined Normally, the "address:" key would always follow a "network:" key, but maybe there's a corrupted message or the sysop is trying to import from the wrong message base (not syncdata?).

  556. Rob Swindell (on Debian Linux)
    Sun Apr 14 2024 20:56:31 GMT-0700 (PDT)
    Modified Files:
    

    src/syncdraw/load.c diff
    Fix potential buffer overflow some long ANSI sequences Increase ansicode[] buffer size from 20 to 200 bytes due to this observed crash when attempting to load an ANS file saved from PabloDraw:

  557. Rob Swindell (on Debian Linux)
    Sun Apr 14 2024 15:13:08 GMT-0700 (PDT)
    Added Files:
    

    exec/OVB-2.SRC diff
    Xsword's Oblivion/2 Clone Command Shell from 1994 Although the FILE_ID.DIZ suggests this is a clone of Oblvivion/2 v2.55, the latest Oblivion/2 appears to be v2.40. This shell source (in Baja) is a 99% copy of Yojimbo's (The Dojo BBS) Vision-2 shell source code from earlier in 1994. The menu/display files need a little work, so they'll be committed separately. I mainly wanted to commit this and then record the history of modifications necessary to "modernize" the shell and at least get it compiling and useful with recent versions of Synchronet BBS for Win32 and *nix and as demonstrated at https://youtu.be/HlwQ0uX4S04

  558. Rob Swindell (on Debian Linux)
    Sun Apr 14 2024 15:29:07 GMT-0700 (PDT)
    Added Files:
    

    exec/obv-2.src diff
    Renamed OVB-2.SRC to obv-2.src Lowercased and using the proper abbreviaton of "Oblivion/2".

  559. Rob Swindell (on Debian Linux)
    Sun Apr 14 2024 16:27:04 GMT-0700 (PDT)
    Added Files:
    

    text/menu/obv-2/email.msg diff
    text/menu/obv-2/files.msg diff
    text/menu/obv-2/main.msg diff
    text/menu/obv-2/message.msg diff
    text/menu/obv-2/quick.msg diff
    text/menu/obv-2/qwk.msg diff
    OBV/2 menu files (converted from .ANS to .msg using PabloDraw) Added a CLEAR @-code to the top of qwk.msg

  560. Rob Swindell (on Debian Linux)
    Sun Apr 14 2024 16:28:48 GMT-0700 (PDT)
    Modified Files:
    

    exec/obv-2.src diff
    Modernized Oblivion/2 Clone shell Updated for Baja v2+ compatibility. Updated for UNIX file system compatibilty. Fix cosmetic, cross-platform, and other general "wrongness".

  561. Rob Swindell (on Debian Linux)
    Tue Apr 09 2024 18:02:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Resolve CID 492287 - we don't care about the fexistcase() return value here We're just using it to "fix" the case, if the file indeed exists.

  562. Rob Swindell (on Debian Linux)
    Tue Apr 09 2024 18:02:58 GMT-0700 (PDT)
    Modified Files:
    

    exec/default.js diff
    The kludge of reverting the Pause prompt string is no longer needed ... when using user_settings.js (i.e. to switch command shells), the user's text.<lang>.ini is re-loaded, thus reverting any changes (e.g. made when loading another shell, like simple.bin). Also, this was causing the translated Pause strings (from text.<lang>.ini) to be lost.

  563. Rob Swindell (on Debian Linux)
    Wed Apr 10 2024 23:05:25 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    When server_binary option is set, request remote BINARY_TX option As reported by Fzf (FQBBS): It addresses the local configuration but unfortunately it still doesn't set remote options. The remote is usually going to be in binary mode but SVDM has the remote option set to ASCII by default. A CR from the remote then gets held up until a second byte is sent. Also suggested by Fzf, when server_binary mode is not configured, then advertise and request binary mode is/be disabled, explicitly.

  564. Rob Swindell (on Windows 11)
    Tue Apr 09 2024 18:02:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    Reduce the Terminal Server thread outcom timeout from 80 seconds to 800 ms Since the Terminal Server is a single thread, let's not block for long periods of time trying to send bytes to a client (e.g. send the badip.msg file contents to a client with a blocked IP address), effectively DoSing the terminal server. This should address the problem reported via IRC: <theviper4> │Apr 9 15:38:11 viper-bbs synchronet: term Terminal Server timeout(outcom) 0000 0000 <theviper4> │Apr 9 15:38:35 viper-bbs synchronet: term Terminal Server !ERROR 110 sending on socket 39 <theviper4> │Apr 9 15:38:35 viper-bbs synchronet: term Terminal Server !ERROR 32 sending on socket 39 <theviper4> │Apr 9 15:38:35 viper-bbs synchronet: term Terminal Server !ERROR 32 sending on socket 39 <theviper4> │Apr 9 15:38:36 viper-bbs synchronet: term 0039 Telnet !CLIENT BLOCKED in ip.can: 117.95.153.33 Also, make the outcom timeout error message more helpful (e.g. include the sock descriptor of the client) and don't use the old rioctl() function here any more.

  565. Rob Swindell (on Windows 11)
    Tue Apr 09 2024 18:02:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    Create/use sbbs_t::flush_output(timeout) If client socket is connected, wait up to the specified timeout period (in ms) for the output buffer to be emptied. This is much preferred over blindly calling mswait() after sending some data (e.g. a file) and possibly waiting much longer than necessary.

  566. Eric Oulashin
    Tue Apr 09 2024 12:50:41 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister Fix: Searching by file date as a loadable module now does the new file search

  567. Rob Swindell
    Tue Apr 09 2024 13:37:02 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_new_file_search_as_loadable_module' into 'master' DDFileLister Fix: Searching by file date as a loadable module now does the new file search See merge request main/sbbs!432

  568. Rob Swindell (on ChromeOS)
    Mon Apr 08 2024 20:23:41 GMT-0700 (PDT)
    Modified Files:
    

    exec/addfiles.js diff
    Remove extra closing-parens pointed out by Apam Oops

  569. Rob Swindell (on Windows 11)
    Mon Apr 08 2024 11:46:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    exec/*.bin cmd shell filenames were case sensitive (must've been lowercase) ... while the mods/*.bin command shell filenames could be any-case! Only impacted non-Windows systems (UNIX file systems are case-sensitive). Discovered while making this tutorial video: https://youtu.be/HlwQ0uX4S04

  570. Rob Swindell (on Windows 11)
    Mon Apr 08 2024 11:49:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Address MSVC warning and CID 492209 with typecast of time_t to uint32_t yes, this is a Y2K38 (or Y2106) issue, but we should have that worked out when upgrading to the next libmozjs. Need something like NUMBER_TO_JSVAL() and equivalent LAZY_NUMBER macro that can deal with >32-bit ints correctly (or just always convert to double?).

  571. Rob Swindell (on Debian Linux)
    Sat Apr 06 2024 19:02:05 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/text.js diff
    3 new text string IDs defined

  572. Rob Swindell (on Debian Linux)
    Fri Apr 05 2024 22:40:22 GMT-0700 (PDT)
    Modified Files:
    

    src/build/gitinfo.bat diff
    src/sbbs3/js_system.c diff
    src/sbbs3/targets.mk diff
    src/sbbs3/ver.cpp diff
    src/sbbs3/ver.h diff
    Introduce system.git_time This is the time_t (seconds since Unix epoch, Jan-1-1970 UTC) date/time of the current (most recent) Git commit used to build the running binary. If a JS developer wants to check if a build is recent-enough to include some change, this is the property they should use to check (with >= comparison).

  573. Rob Swindell (on Debian Linux)
    Fri Apr 05 2024 21:19:14 GMT-0700 (PDT)
    Modified Files:
    

    exec/cleanup.js diff
    Add support for -v (verbose) option Displays messages about non-existing files when in verbose mode

  574. Rob Swindell (on Debian Linux)
    Fri Apr 05 2024 20:47:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/cleanup.js diff
    Clean up the old filebase data files from all the configured data_dir's De-duplicate the data_dirs first (most sysops use a single data dir for all file directories). Also, don't print non-existing old files when run with -q (quiet) option.

  575. Rob Swindell (on ChromeOS)
    Fri Apr 05 2024 19:01:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/msgtoqwk.cpp diff
    Remove redundant re-determination of UTF-8 encoded and exported messages

  576. Rob Swindell (on Windows 11)
    Fri Apr 05 2024 17:40:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Save/restore js.scope property value in sbbs_t::js_execfile() This solves the problem of exit() values (e.g. non-zero return codes) not getting propagated to callers when nest-called (e.g. via bbs.exec()). I think it was kk4qbn that pointed this out via IRC: an exit(1) call from prextrn.js did not stop the external program from running (as it should, for any non-zero exit code). This only happened when the prextrn.js called another JS script (e.g. via bbs.exec() or as was the case here, indirectly via "EXEC" @-code in the YesNoBar text.dat string (which executed yesnobar.js). This nested JS script invocation via sbbs_t::js_execfile() would clobber the stored js.scope property value (where the "exit_code" property is written). Script invoked in their own context (e.g. via js.exec()) wouldn't have this issue in the first place.

  577. Rob Swindell
    Fri Apr 05 2024 17:40:10 GMT-0700 (PDT)
    Modified Files:
    

    BUILDING.md diff
    First pass at making a useful top-level build doc. A lot of content from the wiki should likely be moved here.

  578. Rob Swindell
    Fri Apr 05 2024 15:34:59 GMT-0700 (PDT)
    Added Files:
    

    BUILDING.md diff
    Build instructions should stored in the repo along with the source, so that archives of the source include the current (at the time) build instructions

  579. Rob Swindell (on Debian Linux)
    Thu Apr 04 2024 18:00:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/qwktomsg.cpp diff
    Default FTN charset to CP437 (not ASCII) for QWK-imported messages A QWKnet tagline usually contains CP437 character 254 and if/when appended to a message during export, would "convert" the message to CP437 thus making the "ASCII" charset advertisement incorrect. If a FIDO CHARSET value was already specified (e.g. in HEADERS.DAT), that value will (still) not be overridden. So the *original* import via QWK (before it gets exported to a QWKnet) is where this change will take effect. Fix for issue #741

  580. Rob Swindell (on Debian Linux)
    Wed Apr 03 2024 23:07:35 GMT-0700 (PDT)
    Added Files:
    

    exec/cleanup.js diff
    New script to clean-up (delete) obsolete/unnecessary files from < v3.20 SBBS At Keyop's request This script does not (yet anyway): - clean-up any obsoleted/renamed files in the text directories - clean-up old filebase files that are not stored in the default (data/dirs)

  581. Rob Swindell (on Debian Linux)
    Wed Apr 03 2024 22:51:04 GMT-0700 (PDT)
    Modified Files:
    

    exec/webfileindex.ssjs diff
    When file size is less than 1 byte in length, don't list 0-byte or non-existent files can't be http-downloaded anyway

  582. Rob Swindell (on Debian Linux)
    Wed Apr 03 2024 22:52:08 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/file_size.js diff
    Display file sizes as signed values, so -1 (non-existent file) is clear

  583. Rob Swindell (on Windows 11)
    Tue Apr 02 2024 17:19:22 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/main.ini diff
    Fix accidental change of new_install to 'false' new_install needs to be 'true' to auto-run the config wizard

  584. Eric Oulashin
    Sun Mar 31 2024 14:30:57 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Fix for checkmark refresh when selecting all/none in the message list

  585. Rob Swindell
    Sun Mar 31 2024 23:24:01 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_list_select_all_or_none_checkbox_refresh_fix' into 'master' DDMsgReader: Fix for checkmark refresh when selecting all/none in the message list See merge request main/sbbs!431

  586. Deucе
    Sun Mar 31 2024 00:00:03 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    src/syncterm/syncterm.c diff
    Removed Files:

    src/syncterm/extdeps.mk diff
    Fix WITHOUT_CRYPTLIB build

  587. Deucе
    Sun Mar 31 2024 12:12:51 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Attempt to silence silly Coverity warning.

  588. Rob Swindell (on ChromeOS)
    Sat Mar 30 2024 14:20:18 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/cgi_env.ini diff
    ctrl/fonts.ini diff
    ctrl/letsyncrypt.ini diff
    ctrl/listserver.ini diff
    ctrl/main.ini diff
    ctrl/mime_types.ini diff
    ctrl/msgs.ini diff
    ctrl/rss.ini diff
    ctrl/sbbs.ini diff
    ctrl/services.ini diff
    ctrl/sockopts.ini diff
    ctrl/web_handler.ini diff
    Remove CVS keywords from (not all) .ini files

  589. Rob Swindell (on ChromeOS)
    Sat Mar 30 2024 15:26:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Save and restore the js.exec_path, exec_dir, and exec_file properties When invoking a nested JS script, these properties of the "js" object would be overwritten and not restored, as discovered/reported by Nightfox when his trivial game script would indirectly execute yesnobar.js, his subsequent use of js.exec_dir would point to the wrong location (the "exec" directory, parent of yesnobar.js, and not the direcctory where his game script was located). The exec_path and exec_file properties had the same problem as demonstrated by a simple test.js placed in (and executed from) a directory other than the "exec" dir: function f() { print("js.exec_path = " + js.exec_path); print("js.exec_dir = " + js.exec_dir); print("Js.exec_file = " + js.exec_file); } f(); console.yesno("test"); f(); This would only trigger the problem when executed from the BBS and whebn the YesNoQuestion text.dat string invokes the "yesnobar" module via EXEC @-code and yesnobar.js exists (in exec or mods dir), superceding yesnobar.bin which does not trigger this issue (not a JavaScript mod).

  590. Eric Oulashin
    Sat Mar 30 2024 10:15:43 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/gttrivia/gttrivia.js diff
    xtrn/gttrivia/readme.txt diff
    xtrn/gttrivia/revision_history.txt diff
    Good Time Trivia: Make a copy of js.exec_dir on startup and use the copy, since js.exec_dir could change indirectly (i.e., console.yesno() running yesnobar.js in sbbs/exec)

  591. Rob Swindell
    Sat Mar 30 2024 10:15:43 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/gttrivia/gttrivia.js diff
    xtrn/gttrivia/readme.txt diff
    xtrn/gttrivia/revision_history.txt diff
    Merge branch 'gttrivia_js_exec_dir_change_workaround' into 'master' Good Time Trivia: Make a copy of js.exec_dir on startup and use the copy, since js.exec_dir could change indirectly (i.e., console.yesno() running yesnobar.js in sbbs/exec) See merge request main/sbbs!430

  592. Deucе
    Sat Mar 30 2024 09:59:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    src/sbbs3/sftp.cpp diff
    Unconditionally call sftp_end() when input thread exits. Hopefully fixes issue where certificate file is left open and so can't be deleted.

  593. Rob Swindell (on Windows 11)
    Thu Mar 28 2024 22:54:13 GMT-0700 (PDT)
    Modified Files:
    

    install/install.iss diff
    Updated for v3.20b Renamed output file setup.exe to install_SBBS_v*.exe because InnoSetup Warning: Setting the [Setup] section "OutputBaseFileName" to "setup" is not recommended, all executables named "setup.exe" are shimmed by Windows application compatibility to load additional DLLs, such as version.dll. These DLLs are loaded unsafely by Windows and can be hijacked. Use a different name, for example "mysetup".

  594. Rob Swindell (on Windows 11)
    Thu Mar 28 2024 22:55:51 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    New time.ini and (a few more) text.dat strings in v3.20 documented

  595. Rob Swindell (on Windows 11)
    Thu Mar 28 2024 22:56:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Corrected string numbers

  596. Rob Swindell (on Windows 11)
    Thu Mar 28 2024 22:57:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/AboutBoxFormUnit.cpp diff
    Display Git commit date/time, not build date/time

  597. Deucе
    Thu Mar 28 2024 06:45:54 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.txt diff
    When ANSI Music is enabled, CSI M with parameters is still delete line

  598. Deucе
    Thu Mar 28 2024 06:45:54 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    Whoops, forgot to add the rest of the entry options.

  599. Deucе
    Thu Mar 28 2024 06:08:46 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Update help for connected BBS list editing.

  600. Deucе
    Thu Mar 28 2024 06:09:02 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    Finish documenting the rest of the Directory list features. Only two major chunks left... settings and connected mode!

  601. Deucе
    Thu Mar 28 2024 06:27:03 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Fix help text.

  602. Deucе
    Thu Mar 28 2024 06:27:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    When ANSI Music is enabled, CSI M with parameters is still delete line

  603. Eric Oulashin
    Tue Mar 26 2024 19:02:07 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/gttrivia/gttrivia.js diff
    xtrn/gttrivia/readme.txt diff
    xtrn/gttrivia/revision_history.txt diff
    Good Time Trivia: Formatting fix for sysop menu when the server scores file is missing. Allow showing help when playing a game by entering ?

  604. Rob Swindell
    Tue Mar 26 2024 19:46:12 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/gttrivia/gttrivia.js diff
    xtrn/gttrivia/readme.txt diff
    xtrn/gttrivia/revision_history.txt diff
    Merge branch 'good_time_trivia_sysop_screen_fix_and_help_during_play' into 'master' Good Time Trivia: Formatting fix for sysop menu when the server scores file is missing. Allow showing help when playing a game by entering ? See merge request main/sbbs!429

  605. Rob Swindell (on Windows 11)
    Mon Mar 25 2024 16:29:36 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Initialize telnet options when passed -h option (withouth -l) As requested by Fzf (FQBBS): When SVDM uses an inherited socket (the -h option) no telnet negotiations are done. As a result, the connection is assumed to be in ASCII mode and server side CR characters are translated to CR/LF. Since most programs are already transmitting a CR/LF this gets translated to CR/LF/LF with the expected results. When using an external socket in telnet mode, could SVDM set the telnet.local_option and telnet.remote_option variables as so: A. Assume both remote and local have already suppressed GA and set the two options accordingly B. Set the remote telnet echo option to off and set the local telnet echo to follow the ServerEcho option from the .INI file C. Set both remote and local BINARY_TX options to follow the ServerBinary option from the .INI file

  606. Rob Swindell (on Windows 11)
    Mon Mar 25 2024 16:29:36 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Add 2 new .ini settings: MainLoopDelay and SocketSelectTimeout (default: 0) - MainLoopDelay - in milliseconds Set this to a non-zero value to add some CPU yielding to the main loop - SocketSelectTimeout - in milliseconds Set this to a non-zero value to add some CPU yielding while waiting for receive data from the TCP socket These are 2 knobs created for Fzf (FQBBS) to "to reduce the CPU usage". Their default values are currently 0, so you'll need to set these to non-zero values to play with each of them and see their inpact on CPU utilization and responsiveness. I'd suggest starting with low values (e.g. 1) and experimeting from there. Incremented version to 0.5

  607. Rob Swindell (on Windows 11)
    Mon Mar 25 2024 16:29:36 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.vcxproj diff
    Build release Win32 binaries without SSE exentions for more CPU compatibility

  608. Deucе
    Sun Mar 24 2024 23:24:05 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Hopefully the cache got deleted by that last build and we can re-enable.

  609. Deucе
    Sun Mar 24 2024 23:13:06 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Temporarily disable the js configure cache. The last commit changed the environment, so we need to regenerate the config cache.

  610. Deucе
    Sun Mar 24 2024 23:07:19 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Use cc, not gcc for --build detection

  611. Deucе
    Sun Mar 24 2024 23:07:19 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/js-support-mingw-cross.patch diff
    3rdp/win32.release/nspr/include/nspr/md/_aix32.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_aix64.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_bsdi.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_darwin.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_freebsd.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_hpux32.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_hpux64.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_linux.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_netbsd.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_nto.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_openbsd.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_os2.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_qnx.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_riscos.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_scoos.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_solaris.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_unixware.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_unixware7.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_win95.cfg diff
    3rdp/win32.release/nspr/include/nspr/md/_winnt.cfg diff
    3rdp/win32.release/nspr/include/nspr/nspr.h diff
    3rdp/win32.release/nspr/include/nspr/obsolete/pralarm.h diff
    3rdp/win32.release/nspr/include/nspr/obsolete/probslet.h diff
    3rdp/win32.release/nspr/include/nspr/obsolete/protypes.h diff
    3rdp/win32.release/nspr/include/nspr/obsolete/prsem.h diff
    3rdp/win32.release/nspr/include/nspr/plarena.h diff
    3rdp/win32.release/nspr/include/nspr/plarenas.h diff
    3rdp/win32.release/nspr/include/nspr/plbase64.h diff
    3rdp/win32.release/nspr/include/nspr/plerror.h diff
    3rdp/win32.release/nspr/include/nspr/plgetopt.h diff
    3rdp/win32.release/nspr/include/nspr/plhash.h diff
    3rdp/win32.release/nspr/include/nspr/plstr.h diff
    3rdp/win32.release/nspr/include/nspr/pratom.h diff
    3rdp/win32.release/nspr/include/nspr/prbit.h diff
    3rdp/win32.release/nspr/include/nspr/prclist.h diff
    3rdp/win32.release/nspr/include/nspr/prcmon.h diff
    3rdp/win32.release/nspr/include/nspr/prcountr.h diff
    3rdp/win32.release/nspr/include/nspr/prcpucfg.h diff
    3rdp/win32.release/nspr/include/nspr/prcvar.h diff
    3rdp/win32.release/nspr/include/nspr/prdtoa.h diff
    3rdp/win32.release/nspr/include/nspr/prenv.h diff
    3rdp/win32.release/nspr/include/nspr/prerr.h diff
    3rdp/win32.release/nspr/include/nspr/prerror.h diff
    3rdp/win32.release/nspr/include/nspr/prinet.h diff
    3rdp/win32.release/nspr/include/nspr/prinit.h diff
    3rdp/win32.release/nspr/include/nspr/prinrval.h diff
    3rdp/win32.release/nspr/include/nspr/prio.h diff
    3rdp/win32.release/nspr/include/nspr/pripcsem.h diff
    3rdp/win32.release/nspr/include/nspr/private/pprio.h diff
    3rdp/win32.release/nspr/include/nspr/private/pprthred.h diff
    3rdp/win32.release/nspr/include/nspr/private/prpriv.h diff
    3rdp/win32.release/nspr/include/nspr/prlink.h diff
    3rdp/win32.release/nspr/include/nspr/prlock.h diff
    3rdp/win32.release/nspr/include/nspr/prlog.h diff
    3rdp/win32.release/nspr/include/nspr/prlong.h diff
    3rdp/win32.release/nspr/include/nspr/prmem.h diff
    3rdp/win32.release/nspr/include/nspr/prmon.h diff
    3rdp/win32.release/nspr/include/nspr/prmwait.h diff
    3rdp/win32.release/nspr/include/nspr/prnetdb.h diff
    3rdp/win32.release/nspr/include/nspr/prolock.h diff
    3rdp/win32.release/nspr/include/nspr/prpdce.h diff
    3rdp/win32.release/nspr/include/nspr/prprf.h diff
    3rdp/win32.release/nspr/include/nspr/prproces.h diff
    3rdp/win32.release/nspr/include/nspr/prrng.h diff
    3rdp/win32.release/nspr/include/nspr/prrwlock.h diff
    3rdp/win32.release/nspr/include/nspr/prshm.h diff
    3rdp/win32.release/nspr/include/nspr/prshma.h diff
    3rdp/win32.release/nspr/include/nspr/prsystem.h diff
    3rdp/win32.release/nspr/include/nspr/prthread.h diff
    3rdp/win32.release/nspr/include/nspr/prtime.h diff
    3rdp/win32.release/nspr/include/nspr/prtpool.h diff
    3rdp/win32.release/nspr/include/nspr/prtrace.h diff
    3rdp/win32.release/nspr/include/nspr/prtypes.h diff
    3rdp/win32.release/nspr/include/nspr/prvrsion.h diff
    3rdp/win32.release/nspr/include/nspr/prwin16.h diff
    3rdp/win32.release/nspr/lib/libnspr4.a diff
    3rdp/win32.release/nspr/lib/libnspr4_s.a diff
    3rdp/win32.release/nspr/lib/libplc4.a diff
    3rdp/win32.release/nspr/lib/libplc4_s.a diff
    3rdp/win32.release/nspr/lib/libplds4.a diff
    3rdp/win32.release/nspr/lib/libplds4_s.a diff
    3rdp/win32.release/nspr/lib/nspr4.dll diff
    3rdp/win32.release/nspr/lib/plc4.dll diff
    3rdp/win32.release/nspr/lib/plds4.dll diff
    3rdp/win64.release/nspr/lib/libnspr4.a diff
    3rdp/win64.release/nspr/lib/libnspr4_s.a diff
    3rdp/win64.release/nspr/lib/libplc4.a diff
    3rdp/win64.release/nspr/lib/libplc4_s.a diff
    3rdp/win64.release/nspr/lib/libplds4.a diff
    3rdp/win64.release/nspr/lib/libplds4_s.a diff
    3rdp/win64.release/nspr/lib/nspr4.dll diff
    3rdp/win64.release/nspr/lib/plc4.dll diff
    3rdp/win64.release/nspr/lib/plds4.dll diff
    Modified Files:

    3rdp/build/Common.gmake diff
    3rdp/build/GNUmakefile diff
    3rdp/build/js-disable-shell.patch diff
    src/build/Common.gmake diff
    src/sbbs3/sbbs.h diff
    Initial work on cross-building sbbs with mingw The big remaining issue is defining *_EXPORTS where needed, which looks rough from a quick glance.

  612. Rob Swindell (on ChromeOS)
    Sun Mar 24 2024 18:51:34 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/inkey.cpp diff
    src/sbbs3/scfg/scfgnode.c diff
    Remove the "7-bit only" node option The way this option worked was, if enabled (and it was off by default), bit 7 of all character input *before* successful logon would be stripped and bit 7 from all character input of terminals configured as US-ASCII (only) would be stripped after logon. Instead, always strip bit 7 (the 8th bit) of each input character from US-ASCII (only) terminals. Other detected/configured terminals (CP437, UTF-8, PETSCII) won't have bit 7 stripped (ever) since that's likely not a necessary or nice thing to do. There's now no different handling of pre/post logon in this regard. If there's a need to strip parity bits from character input from client terminals that support CP437, UTF-8, or PETSCII, then we'll re-add this feature in but it shouldn't be a per-node setting in that case.

  613. Rob Swindell (on ChromeOS)
    Sun Mar 24 2024 19:26:00 GMT-0700 (PDT)
    Modified Files:
    

    exec/upgrade_to_v320.js diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/scfg/scfgnode.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    Move "spinning cursor at pause prompt" from node to system config From SCFG->Nodes ... Toggle Options to SCFG->System->Toggle Options And from a bit flag in node_misc to its own bool member of scfg_t.

  614. Rob Swindell (on ChromeOS)
    Sun Mar 24 2024 19:35:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgnode.c diff
    Simplify the node config menu, eliminating Toggles/Advanced Options menus There's only one toggle left (Leave node file open) and not very many advanced options. Unfortuantely, can't easily do the cool left-right cycle through nodes since each node file has to be saved/loaded, but still, easier to visualize any differences between node configs with all the settings on one menu.

  615. Rob Swindell (on Windows 11)
    Sun Mar 24 2024 17:58:20 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Remove obsolete note comment about genwrap.h

  616. Deucе
    Sun Mar 24 2024 16:53:01 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Removed Files:

    3rdp/build/js-always-define-spew.patch diff
    The problem with Bullseye was the 64-bit kernel. The configure script was using uname -m as the build platform, but Bullseye on RPi uses a 64-bit kernel (aarch64 uname -m) with a 32-bit userland (arm gcc build host), which resulted in a lot of bad decsions around JIT stuff. With this change, we explicitly pass the build/host/target values as taken from the compilers in question, which fixes the issue for Bullseye (But may break mingw32? Well we'll see how the pipes go).

  617. Deucе
    Sun Mar 24 2024 15:44:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Grow another 4-byte string.

  618. Deucе
    Sun Mar 24 2024 15:41:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_file.c diff
    Increase size of file mode string so it's not 4 bytes. 4-bytes is how bit a 32-bit pointer is.

  619. Deucе
    Sun Mar 24 2024 15:17:47 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/js-always-define-spew.patch diff
    3rdp/build/js-config.guess-libffi.patch diff
    Modified Files:

    .gitlab-ci.yml diff
    3rdp/build/GNUmakefile diff
    Add a couple more patches that appear to enable libmozjs on Raspian This works on Buster at least... update the other config.guess file the same as the top-level one, and always define JaegerSpew() so the JIT stuff isn't broken.

  620. Rob Swindell (on Windows 11)
    Sun Mar 24 2024 01:48:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/AboutBoxFormUnit.dfm diff
    Increment copyright year from 2022 to 2024

  621. Rob Swindell (on Windows 11)
    Sun Mar 24 2024 01:48:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/sbbsctrl.bpr diff
    Increment copyright year to 2024

  622. Rob Swindell (on Debian Linux)
    Sun Mar 24 2024 01:45:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Increment copyright year from 2022 to 2024 Yeah, it's getting about that time...

  623. Rob Swindell (on Debian Linux)
    Sat Mar 23 2024 22:03:36 GMT-0700 (PDT)
    Modified Files:
    

    exec/addfiles.js diff
    Auto-detect/correct filename case from file lists Addresses issue reported by Dumas Walker (CAPCITY2) and kk4qbn (KK4QBN) whereby the list contains filenames in the wrong case.

  624. Deucе
    Sat Mar 23 2024 21:24:14 GMT-0700 (PDT)
    Added Files:
    

    exec/load/syncterm_cache.js diff
    Simple untested script to upload a file to the SyncTERM cache. As I said, untested.

  625. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 17:15:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    Fix CID 33725: Use after close

  626. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 17:19:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/readsauce.c diff
    Fix CID 174408 Unchecked return value from library (fseek)

  627. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 17:12:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix typo in previous commit to this file

  628. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 16:18:28 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    More save string copy operations using strlcpy and SAFECOPY Resoles (at least) CID 488305

  629. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 16:21:43 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/datewrap.c diff
    Fix CID 487672: Dereference null return value gmtime_r() can return NULL

  630. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 16:32:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Use volatile keyword to (maybe) fix CID 488122: Data race condition Ideally, I'd use atomic_bool instead, but we're using an older WinSDK for Win7 compatibility and so... can't. Perhaps an xpdev 'protected_bool_t' should be created.

  631. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 16:47:28 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logout.cpp diff
    src/sbbs3/sbbs.h diff
    Add/use sbbs_t::fremove() to remove files with logged error on failure This should resolve CID 487088: Unchecked return value from library as well as add some more instrumentation upon unexpected failures removing files. Consider: do some callers of this function need to know the success status (return bool)? That then starts to get into the some callers check and some don't situation (Coverity issue). For now, this is a void function. Also, all remove failures are logged as errors. Consider possibly passing a log level and calling lprintf() instead of errormsg(). errormsg() displays a notice to the user, which maybe we don't want.

  632. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 16:57:04 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Fix CID 486181: Resource leak (RESOURCE_LEAK) A couple of error paths in expand_atcodes() method could leak heap memory.

  633. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 17:05:09 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_console.cpp diff
    Fix CID 479078: Resource leak (RESOURCE_LEAK) Passing an unparseable integer to console.editfile() could leak heap memory

  634. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 15:42:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Insure buf is null-terminated in getzpt(), resoving CID 488308

  635. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 16:07:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sauce.c diff
    SAFECOPY (now using strlcpy) requires the source is terminated ... so use strncpy() and TERMINATE() here (instead of SAFECOPY) to resolve newly reported Coverity issues. There may be other places where we're using SAFECOPY() with an unterminated source string that would've been fine before we switched SAFECOPY from using strncpy to strlcpy. So we should reconsider that change.

  636. Deucе
    Sat Mar 23 2024 10:57:57 GMT-0700 (PDT)
    Modified Files:
    

    exec/syncterm-bounce.js diff
    Re-format b64 encoded images strings so you can see the code. The ppm (image) of course is 24bpp, and the pbm (mask) is 1bpp, so the line lengths are different.

  637. Rob Swindell (on Debian Linux)
    Sat Mar 23 2024 01:34:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ars_defs.h diff
    Comment header clean-up (to re-trigger pipeline) No functional change

  638. Rob Swindell (on Debian Linux)
    Sat Mar 23 2024 01:26:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ident.h diff
    Non-functional change (header cleanup) to trigger pipeline

  639. Rob Swindell (on Debian Linux)
    Sat Mar 23 2024 01:08:59 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Enable ccache in Linux builds

  640. Deucе
    Sat Mar 23 2024 00:19:15 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Put EXTRA_FILENAME in the filename

  641. Rob Swindell (on Windows 11)
    Sat Mar 23 2024 00:09:55 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Change spaces to tabs in new strlcpy()

  642. Deucе
    Sat Mar 23 2024 00:05:25 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    Attempt to fix corruption issue on FreeBSD. Both sbbs-noskeeters and sbbs-build create sbbs-build.tgz Hopefully this fixes it and doesn't just break it worser.

  643. Deucе
    Fri Mar 22 2024 23:43:21 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    include genwrap for strlcpy()

  644. Deucе
    Fri Mar 22 2024 23:34:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/xpdev/gen_defs.h diff
    Use use strlcpy() in x_cio.c without the wrapper. Reverts gen_defs/genwrap craziness.

  645. Deucе
    Fri Mar 22 2024 23:10:52 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    include genwrap.h at the end of gen_defs.h for strlcpy()/strlcat(). This whole library is starting to get crufty and could use a room at a hackathon.

  646. Deucе
    Fri Mar 22 2024 23:02:40 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    After creating the file in /tmp/gitlab-runner, make it read-only. This should hopefully surface whatever is corrupting the file.

  647. Deucе
    Fri Mar 22 2024 22:51:10 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Oh yeah, can't use wildcards since it's in quotes.

  648. Rob Swindell (on Debian Linux)
    Fri Mar 22 2024 22:49:51 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Resolve recently introduced warnings about const char* to char* conversion C++ <sigh> We don't need a .ini section separator anyway.

  649. Deucе
    Fri Mar 22 2024 22:44:30 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Put the job ID in the tarball filename. This should help debug if multiple jobs are writing the same archives.

  650. Rob Swindell (on Debian Linux)
    Fri Mar 22 2024 22:04:50 GMT-0700 (PDT)
    Removed Files:
    

    src/sbbs3/v4upgrade.c diff
    src/sbbs3/v4upgrade.vcxproj diff
    Remove the v4upgrade code/project Just about everything in here has been implemented in v3.20 already

  651. Rob Swindell (on Windows 11)
    Fri Mar 22 2024 21:27:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Replace (and auto-upgrade) ctrl/time.dab with time.ini This will allow us to change scfg_t.event[].last to a time_t value (from time32_t) whenever we abandon Borland C/C++ in the future. Now it's trival for sysops to view/edit when their timed events 'last run' values. And there's no more endianness concerns. Bad .dab files, bad, go away. After I wrote this change, I found the original conversion code in v4upgrade.c which is almost exactly the same (except I was going to write to different filename). Finally actually implemented this. Next up: qnet.dab

  652. Rob Swindell (on Windows 11)
    Fri Mar 22 2024 21:27:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Convert (and auto-upgrade) ctrl/qnet.dab to ctrl/time.ini as well I suppose this should've been part of the previous commit. Again, this is almost verbatim what v4upgrade.c did (though never actually used).

  653. Rob Swindell (on Debian Linux)
    Fri Mar 22 2024 21:00:52 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ver.cpp diff
    Fix typo in http URL (colon, not semicolon)

  654. Eric Oulashin
    Fri Mar 22 2024 19:19:18 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: (Hopefully) Fix for descLines being undefined in getFileInfoLineArrayForTraditionalUI()

  655. Rob Swindell
    Fri Mar 22 2024 19:52:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_descLines_undefined_fix' into 'master' DDFileLister: (Hopefully) Fix for descLines being undefined in getFileInfoLineArrayForTraditionalUI() See merge request main/sbbs!428

  656. Rob Swindell (on Debian Linux)
    Fri Mar 22 2024 12:24:09 GMT-0700 (PDT)
    Modified Files:
    

    exec/addfiles.js diff
    Add better error reporting when listfile can't be found on disk For Dumas Walker (CAPCITY2)

  657. Deucе
    Fri Mar 22 2024 11:52:39 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Stop interlacing preprocessor stuff.

  658. Deucе
    Fri Mar 22 2024 11:50:35 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Borland expects ()

  659. Deucе
    Fri Mar 22 2024 11:48:16 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    static_assert() only available with C11 and higher.

  660. Rob Swindell (on Debian Linux)
    Fri Mar 22 2024 11:47:21 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Fix stale comment about XSAFECOPY (now uses strlcpy, not strncpy)

  661. Deucе
    Fri Mar 22 2024 11:40:31 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Use static_assert() macro instead of _Static_assert keyword More compatible with C++ that way.

  662. Deucе
    Fri Mar 22 2024 11:37:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sauce.c diff
    Remove gratuitous use of comma operator.

  663. Deucе
    Fri Mar 22 2024 11:37:35 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Use strlcpy() for X?SAFECOPY() macros. Also, for DEBUG builds, add a static assertion that sizeof(dst) != sizeof(void*) to catch the most common breakage.

  664. Deucе
    Fri Mar 22 2024 11:30:53 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Fix issue in last commit Need to update the parameter names as well.

  665. Deucе
    Fri Mar 22 2024 11:17:41 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    src/xpdev/genwrap.c diff
    Use strlcpy() for SAFECOPY() and XSAFECOPY() macros. While we're here, Update strlcpy() to slightly more optimal FreeBSD-13.3 version.

  666. Deucе
    Fri Mar 22 2024 10:59:15 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    Cpoy/paste strlcat() from FreeBSD 13.3-RELEASE

  667. Deucе
    Fri Mar 22 2024 02:15:06 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Use safer string things... We really need strlcpy()/strlcat() wrappers in xpdev.

  668. Deucе
    Thu Mar 21 2024 23:38:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Now unbreak!

  669. Deucе
    Thu Mar 21 2024 23:33:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Break stuff to test things.

  670. Deucе
    Thu Mar 21 2024 23:24:35 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    Instead of converting failures to warnings, run cleanup "always"

  671. Rob Swindell (on Windows 11)
    Thu Mar 21 2024 21:56:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    ftp_remove() returns a bool (not an int) now, so do the right thing

  672. Deucе
    Thu Mar 21 2024 17:24:32 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    We need an empty dependencies list, or it will download all the artifacts before deleting temp files. :(

  673. Deucе
    Thu Mar 21 2024 17:12:36 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    We can't make cleanup use needs since some platforms don't run tests.

  674. Deucе
    Thu Mar 21 2024 17:09:48 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Fix cleanup needs

  675. Deucе
    Thu Mar 21 2024 17:08:49 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Don't group cleanup either, and don't make it wait.

  676. Deucе
    Thu Mar 21 2024 17:07:04 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Stop grouping the js-testsuite

  677. Deucе
    Thu Mar 21 2024 17:01:44 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    Re-enable Darwin Also, allow tests to run as soon as jsdoor is done, and don't use the artifact file, use the local copy instead.

  678. Deucе
    Thu Mar 21 2024 16:56:52 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Disable Darwin build just to see how fast it could be...

  679. Deucе
    Thu Mar 21 2024 16:49:25 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    OpenBSD requires -xzf, fix gtk* extractions

  680. Deucе
    Thu Mar 21 2024 16:36:58 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Everyone has to clean up.

  681. Deucе
    Thu Mar 21 2024 16:34:21 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    A couple more tipoes.

  682. Deucе
    Thu Mar 21 2024 16:31:06 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Fix typo

  683. Deucе
    Thu Mar 21 2024 16:23:56 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    Just slap intermediate results in /tmp/gitlab-runner and call it good

  684. Deucе
    Wed Mar 20 2024 21:49:07 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Nope, that won't work either.

  685. Deucе
    Wed Mar 20 2024 21:36:00 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    More cache fun

  686. Deucе
    Wed Mar 20 2024 21:32:39 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    More cache fiddling. Only on freebsd-amd64 now though... no need to leave stuff laying everywhere.

  687. Deucе
    Wed Mar 20 2024 21:23:24 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Turns out, we can't cleanup caches like that. :(

  688. Deucе
    Wed Mar 20 2024 21:12:26 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Use dependencies, not needs so cleanup runs at end.

  689. Deucе
    Wed Mar 20 2024 21:03:13 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    paths, not files

  690. Deucе
    Wed Mar 20 2024 21:02:11 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    Stage, not state

  691. Deucе
    Wed Mar 20 2024 20:59:27 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    Experiment for the caches... hoping this doesn't leave an empty zip file laying aorund.

  692. Rob Swindell (on Windows 11)
    Wed Mar 20 2024 20:31:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Reduce log severity of QWK-packet removal error log message to WARNING This allows each call to ftp_remote() to specify the log level for any remove failure. All others file-removal failures will continue to log at ERROR level. I get this particular (harmless) error a lot, so just reducing to warning: ftp ... !ERROR 13 (Permission denied) (line 860) removing file: path/to/*.qwk

AuthorCommitsLatest
Deucе237Thu Oct 24 2024 22:20:05 GMT-0700 (PDT)
Rob Swindell406Thu Oct 24 2024 14:02:27 GMT-0700 (PDT)
Eric Oulashin26Sat Oct 19 2024 16:23:26 GMT-0700 (PDT)
mcmlxxix5Sat Oct 05 2024 13:24:44 GMT-0700 (PDT)
Rick Parrish1Thu Sep 12 2024 13:58:21 GMT-0700 (PDT)
echicken13Thu Aug 15 2024 09:52:01 GMT-0700 (PDT)
Nigel Reed4Mon Aug 05 2024 18:26:48 GMT-0700 (PDT)

For older commits (in CVS), click here

Dynamically generated in 322 milliseconds