Synchronet Git Commit Log

This is a log of the 500 most recent pushes to the master branch of the Synchronet Git repository.
If you want to view more pushes/commits, you can by passing ?<number> in URL.
  1. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 23:16:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/services.c diff
    src/sbbs3/services.h diff
    Add per-service option: NO_USER_PROT If enabled, this option prevents logins to this service from changing the protocol (aka modem) field for a user logging-in. This is a work around for Deon who has some message areas set to require "PROT NOT IMAP" for access requirements and when his IMAP client connects and logs-in, that changes the protocol field in his user account (to "IMAP") which means that user account cannot see/read those message areas (until the protocol field is changed by another login to another server/service) and thus won't receive echomail notifications for message received for them in those areas.

  2. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 22:53:27 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/rtypes.js diff
    Fix wrong quote usage

  3. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 22:48:35 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/rtypes.js diff
    src/sbbs3/js_global.c diff
    Return null from resolve_ip('') and resolve_host('') even on Windows Defeat the Windows getaddrinfo feature: If the pNodeName parameter contains an empty string, all registered addresses on the local computer are returned.

  4. Rob Swindell (on Windows 11)
    Mon Jan 20 2025 22:25:03 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/rtypes.js diff
    resovle_ip('') returns a local IP address on Windows at least for me, "fe80::5dfc:b29c:85d6:8de7%21"

  5. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 22:06:00 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Try running the jsexec-testsuite with the MSVC Win32 build

  6. Rob Swindell (on Windows 11)
    Mon Jan 20 2025 21:56:39 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/rtypes.js diff
    resolve_host("") actually returns a string on Windows at least, "vert.search.charter.net" in my case

  7. Deucе
    Mon Jan 20 2025 21:45:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Add constants to the Socket class. This is just the ones mentioned in the jsdocs. I'll add more if/when I want them. :D

  8. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 21:40:13 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add a smoke test for msvc/win32 build of jsexec

  9. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 21:13:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_user.c diff
    Add User.security.deletion_date property corresponding wth new user DELDATE field

  10. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 20:44:56 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/text_defaults.c diff
    Add parameter to DeletedUser string (deletion or last activity date)

  11. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 20:44:56 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/system/except.js diff
    system.secondstr() does require an argumnet

  12. Rob Swindell (on Windows 11)
    Mon Jan 20 2025 20:35:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Make JS global alert() and deny() methods inline with jsexec versions alert() doesn't throw exception on null/undefined, just no arg deny() throws exception on no args or null/undefined arg

  13. Rob Swindell (on Windows 11)
    Mon Jan 20 2025 20:20:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    system zonestr(), timestr(), and datestr() methods don't require an argumnet So don't check for null/undefined argv[0] if not passed one

  14. Deucе
    Mon Jan 20 2025 20:16:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_internal.c diff
    Don't call JS_GC() after js.exec() until new background threads exit Hopefully this will fix the occasional crash in the testsuites (and presumably, occasional crash in other things that use background threads with js.exec(), if there are any). Except this time, in the right place.

  15. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 20:11:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Revert "Don't call JS_GC() after js.exec() until new background threads exit" This reverts commit ed8c30dabfca6158b3e9207a9f36f4fde0dd5f3a.

  16. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 20:11:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Revert "Fix MSVC link error" This reverts commit 7eb498aa080dc3bcd8162ff8c2b7e9a9448d4372.

  17. Rob Swindell (on Windows 11)
    Mon Jan 20 2025 19:54:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    src/sbbs3/userdat.c diff
    Resolve MSVC warnings

  18. Rob Swindell (on Windows 11)
    Mon Jan 20 2025 19:53:57 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Fix MSVC link error

  19. Deucе
    Mon Jan 20 2025 19:41:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Don't call JS_GC() after js.exec() until new background threads exit Hopefully this will fix the occasional crash in the testsuites (and presumably, occasional crash in other things that use background threads with js.exec(), if there are any).

  20. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 18:26:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Update online help to describe deldays options accounting for DELDATE User records (aka slots) will be preserved this many days since the user was deleted (if the DELDATE field is non-zero) otherwise, days since last user activity.

  21. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 17:44:52 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/userfields.h diff
    New userdat API functions for deleting and un-deleting user records The initial purpose is to support new user field: DELDATE (user record deletion date) - this allow user record retention for a period after deletion rather than after period after last user activity. The Win32 usereditor needs updating to use this function too.

  22. Deucе
    Mon Jan 20 2025 16:20:54 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    retbuf paranoia Reported in unmonitor, which always passes NULL.

  23. Deucе
    Mon Jan 20 2025 14:46:24 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/rwlockwrap.h diff
    src/xpdev/threadwrap.h diff
    Conditionally #include assert.h if we're going to define macros using it

  24. Deucе
    Mon Jan 20 2025 14:40:02 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/mouse.c diff
    src/conio/sdl_con.c diff
    src/conio/win32gdi.c diff
    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/syncterm/conn.c diff
    src/syncterm/conn_conpty.c diff
    src/syncterm/conn_pty.c diff
    src/syncterm/modem.c diff
    src/syncterm/ripper.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    src/syncterm/term.c diff
    src/xpdev/rwlockwrap.h diff
    src/xpdev/threadwrap.h diff
    src/xpdev/xpbeep.c diff
    src/xpdev/xpevent.c diff
    src/xpdev/xpsem.c diff
    Replace the multiple custom assert wrappers with a single set Previously, different files had different sets of wrappers around pthread_mutex_* and rwlock_* functions. This commit removes those and puts assert_ prefixed ones in threadwrap.h and rwlockwrap.h. It also uses them in all the bits that SyncTERM uses. This means debug builds are much more likely to unexpectedly terminate with an assertion... when it does, let us know!

  25. Deucе
    Mon Jan 20 2025 14:02:21 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    Add missing re-lock in xptone_open_locked() While we're here, add debug assertions to the pthread stuff.

  26. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 13:07:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Better parameter validation in bbs methods More method will now throw exception if called without args: bbs.check_filename(), bbs.logkey(), bbs.export_filelist() bbs.check_syspass() will prompt for system password if passed null or undefined value. Fix (and document) the optional channel argument to bbs.multinode_chat()

  27. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 13:07:03 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Fix bbs.compare_ars() called with no params Throws an exception now instead of using uninitialized args: ;eval Parameter(s): bbs.compare_ars() InternalError: allocation size overflow Updated JSDOCS for methods (mostly just adding punctuation). Fixed a typo or two.

  28. Deucе
    Mon Jan 20 2025 12:01:02 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/suppressions.vg diff
    Actually, it turns out I just can't copy/paste correctly.

  29. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 12:00:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_user.c diff
    A little JSDOC updated text and beautification

  30. Deucе
    Mon Jan 20 2025 11:57:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/suppressions.vg diff
    Hrm, maybe the vg replace one doesn't count...

  31. Deucе
    Mon Jan 20 2025 11:54:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/suppressions.vg diff
    Expand pulseaudio suppression, add suppression for Linux

  32. Deucе
    Mon Jan 20 2025 11:48:28 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    src/sbbs3/suppressions.vg diff
    Add some leak suppressions and enable leak checks in valgrind. Likely will fail for Linux if we need some OS-specific suppressions like we do for FreeBSD.

  33. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 11:34:34 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/user/except.js diff
    exec/tests/user/rtypes.js diff
    src/sbbs3/js_user.c diff
    Scripts assume that calling user.compare_ars(undefined) will not throw ... an exception (e.g. chat_sec.js), so return false instead. This fixes issue #864 Thank you Accession and Nelgin for the report

  34. Deucе
    Mon Jan 20 2025 11:13:38 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Flip the valgrind switch... Now that valgrind is working, remove the verbose flag, and have it return 1 if any errors occur.

  35. Deucе
    Mon Jan 20 2025 11:10:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/suppressions.vg diff
    FreeBSD optimizes GCUntilDone() out... suppress on js_GC as well

  36. Deucе
    Mon Jan 20 2025 11:02:53 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/suppressions.vg diff
    Modified Files:

    .gitlab-ci-unix.yml diff
    .gitlab-ci.yml diff
    Add a test that runs valgrind on jsexec We need some JS_GC() suppressions though.

  37. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 03:00:23 GMT-0800 (PST)
    Modified Files:
    

    exec/delfiles.js diff
    Ajust the log levels and details of log messages make the output less 'chatty'

  38. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 00:34:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/execfunc.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/useredit.cpp diff
    Rename sbbs_t::maindflts to ::user_config

  39. Rob Swindell (on Debian Linux)
    Mon Jan 20 2025 00:34:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    Elminate meaningless typecast

  40. Deucе
    Sun Jan 19 2025 23:08:11 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-size-doesnt-mean-copied.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    Add a patch to avoid using uninitialized data as random source sysctl() doesn't guarantee to copy data when the destination buffer isn't large enough. Makes Valgrind a lot easier to use on BSD systems by remove at tonne of violations.

  41. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 22:58:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    More log messages around notifying users of imported echomail, for Deon Log levels ERROR, NOTICE, and DEBUG

  42. Deucе
    Sun Jan 19 2025 22:45:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Zero-length string is not a valid real name.

  43. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 21:43:22 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/system/except.js diff
    system.findstr and matchuserdata no longer throw exceptions for undef 2nd arg these functions just return the 'not found' equivalent return type when passed null or undefined for the search string.

  44. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 21:39:13 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/system/rtypes.js diff
    Remove the debug output that helped identify which rtype function failed

  45. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 21:38:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    More argument validation fixups for system.matchuserdata()

  46. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 21:17:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Fix system.matchuserdata() bug caught by tests/system/rtypes.js on rpi4 Argument count wasn't checked before checking/parsing each optional argument. Also noticed/ that the 'match_del' parameter added in commit e61eb77b91fe didn't advance the argument index, fixed that issue.

  47. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 20:57:15 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/system/rtypes.js diff
    That didn't work, so try using stdout unconditionally Just trying to get the output into the gitlab test failure output

  48. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 20:51:16 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/system/rtypes.js diff
    Enable some debug output to find which funcion is failing on rPi4 raspian-armhf-on-aarch64

  49. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 20:34:05 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/system/rtypes.js diff
    Remove get_node() rtype test, requires an sbbs installation (node.dab)

  50. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 20:34:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Fix typo in exception message about getnodedat() failure

  51. Deucе
    Sun Jan 19 2025 20:30:38 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Initialize off, then add an assert to suppress warning.

  52. Deucе
    Sun Jan 19 2025 20:30:38 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Formatting

  53. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 20:27:31 GMT-0800 (PST)
    Added Files:
    

    exec/tests/system/except.js diff
    exec/tests/system/rtypes.js diff
    exec/tests/system/skipif diff
    Modified Files:

    src/sbbs3/js_system.c diff
    More parameter validation for JS 'system' methods And corresponding tests

  54. Deucе
    Sun Jan 19 2025 20:23:48 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Remove debug code It looks like the ChromeOS WM is resizeing the window. :(

  55. Deucе
    Sun Jan 19 2025 18:10:24 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Document Prestel fixes

  56. Deucе
    Sun Jan 19 2025 17:52:34 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Add some debug logging Maybe we can figure out what the Chromebook is doing...

  57. Deucе
    Sun Jan 19 2025 17:16:47 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Recalculate scaling when resize_window() is called in fullscreen mode.

  58. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 16:41:10 GMT-0800 (PST)
    Modified Files:
    

    ctrl/xtrn.ini diff
    Add delfiles (filebase maintenance) as a default timed event This is how the max files/age of files in directories is enforced.

  59. Deucе
    Sun Jan 19 2025 16:10:37 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    More rpath hackery... If SBBSDIR is set, add $(SBBSDIR)/exec to rpath. Always add the original output directory to rpath. I'm not sure what the old LD_RUN_PATH stuff was trying to do, but I think these are the bits that make it work.

  60. Deucе
    Sun Jan 19 2025 15:49:28 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Reset screena *and* screenb, not jsut screena and screena

  61. Deucе
    Sun Jan 19 2025 15:45:15 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    When reallocating screen rects, reset the toprow. Fixes error where toprow may end up past the bottom of the screen when the screen size decreases.

  62. Deucе
    Sun Jan 19 2025 14:08:37 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix Prestel double-height bottom clearing issue Any change to any double-height bit anywhere on the screen can potentially change the display of every character after it on the screen. If the bit changes, force a full redraw from vmem (Luckily there's no graphics in Prestel mode). Fixes ticket 181 Ugh.

  63. Deucе
    Sun Jan 19 2025 13:55:44 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix Prestel regression on double-height text. Visible in the double height graphics and engineering test pages.

  64. Deucе
    Sun Jan 19 2025 11:57:08 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/ciolib.h diff
    Fix Prestel reveal toggle With the performance enhancements, ciolib didn't realize reveal chars needed to be redrawn when reveal was toggled. Use a FG colour bit to indicate if it needs to be, and hack it up in same_cell()

  65. Deucе
    Sun Jan 19 2025 11:45:22 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Remove obsolete comment

  66. Deucе
    Sun Jan 19 2025 10:10:35 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Work around what appears to be an integer promotion issue On an aarch64 Chromebook running gcc 12.2.0, these would wrap in weird ways causing vector fonts to be positioned incorrectly. It managed to say that (25 - -7) * 4 / 3 == -168 This casting dance appears to resolve the issue.

  67. Deucе
    Sun Jan 19 2025 08:44:07 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Indicate not running before posting sem Memory is free()ed after sem is posted, so this write goes into lalaland.

  68. Deucе
    Sun Jan 19 2025 08:38:20 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Initialize the *new* memory, not the old stuff. Fixes various memory corruptions with RIP

  69. Rob Swindell (on Debian Linux)
    Sun Jan 19 2025 02:54:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Log messages when (attempting) to notify mail recipients (via short messages) ERROR-level messages with error number, upon failure and debug-level message upon success. To hopefully help Deon get to the bottom of his SBBSecho echomail notification issue.

  70. Deucе
    Sat Jan 18 2025 22:06:32 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Avoid unlocking screenlock to draw vmem.

  71. Deucе
    Sat Jan 18 2025 20:42:46 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Link the SyncTERM resources to the .com, .exe, and .dll Everyone gets an icon!

  72. Deucе
    Sat Jan 18 2025 20:27:16 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Properly handle 91-column EGA mode. There's six pixels at the bottom that aren't part of text, and three pixels on the right. Don't touch the vmem when those pixels are updated... vmem can't update them. Should fix assertion in Abdul's Armor in RIP mode reported by DigitalMan on IRC.

  73. Rob Swindell (on Debian Linux)
    Sat Jan 18 2025 19:41:49 GMT-0800 (PST)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.js diff
    Store all wins received via msgbase (e.g. SYNCDATA) to netwins.jsonl This should speed up loading the winnners list (e.g. when the syncdata msgbase has a lot of messages) and scores won't be lost if the msgbase is purged. Issue reported by Deuce (nix.synchro.net). Bump version to 3.10.

  74. Deucе
    Sat Jan 18 2025 18:45:42 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/Info.plist diff
    src/syncterm/Manual.txt diff
    src/syncterm/PackageInfo.in diff
    src/syncterm/dpkg-control.in diff
    src/syncterm/haiku.rdef diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    Actually, I have no plans for new features soon... call this 1.5b

  75. Deucе
    Sat Jan 18 2025 18:33:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbscon.c diff
    Fix JSDOCS WITH_SDL build. Apparently, whatever was making this not link before has been fixed, and so this workaround was breaking it.

  76. Deucе
    Sat Jan 18 2025 18:02:28 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Document the fixes since 1.4

  77. Rob Swindell (on Debian Linux)
    Sat Jan 18 2025 17:28:50 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/rtypes.js diff
    Whoops, null is an object

  78. Deucе
    Sat Jan 18 2025 17:19:38 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/rtypes.js diff
    Fix type, and take a swing at not jsdoor compatibility.

  79. Rob Swindell (on Debian Linux)
    Sat Jan 18 2025 17:00:40 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/except.js diff
    exec/tests/global/rtypes.js diff
    src/sbbs3/js_global.c diff
    Throw fewer exceptions when passed null or undefined as parameters Some scripts (e.g. addfiles.js) depend on the previous (undocumented) behavior for some methods, e.g. lfexpand(undefined) would return undefined. So for global functions that are expected to return a modified version of the value passed (usually a string), return null or undefined when passed null or undefined. Backward compatibility is more important than consistency in this case. :-(

  80. Deucе
    Sat Jan 18 2025 16:29:18 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Now that vstat.vmem has more stuff, ripper needs to hack up more. Fixes assertion/crash in 91-column mode (used in LORD intro screens)

  81. Deucе
    Sat Jan 18 2025 16:13:22 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix scolling in modes that have extra rows EGA 80x43 has an extra six pixels at the bottom that are not part of the text area. When scrolling the botmap buffer, be sure to not update this area. Also, fix some screen invalidation bits when setting pixels. This should fix ticket 180.

  82. Rob Swindell (on Windows 11)
    Sat Jan 18 2025 15:33:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Fix misalignment (by uncrustify?)

  83. Deucе
    Sat Jan 18 2025 15:13:40 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix major performance regression in RIP rendering A high number of RIP commands use setpixel(), and it was updated to scan the whole vmem for changes on each call. Now we just extract the part that is relevant and only update the one cell if needed. This also adds parameter validation to bitmap_setpixel() which can prevent some memory corruption and crashes.

  84. Deucе
    Sat Jan 18 2025 15:13:40 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Fix race condition in starting/stopping playnote thread

  85. Rob Swindell (on Windows 11)
    Sat Jan 18 2025 14:59:28 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Check/read the passed module path/name section in jsexec.ini first ... before the more ambiguous base filename check. e.g. if you run 'jsexec /path/to/test.js' and get separate set of settings from running 'jsexec test.js' depending on which sections you have added to your jsexec.ini file.

  86. Rob Swindell (on Debian Linux)
    Sat Jan 18 2025 14:17:14 GMT-0800 (PST)
    Added Files:
    

    exec/tests/user/except.js diff
    exec/tests/user/rtypes.js diff
    Modified Files:

    src/sbbs3/js_user.c diff
    More JS 'user' class method parameter validation And tests to insure the expected behavior

  87. Deucе
    Sat Jan 18 2025 13:08:06 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Do the lock assertion thing in ripper.c too.

  88. Deucе
    Sat Jan 18 2025 10:36:21 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/GNUmakefile diff
    Don't link with libraries we run-time link :(

  89. Deucе
    Sat Jan 18 2025 10:29:13 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Add WITHOUT_JPEG_XL build option For those who want to force JPEG XL off, and don't use CMake

  90. Deucе
    Sat Jan 18 2025 10:01:45 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/Info.plist diff
    src/syncterm/Manual.txt diff
    src/syncterm/PackageInfo.in diff
    src/syncterm/dpkg-control.in diff
    src/syncterm/haiku.rdef diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    And this is now 1.5a

  91. Deucе
    Sat Jan 18 2025 09:43:20 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/CMakeLists.txt diff
    src/syncterm/Info.plist diff
    src/syncterm/Manual.txt diff
    src/syncterm/PackageInfo.in diff
    src/syncterm/dpkg-control.in diff
    src/syncterm/haiku.rdef diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    Update to 1.4

  92. Deucе
    Sat Jan 18 2025 09:11:17 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/sound.js diff
    Fix test for modified path

  93. Deucе
    Sat Jan 18 2025 08:40:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    MethodJIT crashes on OpenBSD Disable it in jsdoor

  94. Deucе
    Sat Jan 18 2025 08:03:10 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/nettype.js diff
    Fix error in detecting jsdoor.

  95. Deucе
    Sat Jan 18 2025 07:59:57 GMT-0800 (PST)
    Added Files:
    

    exec/tests/user/skipif diff
    Modified Files:

    .gitlab-ci-unix.yml diff
    Add skipif for user. Also, give test suites different names.

  96. Deucе
    Sat Jan 18 2025 07:57:59 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Run tests in both jsdoor and jsexec

  97. Deucе
    Sat Jan 18 2025 07:55:41 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/nettype.js diff
    Don't run test in jsdoor

  98. Deucе
    Sat Jan 18 2025 07:54:59 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/format.js diff
    exec/tests/user/birthdate.js diff
    Don't use const The behaviour is unreliable in Spidermonkey 1.8.5, and the behaviour will change based on JS options.

  99. Deucе
    Sat Jan 18 2025 07:53:55 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/test.js diff
    Add support for a skipif file in each directory. If this file contains valid JS code that returns a true value, the directory is skipped.

  100. Deucе
    Sat Jan 18 2025 07:49:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    src/sbbs3/jsexec.c diff
    Fix JSDoor warnings

  101. Deucе
    Sat Jan 18 2025 07:17:49 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/libjxl.c diff
    Don't fail JPEG XL due to missing JxlDecoderSetParallelRunner() That just means we can't do parallel, not that we can't do JPEG XL

  102. Deucе
    Sat Jan 18 2025 06:59:02 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/libjxl.h diff
    If JPEGXL_MAJOR_VERSION isn't define, define to zero. It wasn't in v0.6.x, which is packaged by Haiku.

  103. Rob Swindell (on Debian Linux)
    Fri Jan 17 2025 23:46:04 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/rtypes.js diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/main.cpp diff
    Make global read(0) and readln(0) return undefined This is really an error condition, so like the jsdocs say: return undefined upon error This how read(0) worked in sbbs, but not jsexec before that last commit, so now just make readln and read work like that in both sbbs and jsexec.

  104. Rob Swindell (on Debian Linux)
    Fri Jan 17 2025 23:25:18 GMT-0800 (PST)
    Added Files:
    

    exec/tests/global/except.js diff
    exec/tests/global/rtypes.js diff
    Modified Files:

    src/sbbs3/js_archive.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_cryptcon.c diff
    src/sbbs3/js_cryptkeyset.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_mqtt.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    Global JS function parameter validation and updated return types Many global functions now throw an exception when null or undefined is passed as a required parameter where null or undefined makes no sense. e.g. "Argument #1 is an unexpected 'null' or 'undefined' value" Example exception: is-a/has-a type functions will still return false when passed null or undefined. Changed global function return types: - write() now always returns undefined - printf() always returns a string, never undefined or garbage string - prompt() returns null (not undefined) upon no input (as documented) sbbs works more like jsexec: - read(0) now returns an empty string instead of undefined - readln(0) no longer waits for enter jsexec works more like sbbs: - add missing write_raw() global function, alias for write() Include expected number of argment in "Insufficient Arguments" exception message. Update JSDOCS for some global methods: - file_chmod returns boolean, not number - flags_str requires a minimum of one argument New tests to validate expected exceptions and return types based on usage.

  105. echicken
    Fri Jan 17 2025 22:59:18 GMT-0800 (PST)
    Modified Files:
    

    xtrn/bullshit/bullshit.js diff
    xtrn/bullshit/package-lock.json diff
    xtrn/bullshit/package.json diff
    New build with workaround for terminal cleanup on exit. Updated TS4S so we can build with -t while issue #777 is ongoing. Ran `npm audit fix` to address a security issue in some dependency of the build system. Perhaps this will silence the alert GitHub sent to DM; I'm not sure what that was.

  106. Rob Swindell (on Debian Linux)
    Fri Jan 17 2025 22:39:45 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/crypt/cert.js diff
    exec/tests/test.js diff
    Make these tests runnable from sbbs Don't use chdir(), just use js.exec_dir instead (e.g. for location of test.crt) Use console instead of stdout when stdout isn't defined. Log the file and line number of an an exception in a nested test when it happens.

  107. echicken
    Fri Jan 17 2025 12:16:40 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ansiview/install-xtrn.ini diff
    xtrn/ansiview/readme.txt diff
    xtrn/ansiview/settings.ini diff
    Remove ecbbs online archive from defaults.

  108. echicken
    Fri Jan 17 2025 10:42:43 GMT-0800 (PST)
    Modified Files:
    

    exec/fido-nodelist-browser.js diff
    New build from https://gitlab.synchro.net/echicken/nodelist-browser Fixes #794, esc exits. Other hotkeys reassigned per discussion that happened I think on DOVE-Net. Fixes #818, show/hide cursor on netmail.

  109. Deucе
    Fri Jan 17 2025 09:52:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Fix previous commit. Was overriding value, not appending.

  110. Deucе
    Fri Jan 17 2025 08:57:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Include absolute rpath It appears that setcap may cause $ORIGIN to stop working for some unknown reason.

  111. Deucе
    Fri Jan 17 2025 07:24:57 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/telnets.c diff
    Set initial telnet modes in telnets Not sure how I missed this one.

  112. Deucе
    Fri Jan 17 2025 07:24:57 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/conn_telnet.c diff
    Add new "Binmode Broken" option for telnet. In this mode, SyncTERM won't will/do TELNET_BINARY_TX at the start of a connection, leaving the mode up to the remote system. The main purpose for this option is to work around a bug in older Synchronet releases where early CTRL-C checking wouldn't work in binary mode. Implements feature request 91.

  113. Rob Swindell (on Windows 11)
    Fri Jan 17 2025 01:18:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Add system.birthdate_template string property Suitable for passing to console.gettemplate() when prompting for a birth date. I'm using like this in my logon.js to correct corrupted newuser birth dates: while(user.age < 10) { console.putmsg(bbs.text(bbs.text.EnterYourBirthday)); user.birthdate = console.gettemplate(system.birthdate_template); }

  114. Rob Swindell (on Debian Linux)
    Fri Jan 17 2025 00:57:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    4 new system properties related to date formatting - date_format - date_separator - date_verbal - birthdate_format See JSDOCs for details

  115. Rob Swindell (on Debian Linux)
    Fri Jan 17 2025 00:57:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Increase formatted log/console output buffers from 1K to 8K ... make them more useful (e.g. when the result of script is a big string).

  116. Deucе
    Thu Jan 16 2025 22:05:38 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.man.in diff
    Update BUGS section

  117. Deucе
    Thu Jan 16 2025 21:37:00 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ciolib.h diff
    src/syncterm/CHANGES diff
    src/syncterm/term.c diff
    Rewrite status bar code This will prevent the cursor from showing up when redrawing the status bar, and implements feature request 79.

  118. Deucе
    Thu Jan 16 2025 14:02:36 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Fix initial scaling and initial scaling mode in SDL mode This isn't great, but it works (on FreeBSD)

  119. Deucе
    Thu Jan 16 2025 11:32:58 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/xpdev/xpbeep.c diff
    Reduce audio level by -12dB. It was at absolute max (an extra one and it would clip) which is really a terrible thing to do to people wearing headphones. I don't really need to do it this way, but the math for the different wave forms depends heavily on integer wrapping (and WAVE_SHAPE_SINE_HARM is just stupid).

  120. Deucе
    Thu Jan 16 2025 11:30:38 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Fix OSS appearence in Audio settings.

  121. Deucе
    Thu Jan 16 2025 10:58:28 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/Manual.txt diff
    Audio output menu

  122. Deucе
    Thu Jan 16 2025 10:43:08 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    Allow configuring audio output type Compile-time isn't the best time for configuration.

  123. Deucе
    Thu Jan 16 2025 10:43:08 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    src/xpdev/xpbeep.h diff
    Allow controlling sound output types with a global.

  124. Rob Swindell (on Debian Linux)
    Thu Jan 16 2025 09:50:09 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Use non-buffered output for jsexec console (log) messages

  125. Deucе
    Thu Jan 16 2025 08:28:29 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/format.js diff
    Add an explicit undefined in there too.

  126. Deucе
    Thu Jan 16 2025 08:25:27 GMT-0800 (PST)
    Modified Files:
    

    exec/tests/global/format.js diff
    src/sbbs3/js_sprintf.c diff
    Fix fencepost error in format arguments. The first argument after the list was still being replaced. Extended test to try the hard stuff.

  127. Rob Swindell (on Debian Linux)
    Thu Jan 16 2025 01:31:38 GMT-0800 (PST)
    Added Files:
    

    exec/tests/global/format.js diff
    A very basic initial set of tests for format()

  128. Rob Swindell (on Debian Linux)
    Thu Jan 16 2025 00:35:13 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Re-run CI pipeline when tests are added or modified

  129. Rob Swindell (on Debian Linux)
    Thu Jan 16 2025 00:29:43 GMT-0800 (PST)
    Added Files:
    

    exec/tests/global/nettype.js diff
    Ported nettype.js from exec/bench to exec/tests

  130. Rob Swindell (on Debian Linux)
    Thu Jan 16 2025 00:29:43 GMT-0800 (PST)
    Modified Files:
    

    exec/avatars.js diff
    Work-around avatars.js line 271: TypeError: hdr is null with a null hdr check before use (corrupt msg base?)

  131. Rob Swindell (on Debian Linux)
    Thu Jan 16 2025 00:29:43 GMT-0800 (PST)
    Modified Files:
    

    exec/default.js diff
    Remove "Or" from ;help hint since the '?' hint isn't displayed in novice mode

  132. Rob Swindell (on macOS)
    Wed Jan 15 2025 23:04:40 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Revert "Temporary debug to find out where/why jsexec is hanging during mac mini m4 CI test" This reverts commit ebe52737cd48d45a843d12eaa7909551f491cc36.

  133. Rob Swindell (on macOS)
    Wed Jan 15 2025 23:04:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Revert "Add an fflsuh() for temp debug spew" This reverts commit 4ce915370298c9c4912a4d4095852854a0726225.

  134. Rob Swindell (on macOS)
    Wed Jan 15 2025 23:04:03 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Revert "Add some temporary debug output to find the mac mini m4 hang" This reverts commit 33be8662a0d67a0ced7f06587fdec01a27b818a8.

  135. Rob Swindell (on macOS)
    Wed Jan 15 2025 22:55:48 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Actually set SBBSCTRL (not SBBSEXEC) env var

  136. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 22:46:43 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Try setting SBBSCTRL env var instead gitlab-runner on my Mac mini doesn't have access to /sbbs

  137. Rob Swindell (on macOS)
    Wed Jan 15 2025 22:32:29 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Add some temporary debug output to find the mac mini m4 hang

  138. Deucе
    Wed Jan 15 2025 22:28:03 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Use ORIGIN everywhere. We don't build on SunOS anymore, and using LD_RUN_PATH sucks. Also, it was badly out of date.

  139. Rob Swindell (on macOS)
    Wed Jan 15 2025 22:16:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Add an fflsuh() for temp debug spew

  140. Rob Swindell (on macOS)
    Wed Jan 15 2025 21:48:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Temporary debug to find out where/why jsexec is hanging during mac mini m4 CI test

  141. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 21:22:42 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Wrong path to ctrl dir (not that it really matters I think)

  142. Deucе
    Wed Jan 15 2025 21:18:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    For NetBSD, add $ORIGIN and $ORIGIN/../$(LIBODIR) to the RPATH

  143. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:53:45 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Specify path to ctrl directory on jsexec command-line

  144. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:43:47 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Attempt to run exec/tests/ using JSexec instead of JSdoor attempt #2

  145. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:30:40 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Revert "Use jsexec for these JS tests instad of jsdoor, jsdoor doesn't have a User class" This reverts commit 5c6a22ed3dd74637c37ee84696313ff249a24929. This doesn't work cause: Unable to create pipeline openbsd-amd64 js-testsuite job: undefined need: openbsd-amd64 [jsexec] and I'm not about to copy/paste those 50 lines to create the needed jsexec artifact. <sigh>

  146. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:23:48 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci-unix.yml diff
    Use jsexec for these JS tests instad of jsdoor, jsdoor doesn't have a User class If we want to (re)run a specific set/subset of tests with jsdoor, perhaps we can come up with some naming scheme that allows that, but for now, it's more important that jsexec is correctly functioning than jsdoor.

  147. Deucе
    Wed Jan 15 2025 20:23:16 GMT-0800 (PST)
    Modified Files:
    

    src/conio/mouse.c diff
    Don't enter the drag start on a move event unless drag is enabled. Likely fixes difficulties pasting in SyncTERM. Probably want to define some minimum amount you need to move to trigger dragging.

  148. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:01:58 GMT-0800 (PST)
    Added Files:
    

    exec/tests/user/birthdate.js diff
    Modified Files:

    src/sbbs3/userdat.c diff
    Refactor the birthdate parsing logic, add unit test The birthdate parsing is now a lot more robust and will recognize all kinds of variants/formats and use range checks to disambiguate provided dates and even support partial dates (e.g. year only, year/month and month/year). The tests should all pass regardless of what the sysop has set for their system date format in SCFG. I had considered using sscanf() for the parsing logic but ended up going with strtoul() only and that seems to be working well (as reflected by the passing test cases).

  149. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:00:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Change terminate_server to correct type expected by xpms_add* functions

  150. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:00:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Fix parsing of field-separated birthdate strings with 4-digit year ... which is the format expected/required when entering or editing birthdates in the terminal server. So this is a pretty embarassingly bad bug introduced just before the v3.20b release to fix a less-severe bug with ecWeb new user registration (still) writing 2-digit years to the user.birthdate field. :-( Fix for issue #863 I considerd making these get_birthdate field functions more tolerant of less strictly formatted strings (e.g. single-digit month or day), but decided to keep this change to just a fix for the issue at hand. These functions could be more robust to handle more variance in user/script input.

  151. Rob Swindell (on Debian Linux)
    Wed Jan 15 2025 20:00:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/load_cfg.c diff
    Remove dead code, fixing CID 530828

  152. Deucе
    Wed Jan 15 2025 16:50:15 GMT-0800 (PST)
    Added Files:
    

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

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    Remove all the pragmas telling me what I did. This is mostly as a test for using git to generate these patches.

  153. Deucе
    Wed Jan 15 2025 09:30:05 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/xpdev/xpbeep.c diff
    Decorate intentional sleeps while holding lock So they're auto-triaged in Synchronet.

  154. Deucе
    Wed Jan 15 2025 09:23:14 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sdlfuncs.c diff
    Don't leak sdl_dll (make it global) Also, don't do stupid things if called more than once.

  155. Rob Swindell (on ChromeOS)
    Tue Jan 14 2025 22:38:59 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/xpdev/multisock.c diff
    src/xpdev/multisock.h diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Pass an optional 'terminated' (bool pointer) to the multi-sock bind functions This allows a server that's being terminated to stop the port-bind delay/retry loops and terminate more quickly in cases of port binding failures.

  156. Deucе
    Tue Jan 14 2025 19:59:30 GMT-0800 (PST)
    Added Files:
    

    src/syncterm/.indent.pro diff
    Add config file for GNU indent Also not happy with this one.

  157. Rob Swindell (on Windows 11)
    Tue Jan 14 2025 17:40:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    load_cfg() can now report config file warnings Log the error string if it's non-blank, as a warning (e.g. unrecognized text.ini text.dat string ID). Reduce the number of logged messages when config load failure happens. Commonize the load_cfg() error log messages.

  158. Rob Swindell (on Windows 11)
    Tue Jan 14 2025 13:59:37 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    exec/load/text.js diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    src/sbbs3/xtrn.cpp diff
    Add/use "NoDOS" text.dat string Displayed instead of hard-coded string in xtrn.cpp when attempting to run 16-bit DOS program on system with no DOS/DOSemu support.

  159. Rob Swindell (on Windows 11)
    Tue Jan 14 2025 13:56:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsub.c diff
    Don't display FidoNet address and origin line when not-FidoNet-enabled sub Displaying these settings when they're not used can confuse sysops.

  160. Rob Swindell (on Windows 11)
    Tue Jan 14 2025 13:51:41 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Resolve MSVC warning

  161. Deucе
    Tue Jan 14 2025 07:59:32 GMT-0800 (PST)
    Added Files:
    

    src/syncterm/.astylerc diff
    Modified Files:

    src/syncterm/bbslist.c diff
    Add an AStyle config that doesn't bother me. Biggest issue with this one is it doesn't allow BSD-style continuation indentation, and forces aligning with parens.

  162. Deucе
    Tue Jan 14 2025 07:03:42 GMT-0800 (PST)
    Added Files:
    

    src/syncterm/.clang-format diff
    Config for ClangFormat This is almost, but not quite great. The biggest issue where it falls over is in struct array indentation and breaking. It tries to force everything onto one line, making it illegible. :(

  163. Deucе
    Mon Jan 13 2025 23:40:34 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/uncrustify.cfg diff
    Update for latest uncrustify Still not completely happy with it.

  164. Rob Swindell (on ChromeOS)
    Mon Jan 13 2025 21:31:38 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    src/encode/uucode.c diff
    src/sbbs3/ans2asc.c diff
    src/sbbs3/answer.cpp diff
    src/sbbs3/ars.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/baja.c diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/execmsg.cpp diff
    src/sbbs3/execnet.cpp diff
    src/sbbs3/filelist.c diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/getmail.c diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/getstr.cpp diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_server.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_uifc.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/prntfile.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scansubs.cpp diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/services.c diff
    src/sbbs3/sexyz.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/sbbs3/zmodem.c diff
    src/smblib/smballoc.c diff
    src/smblib/smblib.c diff
    src/uifc/filepick.c diff
    src/uifc/uifc32.c diff
    src/uifc/uifctest.c diff
    src/uifc/uifcx.c diff
    src/uncrustify.cfg diff
    src/xpdev/dat_file.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/xpdatetime.c diff
    Split one-liner if () statements into 2 lines uncrustify nl_split_if_one_liner setting

  165. Deucе
    Mon Jan 13 2025 21:22:13 GMT-0800 (PST)
    Modified Files:
    

    3rdp/win64.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/win64.release/libjxl/lib/libbrotlidec.a diff
    3rdp/win64.release/libjxl/lib/libhwy.a diff
    3rdp/win64.release/libjxl/lib/libjxl.a diff
    3rdp/win64.release/libjxl/lib/libjxl_threads.a diff
    Rebuild without AVX support. Win64 builds were crashing decoding JPEG XLs on my AMD lappy.

  166. Rob Swindell (on ChromeOS)
    Mon Jan 13 2025 21:10:15 GMT-0800 (PST)
    Modified Files:
    

    src/encode/base64.c diff
    src/encode/lzh.c diff
    src/encode/uucode.c diff
    src/encode/yenc.c diff
    src/hash/md5.c diff
    src/sbbs3/ans2asc.c diff
    src/sbbs3/ansiterm.cpp diff
    src/sbbs3/answer.cpp diff
    src/sbbs3/ars.c diff
    src/sbbs3/asc2ans.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/baja.c diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/bulkmail.cpp diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/con_hi.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/data_ovl.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/execmsg.cpp diff
    src/sbbs3/execnet.cpp diff
    src/sbbs3/fido.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filelist.c diff
    src/sbbs3/finddupes.c diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/fmsgdump.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/getmail.c diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/getstr.cpp diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_client.c diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_conio.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_cryptcert.c diff
    src/sbbs3/js_cryptcon.c diff
    src/sbbs3/js_cryptkeyset.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_queue.c diff
    src/sbbs3/js_request.c diff
    src/sbbs3/js_server.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_sprintf.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_uifc.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/js_xtrn_area.c diff
    src/sbbs3/jsdebug.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/login.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.c diff
    src/sbbs3/mime.c diff
    src/sbbs3/msdirent.c diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/mxlookup.c diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nopen.c diff
    src/sbbs3/ntsvcs.c diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/pktdump.c diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/putmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/readtext.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/ringbuf.c diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsexec.c diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/services.c diff
    src/sbbs3/sexyz.c diff
    src/sbbs3/sftp.cpp diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/sockopts.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/telnet.c diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    src/sbbs3/text_sec.cpp diff
    src/sbbs3/textgen.c diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/trash.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/upgrade_to_v320.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/ver.cpp diff
    src/sbbs3/viewfile.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xmodem.c diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/sbbs3/zmodem.c diff
    src/smblib/smbadd.c diff
    src/smblib/smballoc.c diff
    src/smblib/smbdump.c diff
    src/smblib/smbfile.c diff
    src/smblib/smbhash.c diff
    src/smblib/smblib.c diff
    src/smblib/smbstr.c diff
    src/smblib/smbtxt.c diff
    src/uncrustify.cfg diff
    src/xpdev/dat_file.c diff
    src/xpdev/datewrap.c diff
    src/xpdev/filewrap.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/ini_file.c diff
    src/xpdev/link_list.c diff
    src/xpdev/msg_queue.c diff
    src/xpdev/netwrap.c diff
    src/xpdev/sdlfuncs.c diff
    src/xpdev/semfile.c diff
    src/xpdev/semwrap.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/str_list.c diff
    src/xpdev/strwrap.c diff
    src/xpdev/threadwrap.c diff
    src/xpdev/wraptest.c diff
    src/xpdev/xp_dl.c diff
    src/xpdev/xp_syslog.c diff
    src/xpdev/xpbeep.c diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpevent.c diff
    src/xpdev/xpprintf.c diff
    src/xpdev/xptime.c diff
    Remove unnecessary parenthesis in return statements ... using uncrustify mod_paren_on_return config

  167. Rob Swindell (on ChromeOS)
    Mon Jan 13 2025 21:10:15 GMT-0800 (PST)
    Modified Files:
    

    src/encode/base64.c diff
    src/encode/base64.h diff
    src/encode/hex.c diff
    src/encode/hex.h diff
    src/encode/lzh.c diff
    src/encode/lzh.h diff
    src/encode/utf8.c diff
    src/encode/utf8.h diff
    src/encode/uucode.c diff
    src/encode/yenc.c diff
    src/hash/crc16.c diff
    src/hash/crc16.h diff
    src/hash/crc32.c diff
    src/hash/crc32.h diff
    src/hash/md5.c diff
    src/hash/md5.h diff
    src/hash/sha1.c diff
    src/hash/sha1.h diff
    src/sbbs3/ans2asc.c diff
    src/sbbs3/ansiterm.cpp diff
    src/sbbs3/answer.cpp diff
    src/sbbs3/ars.c diff
    src/sbbs3/ars_defs.h diff
    src/sbbs3/asc2ans.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/bulkmail.cpp diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/client.h diff
    src/sbbs3/cmdshell.h diff
    src/sbbs3/con_hi.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/dat_rec.c diff
    src/sbbs3/dat_rec.h diff
    src/sbbs3/data.cpp diff
    src/sbbs3/data_ovl.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/dllexport.h diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/echocfg.c diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/execmsg.cpp diff
    src/sbbs3/execnet.cpp diff
    src/sbbs3/fastcgi.h diff
    src/sbbs3/fido.cpp diff
    src/sbbs3/fidodefs.h diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filelist.c diff
    src/sbbs3/finddupes.c diff
    src/sbbs3/findstr.c diff
    src/sbbs3/findstr.h diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/fmsgdump.c diff
    src/sbbs3/fossdefs.h diff
    src/sbbs3/fossinfo.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/getctrl.c diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/getmail.c diff
    src/sbbs3/getmail.h diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/getstats.h diff
    src/sbbs3/getstr.cpp diff
    src/sbbs3/htmlansi.h diff
    src/sbbs3/ident.c diff
    src/sbbs3/ident.h diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_cache.h diff
    src/sbbs3/js_client.c diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_conio.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_cryptcert.c diff
    src/sbbs3/js_cryptcert.h diff
    src/sbbs3/js_cryptcon.c diff
    src/sbbs3/js_cryptcon.h diff
    src/sbbs3/js_cryptkeyset.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_mqtt.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_queue.c diff
    src/sbbs3/js_request.c diff
    src/sbbs3/js_request.h diff
    src/sbbs3/js_rtpool.c diff
    src/sbbs3/js_rtpool.h diff
    src/sbbs3/js_server.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_socket.h diff
    src/sbbs3/js_sprintf.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_uifc.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/js_xtrn_area.c diff
    src/sbbs3/jsdebug.c diff
    src/sbbs3/jsdebug.h diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/load_cfg.h diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/login.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mail.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.c diff
    src/sbbs3/mime.c diff
    src/sbbs3/mime.h diff
    src/sbbs3/mqtt.c diff
    src/sbbs3/mqtt.h diff
    src/sbbs3/msdirent.c diff
    src/sbbs3/msdirent.h diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msg_id.h diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgdate.h diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/mxlookup.c diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nodedefs.h diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    src/sbbs3/ntsvcs.c diff
    src/sbbs3/ntsvcs.h diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/pktdump.c diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/prntfile.cpp diff
    src/sbbs3/putmsg.cpp diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwk.h diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/readsauce.c diff
    src/sbbs3/readtext.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/ringbuf.c diff
    src/sbbs3/ringbuf.h diff
    src/sbbs3/riodefs.h diff
    src/sbbs3/sauce.c diff
    src/sbbs3/saucedefs.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbs_ini.h diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    src/sbbs3/sbbsexec.c diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scansubs.cpp diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgchat.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgnode.c diff
    src/sbbs3/scfg/scfgsrvr.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/scfgsave.h diff
    src/sbbs3/services.c diff
    src/sbbs3/services.h diff
    src/sbbs3/sexyz.c diff
    src/sbbs3/sexyz.h diff
    src/sbbs3/sftp.cpp diff
    src/sbbs3/slog.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/sockopts.c diff
    src/sbbs3/ssl.c diff
    src/sbbs3/ssl.h diff
    src/sbbs3/startup.h diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    src/sbbs3/telgate.cpp diff
    src/sbbs3/telnet.c diff
    src/sbbs3/telnet.h diff
    src/sbbs3/text_sec.cpp diff
    src/sbbs3/textgen.c diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/trash.c diff
    src/sbbs3/trash.h diff
    src/sbbs3/trashman.c diff
    src/sbbs3/uartdefs.h diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/upgrade_to_v320.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/vdd_func.h diff
    src/sbbs3/ver.cpp diff
    src/sbbs3/ver.h diff
    src/sbbs3/viewfile.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    src/sbbs3/wordwrap.c diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xmodem.c diff
    src/sbbs3/xmodem.h diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/sbbs3/zmodem.c diff
    src/sbbs3/zmodem.h diff
    src/smblib/smbadd.c diff
    src/smblib/smballoc.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smbfile.c diff
    src/smblib/smbhash.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    src/smblib/smbstr.c diff
    src/smblib/smbtxt.c diff
    src/uifc/filepick.c diff
    src/uifc/filepick.h diff
    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    src/uifc/uifc_ini.c diff
    src/uifc/uifctest.c diff
    src/uifc/uifcx.c diff
    src/uncrustify.cfg diff
    src/xpdev/conwrap.c diff
    src/xpdev/dat_file.c diff
    src/xpdev/datewrap.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/filewrap.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/haproxy.h diff
    src/xpdev/ini_file.c diff
    src/xpdev/link_list.c diff
    src/xpdev/link_list.h diff
    src/xpdev/lockfile.c diff
    src/xpdev/msg_queue.c diff
    src/xpdev/msg_queue.h diff
    src/xpdev/multisock.c diff
    src/xpdev/netwrap.c diff
    src/xpdev/petdefs.h diff
    src/xpdev/rwlockwrap.c diff
    src/xpdev/rwlockwrap.h diff
    src/xpdev/sdlfuncs.c diff
    src/xpdev/sdlfuncs.h diff
    src/xpdev/semfile.c diff
    src/xpdev/semfile.h diff
    src/xpdev/semwrap.c diff
    src/xpdev/semwrap.h diff
    src/xpdev/showlocks.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sopenfile.c diff
    src/xpdev/str_list.c diff
    src/xpdev/strwrap.c diff
    src/xpdev/strwrap.h diff
    src/xpdev/threadwrap.c diff
    src/xpdev/unicode.c diff
    src/xpdev/unicode_defs.h diff
    src/xpdev/wrapdll.h diff
    src/xpdev/wraptest.c diff
    src/xpdev/xp_dl.c diff
    src/xpdev/xp_dl.h diff
    src/xpdev/xp_syslog.c diff
    src/xpdev/xp_syslog.h diff
    src/xpdev/xpbeep.c diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpdatetime.h diff
    src/xpdev/xpendian.h diff
    src/xpdev/xpevent.c diff
    src/xpdev/xpevent.h diff
    src/xpdev/xpmap.c diff
    src/xpdev/xpprintf.c diff
    src/xpdev/xpprintf.h diff
    src/xpdev/xpsem.c diff
    src/xpdev/xptime.c diff
    First pass run of uncrustify (code beautification) White-space changes only, exception being the rare insertion of NL before closing brace (couldn't find the option to disable that behavior). I excluded some header files (e.g. sbbs.h) since uncrustify seemed to be doing more harm than good there. I might just end up applying different set of rules to .h files.

  168. Rob Swindell (on ChromeOS)
    Mon Jan 13 2025 21:10:15 GMT-0800 (PST)
    Modified Files:
    

    src/hash/sha1.c diff
    Fix typo in example code in comment causing uncrustify 0.80 to assert do_source_file: Parsing: sha1.c as language C parse_cleanup(479): pc orig line is 257, orig col is 33, Text() is '}', type is BRACE_CLOSE parse_cleanup(485): (frm.top().type + 1) is VBRACE_CLOSE parse_cleanup(492): File: sha1.c, orig line is 257, orig col is 33, Error: Unexpected '}' for 'VBRACE_OPEN', which was on line 256

  169. Rob Swindell (on ChromeOS)
    Mon Jan 13 2025 21:10:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Closing brace on its own line (style change only)

  170. Rob Swindell (on ChromeOS)
    Mon Jan 13 2025 21:10:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/execmisc.cpp diff
    Add missing closing bracket in #ifdef'd out code block Causing uncrustify (0.80) to assert: do_source_file: Parsing: execmisc.cpp as language CPP parse_cleanup(479): pc orig line is 1257, orig col is 55, Text() is ')', type is PAREN_CLOSE parse_cleanup(485): (frm.top().type + 1) is SQUARE_CLOSE parse_cleanup(492): File: execmisc.cpp, orig line is 1257, orig col is 55, Error: Unexpected ')' for 'SQUARE_OPEN', which was on line 1257

  171. Rob Swindell (on ChromeOS)
    Mon Jan 13 2025 21:10:15 GMT-0800 (PST)
    Added Files:
    

    src/uncrustify.cfg diff
    A stock uncrustify 0.80 config generated with 'uncrustify --show-config' Uncrustify-0.80.1-47-ba7fc1679

  172. Deucе
    Mon Jan 13 2025 20:44:22 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-fix-constptrptr.patch diff
    3rdp/build/cl-fix-void-ptrs.patch diff
    3rdp/build/cl-intptr-t.patch diff
    3rdp/build/cl-wrong-string-length.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    3rdp/build/cl-mingw64-thread-handles.patch diff
    A few more Win64 on MinGW fixes Some of these likely break WinCE support.

  173. Deucе
    Mon Jan 13 2025 16:33:31 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Make Coverity happy by moving fullscreen inside of win_lock

  174. Deucе
    Mon Jan 13 2025 15:38:45 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Assert/debug wrappers for trylock() are silly.

  175. Deucе
    Mon Jan 13 2025 14:00:08 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/rwlockwrap.c diff
    Don't leve the wlk critical section on wrlock success. That *is* the write lock!

  176. Deucе
    Mon Jan 13 2025 10:01:40 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/Common.gmake diff
    Use pkg-config for alsa. Don't go digging around in the filesystem when you don't have to.

  177. Deucе
    Mon Jan 13 2025 09:45:07 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/Common.gmake diff
    Don't use ALSA on Windows.

  178. Deucе
    Mon Jan 13 2025 09:42:39 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    More fixups for clock selection.

  179. Deucе
    Mon Jan 13 2025 09:37:30 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/sdl_con.c diff
    src/xpdev/Common.gmake diff
    src/xpdev/genwrap.c diff
    More fixups... Some Coverity issues, some deadlocks, some crashes... Just misc stuff.

  180. Rob Swindell (on Windows 11)
    Sun Jan 12 2025 23:27:47 GMT-0800 (PST)
    Modified Files:
    

    src/conio/vidmodes.c diff
    Resolve MSVC warnings

  181. Deucе
    Sun Jan 12 2025 22:25:38 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    No need to pass the vstat_vmem around either. Also, we can now use a read lock.

  182. Deucе
    Sun Jan 12 2025 22:08:44 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    We only need to use get_vmem() if we're copying vstat.

  183. Deucе
    Sun Jan 12 2025 20:33:16 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Remove some debugging code.

  184. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 19:51:23 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/text_defaults.c diff
    Fix alignment of the Author and Group file info strings

  185. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 19:37:37 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scansubs.cpp diff
    Don't scan for new files (after new messages scan) when new file time is 0 (e.g. new user)

  186. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 19:34:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/execmisc.cpp diff
    Use return value of datestr() for PCMS/Baja DATESTR function Similar bug fix as that just made to system.datestr()

  187. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 19:30:10 GMT-0800 (PST)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Don't bother prompting for new file scan when scan pointer is 0

  188. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 19:19:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Add missing paren

  189. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 19:01:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Fix system.datestr(0) returning garbage Actually use the return value of datestr() Fixes issue reported by Deuce, regression introduced in commit 490e86fa38c

  190. Deucе
    Sun Jan 12 2025 17:57:17 GMT-0800 (PST)
    Modified Files:
    

    exec/lbshell.js diff
    Remove stutter.

  191. Deucе
    Sun Jan 12 2025 17:55:48 GMT-0800 (PST)
    Modified Files:
    

    exec/lbshell.js diff
    Since datestr() now can return "Never" avoid calling datestr with 0. "Scan for New Files since Never" is gibberish.

  192. Deucе
    Sun Jan 12 2025 17:48:01 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/readtext.c diff
    Range check value when using default text.

  193. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 17:07:34 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_internal.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    Move js_CreateArrayOfStrings from main.cpp to js_internal.c To fix jsdoor build

  194. Rob Swindell (on Debian Linux)
    Sun Jan 12 2025 16:31:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_archive.c diff
    Add Archive.supported_formats (array of strings) Helpful for scripts that want to know what file types (extensions) are supported by the Archive class object. Still need to work out the JSDOC support for this. Similar to the Socket class object properties, this will have no documentation/description.

  195. Deucе
    Sun Jan 12 2025 15:16:22 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix error displaying Minesweeper field We need to set the "has pixels set" flag in both vmem and in the bitmap_drawn array to prevent the update from erasing the pixels. This is likely what the duplicated line was originally, then it got broken when I switched to the vmem_cell_*() functions.

  196. Rob Swindell
    Sun Jan 12 2025 14:42:06 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_printf_percent_fix' into 'master' DDMsgReader: %% should be used with printf() to show a percent sign. "% " seemed to be showing <error> in some cases (but not always) See merge request main/sbbs!491

  197. Eric Oulashin
    Sun Jan 12 2025 13:35:40 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: %% should be used with printf() to show a percent sign. "% " seemed to be showing <error> in some cases (but not always)

  198. Deucе
    Sun Jan 12 2025 14:30:05 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    No need to do the same thing twice.

  199. Rob Swindell (on Windows 11)
    Sun Jan 12 2025 12:47:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ars.c diff
    src/sbbs3/ars_defs.h diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/userdat.c diff
    Create/use ar_type() to eliminate some copy/pasta in AR/ARS parsing logic

  200. Rob Swindell (on Windows 11)
    Sun Jan 12 2025 12:36:44 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Another use of errprintf() to help de-dupe error logs/alerts

  201. Deucе
    Sun Jan 12 2025 12:11:35 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Don't egregiously use strlen() for ZRQ and OOII buffers. We're building these one byte at a time, we know the length. 1.98s

  202. Deucе
    Sun Jan 12 2025 12:02:21 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/syncterm/term.c diff
    Have cterm_write() return the length of the retbuf. For now we're still using strlen, but we can avoid the call for the common case of zero-length returns.

  203. Deucе
    Sun Jan 12 2025 11:51:40 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Don't sleep() after receiving input. 2.1 seconds.

  204. Deucе
    Sun Jan 12 2025 11:33:58 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/rwlockwrap.h diff
    Put the now-shared rwlock_destroy_ign() back for *nix.

  205. Deucе
    Sun Jan 12 2025 10:51:46 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/rwlockwrap.c diff
    src/xpdev/rwlockwrap.h diff
    Make rwlock wrappers static inline functions instead of macros. This should avoid angering Coverity.

  206. Deucе
    Sun Jan 12 2025 10:51:35 GMT-0800 (PST)
    Modified Files:
    

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

  207. Deucе
    Sun Jan 12 2025 10:36:13 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/link_list.c diff
    NULL check needs to be outside the lock. :D Also, no, Coverity still doesn't know from recursive mutexes.

  208. Deucе
    Sun Jan 12 2025 10:33:22 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    Whoops, forgot to remove the loop. Thanks coverity!

  209. Deucе
    Sun Jan 12 2025 10:23:46 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/link_list.c diff
    Coverity actually found legitimate issues in link_list.c They're all from accessing list values outside of a lock. Lock the list earlier to include these. Also, does this mean it knows they're recursive now? Let's find out!

  210. Deucе
    Sun Jan 12 2025 10:18:07 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpsem.c diff
    Don't bother checking the impossible.

  211. Deucе
    Sun Jan 12 2025 10:13:58 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    src/syncterm/term.c diff
    Ok, it's weird for the _upload() function to close the stream. Make the one who opens it responsible for closing it.

  212. Deucе
    Sun Jan 12 2025 10:08:43 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ciolib.c diff
    Remove weird 1-length array.

  213. Deucе
    Sun Jan 12 2025 09:51:18 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Put assert()s around all the locking in bitmap_con.c

  214. Deucе
    Sun Jan 12 2025 09:37:47 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Move video flags out from under vstatlock. This is a heavily accessed value that is rarely changed and was causing a lot of contention on vstatlock. Down to 2.9 seconds.

  215. Deucе
    Sun Jan 12 2025 08:48:05 GMT-0800 (PST)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Fix typo

  216. Deucе
    Sun Jan 12 2025 08:46:02 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Use rwlock_t, not pthread_rwlock_t Derp.

  217. Deucе
    Sun Jan 12 2025 08:28:45 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/bitmap_con.h diff
    src/conio/sdl_con.c diff
    src/conio/win32gdi.c diff
    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/syncterm/ripper.c diff
    Use a rwlock for vstatlock. Down to 3.4s now.

  218. Deucе
    Sun Jan 12 2025 07:14:53 GMT-0800 (PST)
    Modified Files:
    

    exec/ircdcfg.js diff
    Only create the main context once. Fixes issue where returning to the main menu always takes you to the top option.

  219. Deucе
    Sun Jan 12 2025 07:01:05 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/telnets.c diff
    Give the same input improvement to everything but SSH. The SSH input thread is too complex to easily make this change.

  220. Deucе
    Sun Jan 12 2025 06:46:26 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Remove unused set of coff.

  221. Deucе
    Sat Jan 11 2025 22:46:27 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Add unreachable code Coverity thinks it can do the default case.

  222. Deucе
    Sat Jan 11 2025 21:59:50 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Fix a memory leak and an allowed out-of-bounds access. Thanks Coverity!

  223. Deucе
    Sat Jan 11 2025 21:54:32 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn_pty.c diff
    Don't loop waiting to write entire received data to conn buf Shaves time down to 3.85 seconds.

  224. Deucе
    Sat Jan 11 2025 21:53:53 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix updating of bitmap_drawn() when drawing Fixes high CPU when nothing is happening.

  225. Deucе
    Sat Jan 11 2025 18:15:23 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    We don't need to multiply the row by cols anymore.

  226. Deucе
    Sat Jan 11 2025 18:15:23 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix incorrect offset advancement function

  227. Rob Swindell (on Debian Linux)
    Sat Jan 11 2025 16:14:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Resolve GCC warning enumeration value ‘PARSED_VPATH_x’ not handled in switch

  228. Rob Swindell (on Windows 11)
    Sat Jan 11 2025 16:08:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ars.c diff
    Fix the auto-keyword detection based on parameter type for USER, DIR, and SUB SUB and DIR have long had this bug, but I just noticed while playing with the new USER keyword capabilities (specifying user numbers and/or names). If you switched between numeric and alpha/string parameters, without restating the ARS keyword, the keyword would could end up wrong in the parsed byte array.

  229. Rob Swindell (on Windows 11)
    Sat Jan 11 2025 15:53:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ars.c diff
    src/sbbs3/ars_defs.h diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/userdat.c diff
    User aliases can be used as parameters to the "USER" ARS keyword Caveat: the name parameter cannot contain a space, so excludes spaces or replace them with '.' or '_': the user's alias will match.

  230. Rob Swindell (on Windows 11)
    Sat Jan 11 2025 15:03:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/websrvr.c diff
    parse_vpath() no longer takes access requirements into account This fixes issue #748

  231. Rob Swindell (on Debian Linux)
    Sat Jan 11 2025 14:36:18 GMT-0800 (PST)
    Modified Files:
    

    exec/testbuild.js diff
    Update the source archive, support more non-Linux-x64 *nix builds (e.g. macOS)

  232. Rob Swindell (on Debian Linux)
    Sat Jan 11 2025 14:34:13 GMT-0800 (PST)
    Modified Files:
    

    exec/default.js diff
    Give hint for ;help command upon unrecognized command input

  233. Rob Swindell (on Debian Linux)
    Sat Jan 11 2025 14:32:49 GMT-0800 (PST)
    Modified Files:
    

    exec/delfiles.js diff
    Use the "max_age" and "max_files" values from configuration if not set in base Work-around for issue #861 This is the utility script for maintaining file bases, if you didn't know. :-)

  234. Deucе
    Sat Jan 11 2025 12:43:02 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/vidmodes.c diff
    src/conio/vidmodes.h diff
    Make vstat vmem a ringbuffer as well. This shaves off another .75 seconds, and gets rid of the last glaring plateau in the stack flamegraph. What's interersting is that I'm seeing my CPU utilization drop now too, which implies I've reached the speed of the pty connection type, or the speed of the term worker loop. Maybe I'll look there next, but since the pty isn't a major use-case for SyncTERM, I may not... at this point it's just benchmark golf.

  235. Deucе
    Sat Jan 11 2025 01:36:08 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Add missing unlock, and silence Coverity warning.

  236. Deucе
    Sat Jan 11 2025 01:35:46 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/link_list.c diff
    Spell Coverity wright.

  237. Deucе
    Sat Jan 11 2025 00:23:26 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Get strspn() out of the ANSI hot path. This was the only standout issue when profiling the ANSI parsing code, and is a trivial fix since we're pretty much only checking contiguous ranges of characters. Unfortunately, I didn't create a test for comparison here.

  238. Deucе
    Sat Jan 11 2025 00:01:16 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Just call the imporvement "massive" and leave it at that. Still massaging more speed out of it.

  239. Deucе
    Fri Jan 10 2025 23:59:43 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Get strncat() and strnlen() out of the hot path... Down to 4.7s now... 38× faster. Starting to get somewhere useful now.

  240. Deucе
    Fri Jan 10 2025 23:34:53 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Note performance is better.

  241. Deucе
    Fri Jan 10 2025 23:33:16 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Discard the drawn cache when we load a new video mode. Fixes issue where the screen would be weird during the connecting phase.

  242. Deucе
    Fri Jan 10 2025 23:20:28 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/ciolib.h diff
    Mark cells when they have pixels set in them. This way, when a character overwrites, we can detect it. Also, document the various magic colour bits.

  243. Deucе
    Fri Jan 10 2025 22:21:19 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Another big speedup... Since we update the bitmap before drawing a frame now, we can just mark the cells incorrectly moved by advancing the bitmap ringbuffer as dirty and known they'll be redrawn. This gets rid of the memmove on full-width scrolling, and gets us into the 6s range.

  244. Deucе
    Fri Jan 10 2025 22:10:28 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Another large speedup... only update bitmap when drawing a frame Previously, every change would be flushed through to the bitmap, now it only flushes before a frame is sent to the driver, or when specific things (like setting pixels) occur. This about doubles the throughput again, running the test at 11 seconds (started at 179). At a 16× speedup now from when I started. This can now display at about 10Mbps, which is still kinda slow, but at least it's not completely terrible anymore. This could likely be improved by better timing of the frame generation... it tries to hot 100Hz right now, which is a bit excessive.

  245. Rob Swindell (on Debian Linux)
    Fri Jan 10 2025 18:29:21 GMT-0800 (PST)
    Modified Files:
    

    exec/user_settings.js diff
    Fix a couple of bugs with the [L] Terminal Dimensions option 1. It never saved the rows value set by the user 2. It would not set the current online user values immediately 3. It would only call console.getdimenions() when *both* values were set

  246. Rob Swindell (on Windows 11)
    Fri Jan 10 2025 18:20:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    Propagate the non-auto user terminal dimensions to the runtime values, always Previously, if either of the user terminal dimensions was set to a auto (0) then we wouldn't propagate the other specific (non-zero) value to the runtime console dimension. Usually a user will set either both values (cols and rows) to 0/auto or neither. So this isn't a oft-used configuration combo.

  247. Rob Swindell (on Windows 11)
    Fri Jan 10 2025 18:20:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/email.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_sprintf.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mqtt.c diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/sftp.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/writemsg.cpp diff
    Rename functions that started with a helping/linking verb e.g. [can|is]_subject_something() is now named subject_[can|is]_something() No functional change.

  248. Rob Swindell (on Windows 11)
    Fri Jan 10 2025 18:20:35 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpprintf.c diff
    Resolve MSVC warnings about possible data loss and signed/unsigned compares

  249. Rob Swindell (on Windows 11)
    Fri Jan 10 2025 18:20:34 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/pack_qwk.cpp diff
    Fix CID 530001 temp_cmd() should've been called first on any sane platform. <shrug>

  250. Deucе
    Fri Jan 10 2025 15:32:53 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix missing unlock

  251. Deucе
    Fri Jan 10 2025 14:50:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Don't calculate the same value twice.

  252. Deucе
    Fri Jan 10 2025 13:57:18 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Save moving the "new" row Previously, we actually moved one more line back than we had to. This only moves lines back that need to remain where they were. This shaves another couple seconds off the benchmark.

  253. Deucе
    Fri Jan 10 2025 13:51:04 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix scrolling when there's no scrollbar. The code was moving unscrolled lines back after scrolling the majority of them... if all lines were scrolled, moving some back actually broke scrolling.

  254. Deucе
    Fri Jan 10 2025 09:29:46 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix missing NULL check/resource lead in bitmap_clrsrc() Thanks Coverity!

  255. Deucе
    Fri Jan 10 2025 00:16:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_sprintf.c diff
    src/xpdev/xpprintf.c diff
    src/xpdev/xpprintf.h diff
    Remove xp_printf() Borland support, and update JS format Borland doesn't need this, and making the new feature work with it would be immensely painful, so just disable the files in Borland. Also, now the JS format()/printf()/etc. can use field specifiers.

  256. Deucе
    Thu Jan 09 2025 23:48:02 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/GNUmakefile diff
    src/xpdev/xpprintf.c diff
    src/xpdev/xpprintf.h diff
    Add support for the '$' field specifier delimiter thing. Just in case xp_asprintf() is used for text.dat strings. The field specifier allows you to change the order of parameters, which is useful for translating (and useless for anything else). There must not be any "skipped" parameters though, you must use all of them between the first one and the last one you use.

  257. Rob Swindell (on Debian Linux)
    Thu Jan 09 2025 21:30:18 GMT-0800 (PST)
    Modified Files:
    

    exec/fileman.js diff
    Start on help text for File Manager

  258. Rob Swindell (on Debian Linux)
    Thu Jan 09 2025 20:51:13 GMT-0800 (PST)
    Modified Files:
    

    exec/user_settings.js diff
    The terminal mouse setting will now default to the current setting ... so just hitting ENTER will stick with the current mouse enablement.

  259. Rob Swindell (on Debian Linux)
    Thu Jan 09 2025 20:50:43 GMT-0800 (PST)
    Modified Files:
    

    exec/load/termdesc.js diff
    White-space change only

  260. Deucе
    Thu Jan 09 2025 20:37:02 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Use malloc() instead of VLAs. They weren't standardized until 1999, why would Microsoft support them?

  261. Rob Swindell (on Debian Linux)
    Thu Jan 09 2025 20:23:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/date_str.c diff
    src/sbbs3/file.cpp diff
    Have timestr() return "never" text.dat string when passed 0 like datestr() does.

  262. Rob Swindell (on Debian Linux)
    Thu Jan 09 2025 20:21:53 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    A more complete fix for the upop() issue with long strings Completely remove the 80 column screen width assumption/limit.

  263. Deucе
    Thu Jan 09 2025 19:07:42 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/cterm.c diff
    Massive SyncTERM performance overhaul. This makes the performance about seven times better. Previously, outputting the entire works of Shakespeare took about two minutes, nineteen seconds on my system. With this change, it takes about 19 seconds. This is still far behind non-BBS terminals like XTerm and Alacritty which tend to do that job in under one second. The main improvements: - For the bitmaps in memory, make them a ring buffer, and for full-width scrolling of more than half the screen, just move the top instead of a memmove() - Eliminate unnecessary comparisons and calculations in the glyph rendering loop - Combine drawing glyphs beside each other for better cache usage This still needs some cleanup, and much testing.

  264. Rob Swindell (on Debian Linux)
    Thu Jan 09 2025 18:53:37 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Fix buffer overflow when upop() is called with a string > 73 chars result in segfault (e.g. adding long filenames using fileman.js)

  265. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 16:46:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr1.c diff
    Set "native" flag for newly created file types/protocols Eliminate use of strcpy() and sprintf() in this file

  266. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 16:25:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/viewfile.cpp diff
    Add "native" toggle option to Viewable/Extractable/Testable/Compressible files ... and download events. The "Native Program List" was a hack left over from the transition from MS-DOS to OS/2 and now with extensible configuration files, like we have now, there's no reason not to add more fields and make it easier to specify which of these programs (most/all of them nowadays) are actually native to the host OS. The defaults (e.g. when creating a new file type) are unchanged for now.

  267. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 16:21:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Make the native_help/opt strings accessible from other units Shorten the native_opt from "Native Executable/Script" to just "Native Executable" to make it usable in opt lists with narrower option name columns.

  268. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 15:10:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/main.cpp diff
    Add missing 'mode' argument to cmdstr() ... sometimes the generated command-line is different depenending on the external() mode flags (e.g. EX_NATIVE).

  269. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 15:08:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgmsg.c diff
    Fix inverted default selection for Message Options->Purge Deleted E-mail

  270. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 14:51:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/readmail.cpp diff
    Allow @-codes in Read*Mail text.dat strings/prompts and optimize [K]ill cmd No need to load/modify messages that already have DELETE attribute flag set

  271. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 14:51:52 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Abort POP3 LIST/UIDL loops upon socket-send failure Log a debug-level message after loading messages upon POP3 login.

  272. Rob Swindell (on Windows 11)
    Thu Jan 09 2025 14:51:52 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mail.cpp diff
    delallmail() optimization and fix Optimization: No need to read and re-write headers that already have the DELETE attribute. Fix: Forced permanent removal of deleted messages (e.g. when creating a new user that's reusing an existing user number), didn't work unless SCFG->Message Options->Purge Delete E-mail was set to "Immediately" (not the default).

  273. Rob Swindell
    Thu Jan 09 2025 13:33:12 GMT-0800 (PST)
    Modified Files:
    

    exec/slyedcfg.js diff
    Merge branch 'slyedcfg_nonexistent_save_fix' into 'master' slyedcfg.js bug fix: Now successfully saves settings if SlyEdit.cfg is nonexistent (not in sbbs/ctrl or sbbs/mods) See merge request main/sbbs!490

  274. Eric Oulashin
    Thu Jan 09 2025 13:22:53 GMT-0800 (PST)
    Modified Files:
    

    exec/slyedcfg.js diff
    slyedcfg.js bug fix: Now successfully saves settings if SlyEdit.cfg is nonexistent (not in sbbs/ctrl or sbbs/mods)

  275. Deucе
    Thu Jan 09 2025 11:32:55 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    Define NDEBUG for RELEASE builds We don't want our assertions asserting.

  276. Deucе
    Thu Jan 09 2025 08:33:23 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/link_list.c diff
    Chase those suppressions

  277. Deucе
    Thu Jan 09 2025 08:31:31 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Let time get big enough to be too big Previous commit capped it too early.

  278. Rob Swindell (on Debian Linux)
    Wed Jan 08 2025 23:55:53 GMT-0800 (PST)
    Modified Files:
    

    ctrl/xtrn.ini diff
    Redirect jsexec status output to nul when running fileman

  279. Rob Swindell (on ChromeOS)
    Wed Jan 08 2025 23:41:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Corrected string numbers

  280. Rob Swindell (on ChromeOS)
    Wed Jan 08 2025 23:40:13 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Corrected string numbers for recently added strings

  281. Rob Swindell (on ChromeOS)
    Wed Jan 08 2025 23:39:31 GMT-0800 (PST)
    Modified Files:
    

    exec/load/text.js diff
    Latest text.dat IDs

  282. Rob Swindell (on ChromeOS)
    Wed Jan 08 2025 23:39:08 GMT-0800 (PST)
    Modified Files:
    

    exec/load/sbbsdefs.js diff
    Add P_ATCODES definition

  283. Deucе
    Wed Jan 08 2025 22:08:01 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/link_list.c diff
    Suppress Coverity rantings about this "non-recursive" lock. The lock is recursive.

  284. Deucе
    Wed Jan 08 2025 22:05:00 GMT-0800 (PST)
    Modified Files:
    

    src/encode/utf8.c diff
    Suppress some more Coverity halucinations.

  285. Deucе
    Wed Jan 08 2025 22:01:36 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Re-add coverity suppression. Not obsolete.

  286. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 21:50:17 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/mail.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    src/sbbs3/useredit.cpp diff
    Display progress while deleting email messages Add/use new print mode flag: P_ATCODES for use with trusted format params Renamed text.dat strings (to better support translation/localization): - Deleted -> DeletedUser - Inactive -> InactiveUser New text.dat strings: - Deleting - DoneDeleting - Deleted - DeletedNumberItems - E_Mail - E_Mails

  287. Deucе
    Wed Jan 08 2025 21:14:58 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Hard-code the _WIN32_WINNT_VISTA value. Maybe Borland is also using pre-vista headers?

  288. Deucе
    Wed Jan 08 2025 21:08:08 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Check _WIN32_WINNT, not WINVER Borland hates WINVER

  289. Deucе
    Wed Jan 08 2025 21:01:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    If we're older than Vista, use GetTickCount()

  290. Deucе
    Wed Jan 08 2025 20:57:42 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Actually, CLOCK_SECOND is better than CLOCK_MONOTONIC_FAST It's basically CLOCK_REALTIME with tv_nsec set to zero.

  291. Deucе
    Wed Jan 08 2025 20:51:58 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Initialize bbs->fast_connected

  292. Deucе
    Wed Jan 08 2025 20:47:53 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Seconds not milliseconds.

  293. Deucе
    Wed Jan 08 2025 20:43:18 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.h diff
    src/syncterm/conn_pty.c diff
    src/syncterm/modem.c diff
    src/syncterm/term.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    Implement xp_fast_timer64() Like xp_timer64(), except it gets the worst clock, not the best one. Mostly useful for places where you're using deltas between time(NULL) to approximate a time, not for if you need to convert to a date or if you need any kind of precision.

  294. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 19:36:44 GMT-0800 (PST)
    Modified Files:
    

    ctrl/xtrn.ini diff
    Add File Manager to Operator menu in default config Change internal code of "xtrn-setup" from XSETUP to XTRN-SETUP (we have plenty of chars available for internal codes now).

  295. Rob Swindell (on Debian Linux)
    Wed Jan 08 2025 19:18:59 GMT-0800 (PST)
    Modified Files:
    

    text/menu/batflag.msg diff
    Highlight the [D]ownload part of this with color codes

  296. Rob Swindell (on Debian Linux)
    Wed Jan 08 2025 19:16:00 GMT-0800 (PST)
    Added Files:
    

    text/menu/fileinfo.40col.msg diff
    A 40-column friendly file information display file

  297. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 19:14:04 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Fix NULL dereference when there are no directory vshortcuts defined As reported by Accession in #synchronet at irc.synchro.net

  298. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    exec/load/text.js diff
    Add "Never" definition

  299. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/file.cpp diff
    Support new/optional display file: text/menu/fileinfo.* If this menu file exists, it'll be used to display file information (e.g. when using 'E'xtended info or 'D'ownload commands) instead of the Fi* text.dat strings. Allowing more customization options for file information displays.

  300. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/date_str.c diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    Add/use new text.dat string: Never datestr() will return this string when passed a time_t value of 0.

  301. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    FILE_* @-code fixes FILE_DESC didn't handle blank/no file description correctly The @-codes that need file size or date needed to call the proper filedat functions to get those values or else risk them being 0.

  302. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/date_str.c diff
    Fix extra char output from datestr() when given a time_t value of 0.

  303. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Use errprintf for FastCGI related error log messages I received 6853 duplicate FastCGI error emails today (sent in a 2 minute time span). I wish I already had this in place. :-(

  304. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Fix wrong buf size argument in FILE_SIZE code Caught by Coverity: CID 529977: Incorrect expression (SIZEOF_MISMATCH)

  305. Rob Swindell (on Windows 11)
    Wed Jan 08 2025 18:55:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    Fix the removal of "main.ini" filename from CtrlDir path, if supplied Converting the path to UPPER case and then comparing against a lowercase string would never work. Bug introduced in commit 6edc027042d7, reported by xbit (XBITBBS)

  306. Deucе
    Wed Jan 08 2025 16:33:27 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Don't fiddle with the status bar fonts if we're not going to update it.

  307. Deucе
    Wed Jan 08 2025 11:47:22 GMT-0800 (PST)
    Modified Files:
    

    src/conio/vidmodes.c diff
    Fix 132×52 mode resulution. Transposed some digits, setting 1056×823 as the resolution instead of 1056×832. This resulted on crashes with some output modes, and "just" the status bar being truncated on other output modes. Fixes at least part of ticket 178.

  308. Deucе
    Wed Jan 08 2025 10:58:05 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/syncterm/bbslist.c diff
    src/syncterm/menu.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    src/syncterm/term.c diff
    Make the scrollback a ring buffer instead of a linear one. This was one of the two major perforance issues with previous versions of SyncTERM. Using a larger scrollback will not longer slow down SyncTERM. The other major issue is updating the pixel data for every change, but we can't fix that as long as graphics and text are drawn on the same plane.

  309. Rob Swindell (on ChromeOS)
    Tue Jan 07 2025 23:32:25 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    FILE_ @-code changes/additions New: - FILE_COST, file's credit value or "FREE" when applicable (see also FILE_CREDITS - the file's credit value or 0 when free download) - FILE_AUTHOR - file's author (e.g. from SAUCE record) or blank if N/A - FILE_GROUP - file's author group (e.g. from SAUCE record) or blank if N/A - FILE_BYTES - file's size in bytes (previously, would use FILE_SIZE for this) - FILE_CRC32 - 8 hex digits or blank if N/A - FILE_MD5 - 32 hex digits or blank if N/A - FILE_SHA1 - 40 hex digits or blank if N/A - FILE_TIME_TO_DL - estimated time ("HH:MM:SS") to download file at current CPS Changed: FILE_SIZE is now the file size estimated in KB, MB, GB, etc., not the exact file size in bytes.

  310. Rob Swindell (on Windows 11)
    Tue Jan 07 2025 21:34:29 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/file.cpp diff
    Include CPS rate used to calcaulte file transfer time in FiTransferTime string from text.dat. Also change the alignment of the Fi* (File Information) text.dat strings to allow more space for the data fields, allowing better support for adding URLs (for sysops that want to do so, e.g. by setting FiFilename in text.ini).

  311. Deucе
    Tue Jan 07 2025 20:53:29 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    Don't explicitly omit the frame pointer. At -O3, the only reason the frame pointer will be retained is when removing it makes it impossible to get any reasonable information out of a core dump. I personally prefer to take the small performance hit on affected platforms and always include the frame pointer because it makes profiling release builds possible... but I can manually make that adjustment when I want to.

  312. Rob Swindell (on ChromeOS)
    Tue Jan 07 2025 20:39:42 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/file.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    Revert "Add FileURL text.dat string, used when displaying file info" This reverts commit 269875be1b0ad07f72479a560b9ea8441aa5d176. There are plenty of existing text.dat strings where URL @-codes can be added. I had good/better results by changing the FiFilename string. So let's not add a new/blank text.dat string for now good reason.

  313. Deucе
    Tue Jan 07 2025 19:22:59 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    assert() ssh globals are initialized correctly. Some weren't (mostly sftp ones though)

  314. Deucе
    Tue Jan 07 2025 19:22:58 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    src/syncterm/term.c diff
    Call shutdown() when errors are detected... Should force other threads to pay attention even if they're stuck in select or something.

  315. Rob Swindell (on Windows 11)
    Tue Jan 07 2025 16:57:14 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/file.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    Add FileURL text.dat string, used when displaying file info This is an optional (default: blank) string that can be used to display a file's URL(s) (e.g. FTP and/or Web URLs, using @-codes) when viewing extended file information. I currently have this string output before the file description. The idea is that a sysop could set this string (e.g in their ctrl/text.ini) instead of or in-addition-to their text/menu/download.msg file and then the file URL(s) would be more readily displayed (not just went prompting for a download protocol to send said file).

  316. Rob Swindell (on Windows 11)
    Tue Jan 07 2025 16:57:14 GMT-0800 (PST)
    Modified Files:
    

    exec/webfileindex.ssjs diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/websrvr.c diff
    Support "virtual shortcuts" to directory configured in SCFG->File Areas As an alternative to directory aliases configured in ftpalias.cfg and/or web_alias.ini, a sysop can specify a shortcut (virtual directory name) per directory in SCFG->File Areas. These shortcuts will appears as top/root level directories in the FTP and Web servers for quick user access to important directories. The advantages (over ftpalias.cfg / web_alias.ini) are: - one place to configure - FILE_FTP_PATH and FILE_WEB_PATH @-codes will use the shortcut (usually a shorter, preferred virtual path to the directory) * New JS file_area.dir[].vshortcut property

  317. Rob Swindell (on Windows 11)
    Tue Jan 07 2025 16:57:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    Populate the security level string being edited with current level (number) This appears to have been the original intention (otherwise, why call ultoa?), but was never done. Just a usability/convenience thing, but an apparent bug.

  318. Deucе
    Tue Jan 07 2025 15:36:41 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Actually, it's a long, not an Atom... same thing though.

  319. Deucе
    Tue Jan 07 2025 15:18:12 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Ugh. Atom is unsigned long... unsigned long can be 64-bit We can't just memcpy() this because it's not a uint32_t, it's an Atom.

  320. Deucе
    Tue Jan 07 2025 13:28:26 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Mention the fix for minimal X servers

  321. Deucе
    Tue Jan 07 2025 13:27:00 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Assume I've fixed ticket 174 and mention in changes.

  322. Deucе
    Tue Jan 07 2025 13:16:11 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Remove likely obsolete Coverity suppression. It can be added back if the issue reappears.

  323. Deucе
    Tue Jan 07 2025 13:11:42 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Remove more redundant code ssh_active was never set to false anymore channel_gone did exactly the same thing as conn_api.terminate change read/write timeouts to zero when closing

  324. Deucе
    Tue Jan 07 2025 11:49:12 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    This is not The Way

  325. Deucе
    Tue Jan 07 2025 11:43:56 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Disable ffi config cache for a build...

  326. Deucе
    Tue Jan 07 2025 11:34:20 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/js-libffi-prefix.patch diff
    Pass build/host/target through to libffi as well Fixes the issue on Raspberry Pi with a 64-bit kernel with a 32-bit userland. (I hope)

  327. Deucе
    Tue Jan 07 2025 04:04:32 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/js-libffi-prefix.patch diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Patchie patch for libffi prefix

  328. Deucе
    Tue Jan 07 2025 03:50:05 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Can't do that, DESTDIR and PREFIX weren't configured in. :(

  329. Deucе
    Tue Jan 07 2025 03:47:32 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    src/conio/OverhaulNotes.txt diff
    Do install in libffi as well.

  330. Deucе
    Tue Jan 07 2025 01:14:30 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix initial setting of _NET_WM_ICON Previously, did not include the size, so was a 0x0 icon.

  331. Deucе
    Tue Jan 07 2025 00:47:57 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    Give echocfg the ATEXIT treatment as well. Again, not exhaustive, just the places I found quickly.

  332. Deucе
    Tue Jan 07 2025 00:47:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Use the new thing to make "Save Changes?" things ATEXIT. If ESC is pressed, clears the UIFC_XF_QUIT and aborts the exit. Otherwise, continues exiting. Not sure if there's anywhere else that needs the ATEXIT change to avoid infinite exit loopage.

  333. Deucе
    Tue Jan 07 2025 00:26:29 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    Add new WIN_ATEXIT to disable UIFC_XF_QUIT effect

  334. Deucе
    Tue Jan 07 2025 00:20:44 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Disable the reaper. We don't appear to need it anymore, and it results in inconsistent behaviour.

  335. Deucе
    Tue Jan 07 2025 00:18:02 GMT-0800 (PST)
    Added Files:
    

    src/conio/quittest.c diff
    Modified Files:

    src/conio/GNUmakefile diff
    Add simple test for CIO_KEY_QUIT behaviour. Basically, this allows figuring out if you can intercept and block closing the window.

  336. Deucе
    Mon Jan 06 2025 23:39:35 GMT-0800 (PST)
    Modified Files:
    

    src/conio/OverhaulNotes.txt diff
    Add some names. Two are AI generated, one is from a random dwarf name generator.

  337. Deucе
    Mon Jan 06 2025 23:17:00 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    Switch from socket_readable() to socket_check() in input threads This allows us to detect the remote sending a FIN early and disconnect rather than waiting until we have data to send. This isn't actually necessary for the ones that use the socket directly as they'll read zero bytes and terminate, but this way it's consistent across all of them. Another attempt to drive a stake through the heart of ticket 174

  338. Deucе
    Mon Jan 06 2025 22:35:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Fix apparent copy pasta of the total/len in recv.

  339. Deucе
    Mon Jan 06 2025 22:32:35 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Note that Windows now comes with syncterm.com and syncterm.exe

  340. Deucе
    Mon Jan 06 2025 22:29:02 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn_conpty.c diff
    sz needs to be a SIZE_T, not a size_t. :|

  341. Deucе
    Mon Jan 06 2025 22:24:10 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Fix TLS short send issue. On JS TLS sockets, sends over 16384 bytes would be truncated to the next multiple of 8192 higher than half the buffer length. This was triggered because we send chunks of 8192 bytes at a time, and decrement the length each time through the loop. We return "success" when the total sent so far is higher than the length remaining. Fixes bug reported in #Synchronet by Accession.

  342. Rob Swindell (on Debian Linux)
    Mon Jan 06 2025 19:39:21 GMT-0800 (PST)
    Modified Files:
    

    exec/load/unicode_cp437.js diff
    Translate UNICODE ZERO WIDTH NON-JOINER to nothing (empty string) for CP437 Fixes msglist.js display of TDLR article reported by Nelgin

  343. Deucе
    Mon Jan 06 2025 16:39:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Check UIFC_XF_QUIT when asking to exit

  344. Deucе
    Mon Jan 06 2025 16:16:48 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Handle case where we receive a MapNotify without a ConfigureNotify first This shouldn't happen, but it does!

  345. Deucе
    Mon Jan 06 2025 14:49:56 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Add closing brace left out in previous commit.

  346. Deucе
    Mon Jan 06 2025 14:44:21 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Allow fullscreen_geometry() before window is created

  347. Deucе
    Mon Jan 06 2025 14:38:12 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    As the final fallback for screen dimensions, use the root size.

  348. Deucе
    Mon Jan 06 2025 13:45:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    When we set the title, grab the length and use it. Since "FreeBSD" is longer than "Win32" or "Linux", we can't use a fixed position/length here or the version number will get chopped off.

  349. Deucе
    Mon Jan 06 2025 13:45:05 GMT-0800 (PST)
    Modified Files:
    

    src/conio/OverhaulNotes.txt diff
    More notes

  350. Deucе
    Mon Jan 06 2025 07:48:11 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn.c diff
    src/syncterm/conn.h diff
    src/syncterm/conn_conpty.c diff
    src/syncterm/conn_pty.c diff
    src/syncterm/conn_telnet.c diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/rlogin.h diff
    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    We already have conn_api.terminate We don't need another terminate flag. Use atomics for the appropriate members of conn_api now instead of the previous (incorrect) volatile.

  351. Deucе
    Mon Jan 06 2025 07:22:55 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn_pty.c diff
    src/syncterm/conn_telnet.c diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/rlogin.h diff
    Tie all the input and output threads together with an atomic_bool Since we're using it in one place, use it everywhere. While we're here, read()/recv() of 0 after select indicates a closed connection as well, an ensure we check terminate flags in inner loops. This should help with SyncTERM issues where it appears to be connected until you press a key, or it "hangs" and you have to manually disconnect due to the connection actually having been torn down at one end or the other.

  352. Deucе
    Mon Jan 06 2025 06:47:29 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    Suppress Coverity assertion. Coverity believes that after checking that c < LZH_ROOT (636), it's possible for (c + 1) to be greater than 65535.

  353. Rob Swindell (on Windows 11)
    Sun Jan 05 2025 21:16:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Resolve GCC warning

  354. Deucе
    Sun Jan 05 2025 21:14:57 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    Cap the search at LZH_ROOT (avoiding the sentry) This should take care of the last three overflow and truncation concerns that Coverity has.

  355. Rob Swindell (on Windows 11)
    Sun Jan 05 2025 21:05:41 GMT-0800 (PST)
    Added Files:
    

    docs/text320b.dif diff
    Differences between v3.19b and v3.20b text.dat files

  356. Rob Swindell (on Windows 11)
    Sun Jan 05 2025 21:05:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    New @-codes: FILE_FTP_PATH and FILE_WEB_PATH (don't include scheme and host) These @-codes can be used to construct ftp[s] and http[s] URLs to display to users. For use in new/optional display file text/menu/download.* Add optional configurable 'vpath' (per-directory) for directories that have web/ftp aliases, so they preferred/short path (alias) will be used in the expanded @-codes. In SCFG, display each directory's virtual file path ([auto-generated] or set manually). getfilevpath() no longer assumes the target buf is >= MAX_PATH+1 bytes long Add dir_vpath() to get a directory's vpath Extend maximum file library parent directory from 47 to 100 chars. This limit was likely imposed because we didn't have horiztonal scrolling input in UIFC getstr() support at the time. We're no longer limited by that.

  357. Rob Swindell (on Windows 11)
    Sun Jan 05 2025 21:05:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Must set current_file before calling xfer_prot_menu() to get download.* Amendment to commit 03aaeb787d3f

  358. Rob Swindell (on Windows 11)
    Sun Jan 05 2025 21:05:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Resolve MSVC warning about mismatch signed/unsigned compares

  359. Rob Swindell (on Windows 11)
    Sun Jan 05 2025 21:05:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/download.cpp diff
    src/sbbs3/str.cpp diff
    If the menu file download.* exists, display it before any download-protocol selection menu. This allows the sysop to display additional download-file specific instructions (e.g. http URL). When using sendfile() to send a file *not* in a filebase, current_file will == nullptr and the download.* file won't be displayed.

  360. Rob Swindell (on Windows 11)
    Sun Jan 05 2025 21:05:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/postmsg.cpp diff
    Call add_msg_id() *after* opening the message base to send notification email notify() was creating wrongly-formated auto-generated Message-IDs: e.g. Message-ID: <677B3F17.0.notices@vert.synchro.net>

  361. Deucе
    Sun Jan 05 2025 19:28:55 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn_conpty.c diff
    Translate ConPty I/O to/from UTF-8.

  362. Deucе
    Sun Jan 05 2025 17:47:52 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Add in the res for resolution and use -s for small

  363. Deucе
    Sun Jan 05 2025 17:29:50 GMT-0800 (PST)
    Added Files:
    

    src/syncterm/win32_stub.c diff
    Modified Files:

    src/build/Common.gmake diff
    src/syncterm/GNUmakefile diff
    src/syncterm/syncterm.c diff
    src/syncterm/targets.mk diff
    Build a console .com and Windows .exe file and shared DLL This allows running syncterm from cmd.exe using just "syncterm" to run in console mode, but using the .exe to run in Windows mode. It should now be possible to run SyncTERM in ANSI or console mode inside of SyncTERM in GDI mode.

  364. Deucе
    Sun Jan 05 2025 14:12:54 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Log the changes

  365. Deucе
    Sun Jan 05 2025 14:09:40 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn_conpty.c diff
    Reset terminate to false during connect() Fixes bug where you could only open a Shell session on Windows once per invocation of SyncTERM.

  366. Deucе
    Sun Jan 05 2025 13:55:36 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn_conpty.h diff
    Include windows.h in conn_pty.h too to ensure it's right.

  367. Deucе
    Sun Jan 05 2025 13:53:17 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/conn_conpty.c diff
    Maybe I need to move the #include to after <windows.h>?

  368. Deucе
    Sun Jan 05 2025 13:45:52 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    I guess the MSVC platform toolset is Win10+ as well.

  369. Deucе
    Sun Jan 05 2025 13:22:39 GMT-0800 (PST)
    Added Files:
    

    src/syncterm/conn_conpty.c diff
    src/syncterm/conn_conpty.h diff
    Modified Files:

    src/build/Common.gmake diff
    src/syncterm/GNUmakefile diff
    src/syncterm/conn.c diff
    Add Shell support for Windows Requires Windows 10 or higher. This changes the default SyncTERM builds to require Windows 10. To build for other versions, you need to pass WIN32, WINVER, WIN32_IE, and NTDDI to build script. These need to be whatever they need to be for old stuff to work.

  370. Deucе
    Sun Jan 05 2025 09:36:39 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    What kind of monster puts a size_t after a uint8_t in a struct?

  371. Deucе
    Sun Jan 05 2025 09:21:21 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    More LZH updates - Make lzh_update() return a bool indicating success - Eliminated calculating array size, use macro - Fail if the current entry is not in the frequency array

  372. Deucе
    Sun Jan 05 2025 05:09:25 GMT-0800 (PST)
    Modified Files:
    

    xtrn/dpoker/dpoker.c diff
    xtrn/tbd/tbd.c diff
    Fix warnings warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]

  373. Deucе
    Sun Jan 05 2025 04:57:20 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    Don't popup error message if we're already disconnected Another fix for bug 174

  374. Deucе
    Sun Jan 05 2025 04:48:26 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    Check for CRYPT_ERROR_READ as well cryptPopData() and cryptFlushData() will return CRYPT_ERROR_READ if the socket is unexpectedly closed, not CRYPT_ERROR_COMPLETE. Handle that in the wrappers as well.

  375. Deucе
    Sun Jan 05 2025 03:55:35 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    Add wrappers for cryptlib functions If anything that should send/receive data returns CRYPT_ERROR_COMPLETE tell the I/O threads to temrinate so conn_connected() will return false Another attempt at bug 174.

  376. Deucе
    Sun Jan 05 2025 03:37:27 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    src/syncterm/telnets.c diff
    src/xpdev/genwrap.h diff
    Define and use a new IGNORE_RESULT() macro Historically, casting to void would suppress warnings about things being unused. However, an attribute was created for functions like realloc() where not using the result is always a bug, so when the attribute is used, you must actually use the return value and can't cast to void to avoid a warning. Given this attribute, the glibc authors decided to apply it to all the functions that usually should have their return value checked (chdir(), write(), etc) when _FORTIFY_SOURCE is defined because if you care about correctness enough to define _FORTIFY_SOURCE, you'll always do something useful with these return values. Extending the hilarity, some distros define _FORTIFY_SOURCE by default. The result is functions that occasionally can safely be called regardless of the return value will throw a warning if you don't "do something" with that return value. Of course, you can just turn off the warnings completely with a compiler flag, but then you lose the excellent warning about things like realloc() that always make sense and were the original reason for the option.

  377. Deucе
    Sun Jan 05 2025 03:37:27 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    Define a macro to indicate if the compiler is actually GCC. Pretty much all new compilers these days will define all the GCC macros so it's impossible to detect GCC from predefined macros without adding a list of all the compilers that pretend to be GCC if defined(__GNUC__) && !defined(__clang__) && !defined(____INTEL_COMPILER)

  378. Rob Swindell
    Sun Jan 05 2025 00:25:57 GMT-0800 (PST)
    Modified Files:
    

    src/encode/GNUmakefile diff
    src/encode/lzh.c diff
    src/encode/lzh.h diff
    src/smblib/smbadd.c diff
    src/smblib/smbtxt.c diff
    Merge branch 'lzh-refactor' into 'master' Overhaul LZH code See merge request main/sbbs!489

  379. Deucе
    Sun Jan 05 2025 00:25:57 GMT-0800 (PST)
    Modified Files:
    

    src/encode/GNUmakefile diff
    src/encode/lzh.c diff
    src/encode/lzh.h diff
    src/smblib/smbadd.c diff
    src/smblib/smbtxt.c diff
    Overhaul LZH code

  380. Deucе
    Sat Jan 04 2025 23:12:52 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Free copied bbs list entry on return. Fixes memory leak found by scan-build.

  381. Deucе
    Sat Jan 04 2025 22:54:50 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Fix memory leak when connection lost during SFTP key check Found by scan-build

  382. Deucе
    Sat Jan 04 2025 22:39:12 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Another NULL dereference after overrunning the string buf. Found by scan-build

  383. Deucе
    Sat Jan 04 2025 22:29:26 GMT-0800 (PST)
    Modified Files:
    

    src/conio/scale.c diff
    Return before getting scaling buffers. Found by scan-build

  384. Deucе
    Sat Jan 04 2025 21:40:51 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Prevent dereferencing NULL bar or cur with WIN_DYN This would be an API violation, but we shouldn't crash about it.

  385. Deucе
    Sat Jan 04 2025 21:40:51 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Ensure max width and height are initialized for new window size Prevents randomly sized windows in X11 mode when the max window size can't be read from window manager. Found by scan-build

  386. Deucе
    Sat Jan 04 2025 21:40:51 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_events.c diff
    Ensure max width and height are initialized Prevents X11 mode from doing very weird things when we are unable to get the max window size from the window manager. Found by scan-build

  387. Deucе
    Sat Jan 04 2025 21:40:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Handle malicious sequences with 2147483648 parameters. Previously, this could (but likely wouldn't) result in accesses outside of allocated memory, doing Very Bad Things. Found by scan-build

  388. Deucе
    Sat Jan 04 2025 21:40:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Avoid read out of bounds in bad CSI m In the CSI 38 : 2 : Z? : R : G : B m variant, if there was no sub params (ie: CSI 38 : m), a read out of bounds would be triggered. Found by scan-build

  389. Deucе
    Sat Jan 04 2025 21:40:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Set defaults for XTerm graphics query before checking Fixes potential read of uninitialized data. Found by scan-build

  390. Deucе
    Sat Jan 04 2025 21:40:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Fix NULL dereference in strbuf error If strbuf is over 5MB, or the realloc() fails, clear strbuf and break before writing to strbuf. Found by scan-build

  391. Deucе
    Sat Jan 04 2025 21:40:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/scale.c diff
    Don't scale when width or height is zero. That's just silly. Found by scan-build

  392. Deucе
    Sat Jan 04 2025 21:40:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Handle case when font[0] == NULL Shouldn't happen, but if it does, return an error, don't dereference Found by scan-build.

  393. Deucе
    Sat Jan 04 2025 21:40:50 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ciolib.c diff
    Fix possible NULL dereference Caught by scan-build. Not actually possible with any of the current backends, but the API would allow it to happen.

  394. Rob Swindell (on Debian Linux)
    Sat Jan 04 2025 20:39:11 GMT-0800 (PST)
    Modified Files:
    

    exec/load/portdefs.js diff
    Define port 6697 as service "ircs-u" (RFC 7194)

  395. Rob Swindell (on macOS)
    Sat Jan 04 2025 18:51:59 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Fix typo in macOS build setting of rpath: LIBODIR, not LIBDIR fix for commit 6e69eec18963a

  396. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 18:19:11 GMT-0800 (PST)
    Modified Files:
    

    ctrl/uifc.ini diff
    Make the default graphcis mode scaling factor: 2 This especially important/noticeable on a 4K monitor.

  397. Deucе
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    Fix ANSI mode window size detection. Previously, it wrote to the last cell on the screen, so would detect column 1 in terminals that wrapped, now moves back one cell before printing the _. Also, since that's fixed, grab the number of columns as well.

  398. Deucе
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    src/syncterm/ssh.c diff
    src/uifc/uifc_ini.c diff
    src/xpdev/xpbeep.c diff
    More suppressions

  399. Deucе
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    Suppress Coverity overflow issue. This can't actually happen.

  400. Deucе
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    src/sftp/sftp_static.h diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/syncterm/syncterm.c diff
    src/xpdev/xpbeep.c diff
    Fix the Coverity annotations

  401. Rob Swindell (on Debian Linux)
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    exec/rehashfiles.js diff
    Actually support the second (filename) argument, when specified

  402. Deucе
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    Yep, Coverity knows those won't do anything.

  403. Deucе
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    src/sftp/sftp_static.h diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/xpdev/xpbeep.c diff
    Suppress some of the more egregious false positives.

  404. Deucе
    Sat Jan 04 2025 16:18:24 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.h diff
    Switch all *nix systems to use send() Bwa ha ha!

  405. Deucе
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    src/xpdev/xpbeep.c diff
    Remove sendfilesocket() and recvfilesocket() Make js_socket_sendfilesocket() suck a lot less. This commit brought to you with limited rants by Synchronet 3.20b "Warning: Your BBS may become habit forming." You could run Synchronet or you could settle for mediocrity. Once in a great while, there comes BBS software that really makes waves. Get out your surfboard. The best BBS software is the most expensive BBS software. NOT! If you had three wishes, you could toss the other two. They couldn't top Synchronet. So we did. Accept the inevitable, switch to Synchronet

  406. Deucе
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    Give up on making Coverity happy. This code is fine.

  407. Deucе
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    So, Coverity knows that won't happen, so that just creates a new issue Try untainting it in recv_hex... if that doesn't work, I'll just have to ignore it I guess.

  408. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Increase rev to C (v3.20c)

  409. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Added Files:
    

    src/sbbs-release.bat diff
    This wasn't rebuilding anything after sbbsctrl You have "call" a batch file to not terminate. Fix the fail check after building chat.exe

  410. Deucе
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    Add a (much) larger test vector for LZH It has a 4k window, we need to fill it multiple times.

  411. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.dfm diff
    Add File->Run->File Manager menu item launches 'jsexec fileman.js' (not in GDI mode)

  412. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Added Files:
    

    src/sbbs_release.bat diff
    Batch file I've been using to build the SBBS-Win32 release binaries

  413. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    install/FILE_ID.DIZ diff
    Change date to today (3rd)

  414. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/ConfigWizardUnit.cpp diff
    Don't use/set SM_EURODATE in sys_misc (deprecated), use sys_date_fmt instead Fix off-by-one error in checking TimeZoneComboBox->ItemIndex again tz_val array. When choosing the last (Other/Automatic) item, no change to the sys_timezone should be made (was setting it to 0/UTC).

  415. Rob Swindell (on Debian Linux)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    text/bullseye.asc diff
    text/bullseye.cfg diff
    Remove "What is DOVE-Net" bullet (very stale and long)

  416. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 16:18:23 GMT-0800 (PST)
    Modified Files:
    

    install/install.iss diff
    Include a copy of sbbslist.json (that was "share=qwk" exported from Vertrauen)

  417. Deucе
    Sat Jan 04 2025 15:01:56 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    Fix ANSI mode window size detection. Previously, it wrote to the last cell on the screen, so would detect column 1 in terminals that wrapped, now moves back one cell before printing the _. Also, since that's fixed, grab the number of columns as well.

  418. Deucе
    Sat Jan 04 2025 13:42:15 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    src/syncterm/ssh.c diff
    src/uifc/uifc_ini.c diff
    src/xpdev/xpbeep.c diff
    More suppressions

  419. Deucе
    Sat Jan 04 2025 13:35:56 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    Suppress Coverity overflow issue. This can't actually happen.

  420. Deucе
    Sat Jan 04 2025 02:05:37 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    src/sftp/sftp_static.h diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/syncterm/syncterm.c diff
    src/xpdev/xpbeep.c diff
    Fix the Coverity annotations

  421. Rob Swindell (on Debian Linux)
    Sat Jan 04 2025 02:01:43 GMT-0800 (PST)
    Modified Files:
    

    exec/rehashfiles.js diff
    Actually support the second (filename) argument, when specified

  422. Deucе
    Sat Jan 04 2025 01:51:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    Yep, Coverity knows those won't do anything.

  423. Deucе
    Sat Jan 04 2025 01:44:39 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    src/sftp/sftp_static.h diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/ssh.c diff
    src/xpdev/xpbeep.c diff
    Suppress some of the more egregious false positives.

  424. Deucе
    Sat Jan 04 2025 01:22:41 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.h diff
    Switch all *nix systems to use send() Bwa ha ha!

  425. Deucе
    Sat Jan 04 2025 01:11:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    src/xpdev/xpbeep.c diff
    Remove sendfilesocket() and recvfilesocket() Make js_socket_sendfilesocket() suck a lot less. This commit brought to you with limited rants by Synchronet 3.20b "Warning: Your BBS may become habit forming." You could run Synchronet or you could settle for mediocrity. Once in a great while, there comes BBS software that really makes waves. Get out your surfboard. The best BBS software is the most expensive BBS software. NOT! If you had three wishes, you could toss the other two. They couldn't top Synchronet. So we did. Accept the inevitable, switch to Synchronet

  426. Deucе
    Sat Jan 04 2025 01:00:09 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    Give up on making Coverity happy. This code is fine.

  427. Deucе
    Sat Jan 04 2025 00:52:08 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    So, Coverity knows that won't happen, so that just creates a new issue Try untainting it in recv_hex... if that doesn't work, I'll just have to ignore it I guess.

  428. Rob Swindell (on Windows 11)
    Sat Jan 04 2025 00:40:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Increase rev to C (v3.20c)

  429. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 23:42:24 GMT-0800 (PST)
    Added Files:
    

    src/sbbs-release.bat diff
    This wasn't rebuilding anything after sbbsctrl You have "call" a batch file to not terminate. Fix the fail check after building chat.exe

  430. Deucе
    Fri Jan 03 2025 23:30:13 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    Add a (much) larger test vector for LZH It has a 4k window, we need to fill it multiple times.

  431. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 22:23:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.dfm diff
    Add File->Run->File Manager menu item launches 'jsexec fileman.js' (not in GDI mode)

  432. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 21:29:34 GMT-0800 (PST)
    Added Files:
    

    src/sbbs_release.bat diff
    Batch file I've been using to build the SBBS-Win32 release binaries

  433. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 21:28:33 GMT-0800 (PST)
    Modified Files:
    

    install/FILE_ID.DIZ diff
    Change date to today (3rd)

  434. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 21:22:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/ConfigWizardUnit.cpp diff
    Don't use/set SM_EURODATE in sys_misc (deprecated), use sys_date_fmt instead Fix off-by-one error in checking TimeZoneComboBox->ItemIndex again tz_val array. When choosing the last (Other/Automatic) item, no change to the sys_timezone should be made (was setting it to 0/UTC).

  435. Rob Swindell (on Debian Linux)
    Fri Jan 03 2025 20:45:19 GMT-0800 (PST)
    Modified Files:
    

    text/bullseye.asc diff
    text/bullseye.cfg diff
    Remove "What is DOVE-Net" bullet (very stale and long)

  436. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 20:04:53 GMT-0800 (PST)
    Modified Files:
    

    install/install.iss diff
    Include a copy of sbbslist.json (that was "share=qwk" exported from Vertrauen)

  437. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 19:36:02 GMT-0800 (PST)
    Modified Files:
    

    docs/v320_new.txt diff
    Add new @-code: MINSPACE

  438. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 19:31:44 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    Fix off-by-one error in sbbs_t::cleartoeol() for non-ANSI terminals This was evident by logging in with PETSCII/64col mode and the last ']' of the "Loading message pointers..." progress indicator was left in the first right column of the screen.

  439. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 19:19:34 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    Use verbal short date format by default

  440. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 19:18:16 GMT-0800 (PST)
    Modified Files:
    

    ctrl/file.ini diff
    Allow uploaded filenames to contain space characters (not Yoda) by default Increase the minmimum free disk space to 1G by default (most modern computer sysops will probably want to increase this even more).

  441. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 19:10:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/js_user.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Using parse_birthdate() whenever changing user's birthdate field via Baja/JS This means that when writing user.birthdate (in JS) for example, we will always save the field in the proper (YYYYMMDD) format. This fixes issue #855. Remove use of SM_EURODATE from userdat.c. This commit includes new @-code MINSPACE (minimum diskspace required to allow uploads) too (unrelated change).

  442. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 17:45:07 GMT-0800 (PST)
    Added Files:
    

    text/menu/random_sync_starwars1.asc diff
    text/menu/random_sync_starwars2.asc diff
    text/menu/random_synch_gj_splash.asc diff
    Add Eva's Star Wars inspired "SYNC" splash ANSI art to to a random rotation ... that includes GJ's (now well known/seen) "SYNCH" splash ANSI.

  443. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 17:45:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Add another flength() check before renaming bad QWK packets To hopefully address: !ERROR 2 (No such file or directory) renaming s:\sbbs\data\file/somenum.rep (-1 bytes) to s:\sbbs\data\file/somenum.rep.6777ed7c.bad Clearly flength() is returning -1 (file doesn't exist) at this point, so perhaps the call to fremove() just above updated a cached directory?

  444. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 17:45:07 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/datewrap.c diff
    Move the comment about mktime() usage back to where it makes sense :-)

  445. Rob Swindell (on Windows 11)
    Fri Jan 03 2025 17:45:07 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/datewrap.c diff
    Use difftime() in checktime() as Deuce suggested Fix some newly introduced MSVC warnings: conversion from 'time_t' to 'uint32_t', possible loss of data Should these local vars be time32_t instead of uint32_t? I'm not clear why the 2 step conversions now (?): time_t -> uint32_t uint32_t -> time32_t

  446. Deucе
    Fri Jan 03 2025 17:37:32 GMT-0800 (PST)
    Modified Files:
    

    src/encode/GNUmakefile diff
    src/encode/lzh.c diff
    Simple test for LZH encode/decode So I can poke it and break things.

  447. Deucе
    Fri Jan 03 2025 15:50:05 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dns.js diff
    Socket.recv() can return null and undefined

  448. Deucе
    Fri Jan 03 2025 15:35:29 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dns.js diff
    Don't return 0 when unable to parse integers. 0 is a valid value, results are undefined. Validate the size of the message at each step and throw an error if something goes wrong. Should fix the issue where an IRC spammers DNS was detected as local, so the anti-spammer bot banned my server address intead of the spammers address.

  449. Deucе
    Fri Jan 03 2025 14:13:30 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Actually, mark this as suppress since I would like this one to go away

  450. Deucе
    Fri Jan 03 2025 13:45:31 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Try to tell Coverity that getch() isn't constant. I'm not sure if I can do this with events, or just issues, and I don't want to directly annotate this issue because that could lead to missing an issue after a future code change. The return value of getch() will never be const though.

  451. Deucе
    Fri Jan 03 2025 13:19:02 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    src/uifc/uifc_ini.c diff
    Annotate intentional "missing locks"

  452. Deucе
    Fri Jan 03 2025 13:15:18 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Annotate missing commas

  453. Deucе
    Fri Jan 03 2025 13:13:56 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Annotate risky call to random()

  454. Deucе
    Fri Jan 03 2025 13:12:56 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/datewrap.c diff
    Annotate intentional stores of time_t in 32-bit value

  455. Deucе
    Fri Jan 03 2025 11:43:45 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/xpbeep.c diff
    Return value of write() is tainted Since Coverity treates the return value of write() as tainted (valid for negative values, not so valid for positive ones), do an upper bound check on the result as well as lower bound to clear the tainted flag.

  456. Deucе
    Fri Jan 03 2025 11:41:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    Ok, so the real issue Coverity has is the tainting of nX. Have zmodem_recv_nibble() explicitly range-check all values, and handle negative values. If this remains an issue, it can be untainted with range checks on each nibble, but let's not go there to start with.

  457. Deucе
    Fri Jan 03 2025 11:01:11 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/rlogin.c diff
    More type fixes.

  458. Deucе
    Fri Jan 03 2025 10:57:47 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    Remove stutter.

  459. Deucе
    Fri Jan 03 2025 10:46:32 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    "Range check" RIP ICN width/height to untaint them. This is purely to shut up Coverity since there's no way the value could be outside the range.

  460. Deucе
    Fri Jan 03 2025 10:34:22 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    Move ssh_complete out of ssh_mutex Coverity seems to hate it mostly in the mutex, so change it to mostly outside of the mutex and see if that's fine. It doesn't really matter where it's changed as it's an atomic bool.

  461. Deucе
    Fri Jan 03 2025 10:20:48 GMT-0800 (PST)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    Add missing continue We don't want ch == -2 derping through the rest of the loop. Luckily, ch is never currently == -2 as far as I know.

  462. Deucе
    Fri Jan 03 2025 10:02:53 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Don't return -1 from safe_snprintf() when size is zero.

  463. Deucе
    Fri Jan 03 2025 09:57:04 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Add some paranoia around size of macros. Initially set 1MB as the max macro size. I can't imagine wanting one bigger than this, but I can bump it up if needed. This likely fixes a vulerability where the BBS could at least crash SyncTERM, and at most take control of the users system. This likely isn't the only place that needs bounds checks like this.

  464. Deucе
    Fri Jan 03 2025 09:37:17 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    Make the types correct and eliminate infinite loop. If a write() to the sound device fails (for example USB device goes away), this would loop forever (in it's own thread and whatnot, so you only notice because sounds stops and a core gets used up).

  465. Deucе
    Fri Jan 03 2025 08:59:29 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    *Sigh* Borland.

  466. Deucе
    Fri Jan 03 2025 01:21:36 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    Bring some sanity to sendfilesocket() Not that there's any need to, it appears that it was written for the web server, then discarded for that purpose and now is only called from the JS Socket.sendfile() method, which always passes NULL and 0 for the last two parameters, and has a copy/pasted implementation for TLS sockets. The only consumer of that in the tree appears to be gopher_service.js. It was apparently to use as a wrapper for the high-performance FreeBSD sendfile(), but that code behaved differently than all the other platforms, and was disabled (behind USE_SENDFILE, which isn't defined anywhere). This should really just be folded into either js_socket_sendfilesocket() or js_sendfile() with the extra knobs broken off and all the TODO comments I'm adding here addressed. Though, since Socket.sendfile() returns a bool where true indicates that either the size of the file at the start of the function was sent, or an EOF was reached, and false indicates that "something else happened", some of the TODO comments don't really need to be addressed. Basically, this is a crap function and it's only used by an even more crap JS wrapper, it should be tucked into a backward compatibility function, removed from the JSDocs, and forgotten about. If Coverity keeps complaining about this, I'll wait until after the next release and drag this out back and shoot it. Otherwise, I'll just forget it ever existed.

  467. Deucе
    Fri Jan 03 2025 00:40:15 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    Fix types here too.

  468. Deucе
    Fri Jan 03 2025 00:38:48 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/rlogin.c diff
    Fix types.

  469. Deucе
    Fri Jan 03 2025 00:30:40 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Another attempt to silence Coverity. This may be the first time in my life that I've used difftime()... which is strictly one of only two things you're actually allowed to do with a time_t per the C standard (the other is convert into a broken-down time).

  470. Rob Swindell (on Debian Linux)
    Thu Jan 02 2025 22:42:08 GMT-0800 (PST)
    Modified Files:
    

    text/newuser.msg diff
    text/sbbs.msg diff
    Enable word-wrap for better < 80 col new user experience

  471. Rob Swindell (on Debian Linux)
    Thu Jan 02 2025 22:40:04 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/text_defaults.c diff
    Add some conditional newlines for better < 80 col experience

  472. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 22:36:57 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.vcxproj diff
    Revert "Include the ciolib.manifest the right way" This reverts commit 9b2c9c0830c7b55ace641727d30454fefa2ec65a. Don't need this now that we use the property sheet method

  473. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 22:34:53 GMT-0800 (PST)
    Modified Files:
    

    src/conio/conio_gdi.props diff
    Set the AdditionalManifestFiles as a property sheet This is the (better) way. See, Deuce knows the coolness of property sheets!

  474. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 22:25:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.vcxproj diff
    Include the ciolib.manifest the right way To get proper high DPI scaling and such

  475. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 22:25:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.rc diff
    Revert "Add the ciolib.manifest to the resource to try an enable high DPI mode" This reverts commit cb710acf876aaa939c85bc2c353cf76c4a1a6cb9. This is not the way.

  476. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 22:11:31 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smbstr.c diff
    Fix small negative UTC-offset output from smb_zonestr() When passed values between (-1 and -59), this function would output something nonsensical like: "UTC0:01" or "UTC0:59". Now we'll make sure there's a minus sign in these conditions (e.g. "UTC-0:01" and "UTC-0:59").

  477. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 22:03:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.rc diff
    Add the ciolib.manifest to the resource to try an enable high DPI mode This isn't doing what I want, but maybe Deuce can help look at the artifact from the build pipeline and offer suggestions.

  478. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 20:59:23 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    LBSHELL really needs 80 columns or more to work right Also, change the shell order a little

  479. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 20:40:44 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/ConfigWizardUnit.cpp diff
    src/sbbs3/ctrl/ConfigWizardUnit.h diff
    Support auto-timezone, delete cryptlib.key and ssl.cert when changing syspass If the timezone is set to automatic and it's not a new install, don't display "UTC0:01" as the time zone (that's weird), display "Automatic (UTC[+/-]HH:MM)" instead. When changing the system password via this config wizard, the cryptlib.key and ssl.cert files, if they exist, will be invalid, so delete them.

  480. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 20:16:14 GMT-0800 (PST)
    Modified Files:
    

    ctrl/ircd.ini diff
    Disabling ircd/TLS (port 6697) by default See issue #854 for details

  481. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 17:38:43 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    Add Oblivion/2 Command Shell, update access requirements for several others Most of these shells (their menu/display files really) require a terminal at least 80 columns wide to look/work right.

  482. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 17:38:21 GMT-0800 (PST)
    Modified Files:
    

    exec/GNUmakefile diff
    exec/Makefile diff
    Add some missing baja modules

  483. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 17:38:21 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/zmodem.c diff
    Resolve newly added MSVC warning warning C4244: 'return': conversion from 'uint64_t' to 'unsigned int', possible loss of data

  484. Rob Swindell (on Debian Linux)
    Thu Jan 02 2025 17:37:35 GMT-0800 (PST)
    Modified Files:
    

    exec/update.js diff
    Make the output of the logonlist and trashman installer nicer ... especially when it's already beeen installed

  485. Rob Swindell (on Debian Linux)
    Thu Jan 02 2025 16:49:49 GMT-0800 (PST)
    Modified Files:
    

    exec/update.js diff
    Add Trashman as Monthly system/fixed event, if there isn't one This'll keep your ip.can and spamblock.cfg files maintained.

  486. Rob Swindell (on Debian Linux)
    Thu Jan 02 2025 15:34:29 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    Include '.exe' suffix for trashman utility on Windows

  487. Deucе
    Thu Jan 02 2025 10:49:27 GMT-0800 (PST)
    Modified Files:
    

    src/encode/lzh.c diff
    Attempt to fix Coverity CID 454296 This is that rare case where a Coverity fix makes the code more obvious and shorter.

  488. Deucе
    Thu Jan 02 2025 10:30:42 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    Actually we only need to not pass rd, SSIZE_MAX doesn't matter

  489. Deucе
    Thu Jan 02 2025 10:25:18 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    Some more Coverity paranoia. This ones does require SSIZE_MAX... so let's see what the pipes say...

  490. Deucе
    Thu Jan 02 2025 10:16:11 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    Some especially silly Coverity-induced paranoia.

  491. Deucе
    Thu Jan 02 2025 10:03:22 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio_nix.c diff
    src/conio/cterm.c diff
    src/conio/curs_cio.c diff
    src/sbbs3/zmodem.c diff
    src/syncterm/modem.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/term.c diff
    src/xpdev/genwrap.c diff
    Some low-hanging fruit Coverity issues These are either correct and trivial to fix, or false positives, but fixing is easy enough that it's not a problem.

  492. Deucе
    Thu Jan 02 2025 08:39:14 GMT-0800 (PST)
    Modified Files:
    

    exec/load/lightbar.js diff
    Use the new console.term_supports() method. While it's only been around for about 18 years, I'll assume that anyone updating the exec directory has updated Synchronet as well.

  493. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 01:19:04 GMT-0800 (PST)
    Modified Files:
    

    exec/user_settings.js diff
    src/sbbs3/useredit.cpp diff
    When editing the current/online user, copy the auto-term settings to user rec (user_t.misc, User.settings), when enabling auto-terminal detection. This is similar to what we do in logon.cpp already: useron.misc |= (AUTOTERM | autoterm); We used to have this logic in useredit.cpp, but was removed in commit 8a71ab16c2, probably due to editing offline users (e.g. in ;uedit sysop comand). So just do the copy of autoterm flags when editing the *current* (online) user. This likely addresses the original concern in that commit. And it fixes issue #853, thanks to Deuce for root-causing

  494. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 00:34:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    Remove the -l25 from the default SCFG command-line ... since that puts us back into VGA tall-font mode

  495. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 00:34:42 GMT-0800 (PST)
    Added Files:
    

    ctrl/uifc.ini diff
    A default UIFC app configuration file (for scfg, echocfg, umonitor, uedit) Each app can have its own config file as well (e.g. ctrl/scfg.ini)

  496. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 00:34:42 GMT-0800 (PST)
    Modified Files:
    

    ctrl/xtrn.ini diff
    Enable Minesweeper graphics mode by default

  497. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 00:34:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Don't create (or write) to qnet.dab, so open with right access We're just converting/upgrading this file (to time.ini), so don't log an error (reading) if/when the file doesn't exist.

  498. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 00:34:42 GMT-0800 (PST)
    Modified Files:
    

    xtrn/dpoker/Makefile diff
    Add missing library to link command Fixes Error: Unresolved external 'GetNetworkParams' referenced

  499. Rob Swindell (on Windows 11)
    Thu Jan 02 2025 00:34:42 GMT-0800 (PST)
    Modified Files:
    

    exec/Makefile diff
    Remove a bunch of obsolete .src file references

  500. Deucе
    Thu Jan 02 2025 00:32:41 GMT-0800 (PST)
    Modified Files:
    

    exec/load/lightbar.js diff
    Add important not.

  501. Deucе
    Thu Jan 02 2025 00:31:01 GMT-0800 (PST)
    Modified Files:
    

    exec/lbshell.js diff
    exec/load/lightbar.js diff
    Two fixes an two alert()s. Some things were using the global i and not a local i... this was not a problem. Added alerts when lightbar.draw() aborts due to no ANSI or no colour.

  502. Deucе
    Thu Jan 02 2025 00:00:02 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/libjxl.c diff
    Loading JXLT didn't fail if threads can't be loaded.

  503. Deucе
    Thu Jan 02 2025 00:00:02 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/libjxl.c diff
    Remove left-in declaration. Fixes JPEG XL again.

  504. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 23:47:08 GMT-0800 (PST)
    Added Files:
    

    install/systemd/ftpd.service diff
    Example systemd file for running Synchronet FTP service separately

  505. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 23:45:07 GMT-0800 (PST)
    Modified Files:
    

    exec/user_settings.js diff
    Don't change user settings when the user hits Ctrl-C to abort ... or at least, try really hard not to

  506. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 23:44:50 GMT-0800 (PST)
    Modified Files:
    

    exec/xtrn_sec.js diff
    Fix typo

  507. Deucе
    Wed Jan 01 2025 22:39:56 GMT-0800 (PST)
    Modified Files:
    

    src/sftp/sftp_attr.c diff
    Another Coverity "fix"... This is kinda valid... I am reading a 32-bit integer from a socket, then trying to loop that many times. What Coverity didn't notice though is that the loop will exit way before due to the buffer being exhausted. By ensuring that it's less than UINT32_MAX/4, I'm still not really enforcing anything since with the 32-bit value for extcnt, and a 32-bit value for every string, there could only be strings before it failed anyway, even with a 4GB buffer (which you couldn't do).

  508. Deucе
    Wed Jan 01 2025 22:34:45 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Eliminate a couple more Coverity issues via temporary variables. This gets the assignment to the rip.* members out of the lock so Coverity doesn't assume they need to be protected by the lock. It should compile to the same thing.

  509. Deucе
    Wed Jan 01 2025 22:23:38 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    "Fix" another longstanding Coverity false-positive.

  510. Deucе
    Wed Jan 01 2025 22:13:48 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdlfuncs.c diff
    src/conio/win32gdi.c diff
    src/conio/x_cio.c diff
    src/syncterm/libjxl.c diff
    Make all DLL handles globals so Coverity stops complaining. They're not "leaking" if I want them to liver forever. :D This does prevent an extra needless load if User.dll though... but sdlfuncs and win32gdi both still load the same two DLLs.

  511. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 22:00:37 GMT-0800 (PST)
    Modified Files:
    

    install/FILE_ID.DIZ diff
    Updated for v3.20b

  512. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 21:59:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Increment rev to 3.20b (not beta)

  513. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 21:46:10 GMT-0800 (PST)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Fix an MSVC warning

  514. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 21:39:56 GMT-0800 (PST)
    Modified Files:
    

    install/install.iss diff
    Updated copyright year, include mosquitto.dll

  515. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 21:39:08 GMT-0800 (PST)
    Modified Files:
    

    docs/install.rtf diff
    Updated for v3.20, now editing with Word since WordPad is no longer included in Windows

  516. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 21:28:01 GMT-0800 (PST)
    Modified Files:
    

    src/conio/win32cio.c diff
    src/conio/win32gdi.c diff
    Resolve some MSVC warnings

  517. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 21:25:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Continue the "ERROR ... renaming" bad QWK packet fight Check and log the length of the packet now (since fexist() continues to report that the file exists when fexistcase() said it did not, even when experimenting with adding a call to access(filanem, F_OK). This likely affects no system but VERT.

  518. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 21:22:41 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    Enable the trashman monthly event in new installs Cleans-up (deletes) expired filters in text/ip.can and ctrl/spamblock.cfg

  519. Deucе
    Wed Jan 01 2025 20:51:08 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ssh.c diff
    src/syncterm/ssh.h diff
    Give SSH the same treatment TelnetS just got. Use an atomic that's checked in the while loop in the io threads, for SSH, we needed to add a new one since ssh_active indicates the cryptlib session is active, so use ssh_complete to indicate that a CRYPT_ERROR_COMPLETE (or other final message) occured. This should fix issue 174.

  520. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 19:57:25 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dns.js diff
    Resolve some crashes/exceptions observed today when used by ircd.js ircd.js kept crashing on startup on vert with these errors, right after it logged: Accepting new connection on port 6667 0832 Accepted new connection: 71.95.196.36 port 55646 [UNREG] Resolving IP: 71.95.196.36

  521. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 15:07:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Beautification/adjustment of the key/combo help

  522. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 15:07:04 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getkey.cpp diff
    Ust TERM_KEY_DOWN instead of (non-obvious) LF macro No functional change.

  523. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 14:47:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/AboutBoxFormUnit.dfm diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/sbbsdefs.h diff
    Increment copyright year to 2025

  524. Rob Swindell (on Windows 11)
    Wed Jan 01 2025 14:22:03 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Add additional key/combinatino help text Many sysops probably don't realize these keys do special stuff.

  525. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 04:06:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    src/sbbs3/sbbsdefs.h diff
    src/xpdev/filewrap.h diff
    Move FILE_RETRY_DELAY definition to filewrap.h so we can use it in nopen.c without requiring sbbsdefs.h ... smbdefs.h This should fix the SVDM build.

  526. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 03:42:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/userdat.c diff
    Insure FILE_RETRY_DELAY before lock retries

  527. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 03:41:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    Use FILE_RETRY_DELAY macro for consistent retry behavior

  528. Rob Swindell (on Debian Linux)
    Wed Jan 01 2025 03:25:38 GMT-0800 (PST)
    Modified Files:
    

    exec/testbuild.js diff
    Remove the temp directory and contents, git clone requires empty dir

  529. Deucе
    Wed Jan 01 2025 01:16:38 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/Manual.txt diff
    Document ALT-XXX usage

  530. Deucе
    Wed Jan 01 2025 00:49:03 GMT-0800 (PST)
    Added Files:
    

    3rdp/darwin.release/libjxl/include/jxl/cms.h diff
    3rdp/darwin.release/libjxl/include/jxl/cms_interface.h diff
    3rdp/darwin.release/libjxl/include/jxl/codestream_header.h diff
    3rdp/darwin.release/libjxl/include/jxl/color_encoding.h diff
    3rdp/darwin.release/libjxl/include/jxl/compressed_icc.h diff
    3rdp/darwin.release/libjxl/include/jxl/decode.h diff
    3rdp/darwin.release/libjxl/include/jxl/decode_cxx.h diff
    3rdp/darwin.release/libjxl/include/jxl/encode.h diff
    3rdp/darwin.release/libjxl/include/jxl/encode_cxx.h diff
    3rdp/darwin.release/libjxl/include/jxl/gain_map.h diff
    3rdp/darwin.release/libjxl/include/jxl/jxl_cms_export.h diff
    3rdp/darwin.release/libjxl/include/jxl/jxl_export.h diff
    3rdp/darwin.release/libjxl/include/jxl/jxl_threads_export.h diff
    3rdp/darwin.release/libjxl/include/jxl/memory_manager.h diff
    3rdp/darwin.release/libjxl/include/jxl/parallel_runner.h diff
    3rdp/darwin.release/libjxl/include/jxl/resizable_parallel_runner.h diff
    3rdp/darwin.release/libjxl/include/jxl/resizable_parallel_runner_cxx.h diff
    3rdp/darwin.release/libjxl/include/jxl/stats.h diff
    3rdp/darwin.release/libjxl/include/jxl/thread_parallel_runner.h diff
    3rdp/darwin.release/libjxl/include/jxl/thread_parallel_runner_cxx.h diff
    3rdp/darwin.release/libjxl/include/jxl/types.h diff
    3rdp/darwin.release/libjxl/include/jxl/version.h diff
    3rdp/darwin.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/darwin.release/libjxl/lib/libbrotlidec.a diff
    3rdp/darwin.release/libjxl/lib/libhwy.a diff
    3rdp/darwin.release/libjxl/lib/libjxl.a diff
    3rdp/darwin.release/libjxl/lib/libjxl_threads.a diff
    Modified Files:

    src/syncterm/GNUmakefile diff
    Add static fat libraries for libjxl for Darwin It'll use something pkg-config turns up first, but it looks like brew doesn't have it yet.

  531. Deucе
    Tue Dec 31 2024 21:12:57 GMT-0800 (PST)
    Modified Files:
    

    src/conio/win32cio.c diff
    src/conio/win32cio.h diff
    src/conio/win32gdi.c diff
    src/conio/x_events.c diff
    src/syncterm/CHANGES diff
    And finally, add the ALT+XXX support to Windows Both console and GDI.

  532. Rob Swindell (on macOS)
    Tue Dec 31 2024 19:12:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Check return value of lseek() before reading/writing node.dab records I don't know if these seek failures are actually happening or not, but reading from or writing to the wrong offset in the node.dab file could explain some of the node.dab corruption I'm seeing from macOS (over SMB share).

  533. Deucе
    Tue Dec 31 2024 16:23:53 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Add Alt+decimal parsing to SDL mode as well.

  534. Deucе
    Tue Dec 31 2024 15:03:17 GMT-0800 (PST)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    In X11 mode, support arbitrary character entry. You still cannot enter a NUL. Holding down ALT and entering an 8-bit decimal number on the keypad starting with a digit from 1-9 will pass that byte to the input buffer as entered. If you prefix the decimal number with the keypad zero, you can enter a Unicode codepoint to be translated and sent (if it translates).

  535. Deucе
    Tue Dec 31 2024 14:04:03 GMT-0800 (PST)
    Modified Files:
    

    src/conio/curs_cio.c diff
    src/conio/sdl_con.c diff
    An initial attempt to normalize CTRL handling across modes. This make curses mode try to map ctrl chars, but fall back to the old behaviour of keeping the ctrl char. In SDL, this is just a code cleanup.

  536. Deucе
    Tue Dec 31 2024 13:47:05 GMT-0800 (PST)
    Modified Files:
    

    src/conio/win32cio.c diff
    Explicitly use the "ANSI" console read/write functions. Where we use the AsciiChar memory of the returned struct.

  537. Deucе
    Tue Dec 31 2024 10:30:33 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/telnets.c diff
    C17 deprecated ATOMIC_INIT_VAR() so we can use regular initialization Since even Microsoft (experimentally) claims to support C17 atomics correctly, don't bother with the extra verbosity of using explicit atomic "stuff" and just use assigment/access as normal.

  538. Deucе
    Tue Dec 31 2024 10:17:55 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    Disable Whole Program Optimization This allows linking obj files built with different toolsets I think.

  539. Deucе
    Tue Dec 31 2024 02:59:16 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/build.bat diff
    Nope. I guess just because it works on my computer doesn't mean it will work on someone else's. :(

  540. Deucе
    Tue Dec 31 2024 02:57:40 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/build.bat diff
    Clean first?

  541. Deucе
    Tue Dec 31 2024 02:53:47 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    We need to use a modern toolset for atomics. Because they were only defined in 2011. :(

  542. Deucе
    Tue Dec 31 2024 02:41:42 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/telnets.c diff
    Whoops, close that #ifdef

  543. Deucе
    Tue Dec 31 2024 02:36:41 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    src/syncterm/telnets.c diff
    Apparently, MSVC has atomics, but they're experimental and hidden.

  544. Deucе
    Tue Dec 31 2024 02:19:12 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    Nope, that doesn't work.

  545. Deucе
    Tue Dec 31 2024 02:17:40 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    Specify a C++ C17 language standard too?

  546. Deucе
    Tue Dec 31 2024 02:09:07 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/telnets.c diff
    Apparently, just being defined is enough.

  547. Deucе
    Tue Dec 31 2024 02:01:38 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    Enable C17 mode.

  548. Deucе
    Tue Dec 31 2024 01:59:00 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/telnets.c diff
    Hrm, be more paranoid aboit __STDC_NO_ATOMICS__ I guess?

  549. Deucе
    Tue Dec 31 2024 01:45:44 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/telnets.c diff
    Use an atomic_bool instead of a mutext for telnets_active This doesn't rely on implementation-defined behaviour. I would like to use call_once(), but I also want to be consistent with all the other code, so use pthread_once() for now.

  550. Deucе
    Tue Dec 31 2024 00:45:22 GMT-0800 (PST)
    Modified Files:
    

    xtrn/lord/lord.js diff
    Actually use the SyncTERM cache list command. This verifies the MD5 sums of the files, not the file date, so is better all around, and is much faster than using the RIP file statistics stuff.

  551. Deucе
    Mon Dec 30 2024 23:58:10 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Document the crash fix

  552. Deucе
    Mon Dec 30 2024 23:48:55 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Just because we're *compiled* with graphics support doesn't mean we support them in the current mode. Fixes issue 175

  553. Deucе
    Mon Dec 30 2024 23:02:00 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/CMakeLists.txt diff
    src/syncterm/Info.plist diff
    src/syncterm/Manual.txt diff
    src/syncterm/PackageInfo.in diff
    src/syncterm/dpkg-control.in diff
    src/syncterm/haiku.rdef diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    Make this 1.4b I think I'll do a 1.4 release soon with JPEG XL as the "main" feature, and roll-up the fixes into it.

  554. Deucе
    Mon Dec 30 2024 22:33:15 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Enable it on x86 mac too. Whee!

  555. Deucе
    Mon Dec 30 2024 22:30:30 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Enable GTK on Apple-arm64

  556. Deucе
    Mon Dec 30 2024 22:25:57 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/gtkmonitor/GNUmakefile diff
    src/sbbs3/gtkuseredit/GNUmakefile diff
    src/sbbs3/gtkuserlist/GNUmakefile diff
    src/sbbs3/userlist/GNUmakefile diff
    For macOS, set install_name to @rpath/libNAME.dylib and use it For the SBBS binaries, set @executable_path and @executable_path/../${LIBODIR} so they can all be in one dir, or they can be in the build output dirs and still work. For utilities, set to @executable_path and @executable_path/../../${LIBODIR} for the same reason. With this, we shouldn't need to fiddle with DYLD_LIBRARY_PATH

  557. Deucе
    Mon Dec 30 2024 21:01:04 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    src/sbbs3/gtkmonitor/GNUmakefile diff
    src/sbbs3/gtkuseredit/GNUmakefile diff
    src/sbbs3/gtkuserlist/GNUmakefile diff
    Fix GTK stuff for macOS Remove the -E linker flag. This should not be needed anymore, and isn't supported on macOS. Have shared libraries include their full path. This allows linked dylibs to work from where they were built, so as long as you don't build the binaries on a CI machine, then try to run them on a users machine (*cough*), it'll work out. Use the correct rpath argument format on macOS. It uses -rpath, not --rpath.

  558. Deucе
    Mon Dec 30 2024 17:22:41 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Convert ^G back to 7 when sent. This technically fixes issue 137 which specifically asked for "backslash", but backspace (^H) and tab (^I) along with CR (^M) still do a different thing than they do on Atari keyboards. Further, CTRL-Q and CTRL-S are used by SyncTERM for Quit and Menu respectively, so someone expecting all the Atari "stuff" to work will still be disappointed. This is a general problem with non-PC emulation (ie: Prestel, Atari, and Commodore) that really needs some kind of general solution.

  559. Deucе
    Mon Dec 30 2024 17:22:41 GMT-0800 (PST)
    Modified Files:
    

    src/conio/utf8_codepages.c diff
    Replace incorrect north-west arrow with new Unicode glyph. Specifically, ARROW POINTING UPWARDS THEN NORTH WEST

  560. Rob Swindell (on Windows 11)
    Mon Dec 30 2024 14:57:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Check return value of JS_NewStringCopyZ (for NULL) Kind of a shot in the dark here: Max (WESTLINE) is reporting HEAP CORRUPTION debug assertion in websrvr.dll. In the 2 instances reported, a long (336 char) JSON "query value" was logged by apparent spam-bot trying to create a a new user account ("send-me-free-stuff" is one of the JSON properties). JS_NewStringCopyZ() can return NULL in a low memory situation, though I don't know that explains possible heap corruption.

  561. Deucе
    Mon Dec 30 2024 14:53:01 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Document that telnets error handling is "fixed"

  562. Deucе
    Mon Dec 30 2024 14:50:00 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/telnets.c diff
    Set telnets_active to false on error, not true. This way, when an error occurs, it will at least terminate the session instead of requiring you to disconnect yourself. This partially addresses issue 174, assuming it's actually telnets.

  563. Deucе
    Sun Dec 29 2024 19:12:37 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    Use `tail -n 1` intead of `grep -v '#'` Apple GNU make treats unescaped # in variables as starting a comment. But GNU grep >= v3.8 will spew a warning with an extra backslash there.

  564. Deucе
    Sun Dec 29 2024 18:51:13 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    Remove unneeded backslashes from CCPRE detection. GNU grep >= 3.8 complains and it's highly confusing. Thanks for sticking with it Dan_C.

  565. Rob Swindell (on macOS)
    Sun Dec 29 2024 17:22:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/userdat.c diff
    node.dab to use same lock/read retry count/delay as user.tab file

  566. Rob Swindell (on macOS)
    Sun Dec 29 2024 17:22:01 GMT-0800 (PST)
    Modified Files:
    

    src/doors/clans-devkit/GENALL.BAT diff
    src/doors/clans-devkit/LIST.ASC diff
    src/doors/clans-devkit/PG.ASC diff
    src/doors/clans-devkit/PXNEWS.ASC diff
    src/doors/clans-devkit/PXTIT.ASC diff
    LF->CRLF conversion

  567. Deucе
    Sun Dec 29 2024 12:06:47 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Fix typo in lazy "fix"

  568. Deucе
    Sun Dec 29 2024 12:03:22 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Another impossibug fixed.

  569. Deucе
    Sun Dec 29 2024 11:56:39 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    src/syncterm/modem.c diff
    src/syncterm/term.c diff
    Fix a few impossible issues "found" by Coverity.

  570. Deucе
    Sun Dec 29 2024 05:56:54 GMT-0800 (PST)
    Modified Files:
    

    3rdp/win64.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/win64.release/libjxl/lib/libbrotlidec.a diff
    3rdp/win64.release/libjxl/lib/libhwy.a diff
    3rdp/win64.release/libjxl/lib/libjxl.a diff
    3rdp/win64.release/libjxl/lib/libjxl_threads.a diff
    Whoops, those were debug libs. Way faster with release builds. :D

  571. Deucе
    Sun Dec 29 2024 05:45:05 GMT-0800 (PST)
    Modified Files:
    

    3rdp/win64.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/win64.release/libjxl/lib/libbrotlidec.a diff
    3rdp/win64.release/libjxl/lib/libhwy.a diff
    3rdp/win64.release/libjxl/lib/libjxl.a diff
    3rdp/win64.release/libjxl/lib/libjxl_threads.a diff
    src/syncterm/GNUmakefile diff
    I've got it... I needed to disable all the AVX stuff. Presumably, this is broken because I cross-compile.

  572. Deucе
    Sun Dec 29 2024 02:43:02 GMT-0800 (PST)
    Modified Files:
    

    3rdp/win32.release/libjxl/include/jxl/jxl_cms_export.h diff
    3rdp/win32.release/libjxl/include/jxl/jxl_export.h diff
    3rdp/win32.release/libjxl/include/jxl/jxl_threads_export.h diff
    3rdp/win32.release/libjxl/include/jxl/version.h diff
    3rdp/win32.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/win32.release/libjxl/lib/libbrotlidec.a diff
    3rdp/win32.release/libjxl/lib/libhwy.a diff
    3rdp/win32.release/libjxl/lib/libjxl.a diff
    3rdp/win32.release/libjxl/lib/libjxl_threads.a diff
    3rdp/win64.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/win64.release/libjxl/lib/libbrotlidec.a diff
    3rdp/win64.release/libjxl/lib/libhwy.a diff
    3rdp/win64.release/libjxl/lib/libjxl.a diff
    3rdp/win64.release/libjxl/lib/libjxl_threads.a diff
    src/syncterm/GNUmakefile diff
    src/syncterm/libjxl.c diff
    src/syncterm/term.c diff
    Ok, with new libs and a couple fixes, Win32 is working ...But Win64 isn't. It crashes somewhere in the decoding function, and I have no idea why... it doesn't seem to be because of the thread thing. I assume it's because of the cross-built win64 libs, but I can't really be sure. :(

  573. Deucе
    Sat Dec 28 2024 23:50:43 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Win32 libjxl uses pthreads, not native threads... So, we can't use threads with these libs. :( This is going to be a pain to build these due to the dependencies.

  574. Deucе
    Sat Dec 28 2024 23:50:06 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/libjxl.c diff
    Don't bother checking for NULL functions This can't happen, and it breaks the thread stuff.

  575. Deucе
    Sat Dec 28 2024 23:04:30 GMT-0800 (PST)
    Added Files:
    

    3rdp/win32.release/libjxl/include/jxl/cms.h diff
    3rdp/win32.release/libjxl/include/jxl/cms_interface.h diff
    3rdp/win32.release/libjxl/include/jxl/codestream_header.h diff
    3rdp/win32.release/libjxl/include/jxl/color_encoding.h diff
    3rdp/win32.release/libjxl/include/jxl/compressed_icc.h diff
    3rdp/win32.release/libjxl/include/jxl/decode.h diff
    3rdp/win32.release/libjxl/include/jxl/decode_cxx.h diff
    3rdp/win32.release/libjxl/include/jxl/encode.h diff
    3rdp/win32.release/libjxl/include/jxl/encode_cxx.h diff
    3rdp/win32.release/libjxl/include/jxl/gain_map.h diff
    3rdp/win32.release/libjxl/include/jxl/jxl_cms_export.h diff
    3rdp/win32.release/libjxl/include/jxl/jxl_export.h diff
    3rdp/win32.release/libjxl/include/jxl/jxl_threads_export.h diff
    3rdp/win32.release/libjxl/include/jxl/memory_manager.h diff
    3rdp/win32.release/libjxl/include/jxl/parallel_runner.h diff
    3rdp/win32.release/libjxl/include/jxl/resizable_parallel_runner.h diff
    3rdp/win32.release/libjxl/include/jxl/resizable_parallel_runner_cxx.h diff
    3rdp/win32.release/libjxl/include/jxl/stats.h diff
    3rdp/win32.release/libjxl/include/jxl/thread_parallel_runner.h diff
    3rdp/win32.release/libjxl/include/jxl/thread_parallel_runner_cxx.h diff
    3rdp/win32.release/libjxl/include/jxl/types.h diff
    3rdp/win32.release/libjxl/include/jxl/version.h diff
    3rdp/win32.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/win32.release/libjxl/lib/libbrotlidec.a diff
    3rdp/win32.release/libjxl/lib/libhwy.a diff
    3rdp/win32.release/libjxl/lib/libjxl.a diff
    3rdp/win32.release/libjxl/lib/libjxl_threads.a diff
    3rdp/win64.release/libjxl/lib/libbrotlicommon.a diff
    3rdp/win64.release/libjxl/lib/libbrotlidec.a diff
    3rdp/win64.release/libjxl/lib/libhwy.a diff
    3rdp/win64.release/libjxl/lib/libjxl.a diff
    3rdp/win64.release/libjxl/lib/libjxl_threads.a diff
    Modified Files:

    src/syncterm/GNUmakefile diff
    Add libjxl support to Windows builds. Just statically link it here, I'm not interested in adding another DLL into the archive, and there's no good reason to NOT support it.

  576. Deucе
    Sat Dec 28 2024 22:37:39 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Document new support for JPEG XL An alternative to using PPM, relies on libjxl from the JPEG. JPEG XL is a superior modern format that supports both lossy and lossless compression and does an excellent job at both. The format also supports multiple frames (ie: animation), so can be used for Cool Stuff in the future. As an example, a large image that is 130MB in PPM format is only 6.8MB in JPEG XL format using the default quality settings of ImageMagick (whatever they are).

  577. Deucе
    Sat Dec 28 2024 22:28:33 GMT-0800 (PST)
    Modified Files:
    

    exec/load/syncterm_cache.js diff
    More fixes... All the scripts I used this in previously had a read_apc() function.

  578. Deucе
    Sat Dec 28 2024 22:19:29 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Bump the CTerm revision. Commands are added.

  579. Deucе
    Sat Dec 28 2024 22:17:22 GMT-0800 (PST)
    Modified Files:
    

    exec/syncterm-bounce.js diff
    Clear line counter at end

  580. Deucе
    Sat Dec 28 2024 22:16:27 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/libjxl.c diff
    src/syncterm/libjxl.h diff
    Don't set the colourspace. This allows us to avoid needing a large number of extra libraries, and it appears sRGB (ie: what we want) is the default anyway.

  581. Deucе
    Sat Dec 28 2024 22:15:55 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.adoc diff
    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/syncterm/term.c diff
    Add a query command (APC string) for JXL support.

  582. Rob Swindell (on macOS)
    Sat Dec 28 2024 20:43:47 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/GNUmakefile diff
    src/xpdev/targets.mk diff
    Add build targets for test utils: sopenfile, lockfile, showlocks These are useful for trouble-shooting/experimenting with file share modes and region locks, so make them easier to build.

  583. Rob Swindell (on macOS)
    Sat Dec 28 2024 20:35:21 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/wraptest.c diff
    Resolve Clang/Darwin warnings

  584. Rob Swindell (on Debian Linux)
    Sat Dec 28 2024 20:18:26 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sopenfile.c diff
    Add -2 (open second descriptor) and -t (second thread) options Order of options no longer matters.

  585. Deucе
    Sat Dec 28 2024 17:40:38 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Add JPEG XL support to gmake system

  586. Deucе
    Sat Dec 28 2024 17:32:31 GMT-0800 (PST)
    Added Files:
    

    src/syncterm/libjxl.c diff
    src/syncterm/libjxl.h diff
    Modified Files:

    src/syncterm/CMakeLists.txt diff
    src/syncterm/term.c diff
    Add support for runtime-linking libjxl This also supports static linking for OSs that don't have sane ways of sharing libraries system-wide.

  587. Deucе
    Sat Dec 28 2024 16:34:45 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Add JPEG XL to build options list

  588. Deucе
    Sat Dec 28 2024 16:32:23 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Properly handle the case where libjxl thread support is missing

  589. Deucе
    Sat Dec 28 2024 16:28:49 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.adoc diff
    Document LoadJXL and DrawJXL

  590. Deucе
    Sat Dec 28 2024 16:25:19 GMT-0800 (PST)
    Modified Files:
    

    exec/load/syncterm_cache.js diff
    Fix hash comparison

  591. Deucе
    Sat Dec 28 2024 16:17:57 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/term.c diff
    Do parallel JPEG XL decoding With this, my fancy intro is quite usable...

  592. Deucе
    Sat Dec 28 2024 14:28:57 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    At least make the comments correctish.

  593. Deucе
    Sat Dec 28 2024 14:25:57 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/term.c diff
    Hack in initial JXL support Uses libjxl, makes the video demo more possible. Does not yet have a feature test sequence, documentation, support in the gmake build system, runtime linking, etc. Just a quick hack. It also looks like I can parallize the decode, should should also help things out.

  594. Deucе
    Sat Dec 28 2024 11:21:43 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/deucessh.h diff
    Spell static_assert the modern way.

  595. Deucе
    Sat Dec 28 2024 11:21:31 GMT-0800 (PST)
    Modified Files:
    

    exec/load/syncterm_cache.js diff
    Fix syncterm_cache.js It was badly broken, especially with large files... we now don't try console.write() unless there's enough space in console.output_buffer_space. On my system (debug build of Synchronet), the most I can push through console.write() over telnet is about 1.9MB/s. My release build of SyncTERM can consume about 4MB/s of string data, so Synchronet is the choke point in my setup here. (SSH is much worse) My super-cool demo thing ends up needing about 90 seconds to preload all the cache stuff, so it's simply not useable, even locally. :( If I use client.socket.send(), I can unlock the Synchronet throughput, but I can't remember if client.socket is the passthru socket with SSH or not... and there's no way to synchronize the socket with the console at the end of the send (console has flush(), Socket doesn't, and even if it did, it wouldn't flush through to the output buffer).

  596. Deucе
    Sat Dec 28 2024 10:12:40 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Fix MD5 calculation for cache files over 32k

  597. Rob Swindell (on macOS)
    Fri Dec 27 2024 19:56:09 GMT-0800 (PST)
    Modified Files:
    

    install/net.synchro.sbbs.plist diff
    Update the instructions in comments

  598. Rob Swindell (on Windows 11)
    Fri Dec 27 2024 16:16:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix race conditions around node_socket and node.dab checks Check and clear/invalidate node_socket while holding the node.dab record lock. This should fix the error reported by kk4qnb (KK4QBN)

  599. Rob Swindell
    Fri Dec 27 2024 15:26:26 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_show_filename_if_desc_blank' into 'master' DDFileLister: New configuration setting: useFilenameIfNoDescription - If a description is empty, show the filename in the list instead. For Retro Guy. See merge request main/sbbs!487

  600. Eric Oulashin
    Fri Dec 27 2024 12:31:58 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: New configuration setting: useFilenameIfNoDescription - If a description is empty, show the filename in the list instead. For Retro Guy.

  601. Rob Swindell
    Tue Dec 24 2024 17:25:31 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'issue_846_ddmsgreader' into 'master' DDMsgReader: An optimization for loading status, for issue #846 See merge request main/sbbs!486

  602. Eric Oulashin
    Tue Dec 24 2024 17:15:29 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: An optimization for loading status, for issue #846

  603. Rob Swindell (on Windows 11)
    Tue Dec 24 2024 13:33:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Close file descriptor in error condition Fix CID 516461

  604. Rob Swindell (on Windows 11)
    Tue Dec 24 2024 13:33:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/str.cpp diff
    Close file description in error condition Fix CID 516462

  605. Rob Swindell
    Tue Dec 24 2024 13:33:06 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'issue_846_ddmsgreader' into 'master' DDMsgReader: When doing an indexed newscan, display the progress percentage when counting sub-boards for indexed newscan. For issue #846 Closes #846 See merge request main/sbbs!485

  606. Eric Oulashin
    Tue Dec 24 2024 13:33:05 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: When doing an indexed newscan, display the progress percentage when counting sub-boards for indexed newscan. For issue #846

  607. Rob Swindell (on Windows 11)
    Tue Dec 24 2024 03:48:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/userdat.c diff
    Use opennodedat() always to open the node.dab file Include O_CREAT access mode flag in opennodedat(). I experimented with excluding O_DENYNONE when the NM_CLOSENODEDAB flag is set (to hopefully work-around MacOS Samba node.dab corruption issue), but that didn't work with SBBSCTRL leaving the file open in SH_DENYNONE mode, so will have revist that, but using a common open function helps.

  608. Rob Swindell (on Windows 11)
    Tue Dec 24 2024 03:47:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Log the text.dat string for the reason an SMTP posted message was denied Include a little more detail in 550 responses sent to clients too

  609. Rob Swindell (on Windows 11)
    Tue Dec 24 2024 03:42:41 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Simplify the Windows version detection a bit, don't use NetWkstaGetInfo() I started seeing Windows 10.0 reported (without a build number) again on Windows 11 (after a regular update), so changed the logic to always try/use RtlGetVersion() except for Windows 7 where I saw it truncated the Service Pack details.

  610. Rob Swindell (on Windows 11)
    Mon Dec 23 2024 17:22:13 GMT-0800 (PST)
    Modified Files:
    

    docs/v320_new.txt diff
    Mention the time zone related changes and improvements

  611. Rob Swindell (on Debian Linux)
    Mon Dec 23 2024 01:13:11 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/msgdate.c diff
    Use smb_when() to convert the return value of rfc822date() This explains why Deon was still seeing time_t encoded time values.

  612. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 21:31:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix-up node status when node status is in-use, but no socket active This is a situation we can auto-correct and log a message when we do.

  613. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 21:30:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Report a different status for NODE_QUIT than NODE_INUSE Could be helpful for debugging node status issues at some point

  614. Rob Swindell
    Sun Dec 22 2024 19:00:27 GMT-0800 (PST)
    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 'issue_846_ddmsgreader' into 'master' DDMsgReader: When doing an indexed newscan, display the progress percentage when doing the newscan. Should fix issue #846 (reported by Keyop) Closes #846 See merge request main/sbbs!484

  615. Eric Oulashin
    Sun Dec 22 2024 19:00:27 GMT-0800 (PST)
    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: When doing an indexed newscan, display the progress percentage when doing the newscan. Should fix issue #846 (reported by Keyop)

  616. Rob Swindell (on ChromeOS)
    Sun Dec 22 2024 15:39:50 GMT-0800 (PST)
    Modified Files:
    

    ctrl/chat.ini diff
    ctrl/file.ini diff
    ctrl/main.ini diff
    ctrl/msgs.ini diff
    ctrl/sbbs.ini diff
    ctrl/xtrn.ini diff
    Load/force-saved the config files in latest SCFG Adds new keys, removes old ones Updates formatting/white-space

  617. Rob Swindell (on ChromeOS)
    Sun Dec 22 2024 15:39:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    When using -f (force save), don't write sbbs.ini contents to xtrn.ini Bug

  618. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 14:36:20 GMT-0800 (PST)
    Modified Files:
    

    exec/viewimsgs.js diff
    Don't exit(non-zero) from this script A non-zero exit from str_cmds.js (where this script is loaded) will terminate the call/session. We don't need to call exit() at all from this script. This fixes issue #848, thank you for the report

  619. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 14:26:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    When searching for unused nodes, skip nodes that have sockets in-use We already know such nodes are in-use, so no need to read their node.dab record and put extra contention on the node.dab file. Hoepfully this reduces or eliminates occurrences of the error: Node n status is WFC, but the node socket (s) and thread are still in use! Though I kind of expect occurrences of "NODE STATUS FIXUP" errors to likely return. We could in theory just track status of nodes in memory (for those nodes that this instance of sbbs controls), and not read the node.dab file at all when checking those nodes' status, but: - that would prevent out of process control of node status e.g. using the node utility to mark a node as offline - we'd have to protect instance of in-memory node status checking/changing with a mutex

  620. Rob Swindell (on Windows 11)
    Sun Dec 22 2024 00:45:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getkey.cpp diff
    Fix issue when receiving node messages while using down-arrow at pause prompt Hitting down-arrow key at a pause prompt normally displaye just one more line of the display text/file, but if you received a node message/telegram/notice after hitting down arrow, you'd get a screen full of text instead of just a single (one more) line, as you wanted. This looks to be because of the anti-recursive protection implemented in pause() - when it calls nodesync() after the key press, that displays node/user messages (if there are any) and if pause is called as a result (e.g. because the line counter was already set to cause a pause after the next line of output), it'd do nothing since that would be recursive. The fix is to simply set the line counter as a result of the down-arrow key press *after* the call to nodesync(), which might display multiple lines, but I think that's fine.

  621. Rob Swindell (on Windows 11)
    Sun Dec 22 2024 00:12:02 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    A little style clean-up, reduced copy/paste, no functional changes Reduce the cognitive dissonance

  622. Rob Swindell (on Windows 11)
    Sat Dec 21 2024 22:57:16 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Comment out access() call in Windows version of getfilecase() I'm hoping this might help resolve instances where fexistcase() says a file does not exist, but a subsequent call to fexist() says it does.

  623. Rob Swindell (on Windows 11)
    Sat Dec 21 2024 22:57:08 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Address MSVC warning and likely Coverity defect CID 516448

  624. Rob Swindell (on Debian Linux)
    Sat Dec 21 2024 22:05:23 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smbdefs.h diff
    src/smblib/smblib.c diff
    src/xpdev/gen_defs.h diff
    Add/use BITFIELD macros for defining/using multi-bit bit-fields

  625. Rob Swindell (on Debian Linux)
    Sat Dec 21 2024 14:40:46 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smbdefs.h diff
    Fix off-by-one error in date/time field bit-mask calculation This became apparent when the the LSB of the day got set (an odd day). Oops. This only impacted decoding of date/time, not encoding.

  626. Rob Swindell (on Windows 11)
    Fri Dec 20 2024 20:15:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bulkmail.cpp diff
    src/sbbs3/email.cpp diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/writemsg.cpp diff
    src/smblib/smbadd.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    Encode local wallclock (not time_t) in SMB's when_t.time Increment SMBLIB version to 3.10 Fix issue #845: Changing system/OS time zone, changes dates/times of posted messages Sysops and users shouldn't notice any change unless they change the time zone of their system/OS (not accounting changes for daylight/standard time) and the result will be that message dates appear the same after such a change. For backward compatibily, any stored time_t's in msghdr_t.when_written.time (i.e. all existing SMB messages) will still be decoded and displayed properly. We detect a time_t value by the upper 6 bits being non-zero. When the upper 6 bits of a when_written.time value are zero, then we know the 'year' is stored in the 16-bits before the when_written field (never used bits of the netattr field, now part of the when_t structure definition) and the Month, Day, Hour, Minute, and Second of the wallclock at the poster's site are encoded in the low 26 bits of the time field. This also eliminates more uses of 32-bit time_t that'll likely start being a problem 2038 and really fall over and die in 2106. At least messages' posting dates won't have any issue now. The "when_imported" values could use a similar treatment someday I suppose - and we could get rid of the when_imported.zone value as its not really needed we could use those 16-bits for the when_imported.year. Didn't change anything with filebases (still using time_t's though the when_written hdr field isn't used for much with regards to files). Yes, we could have converted all imported "broken down" message dates to UTC and continued to store them as a time_t using timegm() instead of mktime() for conversion to time_t, and I considered that. But we would have needed to create/use a flag in the message header to indicate such stored date/times (since they'd have to go through different adjustment for original time zone before display, basically reversing the logic of all the places we display the message dates/times using localtime verus gmtime/UTC C RTL functions), couldn't just initialize the time with a call to time() upon import of local messages (unless the local timezone happened to be UTC). And in the end, we'd still have a 32-bit time_t value. So this seemed the better path. I would have liked to have stored the date fields in a more human readable encoding (BCD or decimal, ala isoDate and isoTime_t), but I just didn't have the spare bits in the fixed portion of message headers to be wasteful like that. Here's an example from smbutil v of a message header posted after this change: when_written 03292595 41E0 Fri Dec 20 18:22:21 2024 PST when_imported 6766265D 41E0 Fri Dec 20 18:22:21 2024 PST Notice the difference in the hex encoding of the date/time between the 2 header fields: when_imported still uses time_t. The when_written.year value isn't output here.

  627. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 23:40:52 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    Change security level 0 to be more forgiving changed from 0 to 1: timeperday timepercall callsperday postsperday emailperday There are restrictions to remove access to these features if that's what the sysop desires. This will allow unauthenticated mail clients to post a single message (per day) to a sub-board, when there's a posting alias set up (sub:* in alias.cfg).

  628. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 21:31:04 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.iss diff
    Include both x64 and x86 binaries in install package ... and auto-choose the right one Tested on Windows 11 (x64) and Windows7-32

  629. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 19:33:22 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.iss diff
    Rename the default setup file to be consistent with SyncTERM 1.1 release

  630. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 19:27:53 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.iss diff
    Updated for SyncTERM v1.3 Don't install the fonts to the syncterm.ini, Deuce says they confuse sysops. Renamed the setup.exe file due to warning from ISS about security concerns. Tested on Windows 11.

  631. Rob Swindell
    Thu Dec 19 2024 18:54:32 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Only use RtlGetVersion for Windows 10/11 This function appears to truncate the service pack info for Windows 7 (6.1): "Windows NT Version 6.1 (Build 7601) Service Pack 1 x86" became: "Windows NT Version 6.1 (Build 7601) S x86" Don't close the handle to ntdll.dll (hey, that's stupid filename, Microsoft!) since the module could be unloaded from the address space and then a call to the captured procedure address could/would crash. This handle will be closed when the process terminates anyway. While we're here, correct the Windows 6.1 -> 7.0 numbering. That looks better: "Windows NT Version 7.0 (Build 7601) Service Pack 1 x86" Something should probably be done for Windows 6.2 -> 8.0 numbering too, but I don't have a VM handy. Is anyone actually still running Windows 8.x?

  632. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 18:28:25 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Move the #pragma warning to just before the call to GetVersionEx() Needed for building sbbsexec.dll I guess #pramga warning only affects the following source line. Apparently we're disabling this warning effectively via other means in all other MSVC projects.

  633. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 18:13:33 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Use RtlGetVersion to get/report Windows 11 (and build number) correctly This is fun Microsoft. If Windows 11 is actually Windows 10.22000+, what will Windows 12 be? No one can guess.

  634. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 16:55:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Add @-codes to display dates/times in UTC When the system time zone is not UTC, but the sysop wants to display some dates and times in UTC, they can now use these @-codes to do that: - TIME_UTC - DATE_UTC - UTC:fmt - DATETIME_UTC - MSG_DATE_UTC

  635. Deucе
    Thu Dec 19 2024 14:03:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    I *think* this is "FreeBSD or Solaris"... Nobody will really care though.

  636. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 13:06:01 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Go back to using non-blocking periodic/polling user.tab lock attempts This partially reverts commit 03b84df85. I observed deadlocks on Linux attempting locks of user.tab on Samba share, which also deadlocked my Windows nodes. Interestingly, the Windows nodes never deadlocked on their own (after a week of testing) when using blocking locks. Double the frequency of lock retries - this has helped reduce the observed user.tab lock failures on Vertrauen.

  637. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 12:55:52 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    src/sbbs3/js_system.c diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    Removed Files:

    web/root/rss.ssjs diff
    Add "Auto" Local Time Zone option and make that the default for new install As Deon pointed out in DOVE-Net / Synchronet Discussion, having a local time zone configured with a different UTC offset than your system time zone can produce strange/unexpected results (e.g. displayed age of messages). Since it's possible that not all sysops will complete the configuration wizard or actually set their timezone to the correct value (and ignore the startup warning message), we now make the default Local Time Zone to be "automatic" - query the OS every time the local time zone is needed/used. This has the downside of only storing (e.g. in message headers) the UTC offset of the current time zone (not the time zone abbreviation/name as encoded by SMB). I considered making an option to dynamically figure out the actual time zone (not just the UTC offset) and while I think that's doable, Deon just wanted his UTC offset (e.g. UTC+11:00) and not his time zone name (e.g. AEDT) stored in message headers, so this setting would be the behavior he expected/wanted. I'm using the sentinel time zone value of -1 for this new behavior. Existing configurations (behavior of existing systems) aren't changed.

  638. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 12:43:16 GMT-0800 (PST)
    Added Files:
    

    exec/rss.ssjs diff
    Updated for webv4 and fix off-by-one error reported by LaF0rge Make the scheme ("http://" or "https://") configurable via rss.ini, default is now "https://". Make the message link format somewhat configurable via rss.ini (hopefully to support some other/future web message reading interface should there be one). Reportedly, the MsgBase.get_msg_header/body() calls of the "total_msgs" offset were logging errors? I was not able to reproduce this (the !hdr check seemed to be successfully ignoring such cases), but in any case, message offsets are 0-based, so this was definitely an off-by-one issue, even if it was a silent failure for everyone else. <shrug>

  639. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 12:41:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Fix default for "U.S. Time Zone" toggle when west of UTC ... when current timezone is negative offset from UTC, but not a US time zone, the default should be "No".

  640. Rob Swindell
    Wed Dec 18 2024 19:41:59 GMT-0800 (PST)
    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_scrolling_read_input_timeout_fix' into 'master' DDMsgReader bug fix: In the scrolling message reader interface, it now exits on user input timeout (as it should). This should fix issue #844, reported by Keyop Closes #844 See merge request main/sbbs!483

  641. Eric Oulashin
    Wed Dec 18 2024 19:31:13 GMT-0800 (PST)
    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 bug fix: In the scrolling message reader interface, it now exits on user input timeout (as it should). This should fix issue #844, reported by Keyop

  642. Deucе
    Wed Dec 18 2024 18:17:39 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/cl-no-musl-backtrace.patch diff
    Well, that didn't work, just disable the backtrace on Linux Presumably it's because I'm not using std=gnu11 or whatever

  643. Deucе
    Wed Dec 18 2024 18:06:34 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-no-musl-backtrace.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    We can't do a backtrace using musl Use the same hack as for strerror_r()

  644. Deucе
    Wed Dec 18 2024 17:09:51 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    include signal.h for signal()

  645. Deucе
    Wed Dec 18 2024 15:45:27 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add alpine linux build (no JS)

  646. Deucе
    Wed Dec 18 2024 15:16:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/Common.gmake diff
    src/xpdev/GNUmakefile diff
    Move USE_ALSA_SOUND detection into Common.gmake

  647. Deucе
    Wed Dec 18 2024 15:08:52 GMT-0800 (PST)
    Added Files:
    

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

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    Add patch for socklen_t with musl

  648. Deucе
    Wed Dec 18 2024 14:51:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Attempt to fix musl builds The non-standard strerror_r() is glibc specific, musl doesn't do that. It *appears* that __USE_GNU implies glibc.

  649. Rob Swindell (on Debian Linux)
    Tue Dec 17 2024 22:38:01 GMT-0800 (PST)
    Modified Files:
    

    docs/v320_new.txt diff
    Document more changes

  650. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 17:04:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/sbbs.h diff
    Add/user sbbs_t::getuseron() for better user.tab error logging/handling Looking into potential causes of issue #843, I found several instances where we call getuserdat() without checking the return value and restoring the useron.number to the current user number upon error: getuserdat() zeroes out the user struct/number upon error, a bad API choice made 23 years ago. Replace those instances with calls to sbbs_t::getuseron() which logs any open/lock/read failures of the user.tab and does not modify/zero-out the sbbs_t::useron struct upon error.

  651. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 17:04:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Whitespace change only

  652. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 16:26:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Remove the config check from openuserdat() ... since all (almost all) callerd do a config check first. Also, some callers of openuserdat() were expecting -1 on failure (always). Functions that returned the return value of openuserdat() upon failure, now return USER_OPEN_ERROR instead, to be consistent.

  653. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 16:25:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    openuserdat() was recently changed to not always return -1 on error

  654. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 16:24:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/services.c diff
    Lower severity of repeated error messages in js_ErrorReporter() A copy/paste from websrvr.c

  655. Rob Swindell (on macOS)
    Mon Dec 16 2024 01:07:04 GMT-0800 (PST)
    Added Files:
    

    install/net.synchro.sbbs.plist diff
    A macOS/darwin launchd service/daemon file ... that is working (for me at least) to auto load/rerun sbbs

  656. Rob Swindell (on Debian Linux)
    Sun Dec 15 2024 14:50:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Better NULL ptr checking in js_ErrorReporter, CID 516068

  657. Rob Swindell (on Debian Linux)
    Sat Dec 14 2024 13:08:08 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Use errprintf() instead of lprintf() for one more log message

  658. Rob Swindell (on Windows 11)
    Sat Dec 14 2024 13:07:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Lower severity of repeated errors in js_ReportError() This needed a custom solution (not errprintf) since the filename is passed-in is likely from dynamically allocated memory, so a pointer comparison isn't enough - and we don't get the function name.

  659. Rob Swindell (on Windows 11)
    Sat Dec 14 2024 13:07:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/email.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/sbbs.h diff
    Convert CP437 message subject to UTF-8 when posting a UTF-8 encoded message This is a solution for issue #842, but only for messages posted/sent from the terminal server using built-in functions and not via JS or other means. A more universal/generic solution would be nice (beyond just always storing message headers and bodies in UTF-8), but nothing has come to mind.

  660. Rob Swindell (on Windows 11)
    Sat Dec 14 2024 13:07:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Always unlock nodefile_mutex before calling errormsg()

  661. Rob Swindell (on Debian Linux)
    Fri Dec 13 2024 18:22:47 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Revert "Disable darmwin-x86" - the x86 mac mini has a new home This reverts commit 79fa3c0bb8d46fb4e3730eddb9926c5aa15b8b7c.

  662. Deucе
    Thu Dec 12 2024 11:23:36 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    Add support for bytearray Differently than all other types, the length must be set before parsing because the BPP does not contain the length data, instead the length is specified by the message definition.

  663. Deucе
    Thu Dec 12 2024 11:10:30 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/comp/none.c diff
    src/ssh/deucessh.h diff
    src/ssh/enc/none.c diff
    src/ssh/mac/none.c diff
    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    Remove the expectation of dynamic memory in parsing packets The expectation is now that there will be a single copy of SSH BPP contents and arrays and buffers will be pointers into that.

  664. Deucе
    Thu Dec 12 2024 10:03:47 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/deucessh.h diff
    src/ssh/ssh-trans.c diff
    src/ssh/ssh.c diff
    Move the transport state into the session struct. This avoids another allocation/free requirement.

  665. Deucе
    Thu Dec 12 2024 09:56:53 GMT-0800 (PST)
    Added Files:
    

    src/ssh/deucessh.h diff
    Modified Files:

    src/ssh/client.c diff
    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    src/ssh/ssh-trans.c diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.c diff
    Rename ssh.h -> deucessh.h, clean up includes All consumers are expected to only #include deucessh.h now. Individual headers should not be included.

  666. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 23:47:29 GMT-0800 (PST)
    Modified Files:
    

    webv4/lib/events/nodelist.js diff
    Support custom node status and activity new to v3.20

  667. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 16:28:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Add missing space to JSDOC HTML output

  668. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 16:28:14 GMT-0800 (PST)
    Modified Files:
    

    webv4/lib/events/nodelist.js diff
    presence_lib.js no longer defines extended_status So require(..., 'node_status') instead. The function we actually use here.

  669. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 16:28:14 GMT-0800 (PST)
    Modified Files:
    

    webv4/root/api/system.ssjs diff
    presence_lib no longer defines extended_status() and we weren't using that function here anyway, so require(..., 'node_status') instead.

  670. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 16:27:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Corrected text string numbers in comments (that's all, I think)

  671. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 15:49:41 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Fix bug in recursive use of delfiles(), not deleting all subdirs/files Looks like this feature (commit d661427e13) never really worked correctly since it counted the files removed from each sub-dir and then stopped deleting when the count reached the number of files in the base directory. This was done to accommodate the 'keep' feature (part of previous commits). So make 'keep' check conditional on it being non-zero and just don't ever use a non-zero keep value with a recursive delete and we should be good! :-) This fixes issue #841

  672. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 15:48:03 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/services.c diff
    Add/use errprintf() to lower severity of repeated error messages part of fix for issue #619

  673. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 13:27:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Add/use errprintf() to reduce severity of repeated error messages Part of solution for issue #619 (for the web server)

  674. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 13:18:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Add/use errprintf() to reduce severity of repeated error messages Part of solution for issue #619 (for the mail server)

  675. Rob Swindell (on Windows 11)
    Mon Dec 09 2024 18:45:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Support text.dat string IDs (string) args for replace/revert_text() funcs For alignment with the text() method and for instances where a script author doesn't want to load('text.js') or use [bbs|system].text.ID to get a text.dat string index from an ID.

  676. Rob Swindell (on Windows 11)
    Mon Dec 09 2024 18:37:25 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/postmsg.cpp diff
    If user doesn't modify the replied-to-msg subject, use the original subject (which might be UTF-8 encoded). This works-around the problem that Accession reported in #synchronet with my reply to a UTF-8 encoded message using a CP437 terminal which resulted in a message body that was UTF-8 encoded but a message subject that was CP437 encoded. This mix of encodings is not supported by FTN standards. This is just a work-around since if the user modifies the subject the result could still have the CP437 unside-down question marks (indicating non-translatable UNICODE chars) and those should be converted to UTF-8 chars when going out on FTN or being stored in the message base. So there's still a bug here somewhere that I need to look into more.

  677. Rob Swindell (on Windows 11)
    Mon Dec 09 2024 18:31:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Fix off-by-one usage of snprintf() when copying message subject - when converting from CP437 to UTF-8 - when reading from RESULT.ED drop file This effectively limited message subjects in some instances to 69 chars instead of 70. This bug was caught while debugging a replied-message subject conversion from UTF-8 to CP437 issue reported by Accession.

  678. Rob Swindell (on Debian Linux)
    Mon Dec 09 2024 18:16:47 GMT-0800 (PST)
    Modified Files:
    

    exec/default.js diff
    exec/str_cmds.js diff
    Add RELOAD sysop command to reload a (JS) command shell without logoff/on We have to use load() (rather than js.exec) to invoke str_cmds.js so that an exit() will actually exit. Since load() automatically does the mods vs exec directory search-dance, that simplifies the code in default.js a little. I'm not sure exactly why I originally chose to use js.exec() over load() for invoking str_cmds.js, but for this feature, we need load() so let's go with that for now. I did encounter an issue (issue #840) while originally trying to make this work with the original code that called js.exec(), but just punted and went with load() instead. Perhaps if we fix issue #840, we can revert default.js back to using js.exec() (but why we would need/want to, I'm not sure).

  679. Rob Swindell
    Sun Dec 08 2024 21:02:39 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_metadata_desc_undefined_fix' into 'master' ddfilelister: Check whether 'desc' is a string in file metadata before trying to use it. Should fix issue #839 Closes #839 See merge request main/sbbs!482

  680. Eric Oulashin
    Sun Dec 08 2024 18:59:33 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    ddfilelister: Check whether 'desc' is a string in file metadata before trying to use it. Should fix issue #839

  681. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 12:45:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/putnode.cpp diff
    Fix use of unitialize variable Since we we're not using opennodeext(), we don't have the path/fname for any failure error message here. CID 515714

  682. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 12:45:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Fix incorrect use of sizeof in node_vstatus and node_activity This would cause the "Logout" status and multinode chat activity strings to be truncated to 3 or 7 chars. CID 515713 and 515715

  683. Deucе
    Sun Dec 08 2024 11:53:58 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/ssh-trans.h diff
    We need separate context for client to server

  684. Deucе
    Sun Dec 08 2024 11:53:58 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Disable darmwin-x86 System is going on a trip.

  685. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 04:09:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    Reset/send status attr after activity, which could include Ctrl-A codes

  686. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 04:09:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Insure ctrl chars/codes are stripped from nodestatus() output Use strlcpy instead of strncpy

  687. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 03:49:27 GMT-0800 (PST)
    Modified Files:
    

    exec/load/presence_lib.js diff
    Insert stats prefix after activity, in case it contains attr codes

  688. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 02:59:14 GMT-0800 (PST)
    Modified Files:
    

    exec/fingerservice.js diff
    Use new node (customizable) activity, if available (and strip ctrl chars) This allows customized node actions/activity to be sent over finger/activeuser (so visible in sbbsimsg.js for example).

  689. Rob Swindell (on Debian Linux)
    Sat Dec 07 2024 20:37:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/gtkmonitor/gtkmonitor.c diff
    src/sbbs3/umonitor/umonitor.c diff
    Load text.dat to get customized node status strings from text.dat/text.ini

  690. Rob Swindell (on Windows 11)
    Sat Dec 07 2024 17:19:55 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    exec/load/presence_lib.js diff
    exec/load/text.js diff
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/MainFormUnit.h diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/js_system.c diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Overhaul how custom Node actions and status strings are handled Custom NodeStatus and NodeAction/Activity strings are now displayed pretty much everywhere possible (except the node utility, since it doesn't read any configuration files). This fixes issue #618, finally. If you have custom (non-blank) NodeAction* strings in your text.dat/text.ini file, or you change these strings during runtime (e.g. using bbs.replace_text) this will impact you: - do not include the user name or any other fields normally included in printed node status in your string - just the customized node action and really, you should only use/override these strings for dynamically changing node status (i.e. you're using NodeActionCustom and you're setting different custom strings depending on current node activity). Consider using the new NodeActivity* text.dat strings instead if your customized string doesn't change during run-time. - don't use the %s/%u/%d specifiers any more - use @-codes instead, if needed If you want static/permanent node action strings, set new new NodeActivity* strings in your text.dat or (preferrbaly) text.ini file instead. This means the node actions can now be localized for other languagues! I'm still using the node.exb file (I did consider alternatives, e.g. node.ini or node*/activity.asc), but decided to postpone such a change. The node.exb file is still used, but the strings represent just the custom (extended) node *activity* and not the entire node status string. Use of Ctrl-A codes needs to be considered/accounted-for (currently isn't).

  691. Rob Swindell (on Debian Linux)
    Sat Dec 07 2024 16:32:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix the areas.bbs AreaMgr addition bug created in commit 813072cd450c2 The newly created/used link_aera() function was copying the address of the passed fidoaddr_t pointer rather than the value (fidoaddr) pointed to. This is the actual fix for the problem reported by Tom Moore (1:135/205) - tested and validated. It only immediately impacted areas.bbs use (not areas.ini), since we wrote a stringified address directly to the areas.ini file "links" key. This was not an allocation issue but a memcpy() issue. Other unrelated changes: - Log a debug-level message when ignoring a "NO-ECHO" message (subject "NE:*") - Log a notice-level message when ignoring a message due to GATEWAY VIOLATION (gating a message between net-types when not explicitly configured to do so)

  692. Rob Swindell (on Windows 11)
    Sat Dec 07 2024 14:03:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    A differnt 'fix' to link_area() So, (sizeof *addr) now looks right got me (this should've been the same as sizeof(fidoaddr_t)), so the change in commit e2476ebbaa doesn't actually look like a fix, but maybee a regression. I need to test some area manager link additions and get to the bottom of this, but this particular change was not a fix (and caught/reported by Coverity - CID 515673).

  693. Deucе
    Sat Dec 07 2024 13:43:35 GMT-0800 (PST)
    Added Files:
    

    src/ssh/comp/none.c diff
    src/ssh/comp/none.h diff
    src/ssh/enc/none.c diff
    src/ssh/enc/none.h diff
    src/ssh/mac/none.c diff
    src/ssh/mac/none.h diff
    Modified Files:

    src/ssh/CMakeLists.txt diff
    src/ssh/client.c diff
    src/ssh/ssh-trans.h diff
    Add the "none" encryption mac and compression drivers This is not the "hard part" I meantioned earlier. :D

  694. Deucе
    Sat Dec 07 2024 12:23:01 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/client.c diff
    src/ssh/ssh-trans.c diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.h diff
    Eliminate egregious and unneeded allocations.

AuthorCommitsLatest
Rob Swindell313Mon Jan 20 2025 23:16:46 GMT-0800 (PST)
Deucе370Mon Jan 20 2025 21:45:05 GMT-0800 (PST)
echicken3Fri Jan 17 2025 22:59:18 GMT-0800 (PST)
Eric Oulashin8Sun Jan 12 2025 13:35:40 GMT-0800 (PST)

For older commits (in CVS), click here

Dynamically generated in 430 milliseconds