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. Eric Oulashin
    Wed Sep 20 2023 19:49:06 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    DD MsgReader and SlyVote: Fixed poll voting for single-answer polls

  2. Rob Swindell
    Thu Sep 21 2023 00:14:00 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    Merge branch 'dd_msg_reader_slyvote_single_answer_poll_fix' into 'master' DD MsgReader and SlyVote: Fixed poll voting for single-answer polls Closes #642 See merge request main/sbbs!337

  3. Rick Parrish
    Wed Sep 20 2023 22:30:44 GMT-0700 (PDT)
    Added Files:
    

    webv4/components/sysop-required.xjs diff
    webv4/components/webmonitor/clients-panel.xjs diff
    webv4/components/webmonitor/documentation-panel.xjs diff
    webv4/components/webmonitor/events-panel.xjs diff
    webv4/components/webmonitor/nodes-panel.xjs diff
    webv4/components/webmonitor/quadrant.xjs diff
    webv4/components/webmonitor/recent-visitors-panel.xjs diff
    webv4/components/webmonitor/server-panel.xjs diff
    webv4/components/webmonitor/statistics-panel.xjs diff
    webv4/components/webmonitor/term-configuration-modal.xjs diff
    webv4/pages/More/001-webmonitor.xjs diff
    webv4/root/api/webmonitor/get-term.ssjs diff
    webv4/root/api/webmonitor/update-term.ssjs diff
    webv4/root/js/webmonitor.js diff
    Modified Files:

    webv4/components/mqtt.xjs diff
    webv4/lib/auth.js diff
    webv4/pages/More/001-nodespy.xjs diff
    webv4/pages/More/webctrl.ini diff
    webv4/root/js/mqtt.js diff
    webv4/sidebar/002-recent-visitors.xjs diff
    A web-based sbbsctrl implementation

  4. Rob Swindell
    Wed Sep 20 2023 22:30:44 GMT-0700 (PDT)
    Added Files:
    

    webv4/components/sysop-required.xjs diff
    webv4/components/webmonitor/clients-panel.xjs diff
    webv4/components/webmonitor/documentation-panel.xjs diff
    webv4/components/webmonitor/events-panel.xjs diff
    webv4/components/webmonitor/nodes-panel.xjs diff
    webv4/components/webmonitor/quadrant.xjs diff
    webv4/components/webmonitor/recent-visitors-panel.xjs diff
    webv4/components/webmonitor/server-panel.xjs diff
    webv4/components/webmonitor/statistics-panel.xjs diff
    webv4/components/webmonitor/term-configuration-modal.xjs diff
    webv4/pages/More/001-webmonitor.xjs diff
    webv4/root/api/webmonitor/get-term.ssjs diff
    webv4/root/api/webmonitor/update-term.ssjs diff
    webv4/root/js/webmonitor.js diff
    Modified Files:

    webv4/components/mqtt.xjs diff
    webv4/lib/auth.js diff
    webv4/pages/More/001-nodespy.xjs diff
    webv4/pages/More/webctrl.ini diff
    webv4/root/js/mqtt.js diff
    webv4/sidebar/002-recent-visitors.xjs diff
    Merge branch 'Ree/sbbsctrl' into 'master' A web-based sbbsctrl implementation See merge request main/sbbs!318

  5. Eric Oulashin
    Sun Sep 17 2023 18:43:40 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    DD File Lister: If used as a loadable module and blanked out the NFilesListed string, then revert NFilesListed on exit of the script

  6. Rob Swindell
    Wed Sep 20 2023 18:25:03 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'dd_file_lister_revert_NFilesListed' into 'master' DD File Lister: If used as a loadable module and blanked out the NFilesListed string, then revert NFilesListed on exit of the script See merge request main/sbbs!336

  7. Rob Swindell (on Windows)
    Tue Sep 19 2023 18:32:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Log a critical error message if a node is WFC, but its socket is still in use This should avoid/work-around issue #630 Nelgin's terminal server log indicated that the node's configuration was being reloaded for a new client connection (which doesn't normally/always happen, only when there's been a config file change or a node "rerun" requested), while there was still a user online using that node. This would explain the segfault (configuration fields being freed and reallocated). The node_socket[] array indicates when a node thread is actively servicing a client, so it should contain INVALID_SOCKET for the any node's that WFC. If it doesn't, that means something/someone changed the node's status value to 0 (WFC) in the node.dab file while the node was still in-use. Let's not crash in this case and rather just log the message and give the client the next available node (if any).

  8. Rob Swindell (on Debian Linux)
    Sun Sep 17 2023 23:25:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Add more detail (e.g. line number) to various "error opening" log msgs Some of the errors could be pretty vague since they looked the same and we were depending on the path/file attempted to be opened in the log msg to clue us into what exactly was being attempted. But some of these file paths are sysop-configurable, and they can put unexpected things in there that make it difficult to determine exactly what file was trying to be opened and for what purpose. This should help a little bit.

  9. Eric Oulashin
    Sun Sep 17 2023 14:59:33 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DD File Lister: Blank out the "# Files Listed" string if used as a loadable module (optional, defaults to true)

  10. Rob Swindell
    Sun Sep 17 2023 17:49:32 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_blank_NFilesListed_as_loadable_module' into 'master' DD File Lister: Blank out the "# Files Listed" string if used as a loadable module (optional, defaults to true) See merge request main/sbbs!334

  11. Eric Oulashin
    Sun Sep 17 2023 16:46:34 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/version_history.txt diff
    DD File area chooser: Bug fix for searching with name collapsing

  12. Rob Swindell
    Sun Sep 17 2023 17:49:16 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/version_history.txt diff
    Merge branch 'dd_file_area_chooser_name_collapsing_search_fix' into 'master' DD File area chooser: Bug fix for searching with name collapsing See merge request main/sbbs!335

  13. Rob Swindell (on Windows)
    Sat Sep 16 2023 23:23:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/con_hi.cpp diff
    src/sbbs3/sbbs.h diff
    The first argument to sbbs_t::uselect() is actually a boolean

  14. Rob Swindell (on Windows)
    Sat Sep 16 2023 23:33:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_console.cpp diff
    If console.uselect() is called just with the number argument, use as default This allows the calling script to control what the default item is (when the user just hits enter), and not always the first item. Fixes issue #637

  15. Eric Oulashin
    Sat Sep 16 2023 18:37:00 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DD File Lister 'empty directory' fix, help screen pause, filename searching, etc

  16. Rob Swindell
    Sat Sep 16 2023 18:58:33 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_exit_code_filename_searching_and_help_screen_pause' into 'master' DD File Lister 'empty directory' fix, help screen pause, filename searching, etc See merge request main/sbbs!333

  17. Eric Oulashin
    Sat Sep 16 2023 12:43:46 GMT-0700 (PDT)
    Added Files:
    

    xtrn/DDAreaChoosers/version_history.txt diff
    Modified Files:

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    DD area choosers: Header line display fix

  18. Rob Swindell
    Sat Sep 16 2023 14:39:46 GMT-0700 (PDT)
    Added Files:
    

    xtrn/DDAreaChoosers/version_history.txt diff
    Modified Files:

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    Merge branch 'dd_area_choosers_header_lines_display_fix' into 'master' DD area choosers: Header line display fix See merge request main/sbbs!332

  19. Rob Swindell (on Debian Linux)
    Sat Sep 16 2023 14:29:33 GMT-0700 (PDT)
    Added Files:
    

    exec/load/termdesc.js diff
    Load lib to return descriptive strings for terminal parameters Much of the logic ported from sbbs_t methods in con_out.cpp For Nelgin's default_settings.js project

  20. Rob Swindell (on Debian Linux)
    Sat Sep 16 2023 12:04:56 GMT-0700 (PDT)
    Modified Files:
    

    exec/imapservice.js diff
    Fix error when client supplies invalid Base64 string during auth IIRC, the error was undefined has no properties or split() is not a function, something like that.

  21. Rob Swindell (on Windows)
    Fri Sep 15 2023 15:27:06 GMT-0700 (PDT)
    Modified Files:
    

    exec/imapservice.js diff
    Wrap the body of parse_command() in a try/catch to turn errors into warnings As requested by Keyop in #synchrob0yyz

  22. Rob Swindell (on Windows)
    Fri Sep 15 2023 12:11:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr1.c diff
    Remove mention of tbz (tarred-bzip) support tbz is technically still supported by create_archive(), but without it being included in the supported_archive_formats definition, isn't easily chosen as an option and nobody seems to miss it.

  23. Rob Swindell
    Thu Sep 14 2023 21:49:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/upgrade_to_v319.vcxproj diff
    src/sbbs3/upgrade_to_v320.vcxproj diff
    Make output directories unique for these projects Apparently one was copied from the other and used the same original output file subdirectory name ("upgrade") oops.

  24. Rob Swindell (on Windows)
    Thu Sep 14 2023 21:35:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/fmsgdump.vcxproj diff
    src/sbbs3/pktdump.vcxproj diff
    Change PlatformToolset from v142 to v141_xp (the latest that supports WinXP) I didn't notice that these projects were still being built with a toolset that didn't target WinXP. I might need to update the SDK too.

  25. Rob Swindell (on Windows)
    Thu Sep 14 2023 21:25:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Don't decrement user.xedit before calling uselect() This bug would leave the user's external editor setting decremented by one if they aborted (with Ctrl-C). Fixes issue #631

  26. Rob Swindell (on Windows)
    Thu Sep 14 2023 21:27:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    Change external editor yes/no prompt default to match current user setting Also, although not a bug (because we re-read/parse the user's record every menu cycle), don't decrement user.xedit before calling uselect() - just not a good practice to not modify variables unnecessarily. See the corresponding change to exec.cpp, which was a bug.

  27. Rob Swindell (on Debian Linux)
    Thu Sep 14 2023 13:59:41 GMT-0700 (PDT)
    Added Files:
    

    exec/delmsgs.js diff
    A simple script to delete messages a msgbase e.g. 'jsexec delmsgs mail from joe-blow'

  28. Rob Swindell (on Debian Linux)
    Wed Sep 13 2023 19:50:19 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/cfglib.js diff
    Add basic reading main.ini and file.ini (not all sections) This should be enough for Nelgin to make progress with his user defaults menu script. Not all sections are read and parsed and there will be some extra properties (e.g. "code" in repeated sections that don't normally have that), so the returned objects aren't (yet) suitable for re-writing back to the *.ini files. I also cleaned up some of the exceptions (throwing strings rather than Errors) and removed some empty functions.

  29. Rob Swindell (on Windows)
    Wed Sep 13 2023 18:54:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Remove redundant timestamp from "End of preexisting log entry" log message Most logs sysops are looking at already have a date/timestamp for each message, so this one ended up with 3 date/timestamps in a single line.

  30. Rob Swindell (on Windows)
    Wed Sep 13 2023 18:55:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    src/sbbs3/useredit.cpp diff
    Add new @-code: PROTNAME for full name of default transfer protocol (or None)

  31. Rob Swindell (on Windows)
    Wed Sep 13 2023 18:41:14 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Add new @-code: PROT, user's default file transfer protocol (character) This fixes issue #629

  32. Rob Swindell (on Debian Linux)
    Wed Sep 13 2023 16:27:48 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Add comma to UserDefaultsRows and new string: None

  33. Rob Swindell (on Windows)
    Wed Sep 13 2023 16:22:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    A todo comment

  34. Rob Swindell (on Windows)
    Wed Sep 13 2023 16:23:02 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/useredit.cpp diff
    Several new @-codes that can be used to display user's configuration settings I'll add detailed docs to http://wiki.synchro.net/custom:atcodes soon, but the list is: - TERMTYPE - TERMROWS - TERMCOLS - AUTOTERM - ANSI - ASCII - COLOR - ICE - RIP - PETSCII - SWAPDEL - UTF8 - MOUSE - UPAUSE - SPIN - PAUSESPIN - EXPERT - HOTKEYS - MSGCLS - REMSUBS - FILEDESC - FILEFLAG - AUTOHANG - AUTOLOGON - QUIET - ASKNSCAN - ASKSSCAN - ANFSCAN - EDITOR - SHELL This should (at least mostly) address the issue #629

  35. Rob Swindell (on Windows)
    Tue Sep 12 2023 18:31:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Fix log topic publishing when using MQTT v3 Apparently if you call mosquitto_publish_v5() with a non-NULL properties pointer, it'll only publish via protocol v5 and doesn't work if you're using protocol v3 connection. Thanks Ree.

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

    src/sbbs3/mqtt.c diff
    Always publish log messages to both .../logs and .../logs/<level> topics ... regardless of the configured MQTT protocol version (v5 or v3.x). Also include an MQTT v5 user-property ("time") with the message's origination time/date stamp in ISO-8601 format in all log messages (to both topics). This will at least double the amount of MQTT log traffic to the broker. When MQTT v5 is used, the additional user-properties will increase it even a little more. Is this what you were suggesting Ree?

  37. Rob Swindell (on Windows)
    Tue Sep 12 2023 15:41:47 GMT-0700 (PDT)
    Modified Files:
    

    exec/imapservice.js diff
    Wrap the entire search logic in a try/catch statement This should effectively turn script-terminating errors into just warnings and thus at least working-around issue #397: the exceptions will be logged as warnings intead of errors, but still logged.

  38. Rob Swindell (on Windows)
    Mon Sep 11 2023 17:53:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_user.c diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/userdat.c diff
    Allow JS 'user.editor' and '.shell' to be set for non-users (e.g. user #0) The request from Nightfox and Accession via DOVE-Net was to be able to set a user's external editor even if there's no user logged-in. These 2 user class properties in the JS object model were a bit special in that they *only* wrote to the user database and did not immediately modify the in-memory copy of the user_t structure, depending on the re-reading of the user.dat/tab file to re-populate the current user_t structure when needed. This didn't work if the current user is user #0 (no user). So, set the current user_t.xedit and user_t.shell accordingly whenever those JS properties are assigned a value (a string, the appropriate internal code).

  39. Rob Swindell (on ChromeOS)
    Sun Sep 10 2023 15:07:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/exec.cpp diff
    Don't call putuserdat if the user number is invalid (not logged in) This should fix issue #626

  40. Rob Swindell (on Windows)
    Sat Sep 09 2023 16:59:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Add ability to send a node message via MQTT (to sbbs/+/node/+/msg topic) The node message should be terminated with a newline character. e.g. $ echo "Hey you" | mosquitto_pub -s -t sbbs/VERT/node/1/msg I'm considering the ability to send user message (telegrams) via MQTT too.

  41. Rick Parrish
    Sat Sep 09 2023 10:27:10 GMT-0700 (PDT)
    Modified Files:
    

    exec/websocketservice.js diff
    Add support for binary frames to websocket service

  42. Rob Swindell
    Sat Sep 09 2023 10:27:10 GMT-0700 (PDT)
    Modified Files:
    

    exec/websocketservice.js diff
    Merge branch 'Ree/websocketservice-support-binary' into 'master' Add support for binary frames to websocket service See merge request main/sbbs!330

  43. Rick Parrish
    Sat Sep 09 2023 10:18:08 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/presence_lib.js diff
    webv4/lib/events/nodelist.js diff
    webv4/root/api/system.ssjs diff
    Update node action display on web

  44. Rob Swindell
    Sat Sep 09 2023 10:18:08 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/presence_lib.js diff
    webv4/lib/events/nodelist.js diff
    webv4/root/api/system.ssjs diff
    Merge branch 'Ree/nodelist-external-name' into 'master' Update node action display on web See merge request main/sbbs!329

  45. Rob Swindell (on Debian Linux)
    Sat Sep 09 2023 09:56:43 GMT-0700 (PDT)
    Modified Files:
    

    exec/sendmsg.js diff
    Use sysop name instead of user.email if user.number == 0 (run from JSexec) The reported issue didnt mention JSexec, but I assume that's what was meant by "from the command line". (?) I honestly forgot this script even existed. It's using the old deprecated SMTP SOML command to send a telegram to a user. There are much better ways to do that for the local system (e.g. calling system.put_telegram), but I suspect this script existed since before the JS object model had support for sending user telegrams. Anyway, this was a simple change to fix issue #623, but really this script should probably be rewritten or removed from the repo (we use MSP for sending inter-BBS instant messages these days instead of SMTP/SOML).

  46. Rob Swindell (on Debian Linux)
    Sat Sep 09 2023 09:45:05 GMT-0700 (PDT)
    Modified Files:
    

    install/systemd/sbbs.service diff
    Change NotifyAccess from "main" to "all" sd_notify() is called from other threads (PIDs), so we've been getting syslog warnings abouts this and I hadn't noticed: systemd[1]: sbbs.service: Got notification message from PID 2555007, but reception only permitted for main PID which is currently not known As pointed out by Accession (PHARCYDE) on DOVE-Net.

  47. Rob Swindell (on Debian Linux)
    Wed Sep 06 2023 16:13:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    Resolve new GCC warnings introduced with addition of new_item() Just make the list argument a void* and assign to a void** local var inside the function. No functional changes. Fixes issue #621

  48. rickparrish
    Wed Sep 06 2023 15:04:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Fix return value when p->peeked is true

  49. Rob Swindell
    Wed Sep 06 2023 15:37:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Merge branch 'Ree/js_socket_recv-fix' into 'master' Fix return value when p->peeked is true See merge request main/sbbs!328

  50. Rob Swindell (on Windows)
    Tue Sep 05 2023 19:13:34 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgxfr1.c diff
    Update File Options "paste" behavior to use insert-above instead of overwrite To be more consistent with the paste key behavior elsewhere in SCFG, make the file options (Viewable Files, Testable Files, Download Events, Extractable Files, Compressible Files, and Transfer Protocols) menus handle paste (Ctrl-V, F6) key by inserting the copied or cut item above the current selection rather than overwriting the current selection. Fixes issue #616

  51. Rick Parrish
    Mon Sep 04 2023 14:56:37 GMT-0700 (PDT)
    Modified Files:
    

    exec/websocketservice.js diff
    Speed up file transfers.

  52. Rob Swindell
    Mon Sep 04 2023 14:56:37 GMT-0700 (PDT)
    Modified Files:
    

    exec/websocketservice.js diff
    Merge branch 'Ree/websocketservice-speedup' into 'master' Speed up file transfers. See merge request main/sbbs!327

  53. Eric Oulashin
    Sat Sep 02 2023 21:39:53 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: Fix for the lightbar interface: When erasing the file info window, the file date is not shown on a duplicate line if the file date is already showing in the description area (i.e., for a 1-line file description). The veresion is now 2.14

  54. Rob Swindell
    Sun Sep 03 2023 20:01:27 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'dd_file_lister_lightbar_info_description_date_fix' into 'master' DDFileLister: Fix for the lightbar interface: When erasing the file info window, the file date is not shown on a duplicate line if the file date is already showing in the description area (i.e., for a 1-line file description). The veresion is now 2.14 See merge request main/sbbs!326

  55. Rob Swindell (on ChromeOS)
    Sun Sep 03 2023 15:24:58 GMT-0700 (PDT)
    Modified Files:
    

    src/odoors/GNUmakefile diff
    Hacks to get ODoors to build on Linux (Debian/Ubuntu recent releases) again 1. Resolve the "hidden symbol 'atexit' ... being referenced by DSO" error by using the -shared option (link against shared objects, not static libs) 2. The path to the xpdev output directory (where to find libxpdev.a) is just wrong. Hard-coded the machine architecuture portion (.x64) as a hack for now. Also, since this is use the LD macro, you need to pass "LD=gcc" on the make command-line. Not sure how this worked before. Fixes (or at least works-around) issues reported by Ryan Fantus (1:218/820)

  56. Rob Swindell (on Debian Linux)
    Fri Sep 01 2023 12:32:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_internal.c diff
    Don't use scope argument value to js.exec() if it's null Fixes issue #611

  57. Nigel Reed
    Fri Sep 01 2023 12:19:14 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    Fix for js.time_limit stuck at 0

  58. Rob Swindell
    Fri Sep 01 2023 12:19:14 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    Merge branch 'mrc_fix_time_limit' into 'master' Fix for js.time_limit stuck at 0 See merge request main/sbbs!325

  59. Nigel Reed
    Fri Sep 01 2023 10:03:26 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    xtrn/mrc/readme.txt diff
    Fix timeout in mrc client and connector to avoid endless loop issue

  60. Rob Swindell
    Fri Sep 01 2023 10:03:26 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    xtrn/mrc/readme.txt diff
    Merge branch 'mrc_fix_endless_loop_issue' into 'master' Fix timeout in mrc client and connector to avoid endless loop issue See merge request main/sbbs!324

  61. Randy Sommerfeld
    Thu Aug 31 2023 20:01:54 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/core.js diff
    Fix https://gitlab.synchro.net/main/sbbs/-/issues/601

  62. Rob Swindell (on Windows)
    Thu Aug 31 2023 17:24:28 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/node.c diff
    src/sbbs3/nodedefs.h diff
    node utility can now display one/some/all key/values from node*/client.ini <nelgin> Remind me why you can't show the ip address on node status? :) Using the new '-v[key]' option, a sysop can view one, some, or all of the key/value pairs from the nodes with a connected client. For nodes without a connected client, the client.ini file values aren't particularly useful, but if someone wants an option to show those values for non-client-connected nodes I can do that too. When using '-v', all the client.ini key/value pairs will be displayed for all the node records requested with currently connected clients. By specifying '-v[key]' the sysop can specify a key to display (rather than all of them) e.g. 'node list -vaddr' to list nodes with remote client IP addresses. This option can be used multiple times on the command-line to view multiple keys. See node*/client.ini for the list of supported keys. This feature only works for nodes whose directory paths are ../node#/ relative to the ctrl directory. Since the node utility doesn't read any configuration files, this is a limitation. If you have different node directory names/parents and need to use this feature, let me know and I'll see about adding support for reading/parsing main.ini file to discover those non-standard/default node directory paths automatically. The version number displayed is now taken from the sbbs version (sbbsdefs.h). The maximum ctrl directory path is now extended from 40 chars to MAX_PATH. More readable help/usage output (using indentation).

  63. Rob Swindell (on Windows)
    Wed Aug 30 2023 18:13:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Remove MQTT message publishing from mqtt_connect_callback() A follow-up to commit 81d4575e Although I was not able to successfully reproduce the problem that Ree reported with his commit (even when changing the SCFG->Networks->MQTT->Publish QOS to 1: At least once) on Windows, I do see how this problem could theoretically happen. And like Ree said in the follow-up comment on the MR "maybe these two lines should have stayed in mqtt_startup", they don't really belong in the connection callback. The "client" topics only needs to be cleared upon startup or recycle (by publishing a null message) and it would be bad to clear these topics whenever the broker was reconnected (the server's clients didn't magically disconnect). So these "client" topic-clearing publishes are now only done during startup (again). The "recycle" topics don't really need to be published to here at all. I think I only did this for cases where someone published a non-null message to the topic and its stale message would remain afterward, appearing in MQTT browsers (like MQTT explorer) long after the server had recycled. The real solution to this cosmetic issue is to only publish null (0-length) messages to the "recycle" topics in the first place.

  64. Eric Oulashin
    Wed Aug 30 2023 17:37:46 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Bug fix for going to a specific message in the message list...

  65. Rob Swindell
    Wed Aug 30 2023 17:37:46 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_list_msg_num_input_fix' into 'master' DDMsgReader: Bug fix for going to a specific message in the message list... See merge request main/sbbs!323

  66. Rob Swindell (on Debian Linux)
    Wed Aug 30 2023 17:04:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Fix "Error writing /path/to/sbbs.ini" when using '-f' option. Wasn't opening the sbbs.ini file for modify access. As reported via DOVE-Net by Accession (PHARCYDE)

  67. Eric Oulashin
    Sat Aug 26 2023 14:28:02 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: When saving a message on the local BBS PC without all the headers, the date is now included

  68. Rob Swindell
    Sat Aug 26 2023 22:50:32 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_save_msg_time' into 'master' DDMsgReader: When saving a message on the local BBS PC without all the headers, the date is now included See merge request main/sbbs!322

  69. Eric Oulashin
    Sun Aug 20 2023 16:49:34 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DD Message Reader: Including all message headers when saving a message (sysop...

  70. Rob Swindell
    Sun Aug 20 2023 16:49:34 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_save_all_msg_headers_optional' into 'master' DD Message Reader: Including all message headers when saving a message (sysop... See merge request main/sbbs!319

  71. Rick Parrish
    Sun Aug 20 2023 16:48:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Add a connect callback handler.

  72. Rob Swindell
    Sun Aug 20 2023 16:48:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Merge branch 'Ree/mqtt-connect-callback' into 'master' Add a connect callback handler. See merge request main/sbbs!320

  73. Eric Oulashin
    Fri Aug 18 2023 10:10:38 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Fix for "Message header has 'expanded fields'" error when updating message header attributes in certain conditions

  74. Rob Swindell
    Fri Aug 18 2023 10:31:47 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_update_attributes_expanded_fields_error_fix' into 'master' DDMsgReader: Fix for "Message header has 'expanded fields'" error when updating message header attributes in certain conditions See merge request main/sbbs!317

  75. Rob Swindell (on Debian Linux)
    Thu Aug 17 2023 22:21:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/mqtt_spy.js diff
    Use console.write() when available for outputting spied content Defeats local auto-screen-pausing Fixes issue #603 reported by Nelgin

  76. Rob Swindell (on Debian Linux)
    Thu Aug 17 2023 15:38:34 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfglib2.c diff
    Move reading of each dir's data_dir key into read_dir_defaults_cfg() This appears to just be a miss from the initial commit (70b835d0) of the directory default configuration (per lib) feature, so a file lib's directory default "data dir" wouldn't be read from file.ini. This fixes issue #602 reported by Nelgin.

  77. Eric Oulashin
    Thu Aug 17 2023 10:49:48 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit_Misc.js diff
    SlyEdit: More small tweaks for quote line wrapping to determine ideal places to append a CRLF

  78. Rob Swindell
    Thu Aug 17 2023 14:11:21 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit_Misc.js diff
    Merge branch 'slyedit_quote_line_wrapping_more_tweaks' into 'master' SlyEdit: More small tweaks for quote line wrapping to determine ideal places to append a CRLF See merge request main/sbbs!316

  79. Eric Oulashin
    Wed Aug 16 2023 15:56:01 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Allows kwyeord searching of personal email with command-line arguments

  80. Rob Swindell
    Wed Aug 16 2023 16:15:41 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_search_personal_email_update' into 'master' DDMsgReader: Allows kwyeord searching of personal email with command-line arguments See merge request main/sbbs!315

  81. Rick Parrish
    Tue Aug 15 2023 17:07:17 GMT-0700 (PDT)
    Added Files:
    

    webv4/components/mqtt.xjs diff
    webv4/pages/More/001-nodespy.xjs diff
    webv4/root/js/mqtt.js diff
    webv4/root/js/nodespy.js diff
    Removed Files:

    webv4/pages/More/002-nodespy.xjs diff
    Refactor the node spy page

  82. Rob Swindell
    Tue Aug 15 2023 17:07:17 GMT-0700 (PDT)
    Added Files:
    

    webv4/components/mqtt.xjs diff
    webv4/pages/More/001-nodespy.xjs diff
    webv4/root/js/mqtt.js diff
    webv4/root/js/nodespy.js diff
    Removed Files:

    webv4/pages/More/002-nodespy.xjs diff
    Merge branch 'Ree/node-spy-2' into 'master' Refactor the node spy page See merge request main/sbbs!314

  83. Eric Oulashin
    Tue Aug 15 2023 16:58:15 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit_Misc.js diff
    SlyEdit: For quote lines, a small tweak for long line (>120 character) adding a CRLF for paragraph formatting

  84. Rob Swindell
    Tue Aug 15 2023 16:58:15 GMT-0700 (PDT)
    Modified Files:
    

    exec/SlyEdit_Misc.js diff
    Merge branch 'slyedit_long_line_crlf' into 'master' SlyEdit: For quote lines, a small tweak for long line (>120 character) adding a CRLF for paragraph formatting See merge request main/sbbs!313

  85. Eric Oulashin
    Tue Aug 15 2023 10:28:42 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    SlyEdit: Improvement to paragraph/line breaks in quote line wrapping. The version is now 1.87

  86. Rob Swindell
    Tue Aug 15 2023 10:28:42 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    Merge branch 'slyedit_quote_wrap_paragraph_improvement' into 'master' SlyEdit: Improvement to paragraph/line breaks in quote line wrapping. The version is now 1.87 See merge request main/sbbs!312

  87. Rick Parrish
    Mon Aug 14 2023 12:51:47 GMT-0700 (PDT)
    Added Files:
    

    webv4/pages/More/002-nodespy.xjs diff
    webv4/root/js/utf8_cp437.js diff
    Modified Files:

    webv4/lib/pages.js diff
    webv4/pages/More/webctrl.ini diff
    Add a node spy to the web interface

  88. Rob Swindell
    Mon Aug 14 2023 12:51:47 GMT-0700 (PDT)
    Added Files:
    

    webv4/pages/More/002-nodespy.xjs diff
    webv4/root/js/utf8_cp437.js diff
    Modified Files:

    webv4/lib/pages.js diff
    webv4/pages/More/webctrl.ini diff
    Merge branch 'Ree/node-spy' into 'master' Add a node spy to the web interface See merge request main/sbbs!308

  89. Eric Oulashin
    Mon Aug 14 2023 12:44:21 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: Traditional UI - Fixes for qutiting certain actions. Prints selected actions. Up & down arrow keys.

  90. Rob Swindell
    Mon Aug 14 2023 12:44:21 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_traditional_ui_enhancements' into 'master' DDFileLister: Traditional UI - Fixes for qutiting certain actions. Prints selected actions. Up & down arrow keys. See merge request main/sbbs!311

  91. Eric Oulashin
    Sat Aug 12 2023 18:48:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/defaultTheme.cfg diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    ddfilelister now has its own implementation of a traditional (non-lightbar) UI. Its version is now 2.12

  92. Rob Swindell
    Sat Aug 12 2023 18:48:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/ddfilelister/ddfilelister.cfg diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/defaultTheme.cfg diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_traditional_ui_implementation' into 'master' ddfilelister now has its own implementation of a traditional (non-lightbar) UI. Its version is now 2.12 See merge request main/sbbs!309

  93. Rob Swindell (on Windows)
    Thu Aug 10 2023 17:44:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Allow triggering timed event or QWKnet call-out by publishing to MQTT topic - sbbs/BBSID/exec (publish the timed event's internal code) - sbbs/BBSID/call (publish the QWKnet hub's ID) The message contents are not case-sensitive.

  94. Rob Swindell (on Windows)
    Thu Aug 10 2023 11:10:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Allow a msg value of "0" to clear/unset the node/+/set/# topics/flags e.g. publishing "0" to node/#/set/intr will clear the node-interrupt flag. Any non-zero message value will "set" the flag. Same is true for the lock, down, and rerun topics/flags. These node attributes (misc) flags could be cleared previously by setting the 'misc' topic (e.g. to 0), but since that's not an atomic read/modify/write operation, other set misc flags could be lost clearing flags in that manner.

  95. Rob Swindell (on Windows)
    Thu Aug 10 2023 12:29:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    Prioritize the node/+/input topics over the node/+/set/+ topics

  96. Rob Swindell (on Windows)
    Wed Aug 09 2023 18:20:51 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfgchat.c diff
    Fix some signed/unsigned int comparison warnings from MSVC

  97. Rob Swindell (on Windows)
    Wed Aug 09 2023 18:22:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Add some helper functions for modifying node records in node.dab, atomically These should probably be moved (along with other node functions in this file) to nodedat.* some day.

  98. Rob Swindell (on Windows)
    Wed Aug 09 2023 18:23:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/nodedefs.h diff
    Changes in comments only: copyright header block, typo

  99. Rob Swindell (on Windows)
    Wed Aug 09 2023 18:24:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mqtt.c diff
    New MQTT topics that the terminal server will subscribe to for node changes <nelgin> can I push an intr instruction to a node with mqtt? node/#/set/status - set the node status value (to an integer) node/#/set/errors - set the node error counter (to an integer, e.g. "0") node/#/set/misc - set the node's miscellaneous attributes/flags value (hexadecimal values can be set by including "0x" prefix) The message (payload) doesn't matter for the following topics: node/#/set/lock - lock a node (no one but sysop can login) node/#/set/intr - interrupt a node (disconnect a user) node/#/set/down - down a node (not available for connections) node/#/set/rerun - rerun a node (reload config upon next connection)

  100. Rob Swindell (on Debian Linux)
    Tue Aug 08 2023 22:38:54 GMT-0700 (PDT)
    Modified Files:
    

    exec/mqtt_pub.js diff
    Fix ReferenceError: options is not defined Just fall-through to display help output for unrecognized options.

  101. Rob Swindell (on Debian Linux)
    Tue Aug 08 2023 22:26:57 GMT-0700 (PDT)
    Modified Files:
    

    exec/mqtt_stats.js diff
    Set QOS level to 1 (2 doesn't work?) Remove unnecessary call to JSON.stringify() in non-JSON mode

  102. Rob Swindell (on Debian Linux)
    Tue Aug 08 2023 22:14:51 GMT-0700 (PDT)
    Modified Files:
    

    exec/mqtt_pub.js diff
    Add -B and -H options to auto-prefix the topic with BBS or host topic prefix This allows command-lines to be more cross-platform/host As requested by Nelgin

  103. Rob Swindell (on Debian Linux)
    Tue Aug 08 2023 22:01:37 GMT-0700 (PDT)
    Added Files:
    

    exec/mqtt_stats.js diff
    Script to publish statistics (optionally, JSON-encoded) to BBSID/stats topic Use a timed event and/or execute via jsexec Nelgin's request/idea

  104. Eric Oulashin
    Tue Aug 08 2023 21:33:56 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_upload_processor/ddup.js diff
    xtrn/dd_upload_processor/readme.txt diff
    xtrn/dd_upload_processor/version_history.txt diff
    DD Upload Processor: Scan failure output is now logged to the system log instead of outputted to the logged-in user

  105. Rob Swindell
    Tue Aug 08 2023 21:33:56 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_upload_processor/ddup.js diff
    xtrn/dd_upload_processor/readme.txt diff
    xtrn/dd_upload_processor/version_history.txt diff
    Merge branch 'ddup_scan_fail_logging' into 'master' DD Upload Processor: Scan failure output is now logged to the system log instead of outputted to the logged-in user See merge request main/sbbs!307

  106. Rob Swindell (on Windows)
    Tue Aug 08 2023 17:44:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Insure the exec_dir is *always* prepped (fix for Windows upgrade to v3.20) A "prepped" means directory means a relative path from the configuration files (or default settings) has been converted to a full/absolute path with proper slashes for the platform (i.e. backslashes instead of forward-slashes on Windows). JSexec doesn't require that the new v3.20 ctrl/*.ini files exist to run; this was necessary to be able to run 'jsexec update -> upgrade_to_v320.js' which does the ctrl/*.cnf to .ini file conversion (egg not required to build chicken). When JSexec failed to load ctrl/msgs.ini (e.g. "!ERROR loading configuration files: 2 (No such file or directory) opening /sbbs/ctrl\msgs.ini"), it would continue to run, but not "prep" any of the "path" settings (e.g. exec_dir). The first run of 'jsexec update.js' would fail to run upgrade_to_v320.exe (which does the v3.20 user base conversion) and a bunch of other (but not as important) update steps because Windows couldn't execute "../exec/*". Multiple errors would be displayed in this case, but the most important (as reported by Ree in #synchronet of irc.synchro.net) was: '..' is not recognized as an internal or external command right after the status output: No v3.20 user base found, running ../exec/upgrade_to_v320 Notice the "../exec/" prefix, which is not support by Windows when specifying a file path to execute. A second run of 'jsexec update' would work fine because the new v3.20 .ini files would be successfully created after the first run (though the user base was not). This is likely the same issue that MRO reported recently when upgrading a Windows SBBS v3.19 install to v3.20 and not having the user base upgraded the first time.

  107. Rob Swindell (on Windows)
    Tue Aug 08 2023 17:44:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr1.c diff
    Code indentation change only.

  108. Eric Oulashin
    Tue Aug 08 2023 12:37:26 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_upload_processor/readme.txt diff
    Fixed a typo in the DD Upload Processor readme.txt

  109. Rob Swindell
    Tue Aug 08 2023 13:58:16 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_upload_processor/readme.txt diff
    Merge branch 'dd_upload_processor_readme_typo_fix' into 'master' Fixed a typo in the DD Upload Processor readme.txt See merge request main/sbbs!306

  110. Eric Oulashin
    Tue Aug 08 2023 12:12:50 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_arc_viewer/dd_arc_viewer.cfg diff
    xtrn/dd_arc_viewer/dd_arc_viewer.js diff
    xtrn/dd_arc_viewer/readme.txt diff
    xtrn/dd_arc_viewer/revision_history.txt diff
    xtrn/dd_upload_processor/ddup.js diff
    xtrn/dd_upload_processor/readme.txt diff
    xtrn/dd_upload_processor/version_history.txt diff
    DD arc viewer & upload processor: Refactor of how the configuration files are read. Arc viewer: Control characters are no longer needed for color settings.

  111. Rob Swindell
    Tue Aug 08 2023 12:12:50 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_arc_viewer/dd_arc_viewer.cfg diff
    xtrn/dd_arc_viewer/dd_arc_viewer.js diff
    xtrn/dd_arc_viewer/readme.txt diff
    xtrn/dd_arc_viewer/revision_history.txt diff
    xtrn/dd_upload_processor/ddup.js diff
    xtrn/dd_upload_processor/readme.txt diff
    xtrn/dd_upload_processor/version_history.txt diff
    Merge branch 'dd_upload_processor_arc_viewer_config_load_refactor' into 'master' DD arc viewer & upload processor: Refactor of how the configuration files are read. Arc viewer: Control characters are no longer needed for color settings. See merge request main/sbbs!305

  112. Eric Oulashin
    Mon Aug 07 2023 11:26:56 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_upload_processor/ddup.js diff
    xtrn/dd_upload_processor/readme.txt diff
    xtrn/dd_upload_processor/version_history.txt diff
    DD Upload Processor: Now supports Synchronet's built-in archive support to extract archive files

  113. Rob Swindell
    Mon Aug 07 2023 11:26:56 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/dd_upload_processor/ddup.js diff
    xtrn/dd_upload_processor/readme.txt diff
    xtrn/dd_upload_processor/version_history.txt diff
    Merge branch 'ddup_synchronet_archive_support' into 'master' DD Upload Processor: Now supports Synchronet's built-in archive support to extract archive files See merge request main/sbbs!304

  114. Rob Swindell (on Debian Linux)
    Fri Aug 04 2023 21:06:30 GMT-0700 (PDT)
    Modified Files:
    

    exec/mqtt_spy.js diff
    Don't publish "null" node input topic get_ansi_seq() here can return null, don't pass that value to mqtt.publish() which gets converted to a string.

  115. Rob Swindell (on Debian Linux)
    Fri Aug 04 2023 20:22:33 GMT-0700 (PDT)
    Modified Files:
    

    exec/mqtt_spy.js diff
    Add character set translation (CP437 <> UTF-8) ... for when your terminal and the node client terminal don't use the same character set. Only CP437 and UTF-8 addressed in this commit, not PETSCII or plain ASCII. This was never possible before MQTT.

  116. Rob Swindell (on Debian Linux)
    Fri Aug 04 2023 17:42:40 GMT-0700 (PDT)
    Added Files:
    

    exec/mqtt_spy.js diff
    Modified Files:

    exec/str_cmds.js diff
    Support for spying via MQTT between nodes For read-only spying, the mqtt_spy.js module can be used via jsexec (from an OS shell command prompt), similar to mosquitto_sub. For read-write spying, just use the ;SPY sysop command as before and if MQTT is configured/enabled, it'll use MQTT rather than sockets or shared memory queues to spy on the target node. For the first time, you can spy between nodes that are on different servers of the same BBS using the ;SPY sysop command. Passes through ctrl characters (except Ctrl-C), unlike the built-in spy function. This could be revisited later or made optional, but it sems to make sense to allow Ctrl-Z (e.g. to save a message in fseditor.js) to be passed through to the target node.

  117. Rob Swindell (on Windows)
    Fri Aug 04 2023 12:16:30 GMT-0700 (PDT)
    Modified Files:
    

    src/vdmodem/vdmodem.c diff
    Don't leave socket open when dial() reports "NO CARRIER" As reported by Deon on DOVE-net, when the call to socket_recvdone() returns true (socket is disconnected and all data has been recv()ed), dial() would report "NO CARRIER" but leave the open socket opened, thus preventing any subsequent dial attempt ("Can't dial: Already connected" and "ERROR"). Also removed the source file path/name from the debug print statements - don't need that noise. Incremented the version to 0.4

  118. Deucе
    Thu Aug 03 2023 11:40:20 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/cterm.txt diff
    Add support for 90-97 and 100-107 SGR parameters This allows directly setting bright foreground and background colours rather than using bold and blink to indirectly modify them. These do not have an effect if the desired mode is not possible (ie: no bright background, no bright foreground).

  119. Deucе
    Wed Aug 02 2023 22:57:08 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Properly read extended keys in non-graphics builds. Fixes SF issue 118

  120. Eric Oulashin
    Sun Jul 30 2023 17:00:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    DDMsgReader: In the theme configuration file, use a : as the separator for...

  121. Rob Swindell
    Sun Jul 30 2023 17:00:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    Merge branch 'DDMsgReader_theme_strings_trailing_spaces' into 'master' DDMsgReader: In the theme configuration file, use a : as the separator for... See merge request main/sbbs!303

  122. Deuce
    Sun Jul 30 2023 07:09:16 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    Free rects passed before X11 is initialized

  123. Deucе
    Sun Jul 30 2023 05:43:50 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Fix the typo, fix the pipes.

  124. Deucе
    Sun Jul 30 2023 05:25:02 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Move call to bitmap_drv_free_rect() out of vstatlock

  125. Deuce
    Sun Jul 30 2023 04:14:13 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/conio/win32gdi.c diff
    src/conio/x_events.c diff
    If ciolib_initial_scaling is less than 1.0, interpret as multiplier For example, if it was set to 0.4, the initial scaling would be set to take at most 40% of the screen height or width (whichever is smaller) with a minimum of 1.0

  126. Eric Oulashin
    Sat Jul 29 2023 22:01:21 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    SlyEdit: Improved quoting (formatting) for the various quote prefixes (using a > character)

  127. Rob Swindell
    Sat Jul 29 2023 22:01:21 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_Misc.js diff
    Merge branch 'slyedit_quote_improvement' into 'master' SlyEdit: Improved quoting (formatting) for the various quote prefixes (using a > character) See merge request main/sbbs!302

  128. Eric Oulashin
    Sat Jul 29 2023 21:53:03 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Removed Files:

    xtrn/ddfilelister.js diff
    DD File Area Chooser fix for directory collapsing mode when using the lightbar interface.

  129. Rob Swindell
    Sat Jul 29 2023 21:53:04 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Removed Files:

    xtrn/ddfilelister.js diff
    Merge branch 'dd_file_area_chooser_dir_collapsing_lightbar_loop_fix' into 'master' DD File Area Chooser fix for directory collapsing mode when using the lightbar interface. See merge request main/sbbs!301

  130. Deucе
    Sat Jul 29 2023 14:59:52 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/utf8_codepages.c diff
    Fix ATASCII harder. There's a few ASCII control codes that need to be translated, so add a new mapping function that tries the map first, then returns ASCII on failure to map.

  131. Deucе
    Sat Jul 29 2023 14:49:33 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/utf8_codepages.c diff
    The unicode->ATASCII table is not a fulltable. Fixes inability to use ATASCII in curses mode.

  132. Deucе
    Sat Jul 29 2023 14:00:02 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix CTRL + CAPS issue in X11 Previously, both the shift key, and the "implied shift" from CAPS were treated as a higher priority than the CTRL modifier. With this change, only the explicit shift key has priority, and the implicit one is only checked after CTRL is checked. Fixes SourceForge bug 117

  133. Deuce
    Sat Jul 29 2023 11:29:04 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix non-integer scaling corruption when r2y is NULL

  134. Rob Swindell (on Debian Linux)
    Tue Jul 25 2023 17:00:19 GMT-0700 (PDT)
    Modified Files:
    

    exec/login.js diff
    Enable "use strict" mode in this script - best practice Requires hex literals for control chars instead of octal (e.g. \x01 instead of \1) All stock scripts should be using strict mode, so this was a miss.

  135. Rob Swindell (on Debian Linux)
    Mon Jul 24 2023 18:31:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Manual revert of the ListeningSocket contructor "fix" which wasn't necessary I keep reverting/un-reverting the merge that includes an unrelated logon.cpp change. So just manually remove this new code that was added to attempt to fix issue #402 since I incorrectly concluded that sockopts.ini wasn't being applied to new sockets created with ListeningSocket().

  136. Rob Swindell (on Debian Linux)
    Mon Jul 24 2023 18:28:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Revert "Revert "Apply socket options from sockopts.ini to sockets created by ListeningSocket()"" This reverts commit 7ff687ff15f690410daa0bdbe2ecc468ea1b4a41. We're already passing a sock_init callback (ls_cb) which is supposed to set the socket options (call set_socket_options), so this change shouldn't be necessary and reportedly caused more issues binding ircd sockets when running ircd.js via jsexec (though I didn't see this myself).

  137. Rob Swindell (on Debian Linux)
    Mon Jul 24 2023 18:26:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Revert "Apply socket options from sockopts.ini to sockets created by ListeningSocket()" This reverts commit 52d9a03d372792616091e4c66b28d98d711d3b29.

  138. Rob Swindell (on Debian Linux)
    Mon Jul 24 2023 18:27:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Revert "Revert "Log an error if getstats() returns a failure"" This reverts commit e12c35049251dc97e8eafd7c7fc12dfd9ba13ad9. Wrong commit reverted. Oops.

  139. Rob Swindell (on Debian Linux)
    Mon Jul 24 2023 18:23:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Revert "Log an error if getstats() returns a failure" This reverts commit 8266da9c329d2ba49ff2001cf542a0d05dc9987e. We're already passing a sock_init callback (ls_cb) which is supposed to set the socket options (call set_socket_options), so this change shouldn't be necessary and reportedly caused more issues binding ircd sockets when running ircd.js via jsexec (though I didn't see this myself).

  140. Rob Swindell (on Windows)
    Mon Jul 24 2023 17:21:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Apply socket options from sockopts.ini to sockets created by ListeningSocket() This socket constructor did not get the global socket options treatment when created (years ago). This should fix issue #402 as reported by Nelgin and more recently by Keyop.

  141. Rob Swindell (on Windows)
    Mon Jul 24 2023 17:21:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Log an error if getstats() returns a failure I saw my logon.jsonl file getting cycled multiple times a day recently on Vert and suspect this function call may have been failing.

  142. Eric Oulashin
    Fri Jul 21 2023 12:46:44 GMT-0700 (PDT)
    Added Files:
    

    xtrn/dd_arc_viewer/dd_arc_viewer.cfg diff
    xtrn/dd_arc_viewer/dd_arc_viewer.js diff
    xtrn/dd_arc_viewer/dd_arc_viewer_cleanup.js diff
    xtrn/dd_arc_viewer/dd_arc_viewer_file_types.cfg diff
    xtrn/dd_arc_viewer/readme.txt diff
    xtrn/dd_arc_viewer/revision_history.txt diff
    xtrn/dd_arc_viewer/updating_from_previous_versions.txt diff
    Removed Files:

    xtrn/DDArchiveViewer/DDArcViewer.js diff
    xtrn/DDArchiveViewer/DDArcViewerCleanup.js diff
    xtrn/DDArchiveViewer/DDArcViewerFileTypes.cfg diff
    DD Archive Viewer now supports the built-in Archive class in Synchronet 3.19

  143. Rob Swindell
    Fri Jul 21 2023 12:46:44 GMT-0700 (PDT)
    Added Files:
    

    xtrn/dd_arc_viewer/dd_arc_viewer.cfg diff
    xtrn/dd_arc_viewer/dd_arc_viewer.js diff
    xtrn/dd_arc_viewer/dd_arc_viewer_cleanup.js diff
    xtrn/dd_arc_viewer/dd_arc_viewer_file_types.cfg diff
    xtrn/dd_arc_viewer/readme.txt diff
    xtrn/dd_arc_viewer/revision_history.txt diff
    xtrn/dd_arc_viewer/updating_from_previous_versions.txt diff
    Removed Files:

    xtrn/DDArchiveViewer/DDArcViewer.js diff
    xtrn/DDArchiveViewer/DDArcViewerCleanup.js diff
    xtrn/DDArchiveViewer/DDArcViewerFileTypes.cfg diff
    Merge branch 'dd_archive_viewer_archive_class_update' into 'master' DD Archive Viewer now supports the built-in Archive class in Synchronet 3.19 See merge request main/sbbs!299

  144. Rob Swindell (on Windows)
    Fri Jul 21 2023 12:42:23 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_internal.c diff
    Fix js.exec() error message when specified script can't be found If the search up the scope tree for js.exec_dir fails, the script 'path' would be left blank leading to a weird error message. e.g. !JavaScript default.js line 249: Error: Script file () does not exist

  145. Rob Swindell (on Debian Linux)
    Fri Jul 21 2023 12:37:16 GMT-0700 (PDT)
    Modified Files:
    

    exec/default.js diff
    js.exec() expects a full path to the script, normally There's a weird issue where the scope-walk to find a "js.exec_dir" isn't working (for Nick Young or Nightfox) after invoking DDMsgReader. This should fix (or work around) that issue. And js.exec() doesn't search the mods_dir first when a full script path isn't passed, so with this change, child scripts that are in the mods_dir should now work as a sysop would expect.

  146. Rob Swindell (on Debian Linux)
    Thu Jul 20 2023 11:49:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Always delete the AREASxxxxxx temp file When there are no changes (areas added or removed) via an areafix message, the data/AREASxxxxxx temp file would be left behind. The file was only removed if areas were added or removed from the area file via areafix message. The orphaned data/AREASxxxxxxx files were reported via DOVE-Net by Gamgee (PALANTIR) If you have these stale files, you can safely delete them.

  147. Eric Oulashin
    Thu Jul 20 2023 10:53:44 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    DDMsgAreaChooser fix for exiting immediately if the first message group has no sub-boards. Fixes #589

  148. Rob Swindell
    Thu Jul 20 2023 11:20:33 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    Merge branch 'dd_msg_area_chooser_no_sub_boards_update' into 'master' DDMsgAreaChooser fix for exiting immediately if the first message group has no sub-boards. Fixes #589 Closes #589 See merge request main/sbbs!298

  149. Rob Swindell (on Debian Linux)
    Sat Jul 15 2023 14:23:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/targets.mk diff
    Don't use ln -r (relative) option for 'symlinks' build target As reported by Pasta68K: FreeBSD's ln doesn't support -r ln -sfr clang.freebsd..exe.release/* /sbbs/exec ln: illegal option -- r So use realpath instead. Hopefully all the targeted *nix platforms include 'realpath'.

  150. Rob Swindell (on ChromeOS)
    Sun Jul 09 2023 20:21:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chksmb.c diff
    Only truncate ".anything" from supplied msgbase path if it's ".shd" Make behavior consistent with smbutil and fixmsb.

  151. Rob Swindell (on ChromeOS)
    Sun Jul 09 2023 15:22:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Resource cleanup on exit (when no module specified) Eliminates a SANITIZE build error

  152. Rob Swindell (on Debian Linux)
    Sat Jul 08 2023 12:33:35 GMT-0700 (PDT)
    Modified Files:
    

    exec/ircd.js diff
    exec/load/ircd/core.js diff
    Increment IRCd version to 1.10 Hopefully Cyan agrees that 1.10 was the logical next version number. Hopefully these are the only 2 places where the version is duplicated.

  153. Rob Swindell (on ChromeOS)
    Fri Jul 07 2023 22:58:34 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/core.js diff
    DNSBL-exempt localhost (127.*) and private network (10.*, 192.168.*) addresses Someone should add IPv6 exempted addresses too Maybe perform a check against ctrl/dnsbl_exempt.cfg too?

  154. Rob Swindell (on ChromeOS)
    Fri Jul 07 2023 21:11:07 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/unregistered.js diff
    Log the socket descriptor that's being closed *before* calling Socket.close() Socket.close() always sets the descriptor to -1 which is/would be logged here as an unsigned int (%u) or 4294967295. If this continues to log 4294967295, then a check of descriptor >= 0 would be prudent. And as Cyan said: <Cyan> the IP would be more useful though

  155. Rob Swindell (on ChromeOS)
    Fri Jul 07 2023 20:53:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/core.js diff
    Clean-up the DNSBL checking function a little bit and its call site. Always log (a notice-level log message) when there's a DNSBL match, along with the address it actually resolved to (indicates which list the IP address was found in). No log message otherwise. Note: resolve_ip() doesn't actually support IPv6 yet, so I don't think this IPv6 address parsing/reformatting logic has actually been tested.

  156. Nigel Reed
    Fri Jul 07 2023 20:33:48 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/core.js diff
    Added RBL lookups on connection via DroneDL.

  157. Rob Swindell
    Fri Jul 07 2023 20:33:48 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/core.js diff
    Merge branch 'add_rbl_to_ircd' into 'master' Added RBL lookups on connection via DroneDL. See merge request main/sbbs!297

  158. Rob Swindell (on Windows)
    Fri Jul 07 2023 18:39:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_global.c diff
    Update JSDOCS for resolve_ip and resolve_host: returns null on failure

  159. Rob Swindell (on Debian Linux)
    Fri Jul 07 2023 16:18:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/server.js diff
    Fix server.js line 306: TypeError: p[2] is undefined JavaScript is lovely at data validation ... not!

  160. Nigel Reed
    Fri Jul 07 2023 12:09:12 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/server.js diff
    Synchronet IRC services uses RAKILL to remove any previouslly

  161. Rob Swindell
    Fri Jul 07 2023 12:09:12 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/server.js diff
    Merge branch 'add_rakill_to_ircd' into 'master' Synchronet IRC services uses RAKILL to remove any previouslly See merge request main/sbbs!296

  162. Deucе
    Mon Jul 03 2023 22:53:55 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Ensure we get at least one item before passing to the callback Should fix ASan "crash".

  163. Deucе
    Mon Jul 03 2023 22:58:33 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    UBSan claims this is undefined behaviour... I don't believe them, but I'll fix it anyway.

  164. Deucе
    Mon Jul 03 2023 22:31:40 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Revert "Fix crash in net_wm_state_is_cb when running GCC ASan-enabled build" This reverts commit 0a6fdb956890d029bfdb230f3fec17110690a471. This simply caused the callback to never be called.

  165. Rob Swindell (on ChromeOS)
    Mon Jul 03 2023 19:36:40 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ooii.c diff
    Fix GCC warning: ‘fptr’ may be used uninitialized in this function This does look like a false positive to me: the if clauses that use fptr appear to only cover the same values as the switch-case statements. But harmless defensive change here.

  166. Rob Swindell (on ChromeOS)
    Mon Jul 03 2023 20:17:21 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Fix missing NULL terminator for rip_versions string list Caught be GCC ASan.

  167. Rob Swindell (on ChromeOS)
    Mon Jul 03 2023 20:21:38 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix crash in net_wm_state_is_cb when running GCC ASan-enabled build Check size of X11 property before dereferencing as an Atom. This fixes: ==10203==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000065970 at pc 0x5c5834fb8812 bp 0x7819c717c220 sp 0x7819c717c218 READ of size 8 at 0x602000065970 thread T2 (X11 Events) #0 0x5c5834fb8811 in net_wm_state_is_cb ../conio/x_events.c:1541 But I'm not clear when nitems_return (nir) might represent > 8-bit items or how to detect that, so perhaps there's a *better* fix?

  168. Alex Van Patten
    Thu Jun 29 2023 11:59:40 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/hamtest/Technician.js diff
    Updated Tech question pool. Now valid until 6/30/2026

  169. Rob Swindell
    Thu Jun 29 2023 11:59:40 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/hamtest/Technician.js diff
    Merge branch 'master' into 'master' Updated Tech question pool. Now valid until 6/30/2026 See merge request main/sbbs!295

  170. Rob Swindell (on Debian Linux)
    Wed Jun 28 2023 17:07:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ans2asc.c diff
    Fix GCC warning warning: format not a string literal and no format arguments [-Wformat-security] <nelgin> gcc version 9.4.0

  171. Deucе
    Wed Jun 28 2023 10:00:05 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    Fix for 80379e916 The commit just the zero-length behaviour from uninitialized use with possible undefined behaviour to guaranteed undefined behaviour.

  172. Deucе
    Tue Jun 27 2023 00:00:05 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Remove stale code from net_wm_state_is_cb() It's unlikely this is what Digitalman reported from ASan and UBSan

  173. Rob Swindell (on ChromeOS)
    Mon Jun 26 2023 20:09:58 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    src/conio/ciolib.c diff
    src/conio/cterm.c diff
    src/conio/curs_cio.c diff
    src/conio/mouse.c diff
    src/conio/x_cio.c diff
    Clean-up comment header blocks, no code changes This was really just a test to make sure I had Geany successfully reconfigured to no longer auto-strip trailing whitespace. Spoiler: It wasn't.

  174. Rob Swindell (on ChromeOS)
    Mon Jun 26 2023 20:20:39 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    Fix warning: ‘end’ may be used uninitialized in this function Fix multiple warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’

  175. Rob Swindell (on ChromeOS)
    Mon Jun 26 2023 20:23:14 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Create get_socket_errno() to replace ERROR_VALUE macro eventually

  176. Rob Swindell (on Windows)
    Mon Jun 26 2023 16:24:57 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/pktdump.c diff
    Fix: wasn't parsing origin point from type 2.2 packet headers As Deon pointed out on DOVE-Net::Synchronet Discussion. Thanks!

  177. Rob Swindell (on Windows)
    Mon Jun 26 2023 12:00:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    Thread-safe wrappers for std/socket errno description getters for sbbs_t These should only be used in the sbbs_t methods called by node_thread or event_thread. Any other thread-shared sbbs_t instances should not use these methods since they share a single error description string buffer.

  178. Rob Swindell (on Windows)
    Mon Jun 26 2023 12:21:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/jsexec.c diff
    src/smblib/smballoc.c diff
    src/smblib/smbfile.c diff
    src/smblib/smblib.c diff
    src/xpdev/genwrap.h diff
    Eliminate STRERROR macro This macro hasn't done anything meaningful since we stopped using really old versions of Borland compilers (and std libraries) where strerror() returned a string terminated with a line-feed (\n) character.

  179. Rob Swindell (on Windows)
    Mon Jun 26 2023 11:00:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix type 2.2 packet header generation As reported by Deon on DOVE-Net: type 2.2 packet generation was not (since SBBSecho v3.0) setting the origin and destination point values correctly: was leaving the packet type 2.0 date values in these fields. Also, zero-out the reserved bytes in the type 2.2 packet header (don't leave the type 2.0 date values in there). Thanks for the report Deon!

  180. Rob Swindell (on ChromeOS)
    Fri Jun 23 2023 17:48:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/wordwrap.c diff
    Sanity-check the oldlen argument value to wordwrap() If the oldlen param value is less than one, set to a sane non-zero value (79). Fix issue #576

  181. Rob Swindell (on ChromeOS)
    Sun Jun 18 2023 13:54:26 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Include -fno-omit-frame-pointer when usinag ASan and UBSan this is recommended to reliably display the call stack when using the print_stacktrace option.

  182. Rob Swindell (on ChromeOS)
    Sun Jun 18 2023 13:16:01 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix GCC UBSan (SANITIZE=1 build) runtime error left shift of 255 by 24 places cannot be represented in type 'int'

  183. Rob Swindell (on ChromeOS)
    Sun Jun 18 2023 12:38:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ans2asc.c diff
    Add -esc option for C-literal escaping/encoding of output (e.g. for JS/.ini) <phigz> what would you convert ansi to so it displays right when written out from a .js file? Now, you can use 'ans2asc -esc' for this purpose.

  184. Rob Swindell (on ChromeOS)
    Sat Jun 17 2023 15:48:56 GMT-0700 (PDT)
    Modified Files:
    

    src/cleanall.sh diff
    Support running this script from other directories e.g. running '../cleanall.sh' from the src/sbbs3 dir

  185. Rob Swindell (on ChromeOS)
    Sat Jun 17 2023 15:46:44 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    src/syncterm/term.c diff
    Resolve warnings about ignored return values As reported by GCC 10.2 with FORTIFY=1 and SANITIZE=1

  186. Rob Swindell (on ChromeOS)
    Fri Jun 16 2023 17:40:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Fix typo (missing paren) in node util build rule Not sure how I missed this before <shrug>

  187. Rob Swindell (on Windows)
    Fri Jun 16 2023 17:10:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/node.vcxproj diff
    Add dependencies for building with str_util.c, for strip_ctrl() support This should fix the SBBS-MSVC build in CI.

  188. Rob Swindell (on Debian Linux)
    Fri Jun 16 2023 16:53:28 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Add InactivityAlert, clear out NodeActionMultiChat The InactivityAlert string is sent as a warning before disconnect when a visible alert (AreYouThere) shouldn't be sent. Defaults to 3 beeps. Remove the content of the NodeActionMultiChat (over-rides the hard-coded default node status) - weird that this was the only node status that reported the user's security level in the default configuration. This has been this way since sbbs v2.30, at least. I think it was to be sure that others could see the age/gender of those they were chatting with. But we have other methods of reporting that in node status now, so we don't need to use this override string to accomplish that.

  189. Rob Swindell (on Debian Linux)
    Fri Jun 16 2023 16:57:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    src/sbbs3/node.c diff
    src/sbbs3/objects.mk diff
    Strip control characters/sequences from custom node status strings This utility doesn't expand Ctrl-A codes, so just strip them.

  190. Deuce
    Thu Jun 15 2023 17:30:44 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Revert "Use XDG_ENVIRONMENT_TYPE to switch to CLIPBOARD" This reverts commit e61a1aa6c7b27242fc1d03401b4240c6f58ac311. It turns out neither platform this targeted actually set that variable correctly.

  191. Deucе
    Thu Jun 15 2023 15:32:56 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Use XDG_ENVIRONMENT_TYPE to switch to CLIPBOARD It appears that XDG_ENVIRONMENT_TYPE will always equal "wayland" when XWayland is in use, so when we see that, switch to CLIPBOARD instead of PRIMARY. This should fix WSL and ChromeOS, and be irritating on GNOME, so it's a win all around.

  192. Rob Swindell (on Debian Linux)
    Wed Jun 14 2023 18:19:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Fix: File Areas... Clone Settings was always cloning settings to first library The directories of the *first* library was always the target of the (new) "Clone Settings" option. We're using a dir_t for each lib's dir_defaults, but that doesn't mean the dir_defaults.lib is initialized to a correct libnum (it's not), so don't use it.

  193. Deucе
    Mon Jun 12 2023 18:00:20 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Actually, don't bother returning a value that's never used. Still be sure to check the return value of write() though.

  194. Deucе
    Mon Jun 12 2023 17:49:49 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Actually, this is a blocking write, just compare with -1

  195. Deucе
    Mon Jun 12 2023 17:35:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Make x11_event() a bool

  196. Rob Swindell (on ChromeOS)
    Mon Jun 12 2023 17:26:46 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix GCC v10.2 warnings about ignored return values of 'write' The return value of x11_event() isn't actually checked anywhere currently, but still Deuce might want to adjust the new return value here (__LINE__ or -1?). Some indicental trailing whitespace was auto-cleaned up part of this commit. Unexpected as I thought this code had been uncrustified already.

  197. Deucе
    Mon Jun 12 2023 17:05:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbscon.c diff
    This is exactly the sort of race condition pthread_once() is for.

  198. Rob Swindell (on Windows)
    Mon Jun 12 2023 11:53:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbscon.c diff
    More consistent logging of errno value (and descriptions) Should use safe_strerror() here instead... later.

  199. Deucе
    Sun Jun 11 2023 20:28:53 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Don't require caller to call textmode() before showing window Fixes recent regression with scfg

  200. Rob Swindell (on ChromeOS)
    Sun Jun 11 2023 13:29:04 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsdefs.h diff
    Fix GCC build errors with SANITIZE=1 scfgsys.c: In function ‘edit_sys_delmsg_policy’: scfgsys.c:498:3: error: case label does not reduce to an integer constant 498 | case SM_USRVDELM | SM_SYSVDELM: scfgsys.c:504:3: error: case label does not reduce to an integer constant 504 | case SM_SYSVDELM:

  201. Rob Swindell (on ChromeOS)
    Sun Jun 11 2023 13:47:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/targets.mk diff
    Fix *nix clean buld from this directory the hash lib dependency was missing

  202. Rob Swindell (on ChromeOS)
    Sun Jun 11 2023 13:54:51 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifcx.c diff
    Fix GCC warning: ignoring return value of ‘vasprintf’ ... declared with attribute ‘warn_unused_result’

  203. Rob Swindell (on ChromeOS)
    Sun Jun 11 2023 14:15:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ars.c diff
    Fix unaligned memory accesses as reported by ASan e.g. runtime error: store to misaligned address 0x7ffec33195e3 for type 'short int', which requires 2 byte alignment These aren't a problem for x86, but could be a problem for some other CPU architectures that don't support unaligned access. I didn't use memcpy() to resolve this (though that would've worked) to make this change endian agnostic.

  204. Rob Swindell (on ChromeOS)
    Sun Jun 11 2023 14:18:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    Fix (harmless) memory leak reported by ASan when running 'jsexec -?'

  205. Rob Swindell (on ChromeOS)
    Sun Jun 11 2023 14:29:21 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Fix runtime errors when built with UBSan nopen.c:37:15: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' nopen.c:39:18: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' userdat.c:251:111: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' There are lot of 1<<31 macro definitions in this repo, so I'm expecting a lot more of this type of fix to be required to make UBSan happy.

  206. Deucе
    Sun Jun 11 2023 00:46:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    src/syncterm/term.c diff
    Fix some more Coverity "issues".

  207. Rob Swindell (on Debian Linux)
    Sat Jun 10 2023 12:14:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/download.cpp diff
    A little more paranoia around passed dirnum (could be negative)

  208. Rob Swindell (on Debian Linux)
    Sat Jun 10 2023 12:15:23 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/js_user.c diff
    More use of is_valid_sub|dirnum() No obvious bug fixes here, just future proofing.

  209. Deucе
    Fri Jun 09 2023 15:21:22 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/win32gdi.c diff
    src/conio/x_events.c diff
    Fix issue with bitmap_drv_init_mode() Because bitmap_get_scaled_win_size() was being clamped to maxsize, no matter how much mult was incremented, w and h would never be larger than maxwidth/maxheight and only under exceptional circumstances would the be equal, which would result in an infinite loop. While we're here, set the integer scaling value so we're not chasing ulps all over the place with floating point math/scaling when we don't need to.

  210. Deucе
    Fri Jun 09 2023 11:38:38 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/syncterm/fonts.c diff
    src/syncterm/ripper.c diff
    "Fix" some completely inane Coverity issues. None of these were even theoretically possible on any platform, but I took the opportunity to add bounds checking to bitmap_puttext(), so that's good I guess.

  211. Deucе
    Fri Jun 09 2023 11:24:46 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    Add comments to hopefully shut up Coverity

  212. Deucе
    Fri Jun 09 2023 11:15:42 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/conn.c diff
    src/syncterm/ssh.c diff
    src/syncterm/telnets.c diff
    src/syncterm/term.c diff
    Some more Coverity shutupness

  213. Deucе
    Fri Jun 09 2023 10:46:06 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/sdl_con.c diff
    src/conio/x_events.c diff
    Fix more Coverity "Issues" Add some malloc() return checks, comment fall-throughs, and resolve a sleep while holding lock. None of these should actually matter, so hopefully I didn't add a new bug.

  214. Deucе
    Fri Jun 09 2023 09:34:30 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    Fix incorrect variable usage found by Coverity

  215. Deucе
    Thu Jun 08 2023 21:53:53 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.h diff
    Add stdbool.h to cterm.h

  216. Deucе
    Thu Jun 08 2023 21:50:56 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/syncterm.c diff
    Add "Yellow Is Yellow" option. This allows the ANSI yellow colour to be yellow instead of the brown used in IBM CGA monitors.

  217. Deucе
    Thu Jun 08 2023 21:37:38 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Add missing break.

  218. Deucе
    Thu Jun 08 2023 20:23:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/conio/cterm.txt diff
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/ripper.c diff
    src/syncterm/term.c diff
    Add changes to support Saskatoon Amiga Users Group BBS. - Support LCF (Last Column Flag) mode per DEC STD-070 (Despite years of protest that it's stupid) - "Properly" support CSI 7 m and CSI 27 m Now, when in "Negative Image" mode, changes to the foreground change how the background is drawn and vice-versa. Perviously this command just swapped the two values and called it good.

  219. Rob Swindell (on ChromeOS)
    Thu Jun 08 2023 19:12:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/execmisc.cpp diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/writemsg.cpp diff
    Address new GCC (10.2) warnings from previous commit Adding and removing typecasts and changing some types (of ints).

  220. Rob Swindell (on Windows)
    Thu Jun 08 2023 18:53:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/chk_ar.cpp diff
    src/sbbs3/cmdshell.h diff
    src/sbbs3/data_ovl.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dupefind.c 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/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/getstats.h diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/js_xtrn_area.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/load_cfg.h diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msg_id.h diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/newuser.cpp 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/sbbsdefs.h diff
    src/sbbs3/sbbsecho.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/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/tmp_xfer.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/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/smblib/smbdefs.h diff
    <Deuce> ... billion-and-one result of comparison of constant 100000 warnings. So Clang-FreeBSD was warning (in compiles of scfg/scfg*.c by Deuce): result of comparison of constant 100000 with expression of type 'uint16_t' (aka 'unsigned short') is always true Why? Cause a uint16_t's max value is 65535 (less than 100000). Sure we could have just lowered the UIFC max number of config items to 65535, but that would have been too easy. And why are these compared-with values of type uint16_t to begin with? Because most ctrl/*.cnf lists (of configuration items) were limited to 65535 entries cause ... 16-bit DOS, historically. Now that *.cnf files aren't used, we could just increase these scfg_t.*_total type sizes from 16 to 32-bits, yeah? The result is this commit. I went to (signed) int so we could still keep -1 as the special illegal sub/dir num value (e.g. INVALID_SUB, which is sometimes used to indicate the email message base). Theoretically, 2 billion configuration items could be supported in these lists, but SCFG will limit you to 100000 anyway. So there's a whole lot of s/uint/int in this commit. I'd be very surprised if this doesn't result in some new GCC/Clang warnings, but at least the old "comparison of constant 100000" warnings are now gone!

  221. Deucе
    Thu Jun 08 2023 13:55:23 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/utf8_codepages.c diff
    src/syncterm/term.c diff
    More ATASCII improvements Fix bad and poor unicode mappings, add support for sending Insert and Pipe.

  222. Deucе
    Thu Jun 08 2023 11:26:54 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/term.c diff
    src/syncterm/window.c diff
    Support inverse mode in atascii Toggled using backtick. Current state is shown in the status bar. Since we previously couldn't actually *show* the status bar in ATASCII (or C64) mode, enable that as well. This means supporting 40-column status bars too. We still default status bar to off for those modes, because that's likely what people actually want. Also, it seems ENTER was broken in ATASCII mode, so fix that as well. Implements SF feature 61

  223. Deuce
    Thu Jun 08 2023 08:56:19 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Missed a 'C' in ICCCM

  224. Deucе
    Wed Jun 07 2023 20:18:42 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Attempt to set resource name/class correctly for XIM

  225. Deucе
    Wed Jun 07 2023 18:05:56 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/x_cio.c diff
    src/conio/x_cio.h diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    More work on X11 fullscreen mode. Save the window position and size when we enter fullscreen, and restore when we leave... this was a bigger box of worms than expected since we can get ConfigureNotify events that tell is "Something" changed, but not be able to know the current window position. Just remove the x_get_window_info() and anything else that cares about the window position and derive it from the ALT-Enter keypress instead. At the same time, try to remove as much special-casing for fullscreen as possible. Tested under marco and xfwm4... will test under Sommelier "soon"

  226. Deucе
    Wed Jun 07 2023 13:11:31 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/tw2/players.js diff
    === is best ==

  227. Deucе
    Wed Jun 07 2023 13:10:24 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/tw2/players.js diff
    Don't try to delete undefined Player objects May fix #564, may not, nobody knows.

  228. Deucе
    Wed Jun 07 2023 11:23:56 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    Fixes after testing on marco Don't always start with _NET_WM_STATE containing _NET_WM_STATE_FULLSCREEN Enable PropertyChange events Adjust x_cvstat.win* when _NET_WM_STATE gets _NET_WM_STATE_FULLSCREEN added Don't disable fullscreen in ConfigureNotify handler when fullscreen is still pending

  229. Deucе
    Wed Jun 07 2023 12:21:03 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/sdl_con.c diff
    Work around marco or SDL bug in SDL_SetWindowMinimumSize() When using the marco WM, and resizing using ALT-Right-drag, calls to SDL_SetWindowMinimumSize() result in the top-left corner of the window moving up and to the left (appears to be by the border size). To prevent this from being a maddening issue under marco, ensure we only call SDL_SetWindowMinimumSize() once when the minimum size changes on the window. Fixes SF ticket 115, thanks Ragnarok! While we're hear, ensure the minimium maximum window size holds the original sized window... we're not interested in downscaling.

  230. Deuce
    Tue Jun 06 2023 23:56:26 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    No aarch64 sbbs build Now that I've upgraded my RPi 400 to aarch64, it turns out aarch64 isn't supported by Spidermoney or the libffi it ships with, so there's no easy way to make it build. Untill Spidermonkey is updated, there's just no reasonable way to build on aarch64.

  231. Deuce
    Tue Jun 06 2023 22:32:03 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Some minor fixups... On expose, always redraw the entire screen. The calculations were wrong and with fractional scaling, some of them will always be wrong. Don't clear the screen when xim is resized.

  232. Deuce
    Tue Jun 06 2023 21:12:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    mqtt_protocol.h was added to Debian package in 1.6.8-2, require 1.6.9+

  233. Deuce
    Tue Jun 06 2023 21:04:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    It appears Synchronet requires libmosquitto v2 or higher

  234. Deuce
    Tue Jun 06 2023 20:28:31 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    3rdp/build/js-makefile.patch diff
    Ah, found the problem... It looks like "armv7l" didn't exist when this version of Spidermoney was released. Just expand a previous patch to include all arm* architectures.

  235. Deuce
    Tue Jun 06 2023 18:30:16 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Ah right, $(machine) has the OS name in it.

  236. Deucе
    Tue Jun 06 2023 17:53:12 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    l

  237. Deucе
    Tue Jun 06 2023 17:23:32 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Disable traceJIT on Raspberry PI

  238. Deucе
    Tue Jun 06 2023 15:56:22 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/win32gdi.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    Add fullscreen GDI startup mode.

  239. Deucе
    Tue Jun 06 2023 09:22:42 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Remove some obsolete comments

  240. Deucе
    Tue Jun 06 2023 08:58:22 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add the rest of the targets for RaspberryPi

  241. Deucе
    Mon Jun 05 2023 23:26:47 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/win32gdi.c diff
    src/conio/x_cio.c diff
    src/conio/x_cio.h diff
    src/conio/x_events.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    Add support for starting X11 mode fullscreen.

  242. Deucе
    Mon Jun 05 2023 21:23:43 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add raspbian built for SyncTERM

  243. Deucе
    Mon Jun 05 2023 20:30:49 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/genmap.c diff
    ARMv7 doesn't support @progbits, try %progbits

  244. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 17:47:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ssl.c diff
    Fix error in previous commit to this file C allows char* p = '\0' (which is clearly wrong) C++ does not.

  245. Rob Swindell (on Windows)
    Mon Jun 05 2023 17:37:14 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Fix reported Clang warnings about printf format strings format specifies type 'unsigned short' but the argument has type 'unsigned int'

  246. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 17:34:47 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Document the new FORTIFY and SANITIZE options

  247. Rob Swindell (on Windows)
    Mon Jun 05 2023 17:23:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/pktdump.c diff
    Typecast to resolve MSVC error C4146: "unary minus operator applied to unsigned type, result still unsigned" Even though this same code compiled and worked as expected with GCC.

  248. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 17:07:50 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Add FORTIFY and SANITIZE options for DEBUG builds SANITIZE is not fully supported (or recommended) yet. FORTIFY will include some performance hits, but those might be offset by -O1 (which is apparently required for _FORTIFY_SOURCE to have any effect). Prevviosly, DEBUG builds used (implicit -O0). I'm building and running sbbs on Vertrauen (git.synchro.net) now with FORTIFY. Set FORTIFY=1 in your localdefs.mk if you wish to have this build option enabled persistently.

  249. Deucе
    Mon Jun 05 2023 17:06:37 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add a noskeeters build for FreeBSD.

  250. Deucе
    Mon Jun 05 2023 17:01:51 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Add support for WITHOUT_MOSQUITTO I'm doing builds for my jail (which doesn't have libmosquitto) on my system that does have it now, so I need to disable it manually.

  251. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 16:51:45 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/xp_syslog.c diff
    Give this copy/pasted resolve_ip() the same fixes as main.cpp and mailsrvr.c Don't deref a null pointer and return an in_addr_t instead of ulong.

  252. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 16:51:45 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/rlogin.c diff
    Fix warning: ‘ret’ may be used uninitialized

  253. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 16:51:45 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Fix GCC v12.2.0 -O1 warnings warning: ‘maxval’ may be used uninitialized warning: ‘inch’ may be used uninitialized

  254. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 16:51:45 GMT-0700 (PDT)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Fixup the copy-pasted resolve_ip() with same fixes from main.cpp/mailsrvr.c Don't null-deref h_addr_list. Return in_addr_t instead of u_long.

  255. Rob Swindell (on Debian Linux)
    Mon Jun 05 2023 16:52:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/addfiles.c diff
    src/sbbs3/delfiles.c diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/fmsgdump.c diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    src/sbbs3/pktdump.c diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/services.c diff
    src/sbbs3/ssl.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/telgate.cpp diff
    src/sbbs3/umonitor/chat.c diff
    src/sbbs3/umonitor/spyon.c diff
    src/sbbs3/umonitor/umonitor.c diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/sbbs3/zmodem.c diff
    src/uifc/uifc32.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/xpmap.c diff
    src/xpdev/xpprintf.c diff
    Fix warnings exposed by GCC -D_FORTIFY_SOURCE=3 -O1 Mostly (all?) about unchecked return values. Unexpected failures to read or write some files could've definitely led to some weird bugs.

  256. Deucе
    Mon Jun 05 2023 16:45:27 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/cterm.c diff
    src/conio/genmap.c diff
    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    Snoop through Coverity issues and fix the easy/important ones

  257. Deucе
    Mon Jun 05 2023 16:16:18 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix black bar generation Was wrong and therefore causing flickering.

  258. Deucе
    Mon Jun 05 2023 15:24:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix fullscreen external scaled X11 mode Was not using struts, and was scaling to window size, not aspect ratio size.

  259. Deucе
    Mon Jun 05 2023 15:14:44 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Store window position when going fullscreen. Also, reset struts when not in fullscreen mode.

  260. Deucе
    Mon Jun 05 2023 15:06:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Add support for fullscreen in GDI mode. GDI and X11 still can't be *started* in fullscreen mode though.

  261. Deucе
    Mon Jun 05 2023 15:02:27 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix GDI brakage in frameskipping. Win32GDI currently requires two rects to be available.

  262. Deucе
    Mon Jun 05 2023 12:10:28 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.h diff
    More stdbool.h

  263. Deucе
    Mon Jun 05 2023 11:48:14 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix wildly incorrect usage of set_win_property().

  264. Deucе
    Mon Jun 05 2023 10:54:00 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix some highly unlikely memory leaks - Ensure last is cleared even if we manage external scaling without Xrender - Free the bitmap rectangle in the same situation - Make a copy of x_internal_scaling so it's used consistently (not mutex protected, and accessed from multiple threads)

  265. Deucе
    Mon Jun 05 2023 10:11:12 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/bitmap_con.h diff
    Implement basic frameskipping in bitmap driver If there's already an outstanding rectangle when the blinker thread wants to send another one, skip it. This keeps the interface responsive at the cost of some skipped frames.

  266. Deuce
    Mon Jun 05 2023 08:24:05 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    For Sommelier (ie: ChromeOS), use CLIPBOARD not PRIMARY ChromeOS (as of Jun 2023) effectivly makes PRIMARY useless. Just do the wrong thing and use CLIPBOARD instead. This makes it much more likely that SyncTERM selections will clobber CLIPBOARD unintentionally, but we have no choice... DigitalMan doesn't use X11 mode solely because ChromeOS sucks at X11.

  267. Deucе
    Sun Jun 04 2023 23:57:17 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    src/conio/x_events.h diff
    src/syncterm/syncterm.c diff
    More rabidly comply with ICCM and EWMH While we're hacking on that, make a first attempt at a generic Atom access framework. The only actual visible change that should occur here is that the window will not resize larger than will fit on the current desktop between various WM widgets (panels and menus). I've been considering this change for a while, but now that fullscreen support is present, it doesn't really take anything away.

  268. Deuce
    Sun Jun 04 2023 16:02:28 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    Add X11 fullscreen and do a bunch of other fixes Just use _NET_WM_STATE protocol for fullscreen... messing around with the methods is pretty painful. Because we're not messing with other stuff, we can likely remove all the code I added to prepare for this. :D Testing this really highlighted other broken bits, so a bunch of that has been fixed as well... including the bug that Ragnorok hadn't reported yet as of last time I looked (corrupted screen when maximixed).

  269. Rob Swindell (on ChromeOS)
    Sun Jun 04 2023 12:22:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    Why are resolve_ip() and rblchk() returning the (sometimes 64-bit) ulong? Or even weirder, u_long? And dereffing a ulong/u_long pointer where you expect to find an IPv4 address? Yet even weirder still. Fix that spit: It appears in_addr_t is defined on all platforms (?), so use that type instead.

  270. Rob Swindell (on Debian Linux)
    Sun Jun 04 2023 12:00:30 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    Fix more potential null-ptr-derefs in use of gethostbyname() No known sightings of these sites actually being the location of a segfault, but as we learned from the segfaults in rblchk(), the first entry in the h_addr_list can be NULL in some cases.

  271. Rob Swindell (on ChromeOS)
    Sun Jun 04 2023 11:46:10 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Check return value of fread()

  272. Rob Swindell (on Debian Linux)
    Sun Jun 04 2023 11:45:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Fix potential NULL pointer deref in rblchk(), observed via segfault lately I'm not sure why this one only started popping up now, but h_addr_list is a NULL-terminated list and it makes perfect sense that the first entry could be the NULL-terminator. gethostbyname is obsolete/deprecated and we should address that in a separate commit.

  273. Deuce
    Sun Jun 04 2023 07:11:36 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    More fullscreen work, get resize working

  274. Rob Swindell (on Windows)
    Sat Jun 03 2023 23:49:15 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Fix warning C4101: 'i': unreferenced local variable

  275. Rob Swindell (on Debian Linux)
    Sat Jun 03 2023 23:39:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_cryptcert.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/readsauce.c diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sexyz.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/wordwrap.c diff
    src/sbbs3/xmodem.c diff
    Fix warnings raised by gcc -D_FORTIFY_SOURCE=3 -O1 A bunch of possible (but often, not really) use of undefined values. Some ignored return values (e.g. of chsize/ftruncate, read, write, fgets). Other than some added diagnostics upon some of these unexpected syscall failures, there should be no change in behavior from this commit.

  276. Deucе
    Sat Jun 03 2023 22:16:03 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    Start laying the groundwork for X11 fullscreen mode. This is the last feature that SDL mode provides that X11 mode is lacking. I rarely use it myself, but it should be there.

  277. Rob Swindell (on Debian Linux)
    Sat Jun 03 2023 20:26:33 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    <Deuce> Oh yeah, you need that in an ifneq ($(os),win32)

  278. Rob Swindell (on Debian Linux)
    Sat Jun 03 2023 20:03:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    Hitting Ctrl-C at the "Use external editor" prompt shouldn't change anything

  279. Rob Swindell (on Debian Linux)
    Sat Jun 03 2023 20:04:57 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Use pkg-config for detectiong libmosquitto presence and lib name Apparently the mosquitto.h won't always be installed in /usr/include on all systems (e.g. Deuce's FreeBSD gitlab-runner system)

  280. Deucе
    Sat Jun 03 2023 18:23:48 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Increment offset in the loop when reading _NET_WORKAREA Previously, if there was more than one work area, this would be an infinite loop, re-reading the first workarea repeatedly. Reported by Ragnarok (thanks!)

  281. Deucе
    Sat Jun 03 2023 18:13:45 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    When switching from fullscreen mode, recalculate win size.

  282. Deucе
    Sat Jun 03 2023 02:50:53 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Fix some pipes.

  283. Deucе
    Sat Jun 03 2023 02:35:42 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix typo in line 666

  284. Deucе
    Sat Jun 03 2023 02:34:58 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.man.in diff
    Quick pass through the manpage

  285. Deucе
    Sat Jun 03 2023 02:20:58 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    Fix SF tickets 113 and maybe 111 Fix infinite loop in bitmap_drv_init_mode() if scaling results in larger than max size. This uncovered an issue in resize_window() which would cause the screen to be corrupted due to vstat not agreeing to the actual window.

  286. Deucе
    Sat Jun 03 2023 01:34:53 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/syncterm.man.in diff
    Mention -b and -n.

  287. Deucе
    Sat Jun 03 2023 01:19:50 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Hardware scaling too!

  288. Deucе
    Sat Jun 03 2023 01:18:49 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Some more changes for the changelog.

  289. Deucе
    Sat Jun 03 2023 01:12:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix up source/last for external scaling This was ending up using an uninitialized value

  290. Deucе
    Sat Jun 03 2023 01:05:12 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix use of uninitialized value

  291. Deucе
    Sat Jun 03 2023 00:18:01 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Use a single pipeline for Linux SyncTERM and dpkg No need to build twice just to create the bundle.

  292. Deucе
    Sat Jun 03 2023 00:08:07 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    src/syncterm/GNUmakefile diff
    Format the .deb filename "correctly" and add a pipeline for it. In theory, a crazy person could grab it every day and upgrade it.

  293. Deucе
    Fri Jun 02 2023 23:58:28 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Meh, fix up the dpkg target to use PREFIX You still need to specify it, but you can create a /usr/local dpkg now if you don't.

  294. Deucе
    Fri Jun 02 2023 23:50:01 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/conio/x_events.c diff
    Fix warnings.

  295. Deuce
    Fri Jun 02 2023 23:10:03 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/COMPILING diff
    Document how to build a dpkg. It's pretty important to specift PREFIX here right now since it's not actually used in the paths, which means there would be a mismatch between where the files are installed and where the data lives. This is fairly easy to fix, but I likely never will.

  296. Deuce
    Fri Jun 02 2023 23:07:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/x_events.c diff
    src/syncterm/syncterm.c diff
    Finally got ChromeOS icon/toltip working! It appears its matching based on the class, not the application. Since this was hard-coded to CIOLIB based on the idea of using resources to customize all CIOLIB windows, this didn't match the SyncTERM .desktop file, so ChromeOS assumed it was "something else" Add yet another ciolib_initial_* variable to set this, and she's finally good!

  297. Deuce
    Fri Jun 02 2023 22:36:41 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/dpkg-control.in diff
    Modified Files:

    src/syncterm/GNUmakefile diff
    Add dpkg target Part of my apparently never-ending quest to get the icon to show up for the SyncTERM window on ChromeOS.

  298. Rob Swindell (on Debian Linux)
    Fri Jun 02 2023 22:36:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/ircd/channel.js diff
    Fix channel.js line 372: TypeError: c.list[i] is undefined Cyan may have a better fix. <shrug>

  299. Deuce
    Fri Jun 02 2023 19:53:46 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Implement the _NET_WM_PING protcol Implied by _NET_WM_PID being set, so may as well do it.

  300. Deuce
    Fri Jun 02 2023 19:09:30 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Set _NET_WM_PID Seems like a good idea, should allow WMs to kill hung processes and stuff like that.

  301. Rob Swindell (on Debian Linux)
    Fri Jun 02 2023 18:32:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Use "Message Editors" instead of the (vague) "External Editors" It was redudnant having "External Editors" under "External Programs" (they're all external, yeah?) and of course, "Editors of what?" So yeah, existing docs are now all wrong. :-)

  302. Deuce
    Fri Jun 02 2023 18:29:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Disable X Synchronize and some minr optimizations in set_icon() The XSynchronize disablement is the most important here... didn't realize it defaulted to enabled, which has been slowing down a *lot* of stuff for a long time... not that there's much left that benefits from disabling Synchronized XLib except this new terrible icon thing.

  303. Rob Swindell (on Windows)
    Fri Jun 02 2023 17:36:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Add a 60-second timeout to sbbs_t::passthru_socket_activate() Keyop reported an issue via irc whereby a user that failed to download a file would leave the node "hung" in "downloading via telnet" node status even though the user had long since disconnected and the log reflected that the terminal server was aware of this: term Node 4 <user> sexyz: !1152 zmodem_recv_raw TIMEOUT (10 seconds) term Node 4 <user> sexyz: !zmodem_recv_header TIMEOUT term Node 4 <user> external Timeout waiting for output buffer to empty <minutes later> term Node 4 connection reset by peer on send term Node 4 !ERROR 32 sending on socket 102 term Node 4 !ERROR 32 sending on socket 102 term Node 4 !ERROR 32 sending on socket 102 term Node 4 !ERROR 32 sending on socket 102 term Node 4 !ERROR 32 sending on socket 102 term Node 4 disconnected term Node 4 !ERROR 32 sending on socket 102 and term Node 3 <user> sexyz: !1152 zmodem_recv_raw TIMEOUT (10 seconds) term Node 3 <user> sexyz: !zmodem_recv_header TIMEOUT term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !Receive timeout (1 seconds) term Node 3 <user> sexyz: !1152 zmodem_recv_raw TIMEOUT (10 seconds) term Node 3 <user> sexyz: !zmodem_recv_header TIMEOUT term Node 3 <user> external Timeout waiting for output buffer to empty <minutes later> term Node 3 connection reset by peer on receive term Node 3 !ERROR 32 sending on socket 96 These nodes were then locked up in call to passthru_socket_activate(false) as reported by gdb, e.g. Looking at passthru_socket_activate(), the deactivation path (called at the end of external() in this case), it was clear that this could be an infinite loop in the case the user had disconnected: do { // Allow time for the passthru_thread to move any pending socket data to the outbuf SLEEP(100); // Before the node_thread starts sending its own data to the outbuf } while(RingBufFull(&outbuf)); These flush/purge loops aren't strictly needed if the user has disconnected, but as can be seen by the above logs, the terminal server may not know that (the socket may not indicate disconnect) before passthru_socket_activate() is called by external(). So... worst case, just do the activation and deactivation buffer flushes and purges for 60 seconds.

  304. Deuce
    Fri Jun 02 2023 16:44:01 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Don't SetThreadName() in main() On Linux, this changes the program name shown in top.

  305. Deucе
    Fri Jun 02 2023 16:33:35 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/x_events.c diff
    src/syncterm/syncterm.c diff
    Allow setting the class name at start This allows X11 stuff to work properly.

  306. Deucе
    Fri Jun 02 2023 15:18:02 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Ye old typo in last commit

  307. Deucе
    Fri Jun 02 2023 15:09:08 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    src/syncterm/syncterm.c diff
    The final bits of icon insanity. Actually install the colormap we create. Remove the 48x48 icon. As it happens, ChromeOS completely ignores the X11 icons and instead does some weird magic to drag the icon .png file out of the VM and uses that. Basically, getting the icon to work appears to mean putting some properly named files into magic directores.

  308. Deucе
    Fri Jun 02 2023 12:54:30 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fiddle with WM_NORMAL_HINTS a bit. USize was wrong, PSize wasn't set, and PBaseSize was set, but flag wasn't.

  309. Deucе
    Fri Jun 02 2023 11:37:42 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Make the initial icon 48x48

  310. Deucе
    Fri Jun 02 2023 11:25:40 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix inverted logic in last commit

  311. Deucе
    Fri Jun 02 2023 11:20:55 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/x_events.c diff
    src/syncterm/syncterm.c diff
    Add initial icon settings. Also, set both _NET_WM_ICON and WMHint icon pixmap

  312. Deucе
    Fri Jun 02 2023 10:57:56 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    Create a Pixmap for the icon rather than _NET_WM_ICON It seems whatever WM XWayland uses doesn't actually use _NET_WM_ICON like pretty much everything else for the last 30 years does, so we need to go old-school or settle for the default pengion icon, which offends me personally.

  313. Deuce
    Fri Jun 02 2023 08:46:13 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Add comment in terminfo to use -x to tic for user-defined caps

  314. Deuce
    Fri Jun 02 2023 07:54:51 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/cterm.h diff
    Fix bracketpaste and erase line The bracketpaste "bit" was set to 0x16, not 0x10 or 16 as intended. Erase line would erase the wrong line if the scrolling region didn't start on line 1.

  315. Deucе
    Thu Jun 01 2023 15:04:00 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Re-enable syncterm-msvc pipeline

  316. Deucе
    Thu Jun 01 2023 14:43:54 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    More MSVC fixes (blatently unnecessary ones?)

  317. Deucе
    Thu Jun 01 2023 14:39:46 GMT-0700 (PDT)
    Modified Files:
    

    src/comio/comio.vcxproj diff
    src/conio/conio_sdl.vcxproj diff
    src/syncterm/SyncTERM.vcxproj diff
    src/syncterm/st_crypt.c diff
    src/uifc/uifc.vcxproj diff
    "Fix" SyncTERM MSVC build. The sketchiest bit here is removing the uifc -> conio dependency which, since it needs to depend on conio_sdl now means if something is relying on that, it will need an explicity dependency... We'll see what the pipeline says.

  318. Deucе
    Thu Jun 01 2023 13:57:50 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Use cast instead of pointer math to fix Win32 build

  319. Deucе
    Thu Jun 01 2023 13:53:24 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/SyncTERM.vcxproj diff
    Define _WINDOWS, not _CONSOLE

  320. Deuce
    Thu Jun 01 2023 12:46:38 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/tw2/editor.js diff
    Fix #570 Maybe, who knows?

  321. Deuce
    Thu Jun 01 2023 12:47:09 GMT-0700 (PDT)
    Added Files:
    

    src/conio/conio_sdl.props diff
    Modified Files:

    src/conio/conio.props diff
    src/conio/conio.vcxproj diff
    src/conio/conio_sdl.vcxproj diff
    src/sbbs3/echocfg.vcxproj diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/syncterm/SyncTERM.vcxproj diff
    Merge branch 'master' of gitlab.synchro.net:main/sbbs

  322. Deucе
    Thu Jun 01 2023 09:33:23 GMT-0700 (PDT)
    Added Files:
    

    src/conio/conio_sdl.props diff
    Modified Files:

    src/conio/conio.props diff
    src/conio/conio.vcxproj diff
    src/sbbs3/echocfg.vcxproj diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/syncterm/SyncTERM.vcxproj diff
    Partial revert of dfb84bf4, a453e3b6, ca4d60da, and 1366dfff "I can't think of a reason I'd want scfg and echocfg to remain windows (gui) programs" -- Digital Man While I'm here, hack up some SyncTERM vcxproj stuff (which almost certainly doesn't work, but since I can actually test it now, I may as well try)

  323. Deucе
    Thu Jun 01 2023 09:33:23 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/conio_sdl.vcxproj diff
    Remove duplicate xbr.c file

  324. Deuce
    Thu Jun 01 2023 06:01:58 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Add missing newline to terminfo entry

  325. Rob Swindell (on ChromeOS)
    Wed May 31 2023 21:33:25 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    warning: pointer targets in passing argument 1 of ‘strcmp’ differ in signedness

  326. Deucе
    Wed May 31 2023 21:18:29 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/tw2/bang.js diff
    Actually write the universe to a file. Also, prevent unreachable and unleavable sectors.

  327. Rob Swindell (on ChromeOS)
    Wed May 31 2023 20:46:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_mqtt.c diff
    We need to pass force=false to mosquitto_loop_stop() ... or else any pending published messages aren't sent.

  328. Rob Swindell (on ChromeOS)
    Wed May 31 2023 20:48:21 GMT-0700 (PDT)
    Added Files:
    

    exec/mqtt_pub.js diff
    A simple MQTT publisher (mimics mosquitto_pub kinda) For use with jsexec

  329. Rob Swindell (on ChromeOS)
    Wed May 31 2023 18:07:17 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_mqtt.c diff
    Report (via exception) more potential failures in MQTT constructor

  330. Rob Swindell (on ChromeOS)
    Wed May 31 2023 19:43:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_mqtt.c diff
    Add subscibe_qos property (exposes/overrides default subscribe QoS)

  331. Rob Swindell (on ChromeOS)
    Wed May 31 2023 19:44:22 GMT-0700 (PDT)
    Added Files:
    

    exec/mqtt_sub.js diff
    An MQTT subscription utility (for use with jsexec) Similar to (mimics) mosquitto_sub

  332. Deucе
    Wed May 31 2023 16:08:24 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/conio/cterm.txt diff
    src/syncterm/syncterm.c diff
    src/syncterm/term.c diff
    Add support for XTerm "Bracketed Paste" At the same time, add BD, BE, PE, and PS to the terminfo entry. Note that it seems this is "normally" detected by seeing if $TERM contains "xterm" which shouldn't work with SyncTERM (which is wildly incompatible), but the terminfo source file here: https://invisible-island.net/ncurses/terminfo.ti.html Gives us hope in the form of this comment: https://invisible-island.net/xterm/xterm-paste64.html Bracketed paste was introduced by xterm patch #203 in May 2005, as part of a larger feature for manipulating the clipboard selection. Few terminals aside from xterm fully implement the clipboard feature, but several copy this detail. The names for the extended capabilities here were introduced by vim in January 2017, but used internally. In 2023, vim patch 9.0.1117 is needed to work with this change. That is to say that it likely won't work on anyone's system today (except maybe Cyan's), but it may magically start working in the future... assuming tic supports these capnames. No real clue there since there's absolutely no termcap support, and I use FreeBSD.

  333. Deucе
    Wed May 31 2023 13:26:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    Fix off-by-one in delete lines Previously, delete lines would erase the line above the current one. This was visible in vim which makes extensive use of delete line to scroll.

  334. Deucе
    Wed May 31 2023 11:32:57 GMT-0700 (PDT)
    Modified Files:
    

    install/GNUmakefile diff
    src/build/GNUmakefile diff
    src/doors/dgnlance/GNUmakefile diff
    src/sbbs3/GNUmakefile diff
    Use /bin/pwd instead of pwd to get the PWD. Some shell pwd implementations default to the "Logical" PWD, which can contain symlinks. The POSIX standard for /bin/pwd is to return the "Physical" PWD with all symlinks resolved. Some shells don't support the -P option the the built-in pwd, so we don't want to reply on that. For some reason, we're redefining the PWD env variable which should by the phyical path, but I'm not really interested in tracking down all the windy history for this. Basically, this bit me once, and now it's fixed.

  335. Deucе
    Wed May 31 2023 09:57:58 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Call SetStretchBltMode(HDC, HALFTONE) before StretchBlt In theory, this will allow higher quality scaling in GDI mode if the graphics driver supports it... It doesn't look like the drive used for VirtualBox does though, so I can't tell if it does anything or not.

  336. Deucе
    Wed May 31 2023 09:17:19 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/conio/ciolib.c diff
    src/conio/x_cio.c diff
    src/conio/x_cio.h diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    More X11 improvements Use the default visual and depth instead of "best" Use Xrender for sclaing when library is available and server supports it Set VisualIsRGB8 when possible

  337. Rob Swindell (on Debian Linux)
    Tue May 30 2023 19:24:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/filelist.js diff
    Add -out=filename as redirection isn't always an option e.g. when running filelist.js as a timed event, you can't redirect stdout (without running via jsexec), so let's support specifying an output filename with an option (-out=filename).

  338. Rob Swindell (on Debian Linux)
    Tue May 30 2023 19:28:16 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/nodedefs.js diff
    Change NODE_LOGON status text to "At login prompt" for consistency

  339. Rob Swindell (on Debian Linux)
    Tue May 30 2023 19:29:33 GMT-0700 (PDT)
    Modified Files:
    

    exec/privatemsg.js diff
    Log a message when sending a telegram Clear console abort flag after prompting for destination user

  340. Rob Swindell (on Debian Linux)
    Tue May 30 2023 19:31:41 GMT-0700 (PDT)
    Modified Files:
    

    exec/testbuild.js diff
    Create localdefs.mk for the source archive Don't require Git when building from tarball

  341. Rob Swindell (on Windows)
    Tue May 30 2023 16:16:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Strip the "in-transit" attribute flag from imported packed-messages Log a warning message when either the "local" or "in-transit" flag has been stripped from ("Sanitized") imported packed-messages. Keyop reported a chksmb warning on a FidoNet message that contained the 'in-transit' attribute: <Keyop> Message flagged as 'In Transit' (?): 1 <Keyop> fidonet_fidosoft Message Base has Errors! The message in question appears just to be a corrupted echomail msg coming from HPT: Sender '56:43 ' To Tommi Koivula Subject test X-FTN-AREA FIDOSOFT.HUSKY X-FTN-TID hpt/os2-wc 1.9.0-cur 2021-03-14 SBBSecho didn't use to convert/import the "in-transit" flag on imported netmail or echomail messages, ... until commit 446ab0ef7e09e5c61cf, which was needed to support the TickFix robot. So now, let's just sanitize the packed-message attributes a little sooner in the import process and log a warning when such sanitization has taken place.

  342. Rob Swindell (on Windows)
    Tue May 30 2023 17:18:52 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Truncate trailing whitespace from FidoNet message header fields It's unclear whether trailing whitespace is supposed to be significant or not (FidoNet specs don't say), but I don't see any reason why "John Doe" and "John Doe " should be considered unique senders or recipients. Remove any trailing whitespace from message subjects too. This change makes the trailing whitespace truncation in SMB hash functions unnecessary (at least for SBBSecho-imported messages), but most (all?) other message transports don't allow for this nonsense in the first place.

  343. Rob Swindell (on Debian Linux)
    Tue May 30 2023 14:58:34 GMT-0700 (PDT)
    Modified Files:
    

    exec/notransit.js diff
    Allow the 'in-transit' attribute flag to be removed from msgs in any msgbase If a msgbase internal code is passed on the command-line, use that msgbase instead of 'mail' (where the use of the 'in-transit' flag is normally expected to be seen). For Keyop.

  344. Rob Swindell (on ChromeOS)
    Mon May 29 2023 19:24:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/scfg/scfgsrvr.c diff
    Add option (for deon) to notify offline users of new received email (SMTP) msgs The notification of offline users was removed from the mail server 13 years ago (commit 729eb16b838bbb) without a lot of fanfare or explanation. Add an option for notification of offline users (in addition to online users) for those sysops that want that behavior. Use the userdat is_user_online() function in place of the getnodedat() loop, which also wasn't considering nodes in "logon" status as having a user online.

  345. Rob Swindell (on Windows)
    Sat May 27 2023 16:37:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/js_xtrn_area.c diff
    JSDOC updates Mostly just bitfield->bit-flags.

  346. Rob Swindell (on Windows)
    Sat May 27 2023 16:37:56 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    New property: system.mqtt_enabled JSDOC fix-ups.

  347. Rob Swindell (on Windows)
    Sat May 27 2023 16:40:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_mqtt.c diff
    mosquitto_loop_stop() can block even when force=true Contrary to https://mosquitto.org/api/files/mosquitto-h.html#mosquitto_loop_stop, passing force=true is not enough for the mosquitto network thread to end, mosquitto_disconnect() must be called.

  348. Rob Swindell (on Debian Linux)
    Sat May 27 2023 13:22:18 GMT-0700 (PDT)
    Modified Files:
    

    text/menu/sysxfer.asc diff
    Fix typo introduced one year, pointed out by phigz in irc

  349. Rob Swindell (on ChromeOS)
    Sat May 27 2023 12:36:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_mqtt.c diff
    Add subscribe support

  350. Rob Swindell (on ChromeOS)
    Sat May 27 2023 12:37:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Fix misplaced JS_RESUMEREQUEST() - do thise *before* potential return

  351. Rob Swindell (on ChromeOS)
    Sat May 27 2023 12:46:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_mqtt.c diff
    Fix memory leak on destruction when all received messages were not read

  352. Rob Swindell (on ChromeOS)
    Fri May 26 2023 19:30:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_mqtt.c diff
    New MQTT properties: error, error_str, library A little more visiblity into the MQTT library (version, function return values)

  353. Rob Swindell (on Debian Linux)
    Fri May 26 2023 17:07:51 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbdump.c diff
    smb_msghdr_str_list() print strings with trailing whitespace in quotes Make it obvious when a message header value string has trailing white-space. Make this function (and binstr()) thread-safe by eliminating the local static variable.

  354. Rob Swindell (on Debian Linux)
    Fri May 26 2023 17:09:56 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chksmb.c diff
    Add -N option to disable to/from name CRC checking Recently started truncating trailing whitespace from sender/recipient names before calculating the CRC value (similar to what we do for message subjects as of a year ago). To suppress errors when evaluating messages (with trailing whitespace in sender or recipient namems) created or imported before this change, use this new -N option.

  355. Deucе
    Thu May 25 2023 23:26:00 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/genmap.c diff
    Not *those* quotes...

  356. Deucе
    Thu May 25 2023 23:17:14 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/genmap.c diff
    Add a .note.GNU-stack section This should prevent programs using rgbmap (ie: SyncTERM) from having an exectuable stack on Linux.

  357. Rob Swindell (on Debian Linux)
    Thu May 25 2023 20:53:59 GMT-0700 (PDT)
    Modified Files:
    

    exec/jsdocs.js diff
    Document new MQTT class (a work in progress)

  358. Rob Swindell (on Windows)
    Thu May 25 2023 20:39:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    Make more windows dynamically sized (display more option data) And don't offset long(er) windows from edges to allow more options to be on screen at once.

  359. Rob Swindell (on Debian Linux)
    Thu May 25 2023 19:05:14 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/filepick.c diff
    Fix build issue introduced with SCRN_LEFT redefinition in uifc.h

  360. Deucе
    Thu May 25 2023 19:03:41 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/conn_pty.c diff
    Fix BSD builds

  361. Rob Swindell (on Debian Linux)
    Thu May 25 2023 18:54:03 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    Support narrower (e.g. < 80 column) screen modes better Maximize screen realestate for options/settings display: - Don't place a margin around windows when in a narrow screen mode. - Don't display shadows on windows when in a narrow screen mode. This commit also fixes a bug in uinput() when left was non-zero and the total width (left + width) would be too wide for the screen. This bug was apparent in SCFG->Message Areas in 50 column mode (no Message Group window would be displayed when a message group was selected).

  362. Rob Swindell (on Debian Linux)
    Thu May 25 2023 18:54:03 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    Change win_t.buf to a void* (avoid a lot of typecasting)

  363. Rob Swindell (on Debian Linux)
    Thu May 25 2023 18:54:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsrvr.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    Better support for narrower (e.g. < 80 column) screens Tested with 50 column mode.

  364. Rob Swindell (on Windows)
    Thu May 25 2023 18:51:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs.vcxproj diff
    Include js_mqtt.c in project Fixes Windows build.

  365. Rob Swindell (on Windows)
    Thu May 25 2023 18:51:57 GMT-0700 (PDT)
    Modified Files:
    

    src/comio/comio_win32.c diff
    Resolve warning C4090: 'initializing': different 'const' qualifiers

  366. Rob Swindell (on Windows)
    Thu May 25 2023 18:53:41 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbhash.c diff
    Truncate trailing whitespace before computing name CRCs Some BBS packages tack on trailing whitespace on names, e.g. https://github.com/wwivbbs/wwiv/issues/1607

  367. Rob Swindell (on ChromeOS)
    Thu May 25 2023 18:43:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    Trimmed trailing whitespace (no functional change)

  368. Rob Swindell (on ChromeOS)
    Thu May 25 2023 18:43:58 GMT-0700 (PDT)
    Added Files:
    

    src/sbbs3/js_mqtt.c diff
    Modified Files:

    src/sbbs3/main.cpp diff
    src/sbbs3/objects.mk diff
    src/sbbs3/sbbs.h diff
    Add JavaScript MQTT class for communicating with MQTT broker(s) via JS Right now, only supports publish, subscribe to come next. Only included with the mosquitto lib support is enabled in the build.

  369. Deuce
    Thu May 25 2023 18:29:04 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/conn_pty.c diff
    Add VSWTC Only on Linux, Documented as VSWTCH (also added), as a SysV-only thing but actually defined a VSWTC, must be disabled (ie: set to _POSIX_DISABLE) to not show up in stty as being modified. *sigh* I'm not convinced Linux developers want termios to work.

  370. Deuce
    Thu May 25 2023 18:18:45 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/conn_pty.c diff
    ttydefchars ion ChromOS Linux is wildly useless The wrong characters in the wrong order. I have no idea why they even have the thing defined, but we'll just stop using it since it seems BSD systems are the only ones where it's useful... instead just set V* to C* except ERASE and ERASE2 which we set both to CTRL-H

  371. Deuce
    Thu May 25 2023 18:21:23 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/conn_pty.c diff
    Set the unused VTIME/VMIN values too. Be sure to set them first though, since they may overlay with other ICANON entries.

  372. Deuce
    Thu May 25 2023 17:27:32 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Have syncter-bitmap use syncterm terminfo entry

  373. Rob Swindell (on Debian Linux)
    Thu May 25 2023 11:28:37 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc32.c diff
    In screen widths < 80 columns, auto-suppress the date/time display The the date/time display would overwrite parts of the application title in narrower screen modes, so let's not do that.

  374. Rob Swindell (on ChromeOS)
    Wed May 24 2023 22:06:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/services.c diff
    Remove unused parameter from js_Create*Class() functions No functional change, just a little clean-up.

  375. Rob Swindell (on Windows)
    Wed May 24 2023 12:24:28 GMT-0700 (PDT)
    Modified Files:
    

    src/encode/utf8.c diff
    src/encode/utf8.h diff
    Comment header block update (only)

  376. Rob Swindell (on Windows)
    Wed May 24 2023 12:29:58 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_global.c diff
    src/sbbs3/nopen.c diff
    src/xpdev/semfile.c diff
    Resolve failure to touch files when non-owner on *nix ftouch(), semfile_signal(), and JS file_utime() would fail to update a file's access/mod times with errno=EPERM if not run as the file's owner. From "man utime": EPERM times is not NULL, the caller's effective UID does not match the owner of the file, and the caller is not privileged (Linux: does not have the CAP_FOWNER capability). So use a NULL times parameter value when updating to a file's time stamp(s) to the current time.

  377. Rob Swindell (on Windows)
    Wed May 24 2023 13:14:29 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    Moar new stuff

  378. Deucе
    Wed May 24 2023 09:49:59 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/conio/x_events.c diff
    src/syncterm/syncterm.c diff
    A few scaling fixes for X11 mode... - getscaling() incorrectly used an int intermediate variable This would force scaling to an integer value when read. - Only parse ConfigureNotify events describing a change to the SyncTERM window It appears that XWayland on ChromeOS was occasionally sending a ConfigureNotify event describing some other window to SyncTERM, and that window had a 1x1 size, which would cause SyncTERM to assert minimum size again (usually 640x480), which would set scaling to 1.0.

  379. Rob Swindell (on Debian Linux)
    Tue May 23 2023 21:28:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/un_qwk.cpp diff
    Increase maximum path and command-line lengths from 63 to 100 characters One of the benefits of the new .ini format config files. :-) This increase introduced a few potential buffer overrun warnings (all writes to smb_t.file ?)

  380. Rob Swindell (on ChromeOS)
    Tue May 23 2023 21:07:13 GMT-0700 (PDT)
    Modified Files:
    

    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
    Second part of the bounds-checking of opt[] writes (prevent heap corruption) ... using snprintf() instead of sprintf()

  381. Rob Swindell (on Debian Linux)
    Tue May 23 2023 20:45:23 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfgchat.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    Prevent heap corruption by bounds-checking writes to opt[] Since we are now free()ing the opt[] items in bail(), I've seen heap corruption core dumps after navigating the SCFG menus with some long configuration items (e.g. timed events with max-length command-lines). This heap corruption has been present for a long, long time, but not detected since we weren't free()ing these heap-allocated items. Increasing MAX_OPLN would have been a mitigation for this issue, but using snprintf(opt[n],MAX_OPLN,...) is the better fix.

  382. Rob Swindell (on Debian Linux)
    Tue May 23 2023 19:20:13 GMT-0700 (PDT)
    Modified Files:
    

    exec/filelist.js diff
    Add options: -utf8, -strip, -user=<name> The -strip option requires the (new to v3.20) strip_ctrl_a() method Previously, when using the -all or -lib options, all directories would be included in the filelist, but with the -user option, a valid user (e.g. -user=guest, or -user=sysop) can be specfied to limit the scope of the list to only directories accessible to the specified user (and downloads allowed to the user as well). The -utf8 option encodes all output in UTF-8 (instead of CP437) while the -strip option strips any Ctrl-A (attribute) sequences from the output.

  383. Rob Swindell (on Windows)
    Tue May 23 2023 18:43:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_global.c diff
    Add new global method: strip_ctrl_a() - remove Ctrl-A sequences from string Unlike strip_ctrl(), does not remove any other control characters from string.

  384. Rob Swindell (on Windows)
    Tue May 23 2023 18:45:20 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Expand help text for file directory short names to detail special names Copy/pasted (with little modification) from https://synchro.net/docs/file_section.html#AdvancedOptions -> "Short Name:" Some short names have specially predefined meaning and it's important to include that detail here.

  385. Deucе
    Tue May 23 2023 13:05:02 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    Fix typo in last commit

  386. Deucе
    Tue May 23 2023 00:00:06 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/vidmodes.c diff
    Load _ORIGMODE as C80

  387. Deucе
    Tue May 23 2023 12:56:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/ciolib.c diff
    src/conio/vidmodes.c diff
    src/conio/win32cio.c diff
    Fix crash when erasing pop-ups with no startup mode set. 1) In savescreen(), if the vmode is not found, explicitly set pixels to NULL rather than leaving it uninitialized. 2) Ensure that currmode is never left as _ORIGMODE (which is not a defined mode, so can result in vmode not being found).

  388. Rob Swindell (on ChromeOS)
    Mon May 22 2023 19:24:10 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    getscaling() returns a double, not an int Caught/fixed by Deuce in Brookville, OH

  389. Rob Swindell (on Debian Linux)
    Mon May 22 2023 16:39:01 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chksmb.c diff
    Support new -S option to not check Subject CRCs the Subject CRC calculation was changed in May of 2022 (trailing whitespace is removed prior to calculation), so messages imported before this date/revision of sbbs might be detected as having an invalid/mismatch Subject CRC. This -S option can be used to suppress such errors (for Keyop). Don't support /option syntax any longer in non-*nix builds (just -options). Options are now case-sensitive (i.e. -S and -s are different options). Bump version to 3.20.

  390. Rob Swindell (on ChromeOS)
    Sat May 20 2023 15:06:54 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Add system.guru (default guru name) property

  391. Rob Swindell (on Debian Linux)
    Sat May 20 2023 14:57:56 GMT-0700 (PDT)
    Modified Files:
    

    exec/chat_sec.js diff
    Prompt the user to chat with The Guru when sysop is not available This is actually how sbbs v1/2 worked, before this functionality was moved to chat_sec.src. If the sysop doesn't want the prompt at all, just set the string ChatWithGuruInsteadQ to blank in the ctrl/text.dat file (or copy this script to mods dir and edit to your liking). This resolves issue #569.

  392. Deucе
    Wed May 17 2023 11:52:09 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Remove dead code found by Coverity.

  393. Deucе
    Wed May 17 2023 10:44:57 GMT-0700 (PDT)
    Modified Files:
    

    src/comio/comio_nix.c diff
    Another Coverity issue fixed. Although, Coverity is wrong, close() *can* "accept a negative number", it just always returns EBADF... which would behave correctly.

  394. Deucе
    Tue May 16 2023 14:35:28 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    src/syncterm/ripper.c diff
    src/syncterm/term.c diff
    Fix some issues ide3ntified by coverity.

  395. Eric Oulashin
    Tue May 16 2023 10:37:05 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_DCTStuff.js diff
    exec/SlyEdit_IceStuff.js diff
    exec/SlyEdit_Misc.js diff
    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/gttrivia/gttrivia.js diff
    Made a fix for the refactored theme config reading code in much of the Digital Distortion tools

  396. Rob Swindell
    Tue May 16 2023 10:37:05 GMT-0700 (PDT)
    Modified Files:
    

    docs/slyedit_readme.txt diff
    exec/SlyEdit.js diff
    exec/SlyEdit_DCTStuff.js diff
    exec/SlyEdit_IceStuff.js diff
    exec/SlyEdit_Misc.js diff
    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/gttrivia/gttrivia.js diff
    Merge branch 'dd_stuff_theme_cfg_file_read_updates' into 'master' Made a fix for the refactored theme config reading code in much of the Digital Distortion tools See merge request main/sbbs!294

  397. Rob Swindell (on Debian Linux)
    Tue May 16 2023 09:37:27 GMT-0700 (PDT)
    Modified Files:
    

    install/GNUmakefile diff
    Remove another reference to smbactive reported by deon

  398. Deucе
    Tue May 16 2023 09:03:06 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/vidmodes.c diff
    Only do the aspect fallback test once, after screen dimensions are final.

  399. Deucе
    Tue May 16 2023 08:54:36 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Use video mode aspect ratio when defined rather than pixel size. There's no good argument for this aside from "it feels more right".

  400. Deucе
    Tue May 16 2023 08:51:22 GMT-0700 (PDT)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Disable TraceJIT on FreeBSD It's gotten too crashy lately.

  401. Deucе
    Mon May 15 2023 11:47:05 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    Fix memory leak and uninitialized acces in sixel graphics. Properly initialize sixel mask width/height. Free sx_mask->bits when finished. These were broken by the PPM feature commit 4975b41

  402. Rob Swindell (on Debian Linux)
    Mon May 15 2023 10:18:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/CMakeLists.txt diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/targets.mk diff
    Remove more references to smbactiv As Deon pointed out: I saw that smbactive was removed recently (96a9243), but a quick search of code, sees reminants in GNUmakefile and other files, which I'm wondering is a cause of the problem...?

  403. Deucе
    Sun May 14 2023 21:22:58 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    On a ConfigureNotify event, only call handle_resize_event() if size changed. This mirrors commit 0748cc1e about a year ago that optimized window dragging, and performs basically the same check (removed a week ago with commit b4ce023c)

  404. Deucе
    Sun May 14 2023 21:08:45 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    More X optimizations Now that bitmap_drv_request_some_pixels() just calls bitmap_drv_request_pixels(), there's no point in calling expose_rect() when ev->xexpose.count isn't zero.

  405. Deucе
    Sun May 14 2023 20:55:58 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    Some X client optimizations. - Only call cb_flush() if a new rect was queued. - Ensure bitmap_drv_request_some_pixels() is only called once in response to an expose request. This should fix issue #565.

  406. Deucе
    Sun May 14 2023 20:41:54 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Use vstat.scaling not x_cvstat.scaling to scale to screen. Also, do not try to display frames where the scaled height or width is less than the frame bitmap height or width.

  407. Deucе
    Sun May 14 2023 20:33:41 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fix (unlikely) deadlock when load_vmode() fails.

  408. Deucе
    Sun May 14 2023 20:26:51 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Fix deadlock in SDL mode. sdl_getscaling() does not require vstatlock. Move it out.

  409. Eric Oulashin
    Sun May 14 2023 19:45:21 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    DD area choosers: Refactored/simplified the code for reading the configuration file

  410. Rob Swindell
    Sun May 14 2023 19:45:21 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Merge branch 'dd_area_choosers_read_config_file_refactor' into 'master' DD area choosers: Refactored/simplified the code for reading the configuration file See merge request main/sbbs!292

  411. Eric Oulashin
    Sun May 14 2023 19:23:06 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/defaultTheme.cfg diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: Theme configuration files can now just have the attribute characters without the control code. Refactored the code that reads the configuration.

  412. Rob Swindell
    Sun May 14 2023 19:23:07 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/defaultTheme.cfg diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_config_read_refactor' into 'master' DDFileLister: Theme configuration files can now just have the attribute characters without the control code. Refactored the code that reads the configuration. See merge request main/sbbs!293

  413. Eric Oulashin
    Sat May 13 2023 21:37:36 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    SlyVote: Fix for error when quitting/aborting out of choosing a different sub-board. Refactored ReadConfigFile().

  414. Rob Swindell
    Sun May 14 2023 19:21:13 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    Merge branch 'slyvote_abort_chg_sub_board_fix_and_refactor_read_config' into 'master' SlyVote: Fix for error when quitting/aborting out of choosing a different sub-board. Refactored ReadConfigFile(). See merge request main/sbbs!291

  415. Eric Oulashin
    Sun May 14 2023 19:20:44 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Settings for being able to read deleted messages now apply to personal email (not just sub-boards), and not just appearing in the message list. (SCFG > Message Options > Users Can View Deleted Messages)

  416. Rob Swindell
    Sun May 14 2023 19:20:44 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'ddmr_read_deleted_messages_better' into 'master' DDMsgReader: Settings for being able to read deleted messages now apply to personal email (not just sub-boards), and not just appearing in the message list. (SCFG > Message Options > Users Can View Deleted Messages) See merge request main/sbbs!290

  417. Deucе
    Fri May 12 2023 18:42:25 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/sdl_con.c diff
    src/conio/sdl_con.h diff
    src/conio/win32gdi.c diff
    src/conio/win32gdi.h diff
    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    Add "external" scaling for when the driver has its own scaling method Currently useful only in GDI and SDL modes. The external scaling method is likely lower CPU utilization and may or may not look better.

  418. Deucе
    Fri May 12 2023 04:05:25 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    src/conio/ansi_cio.h diff
    src/conio/bitmap_con.c diff
    src/conio/bitmap_con.h diff
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/cterm.h diff
    src/conio/curs_cio.c diff
    src/conio/curs_cio.h diff
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/sdl_con.c diff
    src/conio/sdl_con.h diff
    src/conio/vidmodes.h diff
    src/conio/win32cio.c diff
    src/conio/win32cio.h diff
    src/conio/win32gdi.c diff
    src/conio/win32gdi.h diff
    src/conio/x_cio.c diff
    src/conio/x_cio.h diff
    src/conio/x_events.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    Use a double for scaling instead of an integer All bitmap drivers now support arbitrary scaling, and the scaling factor is a double, allowing arbitrary window scaling in all bitmap modes (making nelgin happy). While we're here, fix bugs in horizontal interpolation and X window resizeing.

  419. Deucе
    Tue May 09 2023 21:29:13 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Build .html files for Emscripten

  420. Deucе
    Tue May 09 2023 21:32:02 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/conwrap.c diff
    src/xpdev/dat_file.c diff
    src/xpdev/datewrap.c diff
    src/xpdev/datewrap.h diff
    src/xpdev/dirwrap.c diff
    src/xpdev/filewrap.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    src/xpdev/strwrap.c diff
    src/xpdev/strwrap.h diff
    src/xpdev/xpbeep.c diff
    Use __EMSCRIPTEN__, not __EMSCRIPTEN_major__

  421. Deucе
    Tue May 09 2023 21:16:12 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    src/syncterm/COMPILING diff
    src/xpdev/conwrap.c diff
    src/xpdev/dat_file.c diff
    src/xpdev/datewrap.c diff
    src/xpdev/datewrap.h diff
    src/xpdev/dirwrap.c diff
    src/xpdev/filewrap.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/genwrap.h diff
    src/xpdev/strwrap.c diff
    src/xpdev/strwrap.h diff
    src/xpdev/wraptest.c diff
    src/xpdev/xpbeep.c diff
    Start of Emscripten support. Not at all approaching functional yet.

  422. Rob Swindell (on Windows)
    Mon May 08 2023 18:15:19 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smblib.c diff
    Streamlined code: we need only one check for hyper-alloc'd msg base here No functional change.

  423. Rob Swindell (on Debian Linux)
    Mon May 08 2023 18:08:49 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smblib.c diff
    More detail in error strings in smb_getmsghdr()

  424. Rob Swindell (on Windows)
    Mon May 08 2023 17:44:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    The "user" directory is special: you don't need "access" to download from it. When sending a user-to-user file transfer, SBBS (since v3.19) will check that the file recipient will be able to download it (e.g. doesn't have restrictions preventing it) and this was failing for most (non-sysop) recipient users since they wouldn't normally meet the "access restrictions" of the user directory (by design).

  425. Rob Swindell (on Windows)
    Mon May 08 2023 17:46:31 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Use js_argc() to generate the helpful exception when insufficient args used ... rather than just failing silently with a special return value (e.g. false).

  426. Rob Swindell (on Windows)
    Mon May 08 2023 17:47:49 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smblib.c diff
    Fix the relocation of enlarged message headers in smb_putmsghdr() The first commit of this feature would leave the base corrupted for a couple of reasons (.sha file wasn't opened, using modified header when re-writing the old header to set the DELETED attribute). Both fixed.

  427. Rob Swindell (on Windows)
    Sun May 07 2023 23:24:33 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smballoc.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    smb_putmsghdr() now supports expanding message headers beyond allocated blocks The old "illegal header length increase" error goes away and now smb_putmsghdr() will re-allocate a header if needs to be moved to accommodate new header fields or header fields with increase data lengths. We can consider getting rid of the MsgBase "expand_fields" concept now. This fixes issue #404

  428. Rob Swindell (on Windows)
    Sun May 07 2023 23:22:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/postmsg.cpp diff
    Bounds-check subnum in savemsg() It's possible to use savemsg() (from JS MsgBase.save_msg()) to add a message to a message base that's not a sub-board (not configured in SCFG->Message Areas and not the "mail" base), but in that case, savemsg() would dereference an invalid sub in the scfg->sub array and crash. So use is_valid_subum() to insure the subnum is a valid sub before using as an index.

  429. Rob Swindell (on Windows)
    Sun May 07 2023 23:22:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/msg_id.c diff
    Bounds-check subnum in add_msg_ids() Avoids crash when adding a msg to a non-sub-board msgbase.

  430. Rob Swindell (on Windows)
    Sun May 07 2023 23:22:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    MsgBase.save_msg() docs says only one argument is required So use js_argc() to report an error if there's fewer than 1 argument, but don't just fail silently when 2 arguments are provided.

  431. Stephen Hurd
    Sun May 07 2023 21:48:05 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/genmap.c diff
    Generate Mach-O assember for darwin. Nonrelocatable const data goes in __TEXT,__const apparently. I could put it in __DATA,__const and get an entry in the GOT, by why bother?

  432. Rob Swindell (on Debian Linux)
    Sun May 07 2023 19:09:11 GMT-0700 (PDT)
    Modified Files:
    

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

    src/sbbs3/smbactiv.c diff
    src/sbbs3/smbactiv.vcxproj diff
    Remove SMBACTIV utility If/when anyone wants this functionality again, write a short JS util. For reference: https://synchro.net/docs/utility_reference.html#SMBACTIV This fixes issue #384.

  433. Rob Swindell (on Windows)
    Sun May 07 2023 18:37:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    Resolve some MSVC signed/unsigned comparison warnings

  434. Rob Swindell (on Windows)
    Sun May 07 2023 18:38:03 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbtxt.c diff
    Support non-quoted MIME Content-type boundary parameters (semicolon delimited) This should fix issue #559, for example: Content-Type: multipart/alternative; boundary=mk3-ebfa33c1cd454cc2b1c618f5d74b41af; charset=UTF-8 We were assuming all boundary parameter values are quoted (apparently not true, see https://www.rfc-editor.org/rfc/rfc2046#section-5.1.1) - so support non-quoted boundary values which also may have a semicolon delimiter. Also, truncate any white-space from a boundary value (shouldn't be there per RFC2046).

  435. Rob Swindell (on Debian Linux)
    Sun May 07 2023 18:08:55 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/http.js diff
    Support recv_timeout argument to HTTPRequest constructor, default: 60 (seconds) Use this time-out value for calls to recv() and recvline() rather than a mix of default and hard-coded values. If unspecified, uses a default of 60 seconds. This fixes issue #562

  436. Rob Swindell (on Debian Linux)
    Sun May 07 2023 13:45:03 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Enforce telbuf size bounds (don't just log the overflow condition) This should resolve CID 453850

  437. Deucе
    Sun May 07 2023 01:30:11 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/sdl_con.c diff
    src/conio/win32gdi.c diff
    src/conio/x_events.c diff
    src/syncterm/syncterm.c diff
    Add a new ciolib_initial_mode global variable For graphical modes, this requests that ciolib be initialized in the specified mode. For text-based modes (ANSI, Curses, Win32 Console), this is not used and "current" is used instead.

  438. Deucе
    Sun May 07 2023 01:15:53 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Fixup vstat after bitmap_drv_init_mode() Now that vstat is what was last drawn on the screen we need to save/restore the width/height around calls to bitmap_drv_init_mode().

  439. Deucе
    Sun May 07 2023 01:01:44 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Call resize_window() after initing a mode, call XResizeWindow() if x_cvstat doesn't match cvstat.

  440. Deucе
    Sun May 07 2023 00:24:16 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/genmap.c diff
    Whoops, counted wrong.

  441. Deucе
    Sun May 07 2023 00:22:01 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/genmap.c diff
    Add output path to .incbin

  442. Deucе
    Sun May 07 2023 00:20:02 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.bmake diff
    Geeze, we still use bmake.

  443. Deucе
    Sun May 07 2023 00:15:38 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    src/build/rules.mk diff
    src/conio/Common.make diff
    src/conio/GNUmakefile diff
    src/conio/genmap.c diff
    Put generated source files in a dedicated output directory. Win32 rgbmap.s is different than other platforms, so they can't go into the same place.

  444. Deucе
    Sat May 06 2023 23:46:48 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Swap the order of defaults so vstat.scaling only gets written once This is just to make it less noise to watch vstat.scaling from gdb.

  445. Deucе
    Sat May 06 2023 22:25:20 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/x_events.c diff
    "Fix" a couple impossible ways for vstat.scaling to be zero. Seriously, that's not possible.

  446. Rob Swindell (on Debian Linux)
    Sat May 06 2023 12:50:34 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    PETSCII terminals can't send { and }, so support ( and ) for search fwd/back

  447. Rob Swindell (on Debian Linux)
    Sat May 06 2023 12:51:18 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/download.cpp diff
    src/sbbs3/inkey.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    Perform input translation (e.g. DEL<->BKSPC, PETSCII chars) in input_thread() My first idea was to have a per-external-program setting to enable input translation, but Deuce suggested it would be better done in input_thread() and after some thought, I agree. Translations are not done in data/file transfer mode, so use the CON_RAW_IN console flag to indicate this condition. So even JS console.getbyte() will return a translated char unless the console is set raw input mode (this could be surprising behavior for some!). I considered saving/restoring the console mode when performing a file transfer but will leave that to a time when obviously needed. This fixes issue #497 in automatic way (no option needed).

  448. Deucе
    Fri May 05 2023 22:53:06 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Don't #include rgbmap.h unless you plan to use it. Should fix curses-only build.

  449. Deucе
    Fri May 05 2023 22:44:35 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix more buffer overflows.

  450. Deucе
    Fri May 05 2023 22:15:56 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/extdeps.mk diff
    Add dependency from syncterm.c -> ciolib so rgbmap.h can be created

  451. Rob Swindell (on Debian Linux)
    Fri May 05 2023 21:28:57 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Resolve GCC warnings: cast from pointer to integer of different size Pretty sure this is what intptr_t was created for.

  452. Deucе
    Fri May 05 2023 21:16:12 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fixx off-by-one in last commit. Stupid 1-based coordinates.

  453. Deucе
    Fri May 05 2023 21:03:08 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Fix buffer overflow in bitmap movetext()

  454. Rob Swindell (on Debian Linux)
    Fri May 05 2023 21:01:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    src/sbbs3/getkey.cpp diff
    A couple of PETSCII fixes wrt saving/restoring line e.g. when using Ctrl-K or when being prompted for key-press due to inactivity

  455. Rob Swindell (on Debian Linux)
    Fri May 05 2023 19:53:25 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    Use '[' Ctrl-A code to move cursor to first column, not a bare '\r' A bare '\r' doesn't move the cursor to the first column in PETSCII terminals. The '[' Ctrl-A code moves the cursor to the first column with multiple cursor-left sequences, if necessary. Ideally this sequence would be part of the text.dat string instead of hard-coded here. This fixes issue #561

  456. Deucе
    Fri May 05 2023 13:12:48 GMT-0700 (PDT)
    Modified Files:
    

    .gitlab-ci.yml diff
    Fix job for Win32 builds on FreeBSD

  457. Deucе
    Fri May 05 2023 11:51:06 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/GNUmakefile diff
    Also, don't create intermediary object files for genmap

  458. Deucе
    Fri May 05 2023 13:10:08 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/GNUmakefile diff
    src/conio/genmap.c diff
    src/syncterm/COMPILING diff
    Fix win32 builds, symbols need to be mangled appropriately. Note, the CI job is needs to be updated with AS=mingw32-as... need to find where that lives.

  459. Deucе
    Fri May 05 2023 11:47:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/GNUmakefile diff
    Use cc, not $(CC) to build genmap

  460. Deucе
    Fri May 05 2023 11:38:03 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    src/conio/GNUmakefile diff
    src/conio/genmap.c diff
    src/conio/scale.c diff
    Removed Files:

    src/conio/rgbmap.c diff
    src/conio/rgbmap.h diff
    Remove rgbmap.c and rgbmap.h Instead, generate these as part of the build and use the .incbin macro on GNU-compatible assemblers to build the .o file quickly. No good solution for Win32, but genmap could write the C file again and take forever building it if/when we need to build rgbmap.obj on Win32.

  461. Deucе
    Fri May 05 2023 09:42:21 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/GNUmakefile.top diff
    Add a GNUmakefile for top-level of archive

  462. Deucе
    Fri May 05 2023 08:44:03 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/xbr.c diff
    Now fix the builds that use graphics. :D

  463. Deucе
    Fri May 05 2023 08:42:41 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/vidmodes.c diff
    src/syncterm/syncterm.c diff
    Only set r2yptr and y2rptr if bitmap driver in use. Rename to ciolib_[ry]2[ry]ptr and put in ciolib.c/h Should fix curses-only build.

  464. Deucе
    Thu May 04 2023 21:27:44 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Ok, don't use the reaper, just process WM_CLOSE.

  465. Deucе
    Thu May 04 2023 21:01:09 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Use the reaper and process WM_CLOSE One or both of these should fix weird GDI zombie issues.

  466. Deucе
    Thu May 04 2023 20:19:32 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Actually, just pass control keys... If the codepage tables have holes where US-ASCII chars go, don't send the character under the assumption that it won't be on the keyboard (and certainly not in the "same" place).

  467. Deucе
    Thu May 04 2023 20:15:39 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Don't require that control keys be converted from unicode to codepage

  468. Deucе
    Thu May 04 2023 19:14:03 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdlfuncs.c diff
    Blacklist the "offscreen" driver as well. Can prevent fall-through to curses from working.

  469. Rob Swindell (on Debian Linux)
    Thu May 04 2023 18:56:02 GMT-0700 (PDT)
    Modified Files:
    

    exec/upgrade_to_v320.js diff
    Don't treat failure to read node[2+]/node.cnf as a fatal error There was a period of time when *nix installs of sbbs (after the migration to Git) didn't include node2/3/4 directories (and thus the node.cnf files in those directories). In such an install, report the error converting those node.cnf files to node.ini equivalents, but don't stop the upgrade to v3.20. The terminal server will fallback to the firs node config if any other node config (node.ini) file is missing, so that's still okay (though not ideal). This fixes issue #560 Thanks for the report Bobrob!

  470. Rob Swindell (on Debian Linux)
    Thu May 04 2023 19:01:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Help text fixes and updates (mostly just double-spaces after periods)

  471. Deucе
    Thu May 04 2023 18:55:36 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    Update auto-mode docs

  472. Deucе
    Thu May 04 2023 18:48:24 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Handle all possible failure paths before calling bitmap_drv_init() Should fix auto-curses mode crash.

  473. Deucе
    Thu May 04 2023 18:37:43 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/extdeps.mk diff
    Fix builds with -j for SyncTERM

  474. Deucе
    Thu May 04 2023 13:18:29 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_events.c diff
    Remove unised variable.

  475. Deucе
    Thu May 04 2023 13:13:33 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/x_cio.c diff
    src/conio/x_cio.h diff
    src/conio/x_events.c diff
    src/conio/x_events.h diff
    Overhaul of X support Create initial window at final size to avoid extra resize at start - Load vmode before initializing the window Track scaling whenever the X window is adjusted Replace x11_window_height/x11_window_width with vstat.winwidth/vstat.winheight Resize zim from init_mode_internal() to ensure it tracks current size on initial expose Honour ciolib_initial_scaling Check xim validity in local_draw_rect() in case of race Add check to prevent divide-by-zero in handle_resize_event() Use vstat for current on-screen info, and x_cvstat for desired info - This allows using vstat.scaling in place of old_scaling Have scaling set use a new mutex-protected variable Fill in local_draw_rect() so we don't miss expose Set max window size based on user area (or root window size if not available) The WM Cyan uses may hate this... This absolutely *must* fix the issue in SF ticket 103.

  476. Deucе
    Thu May 04 2023 07:21:39 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Fix warnings reported by Digitalman

  477. Rob Swindell (on ChromeOS)
    Wed May 03 2023 23:57:45 GMT-0700 (PDT)
    Removed Files:
    

    src/conio/conio.dsp diff
    src/conio/conio_sdl.dsp diff
    src/conio/conio_sdl.vcproj diff
    src/sbbs3/scfg/scfg.dsp diff
    src/sbbs3/scfg/scfg.dsw diff
    src/sexpots/sexpots.dsp diff
    src/sexpots/sexpots.dsw diff
    src/smblib/smblib.dsp diff
    src/tone/tone.dsp diff
    src/uifc/uifc.dsp diff
    src/uifc/uifc_sdl.dsp diff
    src/uifc/uifc_sdl.vcproj diff
    src/xpdev/csv_file.dsp diff
    src/xpdev/xpdev.dsp diff
    src/xpdev/xpdev_mt.dsp diff
    src/xpdev/xpdev_mt.vcproj diff
    src/xpdev/xptime.dsp diff
    src/xpdev/xptime.dsw diff
    Remove old/unsupported Microsoft Visual Studio workspace and project files

  478. Deucе
    Wed May 03 2023 13:25:13 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Remove unused variables

  479. Deucе
    Wed May 03 2023 13:19:42 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/sdl_con.c diff
    src/conio/sdl_con.h diff
    src/conio/win32gdi.c diff
    src/conio/win32gdi.h diff
    Implement set/get scaling for SDL and GDI. This is now simple to implement. Also, add ciolib_initial_scaling so the initial window can be created with the appropriate scaling already applied. We still need a way to specifiy the initial text mode, but these globals are not the right way.

  480. Deucе
    Wed May 03 2023 13:20:43 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Use scaling and not win size for initial window. Should fix issue 103 on SourceForge (Black bars on X11 window)

  481. Deucе
    Wed May 03 2023 10:12:06 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    On second thought, jsdoor likely should be a Windows program.

  482. Deucе
    Wed May 03 2023 10:04:36 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsdoor.c diff
    Give jsdoor the same treatement jsexec got.

  483. Deucе
    Wed May 03 2023 09:52:36 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    This should allow it to link as a console program.

  484. Deucе
    Wed May 03 2023 09:45:30 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/conio.props diff
    Define WITH_GDI for things using ciolib

  485. Deucе
    Wed May 03 2023 09:35:48 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.h diff
    GDI needs CIOLIB_main as well

  486. Deucе
    Wed May 03 2023 09:29:33 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Also fail if GetModuleHandleW(NULL) fails.

  487. Deucе
    Wed May 03 2023 09:22:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/conio.dsp diff
    src/conio/conio.vcxproj diff
    Add SDL_win32_main.c to needed files

  488. Deucе
    Wed May 03 2023 09:18:18 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Make gdi_initcilib() return status on failure. This should allow fall-through to SDL and win32 console if possible.

  489. Deucе
    Wed May 03 2023 09:03:24 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.vcxproj diff
    src/sbbs3/scfg/scfg.vcxproj diff
    Make binaries linked with conio Windows binaries. jsexec is an extra weird case though, so don't touch that one for now... I assume it'll just break as-is, but maybe it'll work... Certainly gdi_ciolibinit() needs better error detection.

  490. Deucе
    Wed May 03 2023 08:51:45 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/conio.dsp diff
    src/conio/conio.vcxproj diff
    src/conio/conio_sdl.dsp diff
    src/conio/conio_sdl.vcproj diff
    src/conio/conio_sdl.vcxproj diff
    And add xbr.c as well

  491. Deucе
    Wed May 03 2023 08:48:02 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/conio_sdl.vcproj diff
    src/conio/conio_sdl.vcxproj diff
    Add stuff to the SDL things too

  492. Deucе
    Wed May 03 2023 08:40:55 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/conio.dsp diff
    src/conio/conio.vcxproj diff
    Hack in some things...

  493. Deucе
    Tue May 02 2023 22:45:11 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    Remove -iWF as an option in SyncTERM Full-screen console doesn't scale anymore on modern Windows, so this flag is worse than useless.

  494. Deucе
    Tue May 02 2023 22:44:47 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    Eliminate GDI scaling. It's ugly and I hate it. Also, fix up window behaviour... allow dragging it larger and smaller, disable maximize, and don't allow snapping bigger or smaller than the user area. Finally, when r2y tables aren't installed, set the aspect ratio to xsize x ysize so all the aspect "stuff" works properly. With this, GDI is now the default output mode for Windows. Auto order is now: X11 -> GDI -> SDL -> Win32 Console or Curses -> ANSI Now that GDI is self-contained, does not require SDL, and runs in a window, compile as a Windows application to prevent a console window from opening then closing at startup. Win32 console mode now has to rely on AllocConsole(), which opens a new console window. This is likely the best choice anyway since ciolib absolutely destroys your console settings, so that console is even less useful than the normal windows console after a utility runs. Maybe for 2.0 I'll do a Wayland and Core Graphics driver too. :D

  495. Deucе
    Tue May 02 2023 22:22:11 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/bitmap_con.h diff
    src/conio/ciolib.c diff
    src/conio/scale.c diff
    src/conio/vidmodes.c diff
    src/conio/win32gdi.c diff
    Eliminate GDI scaling. It's ugly and I hate it. Also, fix up window behaviour... allow dragging it larger and smaller, disable maximize, and don't allow snapping bigger or smaller than the user area. Finally, when r2y tables aren't installed, set the aspect ratio to xsize x ysize so all the aspect "stuff" works properly. With this, GDI is now the default output mode for Windows. Auto order is now: X11 -> GDI -> SDL -> Win32 Console or Curses -> ANSI Maybe for 2.0 I'll do a Wayland and Core Graphics driver too. :D

  496. Deucе
    Mon May 01 2023 23:33:05 GMT-0700 (PDT)
    Added Files:
    

    3rdp/win32.release/sdl2/cmake/sdl2-config-version.cmake diff
    3rdp/win32.release/sdl2/cmake/sdl2-config.cmake diff
    3rdp/win32.release/sdl2/docs/CONTRIBUTING.md diff
    3rdp/win32.release/sdl2/docs/README-gdk.md diff
    3rdp/win32.release/sdl2/docs/README-git.md diff
    3rdp/win32.release/sdl2/docs/README-kmsbsd.md diff
    3rdp/win32.release/sdl2/docs/README-macos.md diff
    3rdp/win32.release/sdl2/docs/README-n3ds.md diff
    3rdp/win32.release/sdl2/docs/README-ngage.md diff
    3rdp/win32.release/sdl2/docs/README-os2.md diff
    3rdp/win32.release/sdl2/docs/README-ps2.md diff
    3rdp/win32.release/sdl2/docs/README-riscos.md diff
    3rdp/win32.release/sdl2/docs/README-versions.md diff
    3rdp/win32.release/sdl2/docs/README-visualc.md diff
    3rdp/win32.release/sdl2/docs/README-vita.md diff
    3rdp/win32.release/sdl2/docs/release_checklist.md diff
    3rdp/win32.release/sdl2/include/SDL_guid.h diff
    3rdp/win32.release/sdl2/include/SDL_hidapi.h diff
    3rdp/win32.release/sdl2/include/SDL_locale.h diff
    3rdp/win32.release/sdl2/include/SDL_misc.h diff
    Modified Files:

    3rdp/win32.release/sdl2/BUGS.txt diff
    3rdp/win32.release/sdl2/WhatsNew.txt diff
    3rdp/win32.release/sdl2/docs/README-android.md diff
    3rdp/win32.release/sdl2/docs/README-cmake.md diff
    3rdp/win32.release/sdl2/docs/README-directfb.md diff
    3rdp/win32.release/sdl2/docs/README-dynapi.md diff
    3rdp/win32.release/sdl2/docs/README-emscripten.md diff
    3rdp/win32.release/sdl2/docs/README-hg.md diff
    3rdp/win32.release/sdl2/docs/README-ios.md diff
    3rdp/win32.release/sdl2/docs/README-linux.md diff
    3rdp/win32.release/sdl2/docs/README-psp.md diff
    3rdp/win32.release/sdl2/docs/README-raspberrypi.md diff
    3rdp/win32.release/sdl2/docs/README-windows.md diff
    3rdp/win32.release/sdl2/docs/README-winrt.md diff
    3rdp/win32.release/sdl2/docs/README.md diff
    3rdp/win32.release/sdl2/docs/doxyfile diff
    3rdp/win32.release/sdl2/include/SDL.h diff
    3rdp/win32.release/sdl2/include/SDL_assert.h diff
    3rdp/win32.release/sdl2/include/SDL_atomic.h diff
    3rdp/win32.release/sdl2/include/SDL_audio.h diff
    3rdp/win32.release/sdl2/include/SDL_bits.h diff
    3rdp/win32.release/sdl2/include/SDL_blendmode.h diff
    3rdp/win32.release/sdl2/include/SDL_clipboard.h diff
    3rdp/win32.release/sdl2/include/SDL_config.h diff
    3rdp/win32.release/sdl2/include/SDL_cpuinfo.h diff
    3rdp/win32.release/sdl2/include/SDL_egl.h diff
    3rdp/win32.release/sdl2/include/SDL_endian.h diff
    3rdp/win32.release/sdl2/include/SDL_error.h diff
    3rdp/win32.release/sdl2/include/SDL_events.h diff
    3rdp/win32.release/sdl2/include/SDL_filesystem.h diff
    3rdp/win32.release/sdl2/include/SDL_gamecontroller.h diff
    3rdp/win32.release/sdl2/include/SDL_gesture.h diff
    3rdp/win32.release/sdl2/include/SDL_haptic.h diff
    3rdp/win32.release/sdl2/include/SDL_hints.h diff
    3rdp/win32.release/sdl2/include/SDL_joystick.h diff
    3rdp/win32.release/sdl2/include/SDL_keyboard.h diff
    3rdp/win32.release/sdl2/include/SDL_keycode.h diff
    3rdp/win32.release/sdl2/include/SDL_loadso.h diff
    3rdp/win32.release/sdl2/include/SDL_log.h diff
    3rdp/win32.release/sdl2/include/SDL_main.h diff
    3rdp/win32.release/sdl2/include/SDL_messagebox.h diff
    3rdp/win32.release/sdl2/include/SDL_metal.h diff
    3rdp/win32.release/sdl2/include/SDL_mouse.h diff
    3rdp/win32.release/sdl2/include/SDL_mutex.h diff
    3rdp/win32.release/sdl2/include/SDL_name.h diff
    3rdp/win32.release/sdl2/include/SDL_opengl.h diff
    3rdp/win32.release/sdl2/include/SDL_opengl_glext.h diff
    3rdp/win32.release/sdl2/include/SDL_opengles.h diff
    3rdp/win32.release/sdl2/include/SDL_opengles2.h diff
    3rdp/win32.release/sdl2/include/SDL_opengles2_gl2.h diff
    3rdp/win32.release/sdl2/include/SDL_opengles2_gl2ext.h diff
    3rdp/win32.release/sdl2/include/SDL_opengles2_gl2platform.h diff
    3rdp/win32.release/sdl2/include/SDL_opengles2_khrplatform.h diff
    3rdp/win32.release/sdl2/include/SDL_pixels.h diff
    3rdp/win32.release/sdl2/include/SDL_platform.h diff
    3rdp/win32.release/sdl2/include/SDL_power.h diff
    3rdp/win32.release/sdl2/include/SDL_quit.h diff
    3rdp/win32.release/sdl2/include/SDL_rect.h diff
    3rdp/win32.release/sdl2/include/SDL_render.h diff
    3rdp/win32.release/sdl2/include/SDL_revision.h diff
    3rdp/win32.release/sdl2/include/SDL_rwops.h diff
    3rdp/win32.release/sdl2/include/SDL_scancode.h diff
    3rdp/win32.release/sdl2/include/SDL_sensor.h diff
    3rdp/win32.release/sdl2/include/SDL_shape.h diff
    3rdp/win32.release/sdl2/include/SDL_stdinc.h diff
    3rdp/win32.release/sdl2/include/SDL_surface.h diff
    3rdp/win32.release/sdl2/include/SDL_system.h diff
    3rdp/win32.release/sdl2/include/SDL_syswm.h diff
    3rdp/win32.release/sdl2/include/SDL_test.h diff
    3rdp/win32.release/sdl2/include/SDL_test_assert.h diff
    3rdp/win32.release/sdl2/include/SDL_test_common.h diff
    3rdp/win32.release/sdl2/include/SDL_test_compare.h diff
    3rdp/win32.release/sdl2/include/SDL_test_crc32.h diff
    3rdp/win32.release/sdl2/include/SDL_test_font.h diff
    3rdp/win32.release/sdl2/include/SDL_test_fuzzer.h diff
    3rdp/win32.release/sdl2/include/SDL_test_harness.h diff
    3rdp/win32.release/sdl2/include/SDL_test_images.h diff
    3rdp/win32.release/sdl2/include/SDL_test_log.h diff
    3rdp/win32.release/sdl2/include/SDL_test_md5.h diff
    3rdp/win32.release/sdl2/include/SDL_test_memory.h diff
    3rdp/win32.release/sdl2/include/SDL_test_random.h diff
    3rdp/win32.release/sdl2/include/SDL_thread.h diff
    3rdp/win32.release/sdl2/include/SDL_timer.h diff
    3rdp/win32.release/sdl2/include/SDL_touch.h diff
    3rdp/win32.release/sdl2/include/SDL_types.h diff
    3rdp/win32.release/sdl2/include/SDL_version.h diff
    3rdp/win32.release/sdl2/include/SDL_video.h diff
    3rdp/win32.release/sdl2/include/SDL_vulkan.h diff
    3rdp/win32.release/sdl2/include/begin_code.h diff
    3rdp/win32.release/sdl2/include/close_code.h diff
    3rdp/win32.release/sdl2/lib/x64/SDL2.dll diff
    3rdp/win32.release/sdl2/lib/x64/SDL2.lib diff
    3rdp/win32.release/sdl2/lib/x64/SDL2main.lib diff
    3rdp/win32.release/sdl2/lib/x64/SDL2test.lib diff
    3rdp/win32.release/sdl2/lib/x86/SDL2.dll diff
    3rdp/win32.release/sdl2/lib/x86/SDL2.lib diff
    3rdp/win32.release/sdl2/lib/x86/SDL2main.lib diff
    3rdp/win32.release/sdl2/lib/x86/SDL2test.lib diff
    Removed Files:

    3rdp/win32.release/sdl2/docs/README-macosx.md diff
    3rdp/win32.release/sdl2/include/SDL_config.h.cmake diff
    3rdp/win32.release/sdl2/include/SDL_config.h.in diff
    3rdp/win32.release/sdl2/include/SDL_config_android.h diff
    3rdp/win32.release/sdl2/include/SDL_config_iphoneos.h diff
    3rdp/win32.release/sdl2/include/SDL_config_macosx.h diff
    3rdp/win32.release/sdl2/include/SDL_config_macosx.h.orig diff
    3rdp/win32.release/sdl2/include/SDL_config_minimal.h diff
    3rdp/win32.release/sdl2/include/SDL_config_pandora.h diff
    3rdp/win32.release/sdl2/include/SDL_config_psp.h diff
    3rdp/win32.release/sdl2/include/SDL_config_windows.h diff
    3rdp/win32.release/sdl2/include/SDL_config_winrt.h diff
    3rdp/win32.release/sdl2/include/SDL_config_wiz.h diff
    3rdp/win32.release/sdl2/include/SDL_copying.h diff
    SDL 2.0.12 -> 2.26.5

  497. Deucе
    Mon May 01 2023 23:39:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/bitmap_con.h diff
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/sdl_con.c diff
    src/conio/sdlfuncs.c diff
    src/conio/sdlfuncs.h diff
    src/conio/win32gdi.c diff
    src/conio/x_events.c diff
    Start aligning SDL and GDI features/behaviour Move snap logic into bitmap Move new mode window size logic into bitmap

  498. Deucе
    Mon May 01 2023 20:22:20 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Fix to high CPU utilization fix. We don't just want the kbwait() problem back, only wait after WIN_DYN if there was no input.

  499. Deucе
    Mon May 01 2023 17:47:22 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/conio/GNUmakefile diff
    Use a separate variable for the target as the link-time object file. Put that in your pipeline and smoke it.

  500. Rob Swindell (on Debian Linux)
    Mon May 01 2023 17:20:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfglib2.c diff
    Fix another small memleak reported by valgrind: global hot keys Not a huge deal, but there it is (or was).

  501. Deucе
    Mon May 01 2023 17:06:18 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/conio/GNUmakefile diff
    src/conio/ciolib.c diff
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/xbr.c diff
    src/syncterm/GNUmakefile diff
    src/syncterm/syncterm.c diff
    Don't link in RGB <-> YUV tables by default. Instead, have the r2yptr and y2rptr pointers that need to be set to those tables in order for interpolation to work. Not setting one locks ciolib into "LCD" modes (everything uses square pixels), and XBR scaling is disabled. The CIOLIB_INTERPOLATE_OBJS make variable contains the path to the object file that contains those tables, so it's just a matter of some code and an extra (128MB) object to link against.

  502. Deucе
    Mon May 01 2023 15:25:11 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    Add TODO comment about a kbhit() that takes a timeout.

  503. Deucе
    Mon May 01 2023 13:58:37 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Call kbwait() before wany uifc.list() we care about the return value of Fixes high CPU utilization at menus.

  504. Deucе
    Mon May 01 2023 13:43:29 GMT-0700 (PDT)
    Added Files:
    

    src/conio/genmap.c diff
    src/conio/rgbmap.c diff
    src/conio/rgbmap.h diff
    Modified Files:

    src/conio/GNUmakefile diff
    src/conio/bitmap_con.c diff
    src/conio/scale.c diff
    Use static RGB map This increases the binary size by 128MB, but allows much faster startup, and should actually use less memory since the VM can page out (or just not page in) the parts of the table it doesn't use, and it can share the pages between different instances.

  505. Rob Swindell (on Windows)
    Mon May 01 2023 12:37:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Resolve some "possibly lost" valgrind-reported memleaks Use a static char string list for the main menu options. These can't be const becaue uifc.list() *can* modify them (!) - if they're too long. Free the global opt[] (option list) when exiting. These really are not of themselves important, but reduce the noise reported by valgrind when looking for real issues.

  506. Rob Swindell (on Debian Linux)
    Mon May 01 2023 12:05:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Call crptEnd() when exiting to make valgrind (more) happy

  507. Rob Swindell (on Windows)
    Mon May 01 2023 12:00:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/jsexec.c diff
    More verbose help output for -L option

  508. Rob Swindell (on Windows)
    Mon May 01 2023 12:00:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    Fix valgrind-reported memleak in sbbs_read_ini()

  509. Rob Swindell (on Windows)
    Mon May 01 2023 12:00:22 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/services.c diff
    Fix valgrind-reported memleak (on recycle), not freeing interfaces string list (seeing a pattern here) :-)

  510. Deucе
    Mon May 01 2023 09:15:44 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    Scaling optimizations Use weight == 0 instead of int == double when deciding to copy pixel When interpolating width, do it by column, not row

  511. Deucе
    Sun Apr 30 2023 23:53:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    Fix off-by-one error and increase precision Cleans up artifacts in interpolated values nicely.

  512. Deucе
    Sun Apr 30 2023 23:54:09 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Only erase black bars and use BitBlt() I expect BitBlt(..., BLACKNESS) to be the better optimized of the two, and there's no reason to actually reat the source bitmap.

  513. Deucе
    Sun Apr 30 2023 17:47:52 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Update win_to_pos() for new scaling/position method.

  514. Rob Swindell (on Debian Linux)
    Sun Apr 30 2023 15:52:56 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/guru.dat diff
    Fix typo

  515. Rob Swindell (on ChromeOS)
    Sun Apr 30 2023 15:50:58 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/guru.dat diff
    Fix '?' matches (needs tilde), add more expession/response sections I don't think it would've even been possible to match these expressions without the tilde.

  516. Rob Swindell (on ChromeOS)
    Sun Apr 30 2023 15:16:35 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    A close-parenthesis in a guru.dat response string would throw-off the parser After a negative-match of a Guru expression, we were searching for the next '(' anywhere in the subsequent chars of the file rather than just the next line that started with an open-parenthesis character. This bug was the secondary cause of the buffer-overflow crash addresseed in commit 62e2280e which was triggered by my recent updates to the guru.dat.

  517. Deucе
    Sun Apr 30 2023 14:20:31 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/win32gdi.c diff
    Some more GDI cleanup stuff... Create a proper aspect fix function Centre bitmap in window with correct aspect ratio Fix cursor at resize points Explicitly set high DPI awareness Don't snap window larger than allowed Since this is the newest/simplest display driver, I'm going to use this to decide how to do scaling in general so I can abstract that into shared code to ensure all drivers have the same scaling behaviour. I haven't tested mouse on windows with black bars yet though, so I assume that's broken...

  518. Rob Swindell (on ChromeOS)
    Sun Apr 30 2023 11:31:39 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    Fix memory leak in iniFreeParsedSections(), wasn't freeing the list member The 'list' member was allocated by iniParseSections() but never freed. Caught be Nelgin's recent valgrind report, e.g.: ==2725235== 56 bytes in 1 blocks are indirectly lost in loss record 82 of 191 ==2725235== at 0x484DCD3: realloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==2725235== by 0x4FA351C: strListAnnex (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x4F9ADDE: iniParseSections (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x49F1F0A: read_chat_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x49E8BF1: load_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x5C14C75: ftp_server (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libftpsrvr.so) ==2725235== by 0x5D5AB42: start_thread (pthread_create.c:442) ==2725235== by 0x5DEBBB3: clone (clone.S:100)

  519. Deucе
    Sun Apr 30 2023 10:19:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Clear to black before drawing frame. Will be needed once scaling works properly.

  520. Deucе
    Sat Apr 29 2023 23:04:07 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Final functionality features... Load icon from resource file implement seticon() While the features are all there, some are buggy. Scaling is wrong for example, and keyboard input may do weird things if shift or control are held when you take focus away from the window, then release them when the focus is elsewhere, then re-focus the window. This should only impact extended keys (ie: ones that don't send a character to the remote).

  521. Rob Swindell (on Windows)
    Sat Apr 29 2023 21:26:01 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    Fixes and additions

  522. Deucе
    Sat Apr 29 2023 17:13:04 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Implement mousepointer()

  523. Deucе
    Sat Apr 29 2023 16:19:59 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    First pass at mouse and copy/paste support

  524. Deucе
    Sat Apr 29 2023 12:53:08 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Clean up DIB invocations

  525. Deucе
    Sat Apr 29 2023 12:47:29 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Don't re-create/delete the bitmap for each frame. Instead, only delete it if the size has changed since the last frame. This should make things snappier.

  526. Deucе
    Sat Apr 29 2023 10:51:33 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Fix warning. While we're here, eliminate some explicit int64_t usage. (not sure why uifc_winmode_t is signed since it's a bitfield, but that's above my pay grade).

  527. Deucе
    Sat Apr 29 2023 10:40:53 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Don't treat numpad /*-+ differently based on NumLock in SDL This caused double-keys on those when numlock was off. Only the number keys and period need special NumLock handling. Fixes bug 108 on SourceForge, thanks nelgin!

  528. Deucе
    Sat Apr 29 2023 00:14:20 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/conio/GNUmakefile diff
    src/conio/ciolib.c diff
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/sdl_con.c diff
    src/conio/win32gdi.c diff
    src/conio/win32gdi.h diff
    src/syncterm/syncterm.c diff
    Default to building with GDI Add setwinsize and setwinpos Move blit from rect into gdi_thread Add beep support Add (non-functional) settitle support Support ciolib scaling in addition to GDI scaling Add window-size snapping Support -iG in SyncTERM GDI is still the second-least preferred mode, so auto mode will only use it if the windows console somehow fails. But at least people can play with it.

  529. Rob Swindell (on Windows)
    Fri Apr 28 2023 23:59:04 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    Fix buffer overflow in guru chat parsing engine The trigger was this line in the recent change to guru.dat: Unrealized potential. :-( That open paren was parsed as the beginning of a new guru expression. A very long guru expression that overflowed the stack variable 'str' here.

  530. Deucе
    Fri Apr 28 2023 21:49:36 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Fix ALT key handling

  531. Deucе
    Fri Apr 28 2023 21:01:09 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Extend cstatlock to cover vmem

  532. Deucе
    Fri Apr 28 2023 21:10:04 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Avoid delay waiting for key in WIN_DYN mode When running Windows 11 in a VirtualBox VM, Sleep(1) appears to take much more than 1ms to return. This causes large delays drawing menus using WIN_DYN (as SyncTERM does). If WIN_DYN is set, just use kbhit() with no delay. Leave the delay there for !WIN_DYN though. This should generally speed up SyncTERM menu navigation as there was a 50ms delay for each menu on the screen.

  533. Deucе
    Fri Apr 28 2023 21:10:26 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    More development... Add setwinsize and setwinpos Move blit from rect into gdi_thread Add beep support Add (non-functional) settitle support

  534. Deucе
    Fri Apr 28 2023 17:44:20 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.h diff
    Fix up warning

  535. Deucе
    Fri Apr 28 2023 17:55:31 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/rlogin.c diff
    Only read readable sockets.

  536. Deucе
    Fri Apr 28 2023 17:35:17 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/GNUmakefile diff
    Don't link with win32gdi unless it's enabled.

  537. Rob Swindell (on Windows)
    Fri Apr 28 2023 15:01:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    Fix new build error introduced with GDI support unresolved external symbol _try_gdi_init referenced in function initciolib Function is dependent on WITH_GDI, not _WIN32

  538. Deucе
    Fri Apr 28 2023 13:49:52 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Clean up blinker thread There was a lot of weird things going on to avoid locking vstatlock inside of screenlock. Simply this by copying needed vstat stuff while we hold the lock.

  539. Deucе
    Fri Apr 28 2023 00:52:12 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32cio.c diff
    src/conio/win32cio.h diff
    src/conio/win32gdi.c diff
    src/syncterm/syncterm.c diff
    Add the worlds worst input processing Also, get SyncTERM to stop displaying (null) as the mode. Video is very slow in the menus, and the input appears to repeat forever when connected (but *not* in the menus), but it's something at least.

  540. Rob Swindell (on Debian Linux)
    Thu Apr 27 2023 22:32:28 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/smbdefs.js diff
    Add more SMB header field type consts, some of which aren't used You can see some of these is in a msg_hdr.field_list, but these you won't: - SMB_GROUP (never added by anything) - RFC822MSGID (already represented by the id property) - RFC822REPLYID (already represented by the reply_id property)

  541. Deucе
    Thu Apr 27 2023 22:11:44 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/win32gdi.c diff
    Implement kbhit() and getch() so we can exit.

  542. Deucе
    Thu Apr 27 2023 21:43:54 GMT-0700 (PDT)
    Added Files:
    

    src/conio/win32gdi.c diff
    src/conio/win32gdi.h diff
    Modified Files:

    src/conio/Common.gmake diff
    src/conio/GNUmakefile diff
    src/conio/SDL_win32_main.c diff
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    Start of a GDI output method This will allow a "true" Windows native version, and hopefully be at least as good as SDL mode so I can relegate that to a backup.

  543. Eric Oulashin
    Wed Apr 26 2023 12:01:12 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: In MsgHdrPropIsKludgeLine(), removed checks for X-FTN-* fields, since those shouldn't exist

  544. Rob Swindell
    Thu Apr 27 2023 09:39:15 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_kludge_lines_no_x_ftn' into 'master' DDMsgReader: In MsgHdrPropIsKludgeLine(), removed checks for X-FTN-* fields, since those shouldn't exist See merge request main/sbbs!289

  545. Stephen Hurd
    Wed Apr 26 2023 20:58:31 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ciolib.c diff
    src/syncterm/ripper.c diff
    src/syncterm/term.c diff
    Fix build on openSUSE Tumbleweed (and building without bitmap) Some Linux systems ship with a reentrant ncurses library that does not have an ESCDELAY variable. For now, simply don't allow control over ESCDELAY on the systems since we also currently have a global, and so can't use set_escdelay() as intended. Also, in ripper, stub out all the stuff that's used when HAS_VSTAT is not defined. This makes most of the code not compiled when it's useless anyway.

  546. Deucе
    Wed Apr 26 2023 16:19:06 GMT-0700 (PDT)
    Modified Files:
    

    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
    Don't commit to waits more than 100ms in a connection This works around an issue on macOS and Linux where a select() or poll() in thread X won't return when close() is called on the same socket in thread Y. We also set the descriptor/handle/whatever to an invalid value while waiting for io threads to terminate so that a close() in one thread won't cause other threads to possibly interact with a new descriptor created after the close(). This isn't actually something that can happen in SyncTERM, but it's worth protecting against. Finally, don't call close() until after all io threads have terminated. This prevents the descriptor from becoming available to other syscalls while threads are closing, and prevents operations on an invalid descriptor. This is still not safe on platforms where a descriptor value write is not atomic, but I don't think I support any platform like that. Reported as #212 in github, and 75 on SourceForge.

  547. Deucе
    Wed Apr 26 2023 12:14:07 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Fix Win32 console (and likely curses) crash on connect RIP initialization was trying to obtain a lock that only exists when using a bitmap console. Don't allow RIP to be enabled, and don't perform the operations that require the lock when the CONIO_OPT_SET_PIXEL ciolib option is not set.

  548. Eric Oulashin
    Wed Apr 26 2023 10:58:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: When viewing message headers, now shows all available message header values

  549. Rob Swindell
    Wed Apr 26 2023 10:58:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_headers_refinement' into 'master' DDMsgReader: When viewing message headers, now shows all available message header values See merge request main/sbbs!288

  550. Deucе
    Wed Apr 26 2023 10:38:39 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Check SDL window size when checking if size changed.

  551. Deucе
    Wed Apr 26 2023 10:38:58 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/syncterm.c diff
    SyncTERM should not be messing with window size values that were saved.

  552. Deucе
    Tue Apr 25 2023 21:54:50 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    src/syncterm/CHANGES diff
    src/xpdev/genwrap.h diff
    Use uname -m for any arch genwrap doesn't know about.

  553. Deucе
    Tue Apr 25 2023 21:09:06 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/ciolib.h diff
    Add threadwrap to conio.h, fix typo Hopefully nothing still builds conio as single-threaded anymore.

  554. Deucе
    Tue Apr 25 2023 20:59:21 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Move vstat copy inside vstatlock

  555. Deucе
    Tue Apr 25 2023 20:31:31 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/vidmodes.c diff
    Pull the vstatlock back up a bit now that blinker lock is gone. Pass the struct vmem_cell to bitmap_draw_one_char() rather than having it rummage in vmem for it since the caller invariable has it available.

  556. Deucе
    Tue Apr 25 2023 13:41:16 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/sdl_con.c diff
    Add more vstatlock usage where needed, sync cvstat better.

  557. Deucе
    Tue Apr 25 2023 09:40:28 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    On a window resize event, only set the window size if it's different Fixes issue on Linux where the window size is constantly updated, and window rabidly steals focus.

  558. Deucе
    Mon Apr 24 2023 11:18:03 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Push update_pixels down and force a redraw on font change. update_pixels should only be set when at least one pixel has actually been changed... setting it when pixels have not been changed causes unneeded screen updates. Previously, a font change asserted (incorrectly) that the pixels in the screen had been modified, so the change would occur at the end of the next blink cycle when alt fonts are checked. Now it requests a full redraw from vmem when a font is changed, which will trigger a redraw the next time the blinker thread triggers (~5ms).

  559. Deucе
    Mon Apr 24 2023 16:05:18 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/ciolib.h diff
    src/conio/mouse.c diff
    src/conio/sdl_con.c diff
    Some minor synchronization fiddling Use pthread_once() for init_mouse() instead of a global Fix some lock issues in cb_drawrect()

  560. Deucе
    Mon Apr 24 2023 16:05:24 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/bitmap_con.h diff
    src/conio/sdl_con.c diff
    src/conio/x_events.c diff
    Remove blinker_lock This lock has devolved into a wrapper lock for vstatlock.

  561. Deucе
    Mon Apr 24 2023 16:05:24 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Combine the screen locks We only really ever treat it as a single lock, so we may as well simplify this.

  562. Deucе
    Mon Apr 24 2023 16:10:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Push vstatlock into bithmap_draw_one_char() A bit more cleanup here would be good, but I think this is pushed down enough finally.

  563. Deucе
    Sun Apr 23 2023 21:50:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/sdl_con.c diff
    Use a single memmove() when moving the entire width. When fast scrolling, memmove() takes most of the CPU by far... it is likely actually worth having each line be a buffer of its own and just moving the pointers around. To help with this optimization in the future, move the screen memmove() bit into a separate function.

  564. Deucе
    Sun Apr 23 2023 21:50:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    Eliminate extra copy of screen in bitmap console, push down vstatlock more.

  565. Deucе
    Sun Apr 23 2023 21:50:43 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/ciolib.c diff
    src/conio/cterm.c diff
    More optimizations: More precalculation in bitmap_draw_one_char() Optimize loop-initialization of buffers This is about as good as it can get without drastic data structure overhaul. Biggest win with overhaul would be with eliminating memmove() for scrolling and copying into scrollback. memmove() accounts for a high percentage of CPU utilization right now.

  566. Rob Swindell (on Debian Linux)
    Sun Apr 23 2023 19:41:57 GMT-0700 (PDT)
    Added Files:
    

    web/root/upload.ssjs diff
    A basic HTTP-post handler for uploading files to the filebase Based on qwk.ssjs I tested this using: wget --auth-no-challenge --post-file=file.ext --http-user=username --http-password=passwd vert.synchro.net/upload.ssjs?filename=file.ext\?desc=description-text This currently requires an "uploads" directory to be configured by the sysop. I'm not sure if there's a better/more-standard way for the posted filename or content to be included in the request. This is just a sort of proof-of-concept as a solution for issue #554. Perhaps an ecbwebv4 page displays a prompt to the user for their filename and it redirects to this page. Not sure how that'll work.

  567. Rob Swindell (on Debian Linux)
    Sun Apr 23 2023 19:15:54 GMT-0700 (PDT)
    Modified Files:
    

    web/root/qwk.ssjs diff
    Fixed typos

  568. Rob Swindell (on Windows)
    Sun Apr 23 2023 18:56:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_file_area.c diff
    Fix: some file_area properties weren't automatically created when enumerated user_dir, sysop_dir, upload_dir, and offline_dir These properties could magically appear later once file_area.[lib|dir|lib_list] was enumerated for the first time.

  569. Rob Swindell (on Windows)
    Sun Apr 23 2023 18:59:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Add a little more clarity to check_filename() JSDOCS string

  570. Rob Swindell (on Debian Linux)
    Sun Apr 23 2023 18:54:53 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/guru.dat diff
    Add more modern references, final fall-through strings, fixed typos Not sure who mispelled Synchronet in here. That's embarassing.

  571. Deucе
    Sun Apr 23 2023 00:00:59 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/conio/x_events.c diff
    src/syncterm/term.c diff
    Fix up input so it's always in the current codepage

  572. Deucе
    Sat Apr 22 2023 04:09:37 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/syncterm/term.c diff
    Fix assignment reversal in last commit Fix a couple warnings while we're here.

  573. Deucе
    Fri Apr 21 2023 13:53:22 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    include <math.h> for pow()

  574. Deucе
    Fri Apr 21 2023 13:50:16 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/term.c diff
    Perform unicode-to-codepage for US-ASCII input

  575. Deucе
    Fri Apr 21 2023 10:45:52 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.txt diff
    Fix documentation for CTDA

  576. Deucе
    Fri Apr 21 2023 10:15:29 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Push cvstat into sdl_video_event_thread() stack This makes cvstat work as intended, so we no longer need to lock vstatlock when accessing it since it's only accessed from the video event thread. There's still an irritating dependency on vstat for ALT-Enter handling.

  577. Deucе
    Fri Apr 21 2023 10:26:14 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Get vstat out of sdl_add_key() path This should almost completely remove vstatlock contention in SyncTERM, which should bring SDL output performance close to X11 performance.

  578. Deucе
    Thu Apr 20 2023 15:59:10 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Add TODO comment for cvstat. When originally created, it was intended to be accessed only by a single thread, and therefore not need mutex protection, allowing less code to run with vstatlock held. Unfortunately, this is not how it turned out, so cvstat should either be removed, or it should actually be cleaned up to work as intended.

  579. Deucе
    Thu Apr 20 2023 15:11:25 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Use a local vstat copy instead of cvstat to avoid holding the lock for an extended time. Should fix SDL mode slowness. Only call RenderPresent() if we called RenderCopy(). Should fix SDL mode flickering.

  580. Eric Oulashin
    Mon Apr 17 2023 17:18:49 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: Allow word-wrapping header lines of arbitrary length

  581. Rob Swindell
    Mon Apr 17 2023 17:18:50 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_header_lines_word_wrap' into 'master' DDMsgReader: Allow word-wrapping header lines of arbitrary length See merge request main/sbbs!287

  582. Eric Oulashin
    Mon Apr 17 2023 11:40:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader bug fix: Ensure header lines are not too long for the user's terminal. Should fix issue #550

  583. Rob Swindell
    Mon Apr 17 2023 11:40:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_long_hdr_lines_fix' into 'master' DDMsgReader bug fix: Ensure header lines are not too long for the user's terminal. Should fix issue #550 Closes #550 See merge request main/sbbs!286

  584. Rob Swindell (on Windows)
    Mon Apr 17 2023 11:37:16 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    Add source node number to sysop notification that they're being paged to chat Fix issue #551

  585. Eric Oulashin
    Sun Apr 16 2023 19:12:30 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Quick-validation of local user (Ctrl-Q) - For issue #548

  586. Rob Swindell
    Sun Apr 16 2023 19:12:30 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_sysop_quick_val_user' into 'master' DDMsgReader: Quick-validation of local user (Ctrl-Q) - For issue #548 Closes #548 See merge request main/sbbs!285

  587. Rob Swindell (on ChromeOS)
    Sun Apr 16 2023 12:55:42 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    If ":<port>" suffix is included in an added TCP address, parse/use it When adding a BBS entry with a TCP connection, if a ":port" suffix is included (e.g. "vert.synchro.net:23"), parse and use that port number for the new entry automatically and remove the suffix from the adddress itself. This is just a time saver when adding new BBS entries. Care was taken to not treat the following addresses in this manner: ":<port>" - would have resulted in a blank address "a::<port>" - possible IPv6 address "a:<port>b" - possible IPv6 address or ... ? "a:<invalid-port>"

  588. Eric Oulashin
    Sat Apr 15 2023 18:03:35 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    DD area choosers: Bug fix for current selected sub-board/file directory when using collapsing. Color settings no longer need the control character.

  589. Rob Swindell
    Sat Apr 15 2023 20:03:03 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDAreaChoosers/DDFileAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDFileAreaChooser.js diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.cfg diff
    xtrn/DDAreaChoosers/DDMsgAreaChooser.js diff
    xtrn/DDAreaChoosers/readme.txt diff
    xtrn/DDAreaChoosers/revision_history.txt diff
    Merge branch 'dd_area_choosers_collapsing_current_area_fix_and_color_setting_update' into 'master' DD area choosers: Bug fix for current selected sub-board/file directory when using collapsing. Color settings no longer need the control character. See merge request main/sbbs!284

  590. Rob Swindell (on Debian Linux)
    Sat Apr 15 2023 19:40:09 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Stop classifying msgs for unknown areas as security violations When Secure EchoMail is enabled and a Bad Echo Area (*) is defined in the area file (areas.bbs), but the packet source address is *not* listed as a link to the Bad Echo Area (tag: *) in areas.bbs, any messages for unknown areas in such a packet would cause the pkt to be considered a bad packet with a security violation. Instead, the message should just be skipped.

  591. Rob Swindell (on ChromeOS)
    Sat Apr 15 2023 18:46:47 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    Allow left/right scrolling through multiple-config-items, ala SCFG Set the CIOLIB window title (so it's not the default "SyncConsole")

  592. Rob Swindell (on Windows)
    Fri Apr 14 2023 21:37:03 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    More changes

  593. Rob Swindell (on Windows)
    Fri Apr 14 2023 21:13:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    Add option to delete bad incoming packets (not rename them) So a sysop now has 3 choices for SBBSecho's handling of incoming bad packets: - delete them - rename them *.bad - rename them *.reason.bad (the default) If SBBSecho is configured to rename bad packets, but the rename fails, the error is logged (as before) but the packet is not deleted (this is a change from previous behavior). Always log the *reason* a pkt was determined bad in the "Bad packet detected" log message.

  594. Rob Swindell (on Windows)
    Fri Apr 14 2023 20:38:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Address a couple of Coverity-reported defects CID 452331 CID 452330

  595. Rob Swindell (on Windows)
    Fri Apr 14 2023 20:38:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/pktdump.c diff
    Differentiate between type 2+ (FSC-48) and 2e (FSC-39) packets Using the same logic that SBBSecho uses to decide if a packet header is in fact 2+ (the auxNet field must be non-zero), otherwise, type reported is 2e.

  596. Rob Swindell (on Windows)
    Fri Apr 14 2023 20:38:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    By default SBBSecho will now include the 'reason' in bad packet filenames When bad packets are detected and renamed to ".bad" files, include the reason in the new filename (e.g. "ff69453a.src-addr.bad" or "ff69453a.pkt-passwd.bad" instead of just "ff69453a.bad") to make it easier for a sysop to determine what to do with the bad packets without having to search through log files to discover the reason *why* SBBSecho considered the packet to be bad. This behavior can be disabled if desired by setting EchoCfg->Global->Verbose Bad Packet Names to "No". Note: the reason used is the *last* reason detected/logged for a packet to be considered bad; it's possible that there are multiple reasons that a packet may be considered bad. All reasons will be logged, but only the last reason is used in the new bad packet filename. Also added the missing "Delete Packets" option (to EchoCfg->Global). Though this setting was added in sbbsecho v3.0 (and settable via sbbsecho.ini), it was never exposed via EchoCfg; I don't think that was intentional. Normally, you'd always want to leave this set to Yes (the default) to delete processed packets, but when debugging, it may be desirable to leave the packet files in place. This what the old sbbbsecho v2 '-x' command-line option used to be used for (disable the deleting of processed packets). Moved the Global Settings, EchoMail Settings, and File Paths config menus to the upper left of the screen in EchoCfg. The placement seemed inconsistent and erratic, so this is a bit of a cosmetic improvement.

  597. Rob Swindell (on ChromeOS)
    Thu Apr 13 2023 23:47:37 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Break with legacy command-line syntax (e.g. don't support /options) for SCFG Command-line options must begin with '-' (not ye olde CPM/DOS '/option') Command-line options are now all case sensitive (e.g. '-a' not '-A'). Remove '-d' (long deprecated for '-id') Remove '-t' (long deprecated, do nothing)

  598. Rob Swindell (on ChromeOS)
    Fri Apr 14 2023 00:00:00 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    Add -A (capital a) option to enable alternate/ASCII arrow symbol mode The CP437 character characters used for the arrow indicators aren't always mapped to the expected characters in all fonts (e.g. on Windows), so add an option to use ASCII alternatives (<>^v) when that's a problem.

  599. Rob Swindell (on Windows)
    Thu Apr 13 2023 19:49:19 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    Use more appropriate typed-integer ini file get/set functions I noticed when setting a security level's lines per message value > 32767 in SCFG->System->Security Level Values, the value would be read back as 1 or or some other crazy value. That was because we were writing this value (and all the security level 16-bit values) using iniSetShortInt(). These are *unsigned* 16-bit values, so that we should have been using iniSetUShortInt(). We'll just use iniSetUInteger() instead to fix that/those issues. And since promotion/conversion from uint16_t or uint32_t to uint has no impact when creating a decimal representation of a number, just use iniSetUInteger() everywhere we're setting unsigned integer settings in the main config .ini files. If/when these fields are made larger in the future, this code will just work. When reading .ini integers, use the more appropriate iniGet[U]Int16 functions instead of iniGet[U]Short and use iniGetUInteger for reading enums or any values that are immediately typecast to a uchar/uint8_t. Replaced some other use of [u]short that I found when searching with stdint.h types.

  600. Rob Swindell (on Debian Linux)
    Thu Apr 13 2023 18:47:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Fix new GCC warning in printf format string.

  601. Rob Swindell (on Windows)
    Thu Apr 13 2023 14:41:32 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Fix false "SUSPECTED BOUNCE ATTACK ATTEMPT" for IPv6 FTP-data connections This bug only impacted non-passive FTP connections. Using an FTP client with active (not passive) data connections over an IPv6 connection would false-trigger the "bounce attack" detection and the FTP server responded with "504 Bad port number" and logged a hack attempt in data/hack.log. The issue was that we were comparing the socket address structure (which contains other fields besides the address itself) between the control and proposed-data connections. While this logic worked okay for IPv4, it did not for IPv6 (the 2 structs contained some non-address differences). Rather than modify the socket address structures to match where needed, I'm just comparing the string representation of the addresses, since that's what we really care about anyway. Thank to "mark i" of Truck Stop BBS for alerting me to this issue

  602. Rob Swindell (on Windows)
    Thu Apr 13 2023 15:54:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Bounds-check the buffer being written in msgeditor() Replace the suspicious strcpy/strcat's in msgeditor(), the built-in line editor, with bounds-enforced snprintf() calls. Also, properly define MAX_LINE_LEN to account for the trailing \r\n on each line. It appears we've been under allocating the total possible message buffer size (by 2 bytes per line) for a while now. These 2 changes together should fix issue #547: apparent heap corruption due to 'buf' overflow in msgeditor(). Also added a line count check/cap-enforcement with logged error message if exceeded (should never happen). Also fixed in this commit: off-by-one when enforcing max message length in msgeditor(). Also added checks that the 'cols' (used in MAX_LINE_LEN) are reasonable values (40+), 2 was below the threshold of what would be expected to work since there is logic that deducts 4 from cols, for example.

  603. Rob Swindell (on Windows)
    Thu Apr 13 2023 16:25:50 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    When writing messages with a 'top' in raw-input-mode, don't add excessive CRLF If the top already ends in a blank line, no additional CRLF is warranted (between the 'top' and the raw-input message 'body').

  604. Rob Swindell (on Windows)
    Thu Apr 13 2023 18:38:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfglib1.c diff
    Clamp the security level lines per message value between 1 and 65535 If a user's security level lines per message was set to '0', bad things would happen to the heap if the user posted/sent a message. '1' is a reasonable minimum value. If you don't want a user/group of users to send/post messages, there are restrictions for achieving that. Also this setting is (currently, at least) 16-bit, so clamp it there too on the high end. Also clamp the expire-to security level setting between 0 and 99, while we're here and noticed that this value wasn't being sanitized either.

  605. Rob Swindell (on Windows)
    Thu Apr 13 2023 18:43:07 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/writemsg.cpp diff
    Pass max_lines to editfile() and msgeditor() functions Rather than recomputing (possibly differently) the max lines in multiple places. This also enables the possibility that editfile() could be used to edit files of > 10K lines in the future. <shrug>

  606. Deucе
    Thu Apr 13 2023 11:15:24 GMT-0700 (PDT)
    Modified Files:
    

    src/build/Common.gmake diff
    Allow overriding MIN_MAC_OSX_VERSION

  607. Rob Swindell (on Debian Linux)
    Wed Apr 12 2023 20:16:43 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    More details in the online help for the Domain section

  608. Rob Swindell (on Debian Linux)
    Wed Apr 12 2023 20:17:15 GMT-0700 (PDT)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Make the '?' key pull up the online help too Sometimes F1 doesn't work, Ctrl-Z isn't documented, but there is a '?' displayed when help is available, so it's reasonable to assume someone might try/use it.

  609. Deucе
    Tue Apr 11 2023 13:27:19 GMT-0700 (PDT)
    Modified Files:
    

    exec/dorkit/screen.js diff
    Don't warn in CSI [ ? 25 [lh] For Dasme.

  610. Rob Swindell (on Windows)
    Mon Apr 10 2023 17:44:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    Updated help text: added references to wiki, removed ref to alt file paths Minor beautifications

  611. Lloyd Hannesson
    Mon Apr 10 2023 06:12:04 GMT-0700 (PDT)
    Added Files:
    

    xtrn/lord/outhouse/README.md diff
    xtrn/lord/outhouse/outhouse.js diff
    xtrn/lord/outhouse/outhouse.txt diff
    Initial commit for The Outhouse IGM.

  612. Rob Swindell
    Mon Apr 10 2023 11:11:16 GMT-0700 (PDT)
    Added Files:
    

    xtrn/lord/outhouse/README.md diff
    xtrn/lord/outhouse/outhouse.js diff
    xtrn/lord/outhouse/outhouse.txt diff
    Merge branch 'dasme/outhouse' into 'master' Initial commit for The Outhouse IGM. See merge request main/sbbs!283

  613. Eric Oulashin
    Sun Apr 09 2023 19:02:16 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: Check console.aborted instead of ctrl-C keypress for aborting searching and scanning

  614. Rob Swindell
    Sun Apr 09 2023 19:02:16 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_search_scan_console_aborted' into 'master' DDMsgReader: Check console.aborted instead of ctrl-C keypress for aborting searching and scanning See merge request main/sbbs!282

  615. Rob Swindell (on Windows)
    Sun Apr 09 2023 01:37:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsrvr.c diff
    src/sbbs3/scfg/scfgsys.c diff
    Fix typos

  616. Rob Swindell (on Windows)
    Sun Apr 09 2023 01:37:18 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    Add the new cfg file format link and mention config file backups setting

  617. Rob Swindell (on Debian Linux)
    Sat Apr 08 2023 21:26:35 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/sdk/xsdk.c diff
    If XTRN.DAT can't be opened, try lowercase xtrn.dat This lowercase's the entire path. Fixes issue #543

  618. Rob Swindell (on ChromeOS)
    Sat Apr 08 2023 21:07:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getstr.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    Fix 20+ year old bug that allowed getstr(... K_WRAP) to overflow wordwrap buf The sbbs_t::wordwrap[] buffer was 81 characters (80 printable characters, plus NUL terminator) and sbbs_t.getstr(), when used with the K_WRAP mode flag could potentially write more than 81 characters to this buffer (e.g. when using a wider than 80 column terminal and writing a message with the internal line editor which calls sbbs_t::getstr(... K_WRAP)) - would corrupt sbbs_t members after wordwrap[], which included pointers that would be freed in the sbbs_t destructor (~sbbs_t) and subsequently page/segfault as seen in issue #545. This change increases the wordwrap buffer to likely twice the same needed (maximum columns + NUL terminator) and adds wordwrap bounds checking to sbbs_t::getstr(). There were comments indicating crash sightings in the sbsb_t destructor going back to 2002, so this commit removes those comments. Thanks to Nelgin for providing the gdb dump details ('print *this') that was the clue needed to reach the root-cause determination. This fixes issue #545.

  619. Rob Swindell (on Debian Linux)
    Sat Apr 08 2023 16:00:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Include GIT=NO option in 'make help' output

  620. Rob Swindell (on Debian Linux)
    Fri Apr 07 2023 22:17:34 GMT-0700 (PDT)
    Modified Files:
    

    exec/sendmail.js diff
    Store other mail header types (e.g. content-transfer-endcoding) as RFC822HEADER Useful when debugging mail issues, e.g. with MIME-encoded mail

  621. Rob Swindell (on ChromeOS)
    Fri Apr 07 2023 21:25:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/targets.mk diff
    A 'gitinfo' build target for building just the git_branch/hash.h files Need to use this for creating nightly sbbs_src.tgz file Also suppress the diff errors when the git_*.h files don't exist

  622. Rob Swindell (on ChromeOS)
    Fri Apr 07 2023 21:27:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Add 'help' make target to display helpful tips (targets, options) Fixes issue #544

  623. Eric Oulashin
    Fri Apr 07 2023 16:49:28 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Ctrl-C is now supported for message searches to abort the search.

  624. Rob Swindell
    Fri Apr 07 2023 16:49:28 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_ctrl_c_message_search' into 'master' DDMsgReader: Ctrl-C is now supported for message searches to abort the search. See merge request main/sbbs!281

  625. Rob Swindell (on Debian Linux)
    Fri Apr 07 2023 12:30:52 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/unicode_cp437.js diff
    Replace Unicode 'LEFT SINGLE QUOTATION MARK' (U+2018) with backtick To be consistent with sbbs's utf8_normalize_str() function behavior.

  626. Craig Hendricks
    Fri Apr 07 2023 11:35:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    MRC enhancements: Nicklist toggle, timestamps, and improved default alias

  627. Rob Swindell
    Fri Apr 07 2023 11:35:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-client.js diff
    Merge branch 'codefenix-master-patch-88266' into 'master' MRC enhancements: Nicklist toggle, timestamps, and improved default alias See merge request main/sbbs!280

  628. Rob Swindell (on Debian Linux)
    Wed Apr 05 2023 21:21:30 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/ConfigWizardUnit.cpp diff
    Fix build error result from previous commit Removed backup_level option from save_cfg()

  629. Rob Swindell (on Debian Linux)
    Wed Apr 05 2023 21:01:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbs_ini.h diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h 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/scfgsys.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/scfgsave.h diff
    Make configuration file backup level (count) configurable This seems kind of circular doesn't it? Anyway, add a new SCFG->System-> Advanced->Configuration Backup option to set the number of config (.ini) file backups to keep (default is 5). Eliminate the scfg -b option (used to manually over-ride the default backup level of 5). Fix for issue #542

  630. Eric Oulashin
    Wed Apr 05 2023 12:59:24 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: Added default color definitions for indexed reader mode in case they aren't specified in the theme .cfg file

  631. Rob Swindell
    Wed Apr 05 2023 14:41:55 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_default_indexed_mode_colors' into 'master' DDMsgReader: Added default color definitions for indexed reader mode in case they aren't specified in the theme .cfg file See merge request main/sbbs!279

  632. Rob Swindell (on Windows)
    Tue Apr 04 2023 19:53:53 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ntsvcs.vcxproj diff
    src/sbbs3/sbbscon.vcxproj diff
    src/sbbs3/services.vcxproj diff
    Projects that use sbbs_ini.c also need nopen.c now (for backup())

  633. Rob Swindell (on Windows)
    Tue Apr 04 2023 19:44:12 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    Update to new sbbs_write_ini() usage, hard-code backup level to 10 (for now)

  634. Rob Swindell (on Debian Linux)
    Tue Apr 04 2023 19:41:41 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbs_ini.h diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfgsrvr.c diff
    Backup the sbbs.ini file when saving changes to it in SCFG

  635. Eric Oulashin
    Tue Apr 04 2023 12:21:34 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Added "indexed" reader mode and made a fix to print utf-8 characters properly on non utf-8 terminals. Fixes issue #354 and issue #541

  636. Rob Swindell
    Tue Apr 04 2023 13:37:27 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_indexed_mode_and_utf8_fix' into 'master' DDMsgReader: Added "indexed" reader mode and made a fix to print utf-8 characters properly on non utf-8 terminals. Fixes issue #354 and issue #541 Closes #354 and #541 See merge request main/sbbs!278

  637. Lloyd Hannesson
    Tue Apr 04 2023 12:14:36 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/gravyard/gravyard.gra diff
    xtrn/lord/gravyard/gravyard.js diff
    Added key buffer flush to prevent auto skipping prompts. Version updated to 1.1.

  638. Rob Swindell
    Tue Apr 04 2023 12:14:36 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/lord/gravyard/gravyard.gra diff
    xtrn/lord/gravyard/gravyard.js diff
    Merge branch 'dasme/gravyard' into 'master' Added key buffer flush to prevent auto skipping prompts. Version updated to 1.1. See merge request main/sbbs!277

  639. Randy Sommerfeld
    Tue Apr 04 2023 02:03:20 GMT-0700 (PDT)
    Modified Files:
    

    exec/ircd.js diff
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    First attempt at cleaning up mode processing

  640. Randy Sommerfeld
    Tue Apr 04 2023 02:04:17 GMT-0700 (PDT)
    Modified Files:
    

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

  641. Rob Swindell (on Windows)
    Mon Apr 03 2023 23:05:51 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    Fix double-free race condition with SBBSCTRL upon global recycle When multiple servers are recycling at the same time, (e.g. due to saved change in SCFG) they'd each call sbbs_read_ini() with a shared global_startup struct, which in turn calls sbbs_free_ini(), which would free all the allocated network interface lists (including the global_startup one) using iniFreeStringList (just a wrapper for strListFree), but iniFreeStringList() does NOT modify (NULLify) the freed-pointer, so your second or third server that called sbbs_read_ini(), with the shared MainForm->global structure, would *again* free the same global interface list. This bug actually has always existed because get_ini_globals() freed the global interface list in the same way, except it *immediately* re-allocated a new one by calling iniGetStringList(), so the time window (opportunity) for this race condition to occur was much smaller. Truly, SBBSCTRL should use a mutex or other mechanism to protect the shared global_startup struct, but this is a first step to a full fix: sbbs_free_ini() should (and now does) nullify the freed network interface pointers by using strListFree() directly. I haven't been able to reproduce the crash upon recycle in SBBSCTRL after making this change.

  642. Rob Swindell (on Windows)
    Mon Apr 03 2023 22:10:02 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    Additions and fixes and re-organization (of this doc)

  643. Rob Swindell (on ChromeOS)
    Mon Apr 03 2023 19:54:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Publish SMTP[S] user authentications to the action/login/PROTOCOL topic

  644. Dave Cloutier
    Mon Apr 03 2023 16:56:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-connector.js diff
    xtrn/mrc/mrc-session.js diff
    MRC client updates for Synchronet

  645. Rob Swindell
    Mon Apr 03 2023 16:56:08 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-connector.js diff
    xtrn/mrc/mrc-session.js diff
    Merge branch 'master' into 'master' MRC client updates for Synchronet See merge request main/sbbs!276

  646. Rob Swindell (on Debian Linux)
    Mon Apr 03 2023 13:56:06 GMT-0700 (PDT)
    Added Files:
    

    ctrl/web_alias.ini diff
    Add example web_alias.ini file

  647. Rob Swindell (on Debian Linux)
    Mon Apr 03 2023 14:06:40 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Fix GCC 9.4.0 warning reported by Nelgin warning: format not a string literal and no format arguments Weird this warning is happening for me with GCC 12.2 (debug or release build)

  648. Rob Swindell (on Windows)
    Mon Apr 03 2023 11:40:16 GMT-0700 (PDT)
    Modified Files:
    

    src/smblib/smbtxt.c diff
    Fix decoding of tab-indented 'charset' of multi-part MIME text parts Apple Mail apparently uses tabs to indent the charset of nested MIME parts: e.g. --Apple-Mail-143B9F0C-6BB4-4C8E-869B-6DE05D6B58CE Content-Type: text/plain; <tab>charset=utf-8 Content-Transfer-Encoding: quoted-printable This fixes issue #483 reported by Nelgin

  649. Rob Swindell (on ChromeOS)
    Mon Apr 03 2023 00:07:26 GMT-0700 (PDT)
    Added Files:
    

    docs/v320_new.txt diff
    A first draft of a what's new doc for v3.20

  650. Rob Swindell (on ChromeOS)
    Sun Apr 02 2023 15:00:46 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsrvr.c diff
    src/sbbs3/scfg/scfgsys.c diff
    Minor beautifications

AuthorCommitsLatest
Eric Oulashin41Wed Sep 20 2023 19:49:06 GMT-0700 (PDT)
Rob Swindell324Thu Sep 21 2023 00:14:00 GMT-0700 (PDT)
Rick Parrish7Wed Sep 20 2023 22:30:44 GMT-0700 (PDT)
rickparrish1Wed Sep 06 2023 15:04:26 GMT-0700 (PDT)
Nigel Reed4Fri Sep 01 2023 12:19:14 GMT-0700 (PDT)
Randy Sommerfeld3Thu Aug 31 2023 20:01:54 GMT-0700 (PDT)
Deucе233Thu Aug 03 2023 11:40:20 GMT-0700 (PDT)
Deuce30Sun Jul 30 2023 07:09:16 GMT-0700 (PDT)
Alex Van Patten1Thu Jun 29 2023 11:59:40 GMT-0700 (PDT)
Stephen Hurd2Sun May 07 2023 21:48:05 GMT-0700 (PDT)
Lloyd Hannesson2Mon Apr 10 2023 06:12:04 GMT-0700 (PDT)
Craig Hendricks1Fri Apr 07 2023 11:35:08 GMT-0700 (PDT)
Dave Cloutier1Mon Apr 03 2023 16:56:08 GMT-0700 (PDT)

For older commits (in CVS), click here

Dynamically generated in 614 milliseconds