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. mcmlxxix
    Sat Oct 05 2024 13:24:44 GMT-0700 (PDT)
    Modified Files:
    

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

  2. 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

  3. 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

  4. 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.

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

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

  6. 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.

  7. 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.

  8. 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.

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

    src/syncterm/CHANGES diff
    Mention CMake changes

  10. 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

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

    src/syncterm/CHANGES diff
    Add NetBSD fix note

  12. 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.

  13. 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.

  14. 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).

  15. 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

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

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

  17. 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

  18. 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).

  19. 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.

  20. 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.

  21. 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.

  22. 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.

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

    src/syncterm/CHANGES diff
    Document more changes.

  24. 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.

  25. 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.

  26. 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.

  27. 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.

  28. 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

  29. 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. :(

  30. 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.

  31. 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.

  32. 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

  33. 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.

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

    src/syncterm/CHANGES diff
    Add note about WM_SETCUSOR fix

  35. 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.

  36. 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

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

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

  38. 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.

  39. 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.

  40. 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.

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

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

  42. 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. :(

  43. 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.

  44. 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. :(

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

    src/syncterm/CHANGES diff
    Update CHANGES for rc2

  46. 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.

  47. 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.

  48. 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).

  49. 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.

  50. 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.

  51. 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.

  52. 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. :(

  53. 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.

  54. 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.

  55. 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

  56. 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!

  57. 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.

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

    src/syncterm/CHANGES diff
    Mention insert mode change

  59. 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.

  60. 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).

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

    src/syncterm/Manual.txt diff
    Manual updates.

  62. 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.

  63. 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

  64. 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.

  65. 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.

  66. 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.

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

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

  68. 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)

  69. 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.

  70. 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

  71. 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.

  72. 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.

  73. 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?

  74. 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.

  75. 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

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

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

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

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

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

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

  79. 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.

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

    src/syncterm/Manual.txt diff
    Convert to asciidoc

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

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

  82. 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.

  83. 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.

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

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

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

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

  86. 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.

  87. 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?)

  88. 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.

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

    src/syncterm/ssh.c diff
    Destroy ssh_tx_mutex

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

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

  91. 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

  92. 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

  93. 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

  94. 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

  95. 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).

  96. 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.

  97. 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

  98. 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.

  99. 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.

  100. 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.

  101. 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

  102. 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.

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

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

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

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

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

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

  106. 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)

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

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

  108. 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.

  109. 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).

  110. 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

  111. 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

  112. 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.

  113. 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

  114. 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.

  115. 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.

  116. 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).

  117. 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.).

  118. 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

  119. 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.

  120. 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

  121. 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.

  122. 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?)

  123. 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.

  124. 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

  125. 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.

  126. 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()

  127. 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 ... ?

  128. 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

  129. 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

  130. 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

  131. 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

  132. 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

  133. 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

  134. 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.

  135. 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.

  136. 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.

  137. 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

  138. 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.

  139. 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

  140. 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.

  141. 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

  142. 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

  143. 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.

  144. 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

  145. 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.

  146. 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.

  147. 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.

  148. 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).

  149. 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

  150. 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.

  151. 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.

  152. 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).

  153. 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.

  154. 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.

  155. 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.

  156. 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

  157. 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).

  158. 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>

  159. 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.

  160. 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.

  161. 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.

  162. 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.

  163. 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.

  164. 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

  165. 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

  166. 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.

  167. 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.

  168. 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").

  169. 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.

  170. 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

  171. 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"?).

  172. 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.

  173. 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

  174. 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.

  175. 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).

  176. 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.

  177. 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)

  178. 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()

  179. 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

  180. 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

  181. 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

  182. 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

  183. 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

  184. 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

  185. 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".

  186. 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().

  187. 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

  188. 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

  189. 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

  190. 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

  191. 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

  192. 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

  193. 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).

  194. 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

  195. 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

  196. 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()

  197. 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.

  198. 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.

  199. 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.

  200. 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?

  201. 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.

  202. 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

  203. 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

  204. 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

  205. 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

  206. 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.

  207. 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.

  208. 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>

  209. 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.

  210. 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.

  211. 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.

  212. 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.

  213. 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.

  214. 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

  215. 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

  216. 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

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

    exec/rlogin.js diff
    Fixed typo

  218. 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.

  219. 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.

  220. 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)

  221. 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

  222. 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

  223. 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.

  224. 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.

  225. 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.

  226. 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.

  227. 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

  228. 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

  229. 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

  230. 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.

  231. 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

  232. 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

  233. 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.

  234. 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

  235. 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

  236. 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

  237. 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

  238. 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.

  239. 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

  240. 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.

  241. 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.

  242. 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.

  243. 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.

  244. 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.

  245. 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.

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

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

  247. 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

  248. 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.

  249. 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

  250. 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

  251. 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.

  252. 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

  253. 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)

  254. 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

  255. 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

  256. 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.

  257. 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).

  258. 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.

  259. 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

  260. 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.

  261. 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.

  262. 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. :-)

  263. 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

  264. 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.)

  265. 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

  266. 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

  267. 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

  268. 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

  269. 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.

  270. 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

  271. 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

  272. 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

  273. 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

  274. 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.

  275. 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

  276. 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

  277. 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

  278. 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

  279. 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.

  280. 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

  281. 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

  282. 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).

  283. 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

  284. 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.

  285. 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

  286. 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.

  287. 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().

  288. 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

  289. 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.

  290. 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!

  291. 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.

  292. 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).

  293. 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.

  294. 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.

  295. 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.

  296. 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.

  297. 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).

  298. 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

  299. 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

  300. 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.

  301. 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

  302. 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.

  303. 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()

  304. 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.).

  305. 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.

  306. 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

  307. 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.

  308. 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

  309. 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.

  310. 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

  311. 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().

  312. 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

  313. 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

  314. 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.

  315. 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)

  316. 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.

  317. 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

  318. 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

  319. 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.

  320. 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

  321. 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.

  322. 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

  323. 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.

  324. 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.

  325. 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").

  326. 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()

  327. 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

  328. 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

  329. 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

  330. 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.

  331. 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

  332. 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).

  333. 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

  334. 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.

  335. 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

  336. 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

  337. 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.

  338. 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

  339. 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

  340. 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

  341. 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.

  342. 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

  343. 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.

  344. 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

  345. 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)

  346. 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

  347. 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

  348. 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

  349. 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.)

  350. 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.

  351. 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

  352. 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

  353. 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

  354. 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.

  355. 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

  356. 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)

  357. 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.

  358. 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.

  359. 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.

  360. 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)

  361. 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.

  362. 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

  363. 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)

  364. 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.

  365. 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).

  366. 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

  367. 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.

  368. 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

  369. 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.

  370. 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

  371. 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.

  372. 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.

  373. 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

  374. 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>

  375. 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.

  376. 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.

  377. 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.

  378. 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.

  379. 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

  380. 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).

  381. 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.

  382. 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

  383. 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

  384. 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.

  385. 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

  386. 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

  387. 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

  388. 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.

  389. 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.

  390. 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

  391. 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

  392. 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

  393. 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

  394. 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

  395. 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.

  396. 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

  397. 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

  398. 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.

  399. 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

  400. 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

  401. 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

  402. 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.

  403. 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).

  404. 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.

  405. 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

  406. 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).

  407. 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

  408. 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

  409. 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.

  410. echicken
    Wed Apr 24 2024 11:49:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/openweathermap.js diff
    Whoopsiedoodle

  411. echicken
    Wed Apr 24 2024 10:09:46 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/openweathermap.js diff
    call_api_v3

  412. 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

  413. 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

  414. 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?).

  415. 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

  416. 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.

  417. 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.

  418. 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

  419. 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).

  420. 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.

  421. 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

  422. 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?).

  423. 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:

  424. 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

  425. 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".

  426. 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

  427. 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".

  428. 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.

  429. 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.

  430. 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.

  431. 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.

  432. 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.

  433. 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

  434. 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

  435. 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

  436. 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

  437. 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?).

  438. 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

  439. 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).

  440. 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

  441. 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.

  442. 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

  443. 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.

  444. 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.

  445. 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

  446. 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

  447. 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)

  448. 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

  449. 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

  450. 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

  451. 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

  452. 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

  453. 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

  454. Deucе
    Sun Mar 31 2024 12:12:51 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Attempt to silence silly Coverity warning.

  455. 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

  456. 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).

  457. 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)

  458. 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

  459. 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.

  460. 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".

  461. 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

  462. 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

  463. 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

  464. 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

  465. 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.

  466. 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.

  467. 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!

  468. Deucе
    Thu Mar 28 2024 06:27:03 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Fix help text.

  469. 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

  470. 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 ?

  471. 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

  472. 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

  473. 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

  474. 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

  475. 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.

  476. 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.

  477. Deucе
    Sun Mar 24 2024 23:07:19 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Use cc, not gcc for --build detection

  478. 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.

  479. 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.

  480. 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.

  481. 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.

  482. 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

  483. 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).

  484. Deucе
    Sun Mar 24 2024 15:44:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Grow another 4-byte string.

  485. 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.

  486. 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.

  487. 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

  488. 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

  489. 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...

  490. 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.

  491. 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.

  492. 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

  493. 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)

  494. 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

  495. 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

  496. 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

  497. 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.

  498. 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.

  499. 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.

  500. 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

  501. 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

  502. 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.

  503. 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.

  504. 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

  505. 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

  506. 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

  507. Deucе
    Sat Mar 23 2024 00:19:15 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Put EXTRA_FILENAME in the filename

  508. 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()

  509. 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.

  510. Deucе
    Fri Mar 22 2024 23:43:21 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    include genwrap for strlcpy()

  511. 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.

  512. 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.

  513. 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.

  514. 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.

  515. 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.

  516. 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.

  517. 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

  518. 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

  519. 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).

  520. 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)

  521. 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()

  522. 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

  523. 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)

  524. Deucе
    Fri Mar 22 2024 11:52:39 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Stop interlacing preprocessor stuff.

  525. Deucе
    Fri Mar 22 2024 11:50:35 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/gen_defs.h diff
    Borland expects ()

  526. 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.

  527. 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)

  528. 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.

  529. Deucе
    Fri Mar 22 2024 11:37:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sauce.c diff
    Remove gratuitous use of comma operator.

  530. 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.

  531. 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.

  532. 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.

  533. 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

  534. 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.

  535. Deucе
    Thu Mar 21 2024 23:38:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Now unbreak!

  536. Deucе
    Thu Mar 21 2024 23:33:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Break stuff to test things.

  537. 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"

  538. 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

  539. 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. :(

  540. 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.

  541. Deucе
    Thu Mar 21 2024 17:09:48 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Fix cleanup needs

  542. 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.

  543. Deucе
    Thu Mar 21 2024 17:07:04 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Stop grouping the js-testsuite

  544. 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.

  545. 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...

  546. Deucе
    Thu Mar 21 2024 16:49:25 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    OpenBSD requires -xzf, fix gtk* extractions

  547. Deucе
    Thu Mar 21 2024 16:36:58 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Everyone has to clean up.

  548. Deucе
    Thu Mar 21 2024 16:34:21 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    A couple more tipoes.

  549. Deucе
    Thu Mar 21 2024 16:31:06 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Fix typo

  550. 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

  551. Deucе
    Wed Mar 20 2024 21:49:07 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Nope, that won't work either.

  552. Deucе
    Wed Mar 20 2024 21:36:00 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    More cache fun

  553. 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.

  554. 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. :(

  555. 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.

  556. Deucе
    Wed Mar 20 2024 21:03:13 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    paths, not files

  557. 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

  558. 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.

  559. 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

  560. Deucе
    Wed Mar 20 2024 17:27:04 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    We need the .o files to avoid rebuilding in jsdoor target.

  561. Deucе
    Wed Mar 20 2024 16:40:42 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Create a new jsdoor job that depends on sbbs-build. This basically just moves the download of sbbs-build from the test phase to the build phase, so shouldn't result in any speedup.

  562. Deucе
    Wed Mar 20 2024 12:00:03 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Noskeeters need to extend sbbs-build, not sbbs

  563. Deucе
    Wed Mar 20 2024 11:55:53 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Split sbbs into sbbs-build that compiles and sbbs that just combines. This will allow sbbs-build to run in parallel with scfg etc.

  564. Deucе
    Wed Mar 20 2024 11:44:15 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Remove date calls. About ten seconds in extract/patch, two minutes in build.

  565. Deucе
    Wed Mar 20 2024 11:42:00 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Explicitly don't need anything for "root" jobs.

  566. Deucе
    Wed Mar 20 2024 11:27:00 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/cl-fixed-fixed-seed.patch diff
    diff -u, not diff -i :(

  567. Deucе
    Wed Mar 20 2024 11:25:29 GMT-0700 (PDT)
    Added Files:
    

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

    .gitlab-ci-unix.yml diff
    3rdp/build/GNUmakefile diff
    Use a fixed fixed seed for CI

  568. Deucе
    Wed Mar 20 2024 11:15:49 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Print the date, not the literal string "date" :(

  569. Deucе
    Wed Mar 20 2024 11:11:27 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Slap some date calls in to profile the pipes.

  570. Deucе
    Wed Mar 20 2024 10:01:29 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Cache the ffi cache.

  571. Deucе
    Wed Mar 20 2024 09:59:21 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/js-keep-ffi-cache.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Make the ffi cache the same as sm cache but with ".ffi" on the end Allows caching in gitlab.

  572. Deucе
    Wed Mar 20 2024 09:38:49 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    We can't pass on command-line since we want to change it.

  573. Deucе
    Wed Mar 20 2024 09:20:02 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Spell cache-file correctly.

  574. Deucе
    Wed Mar 20 2024 09:10:18 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Attempt to cache the autoconf cache.

  575. Deucе
    Wed Mar 20 2024 02:35:53 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    And finally, ccache raspian.

  576. Deucе
    Wed Mar 20 2024 02:19:44 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    And ccache the rest of alumitron.

  577. Deucе
    Wed Mar 20 2024 01:54:09 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Enable ccache for NetBSD and OpenBSD as well.

  578. Deucе
    Wed Mar 20 2024 01:10:48 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    We need to add RELEASE=1 if we specify build flags manually.

  579. Deucе
    Wed Mar 20 2024 00:44:51 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/GNUmakefile diff
    Use XPDEV_CFLAGS when building. Fixes at least an snprintf() issue on macOS, and likely many other things. It's actually surprising this builds without it to be honest.

  580. Deucе
    Wed Mar 20 2024 01:02:43 GMT-0700 (PDT)
    Added Files:
    

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

    .gitlab-ci.yml diff
    3rdp/build/GNUmakefile diff
    Enable ccache for Darwin. This may or may not actually work, and will certainly need a few runs to build up the cache first.

  581. Deucе
    Tue Mar 19 2024 22:55:06 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    3rdp/build/js-darwin-configure.patch diff
    src/sbbs3/GNUmakefile diff
    Support MacPorts locations as well. Search in both /usr/local (Homebrew) and /opt/local (MacPorts) for libraries. Also, have the name of GNU make be an in option in CI so we can use the Apple-provided make.

  582. Deucе
    Tue Mar 19 2024 11:56:40 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Remove space.

  583. Deucе
    Tue Mar 19 2024 11:54:52 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Most seds apparently don't support -I

  584. Deucе
    Tue Mar 19 2024 11:33:57 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    3rdp/build/cl-macosx-minver.patch diff
    src/build/Common.gmake diff
    Default to building for the current macOS version, fix 3rdp Now if you don't specify MIN_MAC_OSX_VERSION, it will use the "current" version of macOS as the target. "Current" is defined as X.0 where the major version (X) is greater than 10 and X.Y when major version is 10. This allows building for a specific target, but uses the newest libraries if you don't specify.

  585. Deucе
    Tue Mar 19 2024 10:59:57 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    3rdp/build/cl-macosx-minver.patch diff
    src/build/Common.gmake diff
    Bump the default min supported mac version to 12.0 For Synchronet "stuff", we can trivially change this, but some work needs to be done to enable Spidermonkey and Cryptlib to pick up the chosen value. JS should be fairly simple since it's a configure argument. Cryptlib is a bit trickier since it's in a patch.

  586. Rob Swindell (on Windows 11)
    Mon Mar 18 2024 21:21:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/WebCfgDlgUnit.cpp diff
    Bugfix: Log->Base Filename edit box wasn't populated or read ... so the [web] HttpLogFile setting in sbbs.ini couldn't be set using this dialog. Been broken all this time.

  587. Rob Swindell (on Windows 11)
    Mon Mar 18 2024 21:21:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Fix logic to add the "partially" prefix to download notification messages The file_t struct may not have the size of the file pre-poulated, so we needed to call getfilesize() here.

  588. Rob Swindell (on Windows 11)
    Mon Mar 18 2024 21:21:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Fix a bunch of false "File sent" logs (and uploader-notifications) Web browsers tend start a download and then immediately close the socket (so now send_failed will be true), while on a secondary socket, do a range download of the same file. So log the range requests/completions and don't log successful file sends when the send was terminated due to a send failure. We still count very small (e.g. 2 byte) ranges as successful file transfers and notify the uploader (of a partial download), so we should fix those issues still. But at least now, there's a whole lot less "noise" created from HTTP[S} file downloads via browser.

  589. Deucе
    Mon Mar 18 2024 20:29:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    jsdoor and jsexec both depend on ciolib (and likely others)

  590. Deucе
    Mon Mar 18 2024 20:53:48 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    Don't bother starting the SDL thread just to shut it down. Fixes issue closing SyncTERM in curses mode on macOS.

  591. Deucе
    Mon Mar 18 2024 11:52:49 GMT-0700 (PDT)
    Modified Files:
    

    exec/dorkit/screen.js diff
    Support ignoring CSI n commands. Fixes issue reported from CCO BBS.

  592. Deucе
    Sun Mar 17 2024 21:48:26 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/DarwinWrappers.h diff
    src/syncterm/DarwinWrappers.m diff
    Modified Files:

    src/build/Common.gmake diff
    src/syncterm/GNUmakefile diff
    src/syncterm/syncterm.c diff
    Add Objective-C wrappers file for Darwin. The native OS calls are ObjC, and the C/C++ APIs are being deprecated, so we need something along these lines. For now, I'm just moving the path "stuff" in there since that's the bulk of the deprecation warnings in building SyncTERM.

  593. Deucе
    Sun Mar 17 2024 15:17:31 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    src/conio/sdl_con.c diff
    Some more macOS fixes... 1) Use static SDL since it's required by both conio and XPDev 2) Since the SDL thread will always run, any attempt to shut down the SDL thread calls exit(0). Not exactly what we want to return, but at least this makes it not hang waiting for the impossible.

  594. Deucе
    Sun Mar 17 2024 15:48:26 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/sdl_con.c diff
    Fix up exit codes on macOS The issue was that the various semaphores and mutexes weren't being initialized at all when sdl_initconio() wasn't called... so starting the event thread and telling it to stop would access uncreated semaphores and mutexes. Split out the init, and be sure to call it before exiting.

  595. Deucе
    Sun Mar 17 2024 14:30:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Revert last change reaper is explicitly disabled here.

  596. Deucе
    Sun Mar 17 2024 14:29:20 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Call exit() from exit_sdl_con if ciolib_reaper is enabled and SDL is not initialized.

  597. Deucе
    Sun Mar 17 2024 13:21:22 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    YAML Fixups

  598. Deucе
    Sun Mar 17 2024 13:04:01 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    src/conio/Common.gmake diff
    src/xpdev/Common.gmake diff
    Apparently -framework is a link flag, not a compile one

  599. Deucе
    Sun Mar 17 2024 12:50:05 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Disable jsdoor separate target and build in sbbs3 target JSDoor only compiles one file that isn't shared with the sbbs3 target, so there's no need to build them all twice.

  600. Deucе
    Sun Mar 17 2024 12:29:15 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Do not attempt to clean up SDL unless it was initialized. Should fix js test suite on darwin.

  601. Deucе
    Sun Mar 17 2024 04:28:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Argh! Put xpdev libs in the wrong lib!

  602. Deucе
    Sun Mar 17 2024 03:57:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Whoops, missed this bit of the macOS patch

  603. Deucе
    Sun Mar 17 2024 03:22:16 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    We can't use version scripts on Darwin.

  604. Deucе
    Sun Mar 17 2024 02:46:11 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Darwin is not a cross-platform build (though the M1 build would be)

  605. Deucе
    Sun Mar 17 2024 02:15:20 GMT-0700 (PDT)
    Added Files:
    

    3rdp/build/js-darwin-configure.patch diff
    Modified Files:

    .gitlab-ci.yml diff
    3rdp/build/GNUmakefile diff
    src/build/Common.gmake diff
    src/sbbs3/GNUmakefile diff
    src/xpdev/genwrap.h diff
    Fix builds for macOS It builds and appears to run... not actually tested.

  606. Nigel Reed
    Sun Mar 17 2024 02:07:12 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/ircd.ini diff
    ircdcfg would not provide a valid irc.ini file

  607. Rob Swindell
    Sun Mar 17 2024 02:07:13 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/ircd.ini diff
    Merge branch 'fix_template_ircd_ini_for_ircdcfg' into 'master' ircdcfg would not provide a valid irc.ini file See merge request main/sbbs!426

  608. Deucе
    Sun Mar 17 2024 01:34:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Don't use the non-standard third parameter to main for enivronment Use the standard `extern char **environ' instead. Fixes an issue with macOS. Also, check that env is not NULL in js_init.

  609. Deucе
    Sun Mar 17 2024 00:57:14 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    src/build/Common.gmake diff
    All mac hardware that supports 10.9 also supports 10.11 No real purpose to keeping the default min version at 10.9.

  610. Rob Swindell (on Debian Linux)
    Sun Mar 17 2024 00:26:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fixsmb.c diff
    Increment version to fixsmb to v3.20

  611. Rob Swindell (on Debian Linux)
    Sun Mar 17 2024 00:33:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Resolve a couple GCC warnings of impossible conditions

  612. Rob Swindell (on Debian Linux)
    Sun Mar 17 2024 00:34:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/qwk.cpp diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    Replace some sprintf calls with snprintf ... much more still to do, I'm sure.

  613. Deucе
    Sun Mar 17 2024 00:24:59 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/genwrap.h diff
    Add a few more PLATFORM_DESC values

  614. Deucе
    Sun Mar 17 2024 00:00:02 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    We need macOS 10.9 for std::atomic

  615. Deucе
    Sun Mar 17 2024 00:04:52 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Make Windows hack Windows-only We need _CIOLIB_main on macOS... at least until the curses stuff works.

  616. Rob Swindell (on Debian Linux)
    Sat Mar 16 2024 23:03:52 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/slyvote/slyvote.js diff
    Update netattr flag naming to match smbdefs.js Eliminate some never-defined/used flags (copied from smb.html?)

  617. Rob Swindell (on Debian Linux)
    Sat Mar 16 2024 22:12:51 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/smbdefs.js diff
    White-space fix-ups

  618. Rob Swindell (on Debian Linux)
    Sat Mar 16 2024 22:20:43 GMT-0700 (PDT)
    Modified Files:
    

    exec/emailfiles.js diff
    exec/imapservice.js diff
    exec/load/smbdefs.js diff
    exec/msglist.js diff
    exec/notransit.js diff
    Do the SMB msghdr netattr MSG_* -> NETMSG_* conversion dance Sorry Nightfox, this might break your scripts

  619. Rob Swindell (on Debian Linux)
    Sat Mar 16 2024 22:03:32 GMT-0700 (PDT)
    Added Files:
    

    exec/type.js diff
    Modified Files:

    exec/GNUmakefile diff
    Removed Files:

    exec/cntnodes.src diff
    exec/default.src diff
    exec/dir.src diff
    exec/file_io.src diff
    exec/html.src diff
    exec/lbshell.src diff
    exec/menushel.src diff
    exec/noyesbar.src diff
    exec/qnet-ftp.src diff
    exec/socktest.src diff
    exec/type.src diff
    exec/yesnobar.src diff
    Remove old/deprecated Baja mods (replaced with JS or just obsoleted) e.g. stubs for JS command shells, examples of how to do file I/O, socket I/O and such in Baja (which you really shouldn't). Added type.js to replace type.src/bin

  620. Rob Swindell (on Debian Linux)
    Sat Mar 16 2024 20:34:30 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Fix user-to-user download function The JS file_area.user_dir is an object (not documented in jsobjs.html!) and bbs.list_file_info() method expects the directory number (not object) as the first argument. Reported by Jas Hud.

  621. Rob Swindell (on Windows 11)
    Sat Mar 16 2024 20:02:04 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/sbbsecho.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbstr.c diff
    Rename SMB message header 'netattr' bit flags to NETMSG_* This resolves the conflict with MSG_HOLD definition in socket.h on MacOS: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/socket.h And hey... [NET]MSG_HOLD isn't actually used anywhere? What's up with that.

  622. Rob Swindell (on Windows 11)
    Sat Mar 16 2024 20:03:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/pack_qwk.cpp diff
    Add "MSGID" to QWK DOOR.ID file This is a "newer" QWK control message supported by Synchronet (for like 20 years now), so it's been missing from the DOOR.ID file all this time and no one noticed. <shrug>

  623. Rob Swindell (on Windows 11)
    Sat Mar 16 2024 20:09:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Bugfix: actually use the SMB netattr 'HOLD' attribute flag ... when exporting from SMB to .msg ("stored message") file

  624. Deucе
    Sat Mar 16 2024 19:23:14 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Add missing endif

  625. Deucе
    Sat Mar 16 2024 19:15:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Use Homebrew libarchive

  626. Rob Swindell (on Debian Linux)
    Sat Mar 16 2024 18:50:57 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/core.js diff
    IPs listed in dnsbl_exmempt.cfg are exempt from RBL lookups

  627. Deucе
    Sat Mar 16 2024 18:43:22 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    src/conio/Common.gmake diff
    src/xpdev/Common.gmake diff
    Fix xpdev and conio builds, disable JS for macOS for now

  628. Deucе
    Sat Mar 16 2024 17:43:13 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add macOS runner

  629. Rob Swindell (on ChromeOS)
    Sat Mar 16 2024 15:43:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsub.c diff
    Don't copy/use the Access Requirements of the template sub for newly-added subs We don't clone the Access Requirements from the template sub-board when clonig (intentionally), similarly we shouldn't copy the Access Requirements of the template sub-board when creating/adding/importing new sub-boards either. This should fix issue #736 even though the title and description of the issue is misleading.

  630. Deucе
    Thu Mar 14 2024 16:35:00 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Don't double-space between file locations. Don't want to have to scroll here.

  631. Deucе
    Thu Mar 14 2024 16:19:27 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Fix random upper-case Letter.

  632. Deucе
    Thu Mar 14 2024 16:16:07 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Add upgrade check and "help" text. It basically says "You should move files from where they are to where they should be".

  633. Deucе
    Thu Mar 14 2024 11:32:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    Make uedit somewhat friendlier to screen readers. Support -iD Use a , instead of CP437 verticla bar as separator. Also fixes bug with active user list.

  634. Deucе
    Thu Mar 14 2024 10:50:39 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Fix windows build

  635. Deucе
    Thu Mar 14 2024 10:46:38 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Move list into .config on *nix Per https://wiki.debian.org/XDGBaseDirectorySpecification, CONFIG should be fairly small files that you would want to maintain in a VCS... the list makes sense here.

  636. Deucе
    Thu Mar 14 2024 10:24:26 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Remove unused variable.

  637. Deucе
    Thu Mar 14 2024 10:24:47 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Show SSH keys file path as well.

  638. Deucе
    Thu Mar 14 2024 10:25:03 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Use XDG paths, clean up code Instead of ~/.syncterm, use paths as specified in the XDG Base Directory Specification https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html This should really have something that notifies a user everything moved and instructs them on where each thing should be placed to keep data from older versions.

  639. Rob Swindell (on Debian Linux)
    Wed Mar 13 2024 23:02:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Display command shell name along with internal code for new user values Also make it more clear in the online help that some of the new user values are also applied to Guest (G-restricted) account logons.

  640. Eric Oulashin
    Wed Mar 13 2024 20:52:29 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/version_history.txt diff
    DDFileAreaChooser: Fix for the directory item counts

  641. Rob Swindell
    Wed Mar 13 2024 22:40:46 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/version_history.txt diff
    Merge branch 'dd_file_area_chooser_item_count_fix' into 'master' DDFileAreaChooser: Fix for the directory item counts See merge request main/sbbs!425

  642. Eric Oulashin
    Tue Mar 12 2024 15:04:11 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    DDFileLister: List header line refresh fix - Right border characters were shifted left 1 char (noticeable when the batch add success dialog closed)

  643. Rob Swindell
    Tue Mar 12 2024 15:04:11 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'dd_file_lister_hdr_line_refresh_fix' into 'master' DDFileLister: List header line refresh fix - Right border characters were shifted left 1 char (noticeable when the batch add success dialog closed) See merge request main/sbbs!424

  644. Deucе
    Tue Mar 12 2024 14:33:48 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Disable LTO for now... it appears LTO is more strict with object ordering.

  645. Deucе
    Tue Mar 12 2024 14:12:07 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Enable LTO unless NO_LTO is defined... We may want to set NO_LTO for the pipeline...

  646. Rob Swindell (on Debian Linux)
    Tue Mar 12 2024 14:00:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fixsmb.c diff
    Don't hash messages with invalid message numbers It's better to have deleted messages without a hash than to hash invalid message numbers. This can be used to address a (renumbered?) message base that Kirkman shared with me with "Invalid Message number" chksmb warnings from hash entries with message numbers > than the base's last_msg.

  647. Deucе
    Tue Mar 12 2024 13:10:00 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Remove non-ASCII char comments. These were originally non-ASCII char literals.

  648. Eric Oulashin
    Tue Mar 12 2024 09:55:29 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    substrWithAttrCodes() fix (string was too long by 1 char; in dd_lightbar_menu.js); a couple of small corresponding updates in ddfilelister.js

  649. Rob Swindell
    Tue Mar 12 2024 11:55:29 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_lightbar_menu_substrWithAttr_1_too_long_and_ddfilelister_fix' into 'master' substrWithAttrCodes() fix (string was too long by 1 char; in dd_lightbar_menu.js); a couple of small corresponding updates in ddfilelister.js See merge request main/sbbs!423

  650. Rob Swindell (on Debian Linux)
    Mon Mar 11 2024 22:10:30 GMT-0700 (PDT)
    Added Files:
    

    ctrl/text.fr.ini diff
    New French (I'm sure badly translated) language file, a beginning I hope

  651. Rob Swindell (on Debian Linux)
    Mon Mar 11 2024 22:10:30 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.de.ini diff
    ctrl/text.es.ini diff
    Add FREE translation (6 chars or fewer is desired) So KOSTEN means "cost" in German, sort of the opposite of FREE. Maybe "!KOST" would get the point across?

  652. Rob Swindell (on Windows 11)
    Mon Mar 11 2024 22:07:19 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/sbbs.ini diff
    Remove obsolete MUTE options

  653. Rob Swindell (on Windows 11)
    Mon Mar 11 2024 22:08:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Actually use the new FREE text.dat string in file listings

  654. Rob Swindell (on Windows 11)
    Mon Mar 11 2024 19:39:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsexec.c diff
    Statically initialize uart to COM1 details, don't rely on VDDInitialize call Older versions of Windows don't (always?) call VDDInitialize(), so we need to statically initialize the uart struct. This should address the problem reported by Fzf (FQBBS) via DOVE-Net: ... When using the included SBBSEXEC.DLL, the UART emulation defaults to base address 0x000 and interrupt 0x0. The lockups do not occur when this is left as-is but none of the UART emulation does anything. Setting a ComPort in a [UART] section of SVDM.INI or SBBSEXEC.INI does change the I/O address and IRQ to an expected value. But this isn't necessary. The mere existence of one of those two INI files, even if empty, sets the UART to the expected default of 0x3F8/IRQ4. The debug entry is always as follows when left without any INI file: [180] SBBS: Virtualizing UART (0x0, IRQ 0) This bug appears to be caused by commit 3ba5aa8d7a663 (1 year ago), where uart was no longer statically-initialzed and relied on VDDInitialize() to be called to copy default_uart to the uart struct.

  655. Rob Swindell (on Debian Linux)
    Mon Mar 11 2024 18:18:31 GMT-0700 (PDT)
    Removed Files:
    

    install/checkout.bat diff
    This file isn't used/useful (no CVS repo anymore, per Nelgin's wishes)

  656. Rob Swindell (on Debian Linux)
    Mon Mar 11 2024 18:19:41 GMT-0700 (PDT)
    Removed Files:
    

    exec/classic_shell.js diff
    This file has been replaced by default.js and lib_shell.js And is now a good example of how to write a Synchronet command shell in JS, though classic_shell.js served its purpose.

  657. Rob Swindell (on Debian Linux)
    Mon Mar 11 2024 18:23:06 GMT-0700 (PDT)
    Removed Files:
    

    install/sbbs_src.exclude diff
    install/sbbs_src.lst diff
    install/tarlibs.sh diff
    install/tarsrc.sh diff
    Cruft removal Not sure when the last time these files were used, but it couldn't have been recent.

  658. Rob Swindell (on Debian Linux)
    Mon Mar 11 2024 14:06:28 GMT-0700 (PDT)
    Modified Files:
    

    exec/user_settings.js diff
    Don't allow terminal columns and rows to be set to -1 Range check return value of console.getnum(), as is done in useredit.cpp. The user hitting ^C at eithe of the terminal columns or rows prompts would set that value -1.

  659. Rob Swindell (on Debian Linux)
    Sun Mar 10 2024 16:48:36 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    New/changed file-related text strings (see previous commit/merge)

  660. Rob Swindell (on Windows 11)
    Sun Mar 10 2024 14:52:22 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbdefs.h diff
    src/xpdev/gen_defs.h diff
    Eliminate old macro-wrappers for malloc/free/realloc Artifacts from the 16-bit DOS days where we needed the large or huge "memory model" to allocate > 64KB of memory.

  661. Rob Swindell (on Windows 11)
    Sun Mar 10 2024 14:52:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Removing files via batch flag prompt, don't try to remove cdt for free files

  662. Rob Swindell (on Windows 11)
    Sun Mar 10 2024 14:52:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    More details from text.dat strings when removing files or credits Don't display "FREE" in file listings for 0 byte files. When removefcdt() is called for an unknown file uploader, use the new UnknownUploader text.dat string to display the username and filename. When prompting to remove credits, include the username from which to remove the credits. These usability improvements came from watching Deuce struggle to remove malicious uploaded-files and credits from (presumably Guest) user. I should watch sysops manage their BBSes more often.

  663. Rob Swindell (on Windows 11)
    Sun Mar 10 2024 14:52:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Update help text for loadable modules

  664. Rob Swindell (on Windows 11)
    Sun Mar 10 2024 14:52:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsrvr.c diff
    Update "SendMail Support" menu option and help title

  665. Deucе
    Fri Mar 08 2024 21:38:17 GMT-0800 (PST)
    Modified Files:
    

    exec/lbshell.js diff
    Fix longstanding TODO to get files in a directory. This is likely also broken classic_shell.js, but nobody should ever open that file anymore.

  666. Eric Oulashin
    Fri Mar 08 2024 20:35:01 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: Description search as loadable module now works. Added mention of Ctrl-C to the help screen.

  667. Rob Swindell
    Fri Mar 08 2024 20:51:20 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_loadable_module_desc_search_and_ctrl_c_help_screen' into 'master' DDFileLister: Description search as loadable module now works. Added mention of Ctrl-C to the help screen. See merge request main/sbbs!422

  668. Deucе
    Fri Mar 08 2024 20:23:40 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    This will be at least 1.2 Also, it's SyncTERM Cyan, not Syncterm.

  669. Deucе
    Fri Mar 08 2024 09:36:51 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Move sftp_state setting outside of the ssh mutexes. Doesn't hurt anything where they were, but Coverity kinda reverse suggested it.

  670. Deucе
    Thu Mar 07 2024 21:19:03 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    src/syncterm/bbslist.c diff
    Some menu/help cleanup More documentation of stuff.

  671. Eric Oulashin
    Thu Mar 07 2024 20:51:56 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    DDLightbarMenu: Fix in DrawPartial() for an edge case where it was missing the last character of the menu/menu items in some cases

  672. Rob Swindell
    Thu Mar 07 2024 20:51:56 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_DrawPartial_right_edge_fix' into 'master' DDLightbarMenu: Fix in DrawPartial() for an edge case where it was missing the last character of the menu/menu items in some cases See merge request main/sbbs!421

  673. Deucе
    Thu Mar 07 2024 20:19:16 GMT-0800 (PST)
    Modified Files:
    

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

  674. Deucе
    Thu Mar 07 2024 19:39:55 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Default SFTP Public Key to false. It causes connections to Mystic BBSs to fail, and assumes the server is running OpenSSH (or Synchronet, which is purposefully compatible with OpenSSH). I love the feature, but it's not good enough for on-by-default. After 1.2 is released, and I do a proper sftp client, I'll likely remove the option anyway, and just have a way to upload it on demand.

  675. Deucе
    Thu Mar 07 2024 13:57:28 GMT-0800 (PST)
    Modified Files:
    

    src/sftp/sftp_server.c diff
    Fix warning in mingw32 builds about vasprintf()

  676. Deucе
    Thu Mar 07 2024 13:47:05 GMT-0800 (PST)
    Modified Files:
    

    src/sftp/sftp.h diff
    src/sftp/sftp_client.c diff
    src/syncterm/ssh.c diff
    Split SFTP client cleanup into to functions. sftp_finish() which ends the communication, disables further commands, and can explicitly be called more than once, and sftp_end() which frees the state. This prevents a race around sftp_finish() calls and sftpc_*() calls which is likely responsibe for various weirdness in SSH connections, and should fix ticket 135.

  677. Deucе
    Thu Mar 07 2024 12:10:46 GMT-0800 (PST)
    Modified Files:
    

    src/sftp/sftp.h diff
    src/sftp/sftp_client.c diff
    src/syncterm/ssh.c diff
    Add sftpc_get_err() function and make the sftp client struct hidden This eliminates the hack of using ssh_mutex to protect members of sftp_state (which has its own mutex). This doesn't fix the problem of sftp_state itself though.

  678. Deucе
    Thu Mar 07 2024 11:44:48 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Fix LOR ion error path.

  679. Deucе
    Thu Mar 07 2024 11:44:48 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Fix double-unlock and add code for impoosible situation

  680. Rob Swindell (on Debian Linux)
    Thu Mar 07 2024 00:03:53 GMT-0800 (PST)
    Modified Files:
    

    src/build/gitinfo.bat diff
    src/sbbs3/targets.mk diff
    Zero-pad (instead of space-pad) the day of month in GIT_DATE This is not consistent with __DATE__ macro expansion, but I like it better Heck, now that we're not really logging the build date much of anywhere, we could go with any other more sensible date format here.

  681. Rob Swindell (on Debian Linux)
    Thu Mar 07 2024 00:05:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/msg_id.c diff
    Include just date in the program-ID (as before) the switch for build->Git date

  682. Rob Swindell (on Debian Linux)
    Thu Mar 07 2024 00:06:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ver.cpp diff
    Restore the additional space before the SMBLIB version

  683. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 23:50:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/targets.mk diff
    Don't use echo to create git_hash.h, collapses multiple spaces Wasn't sufficiently quoting, but we don't need to use echo in the first place Will reconsider using %e instead of %d later

  684. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 22:12:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    New @-code: GIT_DATE

  685. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 22:54:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsexec.c diff
    src/sbbs3/services.c diff
    src/sbbs3/sexyz.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/ver.cpp diff
    src/sbbs3/websrvr.c diff
    Report/log the Git commit date/time, not the build date/time The Git commit date/time is more useful information.

  686. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 22:06:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Add system.git_date proprety (string)

  687. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 18:30:25 GMT-0800 (PST)
    Modified Files:
    

    src/build/gitinfo.bat diff
    Use double-quotes for Windows cmd.exe compatibilty

  688. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 18:25:43 GMT-0800 (PST)
    Modified Files:
    

    src/build/gitinfo.bat diff
    We need to double-up the percents in batch lingo

  689. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 17:35:19 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/GNUmakefile diff
    Kind of sort of fix xptime build (needs math lib now) There's some GNU make sorcery still needed here to address build errors (though it does generate a working executable): /usr/bin/ld: cannot find gcc.linux.x64.obj.debug: file format not recognized /usr/bin/ld: cannot find gcc.linux.x64.lib.debug: file format not recognized /usr/bin/ld: cannot find gcc.linux.x64.exe.debug: file format not recognized

  690. Rob Swindell (on Debian Linux)
    Wed Mar 06 2024 18:12:44 GMT-0800 (PST)
    Modified Files:
    

    src/build/gitinfo.bat diff
    src/sbbs3/targets.mk diff
    src/sbbs3/ver.cpp diff
    src/sbbs3/ver.h diff
    Define GIT_DATE in git_hash.h and git_date in ver.cpp Display the date of last git commit used in this bulid as part of git branch and hash information. This helps to inform how up-to/out-of date the current running build is, regardless of the build date/time.

  691. Deucе
    Wed Mar 06 2024 10:07:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sftp.cpp diff
    Remove (now) unused variable.

  692. Eric Oulashin
    Tue Mar 05 2024 18:33:55 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    DDFileLister: Removed unnecessary comments & stuff

  693. Rob Swindell
    Tue Mar 05 2024 20:17:00 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'dd_file_lister_remove_unnecessary_comments_and_stuff' into 'master' DDFileLister: Removed unnecessary comments & stuff See merge request main/sbbs!420

  694. Rob Swindell (on Debian Linux)
    Tue Mar 05 2024 15:33:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    Fix warning about impossible condition.

  695. Rob Swindell (on Debian Linux)
    Tue Mar 05 2024 15:34:04 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_uifc.c diff
    Make uifc.input.CTX and uifc.showbuf.CTX constructors match assumptions/docs This one has caught me up before, for the CTX constructors didn't actually accept any initial property values (as arguments). mlong even documented it this way at https://wiki.synchro.net/ref:uifc#javascript_interface And construted his input.CTXs this way (using all 0 values, which were ignored) in his xtrnmenucfg.js

  696. Deucе
    Tue Mar 05 2024 11:58:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sftp.cpp diff
    Don't return an error when reading /.. POSIX requires a .. directory in the root of a filesystem, and some SFTP clients (at least Filezilla and WinSCP) assume it's there even if the remote doesn't list it. Per POSIX, /. and /.. are the same directory.

  697. Deucе
    Tue Mar 05 2024 11:45:44 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/conio/win32gdi.c diff
    src/conio/x_events.c diff
    Fix for SourceForge issue 134 Translation from mouse coordinates to screen coordinates had issues with internal vs. external scaling and for when there are gutters (ie: black bars) on the edges. This change snaps all gutter clicks to the nearest position inside the window instead of discarding them, and ensures the calculations are correct regardless of scaling mode. Win32GDI mode was not tested, the only change there was to stop ignoring mouse positions in the gutters.

AuthorCommitsLatest
mcmlxxix5Sat Oct 05 2024 13:24:44 GMT-0700 (PDT)
Deucе235Thu Oct 03 2024 14:18:19 GMT-0700 (PDT)
Rob Swindell407Sat Sep 28 2024 18:00:41 GMT-0700 (PDT)
Eric Oulashin31Tue Sep 17 2024 13:08:49 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 Reed5Mon Aug 05 2024 18:26:48 GMT-0700 (PDT)

For older commits (in CVS), click here

Dynamically generated in 388 milliseconds