Synchronet Git Commit Log

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

    src/sbbs3/msgdate.c diff
    Use smb_when() to convert the return value of rfc822date() This explains why Deon was still seeing time_t encoded time values.

  2. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 21:31:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix-up node status when node status is in-use, but no socket active This is a situation we can auto-correct and log a message when we do.

  3. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 21:30:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Report a different status for NODE_QUIT than NODE_INUSE Could be helpful for debugging node status issues at some point

  4. Rob Swindell
    Sun Dec 22 2024 19:00:27 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'issue_846_ddmsgreader' into 'master' DDMsgReader: When doing an indexed newscan, display the progress percentage when doing the newscan. Should fix issue #846 (reported by Keyop) Closes #846 See merge request main/sbbs!484

  5. Eric Oulashin
    Sun Dec 22 2024 19:00:27 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: When doing an indexed newscan, display the progress percentage when doing the newscan. Should fix issue #846 (reported by Keyop)

  6. Rob Swindell (on ChromeOS)
    Sun Dec 22 2024 15:39:50 GMT-0800 (PST)
    Modified Files:
    

    ctrl/chat.ini diff
    ctrl/file.ini diff
    ctrl/main.ini diff
    ctrl/msgs.ini diff
    ctrl/sbbs.ini diff
    ctrl/xtrn.ini diff
    Load/force-saved the config files in latest SCFG Adds new keys, removes old ones Updates formatting/white-space

  7. Rob Swindell (on ChromeOS)
    Sun Dec 22 2024 15:39:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    When using -f (force save), don't write sbbs.ini contents to xtrn.ini Bug

  8. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 14:36:20 GMT-0800 (PST)
    Modified Files:
    

    exec/viewimsgs.js diff
    Don't exit(non-zero) from this script A non-zero exit from str_cmds.js (where this script is loaded) will terminate the call/session. We don't need to call exit() at all from this script. This fixes issue #848, thank you for the report

  9. Rob Swindell (on Debian Linux)
    Sun Dec 22 2024 14:26:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    When searching for unused nodes, skip nodes that have sockets in-use We already know such nodes are in-use, so no need to read their node.dab record and put extra contention on the node.dab file. Hoepfully this reduces or eliminates occurrences of the error: Node n status is WFC, but the node socket (s) and thread are still in use! Though I kind of expect occurrences of "NODE STATUS FIXUP" errors to likely return. We could in theory just track status of nodes in memory (for those nodes that this instance of sbbs controls), and not read the node.dab file at all when checking those nodes' status, but: - that would prevent out of process control of node status e.g. using the node utility to mark a node as offline - we'd have to protect instance of in-memory node status checking/changing with a mutex

  10. Rob Swindell (on Windows 11)
    Sun Dec 22 2024 00:45:07 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getkey.cpp diff
    Fix issue when receiving node messages while using down-arrow at pause prompt Hitting down-arrow key at a pause prompt normally displaye just one more line of the display text/file, but if you received a node message/telegram/notice after hitting down arrow, you'd get a screen full of text instead of just a single (one more) line, as you wanted. This looks to be because of the anti-recursive protection implemented in pause() - when it calls nodesync() after the key press, that displays node/user messages (if there are any) and if pause is called as a result (e.g. because the line counter was already set to cause a pause after the next line of output), it'd do nothing since that would be recursive. The fix is to simply set the line counter as a result of the down-arrow key press *after* the call to nodesync(), which might display multiple lines, but I think that's fine.

  11. Rob Swindell (on Windows 11)
    Sun Dec 22 2024 00:12:02 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    A little style clean-up, reduced copy/paste, no functional changes Reduce the cognitive dissonance

  12. Rob Swindell (on Windows 11)
    Sat Dec 21 2024 22:57:16 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Comment out access() call in Windows version of getfilecase() I'm hoping this might help resolve instances where fexistcase() says a file does not exist, but a subsequent call to fexist() says it does.

  13. Rob Swindell (on Windows 11)
    Sat Dec 21 2024 22:57:08 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Address MSVC warning and likely Coverity defect CID 516448

  14. Rob Swindell (on Debian Linux)
    Sat Dec 21 2024 22:05:23 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smbdefs.h diff
    src/smblib/smblib.c diff
    src/xpdev/gen_defs.h diff
    Add/use BITFIELD macros for defining/using multi-bit bit-fields

  15. Rob Swindell (on Debian Linux)
    Sat Dec 21 2024 14:40:46 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smbdefs.h diff
    Fix off-by-one error in date/time field bit-mask calculation This became apparent when the the LSB of the day got set (an odd day). Oops. This only impacted decoding of date/time, not encoding.

  16. Rob Swindell (on Windows 11)
    Fri Dec 20 2024 20:15:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bulkmail.cpp diff
    src/sbbs3/email.cpp diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/writemsg.cpp diff
    src/smblib/smbadd.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    Encode local wallclock (not time_t) in SMB's when_t.time Increment SMBLIB version to 3.10 Fix issue #845: Changing system/OS time zone, changes dates/times of posted messages Sysops and users shouldn't notice any change unless they change the time zone of their system/OS (not accounting changes for daylight/standard time) and the result will be that message dates appear the same after such a change. For backward compatibily, any stored time_t's in msghdr_t.when_written.time (i.e. all existing SMB messages) will still be decoded and displayed properly. We detect a time_t value by the upper 6 bits being non-zero. When the upper 6 bits of a when_written.time value are zero, then we know the 'year' is stored in the 16-bits before the when_written field (never used bits of the netattr field, now part of the when_t structure definition) and the Month, Day, Hour, Minute, and Second of the wallclock at the poster's site are encoded in the low 26 bits of the time field. This also eliminates more uses of 32-bit time_t that'll likely start being a problem 2038 and really fall over and die in 2106. At least messages' posting dates won't have any issue now. The "when_imported" values could use a similar treatment someday I suppose - and we could get rid of the when_imported.zone value as its not really needed we could use those 16-bits for the when_imported.year. Didn't change anything with filebases (still using time_t's though the when_written hdr field isn't used for much with regards to files). Yes, we could have converted all imported "broken down" message dates to UTC and continued to store them as a time_t using timegm() instead of mktime() for conversion to time_t, and I considered that. But we would have needed to create/use a flag in the message header to indicate such stored date/times (since they'd have to go through different adjustment for original time zone before display, basically reversing the logic of all the places we display the message dates/times using localtime verus gmtime/UTC C RTL functions), couldn't just initialize the time with a call to time() upon import of local messages (unless the local timezone happened to be UTC). And in the end, we'd still have a 32-bit time_t value. So this seemed the better path. I would have liked to have stored the date fields in a more human readable encoding (BCD or decimal, ala isoDate and isoTime_t), but I just didn't have the spare bits in the fixed portion of message headers to be wasteful like that. Here's an example from smbutil v of a message header posted after this change: when_written 03292595 41E0 Fri Dec 20 18:22:21 2024 PST when_imported 6766265D 41E0 Fri Dec 20 18:22:21 2024 PST Notice the difference in the hex encoding of the date/time between the 2 header fields: when_imported still uses time_t. The when_written.year value isn't output here.

  17. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 23:40:52 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    Change security level 0 to be more forgiving changed from 0 to 1: timeperday timepercall callsperday postsperday emailperday There are restrictions to remove access to these features if that's what the sysop desires. This will allow unauthenticated mail clients to post a single message (per day) to a sub-board, when there's a posting alias set up (sub:* in alias.cfg).

  18. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 21:31:04 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.iss diff
    Include both x64 and x86 binaries in install package ... and auto-choose the right one Tested on Windows 11 (x64) and Windows7-32

  19. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 19:33:22 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.iss diff
    Rename the default setup file to be consistent with SyncTERM 1.1 release

  20. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 19:27:53 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/syncterm.iss diff
    Updated for SyncTERM v1.3 Don't install the fonts to the syncterm.ini, Deuce says they confuse sysops. Renamed the setup.exe file due to warning from ISS about security concerns. Tested on Windows 11.

  21. Rob Swindell
    Thu Dec 19 2024 18:54:32 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Only use RtlGetVersion for Windows 10/11 This function appears to truncate the service pack info for Windows 7 (6.1): "Windows NT Version 6.1 (Build 7601) Service Pack 1 x86" became: "Windows NT Version 6.1 (Build 7601) S x86" Don't close the handle to ntdll.dll (hey, that's stupid filename, Microsoft!) since the module could be unloaded from the address space and then a call to the captured procedure address could/would crash. This handle will be closed when the process terminates anyway. While we're here, correct the Windows 6.1 -> 7.0 numbering. That looks better: "Windows NT Version 7.0 (Build 7601) Service Pack 1 x86" Something should probably be done for Windows 6.2 -> 8.0 numbering too, but I don't have a VM handy. Is anyone actually still running Windows 8.x?

  22. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 18:28:25 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Move the #pragma warning to just before the call to GetVersionEx() Needed for building sbbsexec.dll I guess #pramga warning only affects the following source line. Apparently we're disabling this warning effectively via other means in all other MSVC projects.

  23. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 18:13:33 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Use RtlGetVersion to get/report Windows 11 (and build number) correctly This is fun Microsoft. If Windows 11 is actually Windows 10.22000+, what will Windows 12 be? No one can guess.

  24. Rob Swindell (on Windows 11)
    Thu Dec 19 2024 16:55:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    Add @-codes to display dates/times in UTC When the system time zone is not UTC, but the sysop wants to display some dates and times in UTC, they can now use these @-codes to do that: - TIME_UTC - DATE_UTC - UTC:fmt - DATETIME_UTC - MSG_DATE_UTC

  25. Deucе
    Thu Dec 19 2024 14:03:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xpbeep.c diff
    I *think* this is "FreeBSD or Solaris"... Nobody will really care though.

  26. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 13:06:01 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Go back to using non-blocking periodic/polling user.tab lock attempts This partially reverts commit 03b84df85. I observed deadlocks on Linux attempting locks of user.tab on Samba share, which also deadlocked my Windows nodes. Interestingly, the Windows nodes never deadlocked on their own (after a week of testing) when using blocking locks. Double the frequency of lock retries - this has helped reduce the observed user.tab lock failures on Vertrauen.

  27. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 12:55:52 GMT-0800 (PST)
    Modified Files:
    

    ctrl/main.ini diff
    src/sbbs3/js_system.c diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    Removed Files:

    web/root/rss.ssjs diff
    Add "Auto" Local Time Zone option and make that the default for new install As Deon pointed out in DOVE-Net / Synchronet Discussion, having a local time zone configured with a different UTC offset than your system time zone can produce strange/unexpected results (e.g. displayed age of messages). Since it's possible that not all sysops will complete the configuration wizard or actually set their timezone to the correct value (and ignore the startup warning message), we now make the default Local Time Zone to be "automatic" - query the OS every time the local time zone is needed/used. This has the downside of only storing (e.g. in message headers) the UTC offset of the current time zone (not the time zone abbreviation/name as encoded by SMB). I considered making an option to dynamically figure out the actual time zone (not just the UTC offset) and while I think that's doable, Deon just wanted his UTC offset (e.g. UTC+11:00) and not his time zone name (e.g. AEDT) stored in message headers, so this setting would be the behavior he expected/wanted. I'm using the sentinel time zone value of -1 for this new behavior. Existing configurations (behavior of existing systems) aren't changed.

  28. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 12:43:16 GMT-0800 (PST)
    Added Files:
    

    exec/rss.ssjs diff
    Updated for webv4 and fix off-by-one error reported by LaF0rge Make the scheme ("http://" or "https://") configurable via rss.ini, default is now "https://". Make the message link format somewhat configurable via rss.ini (hopefully to support some other/future web message reading interface should there be one). Reportedly, the MsgBase.get_msg_header/body() calls of the "total_msgs" offset were logging errors? I was not able to reproduce this (the !hdr check seemed to be successfully ignoring such cases), but in any case, message offsets are 0-based, so this was definitely an off-by-one issue, even if it was a silent failure for everyone else. <shrug>

  29. Rob Swindell (on Debian Linux)
    Thu Dec 19 2024 12:41:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Fix default for "U.S. Time Zone" toggle when west of UTC ... when current timezone is negative offset from UTC, but not a US time zone, the default should be "No".

  30. Rob Swindell
    Wed Dec 18 2024 19:41:59 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_scrolling_read_input_timeout_fix' into 'master' DDMsgReader bug fix: In the scrolling message reader interface, it now exits on user input timeout (as it should). This should fix issue #844, reported by Keyop Closes #844 See merge request main/sbbs!483

  31. Eric Oulashin
    Wed Dec 18 2024 19:31:13 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader bug fix: In the scrolling message reader interface, it now exits on user input timeout (as it should). This should fix issue #844, reported by Keyop

  32. Deucе
    Wed Dec 18 2024 18:17:39 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/cl-no-musl-backtrace.patch diff
    Well, that didn't work, just disable the backtrace on Linux Presumably it's because I'm not using std=gnu11 or whatever

  33. Deucе
    Wed Dec 18 2024 18:06:34 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-no-musl-backtrace.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    We can't do a backtrace using musl Use the same hack as for strerror_r()

  34. Deucе
    Wed Dec 18 2024 17:09:51 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    include signal.h for signal()

  35. Deucе
    Wed Dec 18 2024 15:45:27 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add alpine linux build (no JS)

  36. Deucе
    Wed Dec 18 2024 15:16:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/Common.gmake diff
    src/xpdev/GNUmakefile diff
    Move USE_ALSA_SOUND detection into Common.gmake

  37. Deucе
    Wed Dec 18 2024 15:08:52 GMT-0800 (PST)
    Added Files:
    

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

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    Add patch for socklen_t with musl

  38. Deucе
    Wed Dec 18 2024 14:51:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/genwrap.c diff
    Attempt to fix musl builds The non-standard strerror_r() is glibc specific, musl doesn't do that. It *appears* that __USE_GNU implies glibc.

  39. Rob Swindell (on Debian Linux)
    Tue Dec 17 2024 22:38:01 GMT-0800 (PST)
    Modified Files:
    

    docs/v320_new.txt diff
    Document more changes

  40. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 17:04:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/chat.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/sbbs.h diff
    Add/user sbbs_t::getuseron() for better user.tab error logging/handling Looking into potential causes of issue #843, I found several instances where we call getuserdat() without checking the return value and restoring the useron.number to the current user number upon error: getuserdat() zeroes out the user struct/number upon error, a bad API choice made 23 years ago. Replace those instances with calls to sbbs_t::getuseron() which logs any open/lock/read failures of the user.tab and does not modify/zero-out the sbbs_t::useron struct upon error.

  41. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 17:04:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Whitespace change only

  42. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 16:26:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Remove the config check from openuserdat() ... since all (almost all) callerd do a config check first. Also, some callers of openuserdat() were expecting -1 on failure (always). Functions that returned the return value of openuserdat() upon failure, now return USER_OPEN_ERROR instead, to be consistent.

  43. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 16:25:42 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/useredit.cpp diff
    openuserdat() was recently changed to not always return -1 on error

  44. Rob Swindell (on Windows 11)
    Mon Dec 16 2024 16:24:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/services.c diff
    Lower severity of repeated error messages in js_ErrorReporter() A copy/paste from websrvr.c

  45. Rob Swindell (on macOS)
    Mon Dec 16 2024 01:07:04 GMT-0800 (PST)
    Added Files:
    

    install/net.synchro.sbbs.plist diff
    A macOS/darwin launchd service/daemon file ... that is working (for me at least) to auto load/rerun sbbs

  46. Rob Swindell (on Debian Linux)
    Sun Dec 15 2024 14:50:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Better NULL ptr checking in js_ErrorReporter, CID 516068

  47. Rob Swindell (on Debian Linux)
    Sat Dec 14 2024 13:08:08 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Use errprintf() instead of lprintf() for one more log message

  48. Rob Swindell (on Windows 11)
    Sat Dec 14 2024 13:07:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Lower severity of repeated errors in js_ReportError() This needed a custom solution (not errprintf) since the filename is passed-in is likely from dynamically allocated memory, so a pointer comparison isn't enough - and we don't get the function name.

  49. Rob Swindell (on Windows 11)
    Sat Dec 14 2024 13:07:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/email.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/sbbs.h diff
    Convert CP437 message subject to UTF-8 when posting a UTF-8 encoded message This is a solution for issue #842, but only for messages posted/sent from the terminal server using built-in functions and not via JS or other means. A more universal/generic solution would be nice (beyond just always storing message headers and bodies in UTF-8), but nothing has come to mind.

  50. Rob Swindell (on Windows 11)
    Sat Dec 14 2024 13:07:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Always unlock nodefile_mutex before calling errormsg()

  51. Rob Swindell (on Debian Linux)
    Fri Dec 13 2024 18:22:47 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Revert "Disable darmwin-x86" - the x86 mac mini has a new home This reverts commit 79fa3c0bb8d46fb4e3730eddb9926c5aa15b8b7c.

  52. Deucе
    Thu Dec 12 2024 11:23:36 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    Add support for bytearray Differently than all other types, the length must be set before parsing because the BPP does not contain the length data, instead the length is specified by the message definition.

  53. Deucе
    Thu Dec 12 2024 11:10:30 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/comp/none.c diff
    src/ssh/deucessh.h diff
    src/ssh/enc/none.c diff
    src/ssh/mac/none.c diff
    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    Remove the expectation of dynamic memory in parsing packets The expectation is now that there will be a single copy of SSH BPP contents and arrays and buffers will be pointers into that.

  54. Deucе
    Thu Dec 12 2024 10:03:47 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/deucessh.h diff
    src/ssh/ssh-trans.c diff
    src/ssh/ssh.c diff
    Move the transport state into the session struct. This avoids another allocation/free requirement.

  55. Deucе
    Thu Dec 12 2024 09:56:53 GMT-0800 (PST)
    Added Files:
    

    src/ssh/deucessh.h diff
    Modified Files:

    src/ssh/client.c diff
    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    src/ssh/ssh-trans.c diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.c diff
    Rename ssh.h -> deucessh.h, clean up includes All consumers are expected to only #include deucessh.h now. Individual headers should not be included.

  56. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 23:47:29 GMT-0800 (PST)
    Modified Files:
    

    webv4/lib/events/nodelist.js diff
    Support custom node status and activity new to v3.20

  57. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 16:28:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Add missing space to JSDOC HTML output

  58. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 16:28:14 GMT-0800 (PST)
    Modified Files:
    

    webv4/lib/events/nodelist.js diff
    presence_lib.js no longer defines extended_status So require(..., 'node_status') instead. The function we actually use here.

  59. Rob Swindell (on Debian Linux)
    Tue Dec 10 2024 16:28:14 GMT-0800 (PST)
    Modified Files:
    

    webv4/root/api/system.ssjs diff
    presence_lib no longer defines extended_status() and we weren't using that function here anyway, so require(..., 'node_status') instead.

  60. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 16:27:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Corrected text string numbers in comments (that's all, I think)

  61. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 15:49:41 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Fix bug in recursive use of delfiles(), not deleting all subdirs/files Looks like this feature (commit d661427e13) never really worked correctly since it counted the files removed from each sub-dir and then stopped deleting when the count reached the number of files in the base directory. This was done to accommodate the 'keep' feature (part of previous commits). So make 'keep' check conditional on it being non-zero and just don't ever use a non-zero keep value with a recursive delete and we should be good! :-) This fixes issue #841

  62. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 15:48:03 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/services.c diff
    Add/use errprintf() to lower severity of repeated error messages part of fix for issue #619

  63. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 13:27:00 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Add/use errprintf() to reduce severity of repeated error messages Part of solution for issue #619 (for the web server)

  64. Rob Swindell (on Windows 11)
    Tue Dec 10 2024 13:18:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Add/use errprintf() to reduce severity of repeated error messages Part of solution for issue #619 (for the mail server)

  65. Rob Swindell (on Windows 11)
    Mon Dec 09 2024 18:45:26 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Support text.dat string IDs (string) args for replace/revert_text() funcs For alignment with the text() method and for instances where a script author doesn't want to load('text.js') or use [bbs|system].text.ID to get a text.dat string index from an ID.

  66. Rob Swindell (on Windows 11)
    Mon Dec 09 2024 18:37:25 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/postmsg.cpp diff
    If user doesn't modify the replied-to-msg subject, use the original subject (which might be UTF-8 encoded). This works-around the problem that Accession reported in #synchronet with my reply to a UTF-8 encoded message using a CP437 terminal which resulted in a message body that was UTF-8 encoded but a message subject that was CP437 encoded. This mix of encodings is not supported by FTN standards. This is just a work-around since if the user modifies the subject the result could still have the CP437 unside-down question marks (indicating non-translatable UNICODE chars) and those should be converted to UTF-8 chars when going out on FTN or being stored in the message base. So there's still a bug here somewhere that I need to look into more.

  67. Rob Swindell (on Windows 11)
    Mon Dec 09 2024 18:31:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Fix off-by-one usage of snprintf() when copying message subject - when converting from CP437 to UTF-8 - when reading from RESULT.ED drop file This effectively limited message subjects in some instances to 69 chars instead of 70. This bug was caught while debugging a replied-message subject conversion from UTF-8 to CP437 issue reported by Accession.

  68. Rob Swindell (on Debian Linux)
    Mon Dec 09 2024 18:16:47 GMT-0800 (PST)
    Modified Files:
    

    exec/default.js diff
    exec/str_cmds.js diff
    Add RELOAD sysop command to reload a (JS) command shell without logoff/on We have to use load() (rather than js.exec) to invoke str_cmds.js so that an exit() will actually exit. Since load() automatically does the mods vs exec directory search-dance, that simplifies the code in default.js a little. I'm not sure exactly why I originally chose to use js.exec() over load() for invoking str_cmds.js, but for this feature, we need load() so let's go with that for now. I did encounter an issue (issue #840) while originally trying to make this work with the original code that called js.exec(), but just punted and went with load() instead. Perhaps if we fix issue #840, we can revert default.js back to using js.exec() (but why we would need/want to, I'm not sure).

  69. Rob Swindell
    Sun Dec 08 2024 21:02:39 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_metadata_desc_undefined_fix' into 'master' ddfilelister: Check whether 'desc' is a string in file metadata before trying to use it. Should fix issue #839 Closes #839 See merge request main/sbbs!482

  70. Eric Oulashin
    Sun Dec 08 2024 18:59:33 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    ddfilelister: Check whether 'desc' is a string in file metadata before trying to use it. Should fix issue #839

  71. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 12:45:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/putnode.cpp diff
    Fix use of unitialize variable Since we we're not using opennodeext(), we don't have the path/fname for any failure error message here. CID 515714

  72. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 12:45:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Fix incorrect use of sizeof in node_vstatus and node_activity This would cause the "Logout" status and multinode chat activity strings to be truncated to 3 or 7 chars. CID 515713 and 515715

  73. Deucе
    Sun Dec 08 2024 11:53:58 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/ssh-trans.h diff
    We need separate context for client to server

  74. Deucе
    Sun Dec 08 2024 11:53:58 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Disable darmwin-x86 System is going on a trip.

  75. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 04:09:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    Reset/send status attr after activity, which could include Ctrl-A codes

  76. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 04:09:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Insure ctrl chars/codes are stripped from nodestatus() output Use strlcpy instead of strncpy

  77. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 03:49:27 GMT-0800 (PST)
    Modified Files:
    

    exec/load/presence_lib.js diff
    Insert stats prefix after activity, in case it contains attr codes

  78. Rob Swindell (on Debian Linux)
    Sun Dec 08 2024 02:59:14 GMT-0800 (PST)
    Modified Files:
    

    exec/fingerservice.js diff
    Use new node (customizable) activity, if available (and strip ctrl chars) This allows customized node actions/activity to be sent over finger/activeuser (so visible in sbbsimsg.js for example).

  79. Rob Swindell (on Debian Linux)
    Sat Dec 07 2024 20:37:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/gtkmonitor/gtkmonitor.c diff
    src/sbbs3/umonitor/umonitor.c diff
    Load text.dat to get customized node status strings from text.dat/text.ini

  80. Rob Swindell (on Windows 11)
    Sat Dec 07 2024 17:19:55 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    exec/load/presence_lib.js diff
    exec/load/text.js diff
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/MainFormUnit.h diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/js_system.c diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Overhaul how custom Node actions and status strings are handled Custom NodeStatus and NodeAction/Activity strings are now displayed pretty much everywhere possible (except the node utility, since it doesn't read any configuration files). This fixes issue #618, finally. If you have custom (non-blank) NodeAction* strings in your text.dat/text.ini file, or you change these strings during runtime (e.g. using bbs.replace_text) this will impact you: - do not include the user name or any other fields normally included in printed node status in your string - just the customized node action and really, you should only use/override these strings for dynamically changing node status (i.e. you're using NodeActionCustom and you're setting different custom strings depending on current node activity). Consider using the new NodeActivity* text.dat strings instead if your customized string doesn't change during run-time. - don't use the %s/%u/%d specifiers any more - use @-codes instead, if needed If you want static/permanent node action strings, set new new NodeActivity* strings in your text.dat or (preferrbaly) text.ini file instead. This means the node actions can now be localized for other languagues! I'm still using the node.exb file (I did consider alternatives, e.g. node.ini or node*/activity.asc), but decided to postpone such a change. The node.exb file is still used, but the strings represent just the custom (extended) node *activity* and not the entire node status string. Use of Ctrl-A codes needs to be considered/accounted-for (currently isn't).

  81. Rob Swindell (on Debian Linux)
    Sat Dec 07 2024 16:32:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix the areas.bbs AreaMgr addition bug created in commit 813072cd450c2 The newly created/used link_aera() function was copying the address of the passed fidoaddr_t pointer rather than the value (fidoaddr) pointed to. This is the actual fix for the problem reported by Tom Moore (1:135/205) - tested and validated. It only immediately impacted areas.bbs use (not areas.ini), since we wrote a stringified address directly to the areas.ini file "links" key. This was not an allocation issue but a memcpy() issue. Other unrelated changes: - Log a debug-level message when ignoring a "NO-ECHO" message (subject "NE:*") - Log a notice-level message when ignoring a message due to GATEWAY VIOLATION (gating a message between net-types when not explicitly configured to do so)

  82. Rob Swindell (on Windows 11)
    Sat Dec 07 2024 14:03:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    A differnt 'fix' to link_area() So, (sizeof *addr) now looks right got me (this should've been the same as sizeof(fidoaddr_t)), so the change in commit e2476ebbaa doesn't actually look like a fix, but maybee a regression. I need to test some area manager link additions and get to the bottom of this, but this particular change was not a fix (and caught/reported by Coverity - CID 515673).

  83. Deucе
    Sat Dec 07 2024 13:43:35 GMT-0800 (PST)
    Added Files:
    

    src/ssh/comp/none.c diff
    src/ssh/comp/none.h diff
    src/ssh/enc/none.c diff
    src/ssh/enc/none.h diff
    src/ssh/mac/none.c diff
    src/ssh/mac/none.h diff
    Modified Files:

    src/ssh/CMakeLists.txt diff
    src/ssh/client.c diff
    src/ssh/ssh-trans.h diff
    Add the "none" encryption mac and compression drivers This is not the "hard part" I meantioned earlier. :D

  84. Deucе
    Sat Dec 07 2024 12:23:01 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/client.c diff
    src/ssh/ssh-trans.c diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.h diff
    Eliminate egregious and unneeded allocations.

  85. Rob Swindell (on Debian Linux)
    Fri Dec 06 2024 20:34:36 GMT-0800 (PST)
    Modified Files:
    

    exec/automsg.js diff
    Fix typo: bbs.node_action, not bbs.action

  86. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix insufficient allocation bug in link_area() introduced in commit 813072cd4 This is likely the cause of the areamgr issue that resulted in weird/invalid node address being added to the area file, reported by Tom Moore (1:135/205).

  87. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/EventsFormUnit.cpp diff
    src/sbbs3/ctrl/EventsFormUnit.h diff
    Update comment header blocks to remove CVS references and such

  88. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Don't try to renaming a bad (unpackable) REP packet if it doesn't exist There still appears to be some race condition with network (Samba) FS directory caching and opening/locking of files, so it does seem illogical that the packet file wouldn't exist at this point (since we have the lock file opened) but this does still happen on occasion on Vertrauen.

  89. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/un_rep.cpp diff
    Eliminate some redundant log output in Unpack REP failure condition.

  90. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_console.cpp diff
    Parse console.inkey() timeout parameter as an *unsigned* integer A negative timeout value doesn't make sense and this will extend the legal (positive) range of this parameter value. Hopefully this will help eliminate these errors I get often: dd_lightbar_menu.js line 4041: Error: can't convert inputTimeoutMS to an integer But if there's some way that this parameter value is even out of the range of an unsigned 32-bit value (4294967295) then this error could still happen. Unfortunately, the JS exception doesn't report the value that failed to convert.

  91. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Check return value of getnodedat() Should fix CID 515599 since this seems to be the only place we call unlocknodedat() without possibly not owning the nodefile_mutex already.

  92. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/putnode.cpp diff
    More nodefile_mutex fixes Need to unlock the mutex before calling errormsg(). Need unlock the mutex in error path of unlocknodedat(). I'm not clear why this would, but it might resolve CID 515601 which looks like false positive to me: getnmsg()->putnodedat() should never leave nodefile_mutex locked.

  93. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/load_cfg.c diff
    Check return value of smb_create() in smb_open_dir() Resolves CID 515657

  94. Rob Swindell (on Windows 11)
    Fri Dec 06 2024 17:38:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/readmail.cpp diff
    Always free(mail) I don't think this was actually a leak (since smb.msgs should be non-zero any time mail is non-null), but to make Coverity happy (CID 515659) and just be more fault-tolerant, always free(mail).

  95. Rob Swindell
    Fri Dec 06 2024 14:50:08 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    Merge branch 'dd_msg_reader_list_select_msg_move_to_next_refresh_fix' into 'master' DDMsgReader: Screen refresh fix for selecting messages when automatically moving to the next message at the menu's last row on the screen See merge request main/sbbs!481

  96. Eric Oulashin
    Fri Dec 06 2024 14:12:01 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    DDMsgReader: Screen refresh fix for selecting messages when automatically moving to the next message at the menu's last row on the screen

  97. Deucе
    Fri Dec 06 2024 13:27:28 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/ssh-trans.c diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.h diff
    And add the hooks for the rest of the transport stuff Should be possible to implement the hard stuff now, though it won't actually be testable until the KEX bits exist too. Smooth sailing after that though.

  98. Rob Swindell (on Debian Linux)
    Fri Dec 06 2024 13:15:08 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/dirwrap.c diff
    Optimize mkpath() If the path already exists (is a directory), don't need to check each path element for existence. This should help with the speed of saving of large file.ini (Nelgin's) when a lot of directories have "Check for File Existence" set to "Yes".

  99. Rob Swindell (on Windows 11)
    Thu Dec 05 2024 21:40:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    Verify QWK messagse files (e.g. MESSAGES.DAT) is multiple of QWK block size (128 bytes) Fix up the filename in error messages reported during unpacking QWK packets (MESSAGES.DAT not BBSID.QWK).

  100. Rob Swindell (on Windows 11)
    Thu Dec 05 2024 21:40:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Truncate the GIT date (remove time) in Program ID.

  101. Rob Swindell (on Windows 11)
    Thu Dec 05 2024 21:40:05 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/msg_id.c diff
    Fix GIT date truncation (e.g. "202" instead of "2024") in program-ID

  102. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 21:20:51 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Resolve Borland build warning: missing xp_lockfile() prototype

  103. Rob Swindell (on ChromeOS)
    Thu Dec 05 2024 17:51:50 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Appears MinGW requires '_locking' Borland requires 'locking' and MSVC does both

  104. Rob Swindell (on ChromeOS)
    Thu Dec 05 2024 17:42:15 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    In Boland's io.h, this function is just called locking()

  105. Rob Swindell (on ChromeOS)
    Thu Dec 05 2024 17:31:10 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Need locking.h here for Borland C++ build

  106. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 17:16:06 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Move the xp_lockfile() into a compile block that includes Borland

  107. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 17:09:39 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Fix typo in Windows version of xp_lockfile()

  108. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 16:57:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logfile.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    Introduce/use errprintf() for de-duplicated/prioritized error logging Convert more log messages to use de-duplication as solution to issue #619. A lot more lprintf() -> errprintf() conversions will be needed to fully realize this solution (e.g. in the mail, ftp, web, services serverss).

  109. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 16:43:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/prntfile.cpp diff
    Add "Printing file" and "Printing tail" debug-level log messages In printfile() and printtail() which are used by menu() and many other functions. These should be helpful to sysops that just want to know what file is being displayed under what conditions (e.g. for trouble-shooting or customization reasons).

  110. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 16:26:25 GMT-0800 (PST)
    Modified Files:
    

    exec/webfileindex.ssjs diff
    Display directory aliases from web_alias.ini as shortcuts on index page Other kinds of aliases are supported in web_alias.ini (e.g. libraries, files) but not displaying those here (yet).

  111. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 16:12:26 GMT-0800 (PST)
    Modified Files:
    

    exec/load/tree.js diff
    Address occasional TypeError: this.current is undefined

  112. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 16:04:36 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Make user_downloaded_file() tolerant of being passed a file path ... instead of just the file name, as was expected.

  113. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 15:52:13 GMT-0800 (PST)
    Modified Files:
    

    webv4/root/api/files.ssjs diff
    user.downloaded_file() expects *just* the filename, not a full path This is why files downloaded via ecWebv4 haven't been properly accounted.

  114. Rob Swindell (on Debian Linux)
    Thu Dec 05 2024 14:05:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    src/xpdev/filewrap.c diff
    src/xpdev/filewrap.h diff
    Add/use xp_lockfile() to support blocking file range/region lock acquisition Under heavy loads, I've found periodic non-blocking lock attempts just aren't reliable enough: in particular, on Vertrauen, the guest user account record in the user.tab file gets read and written-to A LOT (updating stats), and under heavy loads (especially with hundreds of web client sessions), I'd get timeouts attempting to lock the guest record in the user.tab (after about a minute of periodic retries) - so let's just block "forever" to get the user record lock (or until signaled or notified of a deadlock). With this change, I've not had any user.tab lock errors or apparent deadlocks. Let the underlying OS/filesystem handle queuing and deadlock detection, when supported. lock() still behaves as before: non-blocking lock attempt.

  115. Rob Swindell
    Thu Dec 05 2024 13:46:09 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_indexed_newscan_no_snap_selection_bug_fix' into 'master' DDMsgReader: Bug fix - For indexed newscan without snap-to-new, ensure it remembers the user's previously selected sub-board (reported by Keyop) See merge request main/sbbs!480

  116. Eric Oulashin
    Thu Dec 05 2024 13:46:09 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Bug fix - For indexed newscan without snap-to-new, ensure it remembers the user's previously selected sub-board (reported by Keyop)

  117. Deucе
    Thu Dec 05 2024 09:49:48 GMT-0800 (PST)
    Added Files:
    

    src/ssh/client.c diff
    Modified Files:

    src/ssh/CMakeLists.txt diff
    src/ssh/ssh-trans.c diff
    src/ssh/ssh.h diff
    Add a test client and fix a couple bugs.

  118. Rob Swindell (on ChromeOS)
    Thu Dec 05 2024 00:45:38 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Overhaul the help output and display valid lib names when helpful - If sysop specifies an invalid lib name, show them what the valid names are - Make it clear that the directory specified (dir-spec) is either a combination of -lib and -dir *or* -all *or* dir-code *or* nothing (a get prompted) - When using -all, clear the list of specified directories to prevent dupe dir scanning when misused.

  119. Rob Swindell (on ChromeOS)
    Wed Dec 04 2024 23:50:29 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Allow any-case for library name used with -lib=name option

  120. Rob Swindell (on ChromeOS)
    Wed Dec 04 2024 23:46:50 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Auto-convert specified directory codes to lowecase

  121. Rob Swindell (on ChromeOS)
    Wed Dec 04 2024 23:19:34 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Allow a comma-separate list of dir-codes to be passed to -dir option

  122. Rob Swindell (on ChromeOS)
    Wed Dec 04 2024 23:05:21 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Add -dir=<code> option to manually specify multiple directories As requested by Nelgin. And this option is mutually exclusive with the [dir-code] parameter.

  123. Rob Swindell (on Debian Linux)
    Wed Dec 04 2024 18:30:52 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logfile.cpp diff
    De-duplicate repeated errors logged via sbbs_t::errormsg() by reducing severity ... from ERROR to WARNING, so the repeats won't be logged to error.log file and won't (normally) be sent as notifications (e.g. emails) to the sysop. The duplicates are identified as from the same source file and line number as the immediately previous logged error within the last 12 hours. String comparison doesn't really work for deduplication since if you look closely, the errors usually are *not* exact duplicates (i.e. there's a node number or a socket descriptor or something that uniquely identifies the user/client/session). Repeated errors don't increment the node's error counter either. This does not de-duplicate errors logged via other means (e.g. direct calls to log()/lputs(),lprintf() with a severity of LOG_ERR or higher), but will solve the majority of duplicate errors that can be logged from the terminal server. So this at least partially addresses issue #619.

  124. Rob Swindell (on Debian Linux)
    Wed Dec 04 2024 18:30:24 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Clean up the OFD check/decision, make use of fcntl() locks easier to opt-in

  125. Deucе
    Wed Dec 04 2024 14:35:37 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/ssh-trans.c diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.c diff
    src/ssh/ssh.h diff
    More transport work. Next step is to implement a KEX.

  126. Deucе
    Wed Dec 04 2024 14:35:36 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio_nix.c diff
    Enable ISTRIP mode when fewer than 8 bits are requested. With this, SyncTERM and SexPOTS on *nix won't actually need to strip received bytes themselves. No idea what Windows does though, so it'll likely still be needed forever.

  127. Rob Swindell
    Wed Dec 04 2024 13:43:25 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_option_listing_msgs_select_goes_to_next_msg' into 'master' DDMsgReader: New user option & behavior: In a message list, when selecting/toggling a message, it can now optionally move the cursor to the next message See merge request main/sbbs!479

  128. Eric Oulashin
    Wed Dec 04 2024 13:37:50 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: New user option & behavior: In a message list, when selecting/toggling a message, it can now optionally move the cursor to the next message

  129. Rob Swindell (on Debian Linux)
    Tue Dec 03 2024 22:52:40 GMT-0800 (PST)
    Modified Files:
    

    exec/avatars.js diff
    .ini files need to be opened for read/write access when writing/updating This happened to work before commit d49134e6f7 since iniReadFile() didn't return false upon any read error, so File.iniSetAllObjects() didn't realize that the read of (any) existing file contents had failed (because the file was open write-only). This explains why the *.avatars.ini files were pretty much blank as of late and no networked message posters were having their avatars displayed. Reported by Codefenix (thank you). Add a print/log line to tell us how many avatars were parsed, just for extra traceability of this script and any potential failure cause.

  130. Deucе
    Tue Dec 03 2024 16:37:53 GMT-0800 (PST)
    Added Files:
    

    src/ssh/ssh-trans.c diff
    src/ssh/ssh.c diff
    Modified Files:

    src/ssh/CMakeLists.txt diff
    src/ssh/portable.h diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.h diff
    The start of the transport layer and the public API.

  131. Deucе
    Tue Dec 03 2024 10:23:49 GMT-0800 (PST)
    Added Files:
    

    src/ssh/portable.h diff
    Modified Files:

    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    Introduce portable.h for ugly hacks The plan is to hide non-standard stuff in here. Currently, just has [[maybe-unused]] from C23.

  132. Deucе
    Tue Dec 03 2024 10:23:31 GMT-0800 (PST)
    Modified Files:
    

    src/ssh/CMakeLists.txt diff
    Use FindOpenSSL instead of pkg-config for OpenSSL

  133. Deucе
    Tue Dec 03 2024 10:02:59 GMT-0800 (PST)
    Added Files:
    

    src/ssh/CMakeLists.txt diff
    src/ssh/ssh-arch.c diff
    src/ssh/ssh-arch.h diff
    src/ssh/ssh-trans.h diff
    src/ssh/ssh.h diff
    Start of DeuceSSH The intent is that this will be a library implementation of SSH which allows simple extension of the base protocol, and exposes all defined features of the protocol (including ones nobody uses). This will support both client and server, with initial focus on the client implementation for use in SyncTERM. The goal of the core library is to only support the most secure standard methods. When there are multiple methods that are not clearly of differing levels of security, the most common two will be implemented (ie: RSA and Ed25519). Additionally, care will be taken during development to allow for the OpenSSH Encrypt-then-MAC MAC modes in the expectation that someone will standardize an ETM mode at some point, and I expect to write an extension to support it soon after DeuceSSH is complete. Finally, if I cannot mitigate Terrapin without non-standard extensions, the OpenSSH "strict KEX" extension will be supported until there's a standard defined that solves the issue.

  134. Rob Swindell (on Windows 11)
    Tue Dec 03 2024 09:06:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    On Windows, lock the opened mutex file to insure *nix sopen() will fail Even though we use O_EXCL, networked file systems still sometimes allow the secondary open() to succeed. We use record locking in xpdev's sopen() implementation for *nix, so this lock will insure such opens (and locks) will now fail. This is an attempt to address occassional error on Vertrauen: ERROR 2 (No such file or directory) renaming *.rep to *.bad

  135. Rob Swindell (on Windows 11)
    Tue Dec 03 2024 09:05:37 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/un_rep.cpp diff
    Log an info-level message before unpacking a REP packet

  136. Rob Swindell (on Windows 11)
    Tue Dec 03 2024 09:04:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Check return value of writeuserfields() in putuserstr() Return correct error value upon seek failure.

  137. Rob Swindell (on Debian Linux)
    Mon Dec 02 2024 20:24:58 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Don't use flock() in sopen() since it ends up using non-OFD fcntl() locks When OFD locks are available, that's what we should be using. Otherwise, we suffer the horrible behavior of POSIX file/region locks and a subsequent open/close of the file releases any/all locks on it. This is currently in an !BSD block, which appears to include macOS, but macOS *does* support OFD locks, so I'll be fixing that here shortly.

  138. Rob Swindell (on Debian Linux)
    Mon Dec 02 2024 11:11:59 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    Add NodeActionCustom (blank, by default)

  139. Rob Swindell (on Debian Linux)
    Mon Dec 02 2024 00:47:11 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/userdat.c diff
    Handle NODE_CUSTOM action and print default node status "performing custom action" Normally, the sysop would set the NodeActionCustom text.dat string to override this.

  140. Rob Swindell (on Debian Linux)
    Mon Dec 02 2024 00:28:41 GMT-0800 (PST)
    Modified Files:
    

    exec/load/nodedefs.js diff
    exec/load/text.js diff
    Add the new NodeCustom action

  141. Rob Swindell (on Debian Linux)
    Mon Dec 02 2024 00:22:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nodedefs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    Define custom node action value This is to be used (e.g. instead of NODE_BXFR) for sysop-custom node actions.

  142. Rob Swindell (on Debian Linux)
    Mon Dec 02 2024 00:21:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    White-space changes only

  143. Rob Swindell (on Debian Linux)
    Mon Dec 02 2024 00:21:08 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/putnode.cpp diff
    Support @-codes in NodeAction text.dat strings

  144. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 23:57:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Add random jitter to lockuserdat() and putnodedat() retry delays so that if multiple entities call these functions at the same time, they don't retry at exactly the same times.

  145. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 23:55:51 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/execnet.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/mxlookup.c diff
    src/sbbs3/sbbscon.c diff
    src/sbbs3/services.c diff
    src/sbbs3/sexyz.c diff
    src/sbbs3/sockopts.c diff
    src/sbbs3/telgate.cpp diff
    src/sbbs3/websrvr.c diff
    Use SOCKET_ERRNO instead of (now deprecated) ERROR_VALUE macro

  146. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 22:11:00 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    src/xpdev/multisock.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Add/use SOCKET_ERRNO (in place of ERROR_VALUE)

  147. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 22:10:40 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/xp_syslog.c diff
    Eliminate unused variable

  148. Rob Swindell (on Windows 11)
    Sun Dec 01 2024 21:55:49 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.h diff
    Borland C++ apparently doesn't support inline functions (!)

  149. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 21:19:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_global.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/services.c diff
    src/xpdev/ini_file.c diff
    src/xpdev/multisock.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Make socket errno and string descriptions easier to get/use Add/use SOCKET_STRERROR which gets the description of the *last* socket error. We should start using socket_errno(true) in place of ERROR_VALUE (horribly named macro) for comparing last socket error nubers against values/macros from errno.h. Eliminate get_socket_errno(), unused and redundant with socket_errno().

  150. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 21:15:11 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sopenfile.c diff
    Add -c and -R options Really need to make the option order (arity) neutral

  151. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 20:17:14 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ver.cpp diff
    Fix strlcpy() usage

  152. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 20:16:53 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sockwrap.c diff
    Fix typo in get_socket_errno() definition

  153. Rob Swindell (on macOS)
    Sun Dec 01 2024 19:57:24 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Log the error description upon failure to send on socket

  154. Rob Swindell (on macOS)
    Sun Dec 01 2024 18:00:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/con_hi.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/execmsg.cpp diff
    src/sbbs3/execnet.cpp diff
    src/sbbs3/fido.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_system.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/login.cpp diff
    src/sbbs3/mail.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/msgtoqwk.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/putmsg.cpp diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/readmail.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/scansubs.cpp diff
    src/sbbs3/sftp.cpp diff
    src/sbbs3/str.cpp diff
    src/sbbs3/telgate.cpp diff
    src/sbbs3/ver.cpp diff
    Replace sprintf() calls with snprintf() Addresses Clang warnings about deprecation

  155. Rob Swindell (on macOS)
    Sun Dec 01 2024 16:25:50 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    Add -L to LDFLAGS, not CFLAGS for macos builds This fixes all the "argument unused during compliation" warnings

  156. Deucе
    Sun Dec 01 2024 16:01:35 GMT-0800 (PST)
    Added Files:
    

    3rdp/build/cl-dont-validate-va-list.patch diff
    Modified Files:

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    Fix idiodic check that a va_list != NULL This breaks armv7 FreeBSD builds. Presumably it breaks anything else where va_list isn't a pointer too... and there's no real reason to expect a va_list to be a pointer except "it's a pointer on the platform I looked at".

  157. Rob Swindell (on Windows 11)
    Sun Dec 01 2024 15:58:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Unify the int return values of userdat.c functions These functions now return a common set of non-zero error values (where appropriate), defined in userdat.h Don't return errno.

  158. Rob Swindell (on Windows 11)
    Sun Dec 01 2024 15:58:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/answer.cpp diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/bulkmail.cpp diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/getnode.cpp diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mail.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    src/sbbs3/telgate.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    Simplify the getnode.cpp API - use bool returns, default paramaeter value getnodedat() now performs a non-locked read by default. Perform more checks of getnodedat() return value before calling putnodedat() to avoid unintentionally zeroing out node.dab records. Add/use unlocknodedat() method for unlocking a node.dab record without writing. Note: The userdat.c getnodedat() and putnodedat() still return int (i.e. 0 on success), so that can be confusing.

  159. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 15:48:16 GMT-0800 (PST)
    Modified Files:
    

    exec/freqitcfg.js diff
    Don't call uifc.bail() repeatedly Since this script already sets an on_exit() handler to call uifc.bail() it doesn't have to call it again (technically, before) in the "Done" block. This results in "UIFC is unitialized" error displayed, as reported by Fernando Toledo. Fixing issue #830 Set WIN_ESC (remains active, but greyed when ESC key pressed) mode flag on main menu while we're here. That looks better.

  160. Rob Swindell (on Windows 11)
    Sun Dec 01 2024 01:08:57 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/WebCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/WebCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/WebCfgDlgUnit.h diff
    Add max concurrent connections edit box to web cfg dialog

  161. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 00:45:16 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    When the originating address is the same as the name, just include one There's no need to be unnecessarily redundant in the From header, e.g. From: "scan-admin@coverity.com" <scan-admin@coverity.com>

  162. Rob Swindell (on Debian Linux)
    Sun Dec 01 2024 00:21:04 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    MIME-encode To and From header fields that contain non-ASCII chars This fixes the display of gitlab pushes from Deucе in conforming news readers.

  163. Rob Swindell (on Debian Linux)
    Sat Nov 30 2024 23:43:30 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Track and report the concurrent connections per client highwater mark It's possible now for clients to easily exceed the configured max concurrent connections limit, even though they just get an error 429 page. Let's at least track and log when a new highwater mark is reached.

  164. Rob Swindell (on Debian Linux)
    Sat Nov 30 2024 22:38:50 GMT-0800 (PST)
    Modified Files:
    

    exec/nntpservice.js diff
    More RFC (3977) conformance Some of the NNTP commands (e.g. LIST) aren't supposed to change the "currently selected newsgroup". Had to use a different variable name (e.g. mb versus msgbase) since these message base variables share the function scope). GROUP and LISTGROUP commands are supposed to set the "current article number" to the first article in the group. We weren't doing this. The HEAD, BODY, STAT, and ARTICLE commands aren't *required* to have arguments and yet, we required they had at least one argument (an article number). Now fixed. Enabled "strict mode" even though that didn't catch the colliding 'msgbase' variable definitions. Incremented the revision to 1.2

  165. Rob Swindell
    Sat Nov 30 2024 22:28:35 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    Merge branch 'dd_lightbar_menu_clear_after_menu_draw_fix' into 'master' DDLightbarMenu: When clearing the remainder of the screen after drawing the menu, ensure the console attributes are reset. Also, refactored that section of code. See merge request main/sbbs!478

  166. Eric Oulashin
    Sat Nov 30 2024 22:28:35 GMT-0800 (PST)
    Modified Files:
    

    exec/load/dd_lightbar_menu.js diff
    DDLightbarMenu: When clearing the remainder of the screen after drawing the menu, ensure the console attributes are reset. Also, refactored that section of code.

  167. Rob Swindell (on Debian Linux)
    Sat Nov 30 2024 21:00:33 GMT-0800 (PST)
    Modified Files:
    

    exec/load/mimehdr.js diff
    exec/load/newsutil.js diff
    Create/use mimehdr encode() method for MIME/Q-encoding UTF-8 header fields Use it in newsutil get_news_subject() when no original (RFC822) Subject header field exists. This should fix issue #817.

  168. Rob Swindell (on Debian Linux)
    Sat Nov 30 2024 20:57:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Eliminate some harmless gcc warning about using uninitialized vars

  169. Rob Swindell (on Debian Linux)
    Sat Nov 30 2024 20:56:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    Move the backup of dsts.ini before opening the file Can't backup (make copies of) an open file.

  170. Deucе
    Sat Nov 30 2024 19:47:09 GMT-0800 (PST)
    Added Files:
    

    web/root/error/429.html diff
    Add 429 error page

  171. Deucе
    Sat Nov 30 2024 19:43:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Since this is after client_on() is called now, use > not >=

  172. Deucе
    Sat Nov 30 2024 19:41:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Move max concurrent connections check into http_session_thread() We can't send a 4xx error (ie: client did something wrong) in plaintext on a TLS connection. Untested beyond a basic compile check.

  173. Deucе
    Sat Nov 30 2024 18:16:35 GMT-0800 (PST)
    Modified Files:
    

    src/conio/Common.gmake diff
    Fix the pipeline that DigitalMan broke.

  174. Rob Swindell (on Windows 11)
    Sat Nov 30 2024 14:59:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/scfg/scfgsrvr.c diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    Implement max concurrent connections (per IP) limit in web server, default: 10 We have this feature for the FTP, Mail, and Terminal servers (with no default limit) but crazy abuse of my Synchronet web servers has now made this a necessity for Vertrauen. A limit of 2 used to be considered reasonable long ago. Today, 10 seems fair enough. Setting to 0 will impose no max-connections per IP address (other than the total client limit per server).

  175. Deucе
    Sat Nov 30 2024 14:48:30 GMT-0800 (PST)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/conio/GNUmakefile diff
    Fix X11 build option checkbox Similar problem as PulseAudio, but even grosser.

  176. Deucе
    Sat Nov 30 2024 14:22:29 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/Common.gmake diff
    src/xpdev/GNUmakefile diff
    Fix PulseAudio build option display The macro was only define in the xpdev GNUmakefile, not in Common, so bbslist.c did not know if it was enabled or not, and always showed it as disabled.

  177. Rob Swindell (on Debian Linux)
    Sat Nov 30 2024 13:34:21 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    exec/nntpservice.js diff
    Create/use news_get_from() function, copied from nntpservice.js Use the fully-formed "From" header field in responses to NNTP OVER/XOVER and HDR/XHDR requests. This should fix issue #829 reported by Accession

  178. Rob Swindell
    Sat Nov 30 2024 01:42:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Range check argc before deref of argv[1] Apparently JSVAL_IS_STRING() can return true even when argv[1] is out of range (I guess I assumed it'd alwasy be NULL or VOID/undefined) and this can lead to crash when calling JS_ValueToString() on it.

  179. Rob Swindell (on macOS)
    Sat Nov 30 2024 00:35:14 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Retry file lock/read operations on EIO errors As seen on MacOS, an SMB shared file can cause the Mac SMB client to report EIO error on locked-file read or lock attempts. So retry.

  180. Rob Swindell
    Wed Nov 27 2024 16:25:29 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyv_cfg.js diff
    xtrn/slyvote/slyvote.js diff
    Merge branch 'ddmsgreader_slyvote_poll_message_show_who_voted_what' into 'master' DDMsgReader & SlyVote: WHen viewing polls, for the person who posted it, show who voted on what (mimicking the Synchronet behavior which shows new votes when the user logs in) See merge request main/sbbs!477

  181. Eric Oulashin
    Wed Nov 27 2024 12:29:22 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyv_cfg.js diff
    xtrn/slyvote/slyvote.js diff
    DDMsgReader & SlyVote: WHen viewing polls, for the person who posted it, show who voted on what (mimicking the Synchronet behavior which shows new votes when the user logs in)

  182. Deucе
    Wed Nov 27 2024 11:45:49 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/bbslist.c diff
    src/syncterm/term.c diff
    Re-order entry fields. This makes more sense. Also, ones that are meaningless are hidden now.

  183. Deucе
    Wed Nov 27 2024 09:31:29 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    The final fixings for issue 172 Use 0 for "no held mosaic" to avoid confusion around printable bytes. Store the state of the current cell *before* updating in fix_line()

  184. Deucе
    Wed Nov 27 2024 07:48:56 GMT-0800 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/cterm.c diff
    Fix double-height drawing Top/bottom detection was somewhat broken. Interestingly, now the previous commit isn't working anymore. So issue 172 is not quite fixed yet.

  185. Deucе
    Wed Nov 27 2024 05:26:38 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Fix up the Prestel "Engineering Test Page" rendering This was due to two main bugs... the simple one was a type where the cutoff between separated and contiguous mosaics was incorrect, which caused the first four separated mosaics to not be displayed. The second was due to a number of bugs in the Hold Mosaic implementation. This fixes the first half of issue 172.

  186. Deucе
    Tue Nov 26 2024 16:02:46 GMT-0800 (PST)
    Modified Files:
    

    src/conio/utf8_codepages.c diff
    Fix unicode -> Prestel mapping We want ASCII to map directly, and unicode values need to be sorted ascending for bsearch() to work properly. Fixes Prestel keyboard input not working in GDI mode.

  187. Deucе
    Tue Nov 26 2024 13:55:09 GMT-0800 (PST)
    Modified Files:
    

    src/conio/OverhaulNotes.txt diff
    src/conio/cterm.c diff
    Handle 8-bit C1 codes in Prestel mode If the remote sends 8-bit C1 codes, handle them as though they were properly escaped. Since Prestel terminals are 7-bit, these will never be sent by a proper Pretel system, but apparently some systems do weird non-standard things.

  188. Rob Swindell (on Debian Linux)
    Mon Nov 25 2024 22:03:25 GMT-0800 (PST)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/chat.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    Create/use SysopPageNotification text.dat string to notify sysop (user #1) that they were paged. Previously, this was a hard-coded string. The new string in text.dat is the same, but adds 2 BELs (CTRL-G chars) and is now customizable. Created an sbbs_t::notify() method to make this easier to use and that method supports @-code expansion, so this text.dat string supports @-codes (which I used). This addresses the feature request in issue #828 (beep the sysop in the telegram/short message, when they're paged).

  189. Rob Swindell
    Mon Nov 25 2024 20:04:59 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_index_newscan_skip_subboard_fix' into 'master' DDMsgReader bug fix: For the indexed-mode newscan, when showing only sub-boards that have new messages, ensure the selected item index is correct when re-populating the menu so that it doesn't skip a sub-board. Reported by Amessyroom. See merge request main/sbbs!476

  190. Eric Oulashin
    Mon Nov 25 2024 20:04:59 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader bug fix: For the indexed-mode newscan, when showing only sub-boards that have new messages, ensure the selected item index is correct when re-populating the menu so that it doesn't skip a sub-board. Reported by Amessyroom.

  191. Deucе
    Sun Nov 24 2024 21:15:59 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CMakeLists.txt diff
    src/syncterm/Manual.txt diff
    src/syncterm/PackageInfo.in diff
    src/syncterm/dpkg-control.in diff
    src/syncterm/haiku.rdef diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    We're 1.4a now. :(

  192. Deucе
    Sun Nov 24 2024 21:15:46 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Document the death of SyncTERM 1.2

  193. Deucе
    Sun Nov 24 2024 21:06:55 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Fix error in optmap creation

  194. Rob Swindell
    Sun Nov 24 2024 14:52:11 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_edit_file_check_cost_and_times_downloaded_exist' into 'master' DDFileLister: When editing file information, check whether cost and times_downloaded exist in the metadata before accessing them. Reported by Ragnarok See merge request main/sbbs!475

  195. Eric Oulashin
    Sun Nov 24 2024 14:52:11 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: When editing file information, check whether cost and times_downloaded exist in the metadata before accessing them. Reported by Ragnarok

  196. Deucе
    Sun Nov 24 2024 11:40:15 GMT-0800 (PST)
    Modified Files:
    

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

  197. Deucе
    Sun Nov 24 2024 11:02:07 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Fix up win_lock mutex usage

  198. Deucе
    Sun Nov 24 2024 09:51:13 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    Some minor cleanups of echocfg 1) Initialize saverobot.name since this is checked unconditionally. This has a side effect of initializing everything else, but name is the only thing that actually matters. 2) Add a bar to the global settings menu. Previously, if you scrolled near the bottom and selected an option, after changing the option, you would jump up to the last item on the initial screen. 3) Fix the AreaMgr Support default value to be the current, not the opposite of current. 4) Use the correct variable for EchoMail Relay Filtered Messages setting default.

  199. Deucе
    Sun Nov 24 2024 09:33:39 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Remove ssh_errors variable. We're carefully counting the errors, but never looking at the count.

  200. Deucе
    Sun Nov 24 2024 09:28:35 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Don't create the Framework dir if we won't put anything in it.

  201. Deucе
    Sat Nov 23 2024 17:07:39 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Remove unused variable

  202. Deucе
    Sat Nov 23 2024 17:01:44 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Try this the other way...

  203. Deucе
    Sat Nov 23 2024 16:57:10 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Scale SDL_GetDisplayUsableBounds() like SDL_GetWindowSize() For retina lies.

  204. Rob Swindell (on macOS)
    Sat Nov 23 2024 16:02:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    Fix potential deadlock in getnodedat(), observed on macOS Upon any node.dab lock or read failure, this code would cause errormsg() which would often/usually end up claling getnodedat() which would block forever trying to acquire the ndoefile_mutex (introduced in commit b9633069, I'm not clear why). Unlock/release the mutex *before* calling errormsg().

  205. Rob Swindell
    Sat Nov 23 2024 01:23:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Fix crash when NO_EVENTS option is set for terminal server Don't deref that null pointer

  206. Rob Swindell (on Windows 11)
    Fri Nov 22 2024 23:30:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    Update Area File help screen to explain areas.ini area file format/option

  207. Rob Swindell (on Windows 11)
    Fri Nov 22 2024 23:29:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgmsg.c diff
    Add support for exporting fidonet sub-boards to areas.ini file

  208. Rob Swindell (on Windows 11)
    Fri Nov 22 2024 18:03:24 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Deuce said I remove this error message It was always displayed (sent to stderr) when running scfg, echocfg, uedit, etc. in auto-curses mode, so suppress that noise.

  209. Rob Swindell (on Windows 11)
    Fri Nov 22 2024 17:59:28 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    If configured COM port byte size is less than 8, strip high 8-n bits on RX Some USB modems (reportedly, USRobotics USB modem) don't strip the parity bit of data received from modem connections operating in < 8 bit modes (e.g. 7-E-1), as is normally don't with a modem connected to a UART, so we'll do that stripping (forcing to 0) here, as recommended by Deuce. Nelgin, if you're doing some manually stripping of the 7th bit bytes received from 7-E-1 connected modems and then sent to your server/BBS over TCP, you shouldn't need to do that now.

  210. Rob Swindell (on Debian Linux)
    Fri Nov 22 2024 17:50:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Clean up area management code I dislike this particular code a little less now: - no more redundant string compares - less deeply nested if() and for() blocks - remove added areas from the add list, rather than zeroing out the tag - a little more common code between areas.bbs and areas.ini handling No functional change (I hope).

  211. Rob Swindell (on Debian Linux)
    Fri Nov 22 2024 17:50:35 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/str_list.c diff
    src/xpdev/str_list.h diff
    Add strListFastDeleteAll() To quickly free and remove all list entries (without realloc).

  212. Deucе
    Fri Nov 22 2024 15:50:29 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Remove accidental zero-width unicode character.

  213. Deucе
    Fri Nov 22 2024 15:28:02 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Use enum values for field names Easier to match up than numbers.

  214. Deucе
    Fri Nov 22 2024 15:09:48 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Fix editing of name broken in earlier commit, refactor Split generating help into separate function - Regenerated when the connection type changes Split generation the opt list into separate function - Regenerated after handling any selection

  215. Deucе
    Fri Nov 22 2024 10:58:58 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Clean up changes list to only "interesting" ones. If someone wants to know the differences between 1.2rc1 and 1.2rc3, the can check git.

  216. Deucе
    Fri Nov 22 2024 09:57:33 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Make the same as the syncterm-1.2 branch

  217. Deucе
    Thu Nov 21 2024 10:25:52 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Change CHANGE for newest changes.

  218. Deucе
    Thu Nov 21 2024 10:22:07 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    The USR modem isn't so bad that it needs parity generated We just need to strip the high bit on RX because the mode leaves it on received bytes.

  219. Rob Swindell (on Debian Linux)
    Thu Nov 21 2024 01:23:56 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    Resolve recently added compile errors and warnings to unblock the pipes

  220. Rob Swindell (on Debian Linux)
    Wed Nov 20 2024 21:21:01 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    Replace almost all references to AreaFix with AreaMgr or AreaManager "AreaFix" is a proper product name. Though it's been defunct and unsupported for decades, we still should not confuse sysops and historians: the general term for what AreaFix did/does is Area Management, aka Conference Management. The sbbsecho.ini key names are unchanged and the destination netmail address for AreaManager requests can still be "AreaFix" (though "SBBSecho" is still supported as well).

  221. Rob Swindell (on Debian Linux)
    Wed Nov 20 2024 20:50:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix stupid inverted logic bug: treating areas.ini as areas.bbs for AreaFix and vice versa - so area manager requests were broken since I introduced the areas.ini support. Oops.

  222. Rob Swindell (on Debian Linux)
    Wed Nov 20 2024 20:50:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Support AreaMgr request messages with -L (list) or -Q (query) but no body I noticed through code review that these kinds of messages would be rejected as "No commands to process.". We just needed to increment the 'cmd' counter when parsing these options to be sure we don't think that no commands were in fact request. -R (rescan) is not by itself a command since it requires listed area-tags to have any effect.

  223. Rob Swindell (on Debian Linux)
    Wed Nov 20 2024 20:50:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Detect and log warnings about duplicate area sections in areas.ini ... like how we do for areas.bbs files.

  224. Rob Swindell (on Debian Linux)
    Wed Nov 20 2024 20:50:23 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    src/xpdev/ini_file.h diff
    Add iniGet/ReadSectionListWithDupes() For use cases were we don't want to silenty ignore duplicate (secondary) section definitions.

  225. Deucе
    Wed Nov 20 2024 20:40:32 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Log changes

  226. Deucе
    Wed Nov 20 2024 20:40:10 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    Because some USB modems suck (ie: USR5637), do software parity This is just in case the modem actually stays in 8N1 mode when 7E1 or 7O1 is set. This is what the USR 5637 appears to do. There's a small performance penalty for anything in 7-bit mode with this, but it shouldn't be enough to actually impact anything.

  227. Deucе
    Wed Nov 20 2024 20:40:10 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/modem.c diff
    Drain modem buffer before sending commands.

  228. Deucе
    Wed Nov 20 2024 17:19:29 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    Set flow control before raising DTR Possibly setting CTS/RTS after raising DTR drops DTR which causes DCD to be lost.

  229. Rob Swindell
    Wed Nov 20 2024 17:06:17 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'ddmsgreader_pollview_responses_fix' into 'master' DDMsgReader bug fix: When viewing a poll that the user has posted and showing who voted on the poll, ensure it only counts poll responses (not reply messages). Reported by nelgin See merge request main/sbbs!474

  230. Eric Oulashin
    Wed Nov 20 2024 17:06:17 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader bug fix: When viewing a poll that the user has posted and showing who voted on the poll, ensure it only counts poll responses (not reply messages). Reported by nelgin

  231. Rob Swindell (on Debian Linux)
    Wed Nov 20 2024 14:42:49 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix unsigned compare against >= 0 and nomatch misplacement I'm not clear if/why these would cause the issue reporetd by Fernando but they're definitely bugs in the areas.ini areafix code. No impact to the areas.bbs areafix handling.

  232. Rob Swindell (on Debian Linux)
    Wed Nov 20 2024 14:42:10 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Fix new potential NULL derefs (the add/del_area args can be NULL) ... in area manager code modified in previous commit.

  233. Deucе
    Wed Nov 20 2024 14:34:50 GMT-0800 (PST)
    Modified Files:
    

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

  234. Deucе
    Wed Nov 20 2024 14:33:45 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    Terminate parity_enum

  235. Deucе
    Wed Nov 20 2024 14:32:44 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/modem.c diff
    Apparently, Windows headers define (at least) PARITY_NONE Even when "lean and mean". Rename enum.

  236. Deucе
    Wed Nov 20 2024 14:08:12 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/modem.c diff
    Add support for configuring data/stop bits and parity for modem and serial Also, straighten out the confusing option adjuster thing when editing an entry. The help text still needs an overhaul, but now I have to re-test this whole mess.

  237. Deucе
    Wed Nov 20 2024 10:19:32 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Log changes

  238. Deucе
    Wed Nov 20 2024 10:17:49 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/modem.c diff
    Explicitly set serial port to 8N1 Surely nobody uses anything else...

  239. Rob Swindell (on ChromeOS)
    Tue Nov 19 2024 22:52:37 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/download.cpp diff
    src/sbbs3/sbbs.h diff
    Save and restore the Telnet BINARY_TX option state separate for each direction It's possible the client requested binary transmit in only one of the two directions and if so, restore just the direction that was previously *not* in binary transmit mode to NVT mode.

  240. Rob Swindell (on ChromeOS)
    Tue Nov 19 2024 22:38:55 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    request_telnet_opt() will ignore all cmds but DO, DONT, WILL and WONT This allows us to save unitialized telnet_*_option values (i.e. 0x00) and pass those values back to request_telnet_opt() with no side effect.

  241. Deucе
    Tue Nov 19 2024 22:14:32 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/syncterm.c diff
    Fix crash when editing blank "extra" bbslist entry Show current list path, not default in File Locations Support copy/paste in BBS list

  242. Deucе
    Tue Nov 19 2024 22:14:32 GMT-0800 (PST)
    Modified Files:
    

    src/conio/allfonts.c diff
    src/syncterm/CHANGES diff
    Add blank pixel to left and top of Prestel DEL glyph Makes the Night Owl BBS login screen look more accurate.

  243. Rob Swindell (on Windows 11)
    Tue Nov 19 2024 13:20:37 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/download.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/telgate.cpp diff
    src/sbbs3/xtrn.cpp diff
    Allow Telnet client to be in binary mode persistently Before this change, we'd always request a return to Telnet NVT (turn off binary-TX in both directions) after any file transfer. So although a Telnet session might be negotiated into binary mode shortly after connection (e.g., using "telnet -8"), it would be reverted back to NVT mode after any file transfer. The request to turn off remote binary-TX after executing external programs didn't actually accomplish anything since we track the Telnet option states internally and don't send redundant requests (e.g. the change into a mode we're already in). External programs aren't expected to send Telnet requests anyway, so I think this was some holdover from early days of stp/sexyz development.

  244. Rob Swindell (on Windows 11)
    Mon Nov 18 2024 22:10:44 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Don't use uninitialized variable: lockfname Where's the compiler warnings guys?

  245. Rob Swindell (on Windows 11)
    Mon Nov 18 2024 21:52:30 GMT-0800 (PST)
    Added Files:
    

    exec/make_areas_ini.js diff
    Modified Files:

    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    Add support for new experimental/optional Area File format: areas.ini As suggested/requested by Fernando Toledo in issue #826, you can: 1. run 'jsexec make_areas_ini.js' to export your areas.bbs file to areas.ini (your old areas.bbs is left in place, in tact, unmodified) 2. change your Area File in echocfg->Paths and Filenames->Area File to somepath/somefile.ini (e.g. "../data/areas.ini") and SBBSecho will use the .ini file format instead of the old AREAS.BBS format (NIH) You can always go back to your areas.bbs file by just reverting the Area File setting back to some other non-ini filename (e.g. "../data/areas.bbs"). Incremented version number to v3.23 Of course documentation and echocfg changes will need to follow, but this is enough to start testing (looking at your Fernando! :-). I tried to minimize the diff as much as possible and resisted updating (modernizing, fixing) the very old AREAS.BBS parsing and areafix code. The new .ini code is largely modeled after the old areas.bbs code, but oh, xpdev/ini_file makes things so much nicer and easier. There are no known fixes for any pre-existing area file/fix issues (including issue #826), but it's always possible I've introduced a new issue.

  246. Rob Swindell (on Debian Linux)
    Mon Nov 18 2024 19:35:18 GMT-0800 (PST)
    Modified Files:
    

    exec/init-fidonet.ini diff
    Update AmigaNet and Fido zone 4 details Use BACKBONE.NA from Vertrauen as echolist for all Fido zones (anyone have a better authoritative http link to a fixed file name or archive name?).

  247. Deucе
    Mon Nov 18 2024 15:29:04 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Add log levels to the rest of the log() calls.

  248. Rob Swindell (on Debian Linux)
    Mon Nov 18 2024 12:37:55 GMT-0800 (PST)
    Modified Files:
    

    exec/init-fidonet.ini diff
    Add FidoNet Zone 2 and Zone 4 coordinator names and contact info Are there official echolists for these zones?

  249. Rob Swindell (on Windows 11)
    Mon Nov 18 2024 11:15:34 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    Fix non-Windows build, broken in previous commit

  250. Rob Swindell (on Windows 11)
    Mon Nov 18 2024 10:56:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ctrl/AboutBoxFormUnit.cpp diff
    Update cryptlib copyright dates to match latest cryptlib.h

  251. Rob Swindell (on Windows 11)
    Mon Nov 18 2024 10:56:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    Simplify fmutex_open() signature even more, add fmutex_init() Can't used designated initializers in fmutex_init() because this file is still built with C++Builder6.

  252. Rob Swindell (on Windows 11)
    Mon Nov 18 2024 10:56:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    We need to initialize the fd to -1 here (since we zero-it out the fmutex_t) and might return before setting it to anything else.

  253. Deucе
    Mon Nov 18 2024 10:01:23 GMT-0800 (PST)
    Modified Files:
    

    src/conio/OverhaulNotes.txt diff
    Add nodes about different screen update methods that will be needed

  254. Rob Swindell (on Windows 11)
    Mon Nov 18 2024 01:48:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Correct initialization of fmutex_t so the file descriptor is -1 For some reason, MSVC was initializing the time_t (second element of the struct) to -1, not the int fd (the first element), which was initialized to 0. Weird.

  255. Rob Swindell (on Debian Linux)
    Sun Nov 17 2024 17:45:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    Simplify the fmutex_open() usage: always auto-remove when using open/close() The auto-remove param was only needed for fmutex(), which immediately closes (and thus don't want auto-removal), so create an internal function that's used by both fmutex() and fmutex_open().

  256. Rob Swindell (on Debian Linux)
    Sun Nov 17 2024 17:27:57 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    Have fmutex_open()/close() accept a fmutex_t* argument This is needed for *nix where normal (i.e. not Samba-mount) file behavior requires that we manually unlink() the file, but not until just before closing it. So we have to keep track of the file name and the 'auto_remove' desire of the caller. This is not necessary when the file is on a Linux-smbfs, but we need to work as expected on normal/local *nix file systems too. This solves atomic lock file removal for *nix, but does not gaurantee lock file cleanup upon ungraceful process termination (e.g. crash). At least in this particular case, Windows beats UNIX.

  257. Rob Swindell (on ChromeOS)
    Sun Nov 17 2024 16:35:15 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Revert "Use fmutex_open for 100% locking and auto-removal upon close/termination" This reverts commit e55183c0953d0b033d9f11796f4290e488596e92. fmutex_open()'s auto-remove feature doesn't work on normal/local Linux file systems: unlink() of a file immediately removes its directory entry allowing subsequent opens of the same file name, defeating the lock. I had tested fmutex_open() on a Samba mount (from Linux) and it worked as I wanted (like the Windows version does). Still searching for a good solution: if a process terminates, gracefully or not, I'd like the file to be removed at that time and until then, other processes or threads can't create or open the same lock file (using O_EXCL and file locking to insure this).

  258. Rob Swindell (on ChromeOS)
    Sun Nov 17 2024 14:03:01 GMT-0800 (PST)
    Modified Files:
    

    exec/load/openweathermap.js diff
    Update the openweathermap (OWM) API version number Change requested in issue #747 and from Dan_C in #synchronet

  259. Rob Swindell (on Debian Linux)
    Sun Nov 17 2024 13:00:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgnode.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    Create/use function to toggle bit flags (options/settings) Oh, so much copy/paste eliminated!

  260. Deucе
    Sun Nov 17 2024 11:08:18 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Log change.

  261. Deucе
    Sun Nov 17 2024 11:08:18 GMT-0800 (PST)
    Modified Files:
    

    src/conio/win32gdi.c diff
    When SyncTERM is deactivated and it is in fullscreen mode, minimize. This appears to be the best we can do when Windows+M (minimize all) is pressed. We don't seem to be notified that we should minimize, only that a different application is being activated. This also makes Alt-TAB behave a bit more like expected.

  262. Rob Swindell (on Debian Linux)
    Sun Nov 17 2024 03:10:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    A little beautification of errno logging

  263. Rob Swindell (on Debian Linux)
    Sun Nov 17 2024 03:07:44 GMT-0800 (PST)
    Modified Files:
    

    exec/mqtt_spy.js diff
    Add backup Ctrl-C input checking, just incase console.aborted isn't working Telnet BINARY_TX mode from the client disables CTRL-C input checking in all versions of SBBS (before now). This change shouldn't be necessary now, but it worked-around the BINARY_TX issue when I was having it (couldn't abort mqtt spy).

  264. Rob Swindell (on Debian Linux)
    Sun Nov 17 2024 02:53:53 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Perform "first level Ctrl-C input checking" even when in Telnet BINARY_TX This condition caused aborting BBS operations via Ctrl-C to fail when connecting from a traditional Telnet client using binary transmission mode (e.g. telnet -8) or SyncTERM v1.2rc6. The check of rio_abortable was probably enough to disable this function during file transfers (e.g. we've had no issues with SSH file transfers that might include byte 0x03 received from the client), but I added the check for SS_FILEXFER system status check too, perhaps unnecessary.

  265. Rob Swindell (on Windows 11)
    Sun Nov 17 2024 01:16:04 GMT-0800 (PST)
    Modified Files:
    

    3rdp/win32.release/cryptlib/bin/cl32.dll diff
    3rdp/win32.release/cryptlib/include/cryptlib.h diff
    Cryptlib v3.4.8 for Win32, patched

  266. Rob Swindell
    Sun Nov 17 2024 00:31:52 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    3rdp/build/cl-Dynamic-linked-static-lib.patch diff
    3rdp/build/cl-PAM-noprompts.patch diff
    3rdp/build/cl-SSL-fix.patch diff
    3rdp/build/cl-add-patches-info.patch diff
    3rdp/build/cl-add-pubkey-attribute.patch diff
    3rdp/build/cl-add-win64.patch diff
    3rdp/build/cl-algorithms.patch diff
    3rdp/build/cl-allow-duplicate-ext.patch diff
    3rdp/build/cl-allow-none-auth-svr.patch diff
    3rdp/build/cl-allow-none-auth.patch diff
    3rdp/build/cl-allow-pkcs12.patch diff
    3rdp/build/cl-allow-servercheck-pubkeys.patch diff
    3rdp/build/cl-allow-ssh-2.0-go.patch diff
    3rdp/build/cl-allow-ssh-auth-retries.patch diff
    3rdp/build/cl-bigger-maxattribute.patch diff
    3rdp/build/cl-bn-noasm64-fix.patch diff
    3rdp/build/cl-channel-select-both.patch diff
    3rdp/build/cl-clear-GCM-flag.patch diff
    3rdp/build/cl-double-delete-fine-on-close.patch diff
    3rdp/build/cl-endian.patch diff
    3rdp/build/cl-fix-cbli-incompatible.patch diff
    3rdp/build/cl-fix-cpuid-order.patch diff
    3rdp/build/cl-fix-mb-w-conv-warnings.patch diff
    3rdp/build/cl-fix-shell-exec-types.patch diff
    3rdp/build/cl-fix-ssh-channel-close.patch diff
    3rdp/build/cl-good-sockets.patch diff
    3rdp/build/cl-haiku-build.patch diff
    3rdp/build/cl-handle-unsupported-pubkey.patch diff
    3rdp/build/cl-just-use-cc.patch diff
    3rdp/build/cl-lowercase-versionhelpers.patch diff
    3rdp/build/cl-macosx-minver.patch diff
    3rdp/build/cl-make-channels-work.patch diff
    3rdp/build/cl-mingw-add-m32.patch diff
    3rdp/build/cl-mingw-vcver.patch diff
    3rdp/build/cl-mingw32-static.patch diff
    3rdp/build/cl-mingw64-is-really-new.patch diff
    3rdp/build/cl-mingw64-thread-handles.patch diff
    3rdp/build/cl-mingw64-unicode-gibble.patch diff
    3rdp/build/cl-moar-objects.patch diff
    3rdp/build/cl-netbsd-hmac-symbol.patch diff
    3rdp/build/cl-netbsd-no-getfsstat.patch diff
    3rdp/build/cl-no-odbc.patch diff
    3rdp/build/cl-no-pie.patch diff
    3rdp/build/cl-no-safe-stack.patch diff
    3rdp/build/cl-no-testobjs.patch diff
    3rdp/build/cl-no-tpm.patch diff
    3rdp/build/cl-no-via-aes.patch diff
    3rdp/build/cl-noasm-defines.patch diff
    3rdp/build/cl-pass-after-pubkey.patch diff
    3rdp/build/cl-poll-not-select.patch diff
    3rdp/build/cl-posix-me-gently.patch diff
    3rdp/build/cl-prefer-ECC-harder.patch diff
    3rdp/build/cl-prefer-ECC.patch diff
    3rdp/build/cl-quote-cc.patch diff
    3rdp/build/cl-ranlib.patch diff
    3rdp/build/cl-read-timeout-every-time.patch diff
    3rdp/build/cl-remove-march.patch diff
    3rdp/build/cl-server-term-support.patch diff
    3rdp/build/cl-ssh-eof-half-close.patch diff
    3rdp/build/cl-ssh-list-ctr-modes.patch diff
    3rdp/build/cl-ssh-sbbs-id-string.patch diff
    3rdp/build/cl-ssh-service-type-for-channel.patch diff
    3rdp/build/cl-terminal-params.patch diff
    3rdp/build/cl-thats-not-asm.patch diff
    3rdp/build/cl-use-ssh-ctr.patch diff
    3rdp/build/cl-vcxproj.patch diff
    3rdp/build/cl-vt-lt-2005-always-defined.patch diff
    3rdp/build/cl-win32-lean-and-mean.patch diff
    3rdp/build/cl-win32-noasm.patch diff
    3rdp/build/cl-zlib.patch diff
    3rdp/build/cl-zz-country.patch diff
    3rdp/dist/cryptlib.zip diff
    Removed Files:

    3rdp/build/cl-fix-ssh-ecc-ephemeral.patch diff
    3rdp/build/cl-fix-ssh-header-read.patch diff
    3rdp/build/cl-fix-test-select.patch diff
    3rdp/build/cl-openbsd-threads.patch diff
    3rdp/build/cl-ssl-suite-blocksizes.patch diff
    3rdp/build/cl-win32-build-fix.patch diff
    Merge branch 'cryptlib-3.4.8' into 'master' Update Cryptlib to 3.4.8 See merge request main/sbbs!473

  267. Deucе
    Sun Nov 17 2024 00:31:51 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/CMakeLists-cl.txt diff
    3rdp/build/CMakeLists.txt diff
    3rdp/build/GNUmakefile diff
    3rdp/build/cl-Dynamic-linked-static-lib.patch diff
    3rdp/build/cl-PAM-noprompts.patch diff
    3rdp/build/cl-SSL-fix.patch diff
    3rdp/build/cl-add-patches-info.patch diff
    3rdp/build/cl-add-pubkey-attribute.patch diff
    3rdp/build/cl-add-win64.patch diff
    3rdp/build/cl-algorithms.patch diff
    3rdp/build/cl-allow-duplicate-ext.patch diff
    3rdp/build/cl-allow-none-auth-svr.patch diff
    3rdp/build/cl-allow-none-auth.patch diff
    3rdp/build/cl-allow-pkcs12.patch diff
    3rdp/build/cl-allow-servercheck-pubkeys.patch diff
    3rdp/build/cl-allow-ssh-2.0-go.patch diff
    3rdp/build/cl-allow-ssh-auth-retries.patch diff
    3rdp/build/cl-bigger-maxattribute.patch diff
    3rdp/build/cl-bn-noasm64-fix.patch diff
    3rdp/build/cl-channel-select-both.patch diff
    3rdp/build/cl-clear-GCM-flag.patch diff
    3rdp/build/cl-double-delete-fine-on-close.patch diff
    3rdp/build/cl-endian.patch diff
    3rdp/build/cl-fix-cbli-incompatible.patch diff
    3rdp/build/cl-fix-cpuid-order.patch diff
    3rdp/build/cl-fix-mb-w-conv-warnings.patch diff
    3rdp/build/cl-fix-shell-exec-types.patch diff
    3rdp/build/cl-fix-ssh-channel-close.patch diff
    3rdp/build/cl-good-sockets.patch diff
    3rdp/build/cl-haiku-build.patch diff
    3rdp/build/cl-handle-unsupported-pubkey.patch diff
    3rdp/build/cl-just-use-cc.patch diff
    3rdp/build/cl-lowercase-versionhelpers.patch diff
    3rdp/build/cl-macosx-minver.patch diff
    3rdp/build/cl-make-channels-work.patch diff
    3rdp/build/cl-mingw-add-m32.patch diff
    3rdp/build/cl-mingw-vcver.patch diff
    3rdp/build/cl-mingw32-static.patch diff
    3rdp/build/cl-mingw64-is-really-new.patch diff
    3rdp/build/cl-mingw64-thread-handles.patch diff
    3rdp/build/cl-mingw64-unicode-gibble.patch diff
    3rdp/build/cl-moar-objects.patch diff
    3rdp/build/cl-netbsd-hmac-symbol.patch diff
    3rdp/build/cl-netbsd-no-getfsstat.patch diff
    3rdp/build/cl-no-odbc.patch diff
    3rdp/build/cl-no-pie.patch diff
    3rdp/build/cl-no-safe-stack.patch diff
    3rdp/build/cl-no-testobjs.patch diff
    3rdp/build/cl-no-tpm.patch diff
    3rdp/build/cl-no-via-aes.patch diff
    3rdp/build/cl-noasm-defines.patch diff
    3rdp/build/cl-pass-after-pubkey.patch diff
    3rdp/build/cl-poll-not-select.patch diff
    3rdp/build/cl-posix-me-gently.patch diff
    3rdp/build/cl-prefer-ECC-harder.patch diff
    3rdp/build/cl-prefer-ECC.patch diff
    3rdp/build/cl-quote-cc.patch diff
    3rdp/build/cl-ranlib.patch diff
    3rdp/build/cl-read-timeout-every-time.patch diff
    3rdp/build/cl-remove-march.patch diff
    3rdp/build/cl-server-term-support.patch diff
    3rdp/build/cl-ssh-eof-half-close.patch diff
    3rdp/build/cl-ssh-list-ctr-modes.patch diff
    3rdp/build/cl-ssh-sbbs-id-string.patch diff
    3rdp/build/cl-ssh-service-type-for-channel.patch diff
    3rdp/build/cl-terminal-params.patch diff
    3rdp/build/cl-thats-not-asm.patch diff
    3rdp/build/cl-use-ssh-ctr.patch diff
    3rdp/build/cl-vcxproj.patch diff
    3rdp/build/cl-vt-lt-2005-always-defined.patch diff
    3rdp/build/cl-win32-lean-and-mean.patch diff
    3rdp/build/cl-win32-noasm.patch diff
    3rdp/build/cl-zlib.patch diff
    3rdp/build/cl-zz-country.patch diff
    3rdp/dist/cryptlib.zip diff
    Removed Files:

    3rdp/build/cl-fix-ssh-ecc-ephemeral.patch diff
    3rdp/build/cl-fix-ssh-header-read.patch diff
    3rdp/build/cl-fix-test-select.patch diff
    3rdp/build/cl-openbsd-threads.patch diff
    3rdp/build/cl-ssl-suite-blocksizes.patch diff
    3rdp/build/cl-win32-build-fix.patch diff
    Update Cryptlib to 3.4.8

  268. Deucе
    Sat Nov 16 2024 23:02:32 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    "support" CHARSET search parameter. Allow only US-ASCII, and send the BADCHARSET response code indicating that. Fixes issue with aerc.

  269. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 22:23:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/date_str.c diff
    Treat -1 as invalid time in time_as_hhmm()

  270. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 22:20:59 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Add a "Use Shell" toggle option for fixed events On *nix, you need the command shell to do wildcard expansion of filenames

  271. Rob Swindell (on Windows 11)
    Sat Nov 16 2024 20:08:18 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Add description comment for find_login_id()

  272. Rob Swindell (on Windows 11)
    Sat Nov 16 2024 20:07:23 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Use safe_strerror() in place of strerror() - everything multithreaded should

  273. Rob Swindell (on Windows 11)
    Sat Nov 16 2024 20:06:54 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs_ini.c diff
    Resolve MSVC warning

  274. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 19:13:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    Fix the "ERROR x getting data user y" log message (usernum was 0). Add the errno value to help root-cause. We really should be using safe_strerror() everywhere.

  275. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 16:25:26 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    Store original "references" header field as an RFC822HEADER in SMB If an original references header field was supplied with the message, include *that* in the header (since it should contain all the IDs of the replied-to message thread) rather than just the message's reply_id (a single message ID) when sending via NNTP. This maintains more NNTP post integrity when sending back out via NNTP. Not sure why we were storing received "references" in the hdr.references returned by parse_news_header(), we don't seem to be using it anywere. Maybe copied from 822header.js or mailproc_util.js? Seems like cruft, so remove it. Also, don't ever send an "In-Reply-To" heder field via NNTP (it's not valid /used for NNTP articles, per RFC 5536).

  276. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 15:12:35 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    In-Reply-To is not a valid NNTP article header field ... so this was just redundant noise. Altough "References" is a valid header field *both* for email and nntp articles, "In-Reply-To" is for email only. per RFC 5536

  277. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 14:38:06 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    Fix the regex in the parsing of the "References" header field We only want one Message-ID (we'll use the last, since that appears to be the message being replied to based on SLRN behavior). This fixes reply linkage when posing from newsreaders that put multiple message-IDs in the references header field. This is required for SBBSecho to do its magic creation of the FTN REPLY kludge during export. This is the fix that Accession was looking for, I think.

  278. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 14:26:09 GMT-0800 (PST)
    Modified Files:
    

    exec/nntpservice.js diff
    Revert "Look up referenced FTN MSGID of messages being POSTed and use in FTN-REPLY" This reverts commit d4692e0a5cf643b67928ec8e2cdf9b333c1ab2d0. Not the fix we're looking for.

  279. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 14:25:55 GMT-0800 (PST)
    Modified Files:
    

    exec/nntpservice.js diff
    Revert "Don't overwrite the posted-reply FTN REPLY ID if it was provided by the client" This reverts commit a7f1a24a2ce7e67a87d067a89450a18108b8965d. Not the fix we're looking for.

  280. Deucе
    Sat Nov 16 2024 14:13:28 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    "Final" optimizations Use the fastest message base access methods documented. Cache read/write configs and avoid parsing on read if unchanged. Make common saves dependent on there being changes. This is likely as good as it gets (assuming it works)

  281. Deucе
    Sat Nov 16 2024 14:13:28 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Don't overwrite the offset with the IMAP offset, add a new one.

  282. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 14:04:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Use fmutex_open for 100% locking and auto-removal upon close/termination

  283. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 13:22:16 GMT-0800 (PST)
    Modified Files:
    

    exec/nntpservice.js diff
    Don't overwrite the posted-reply FTN REPLY ID if it was provided by the client

  284. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 13:14:50 GMT-0800 (PST)
    Modified Files:
    

    exec/nntpservice.js diff
    Look up referenced FTN MSGID of messages being POSTed and use in FTN-REPLY ... for Acccession

  285. Deucе
    Sat Nov 16 2024 12:30:36 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Wrap each cleanup step in a separate try/catch in exit func. Clean up as much as possible.

  286. Deucе
    Sat Nov 16 2024 12:28:13 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Replace / with - in group/sub names Almost no clients support a / in names. Maybe I'll define an x- extension or something when I write my own mail client.

  287. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 12:18:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    Leave the user/*.ftp lock file open for better protection This appears to be the only way to 100% provide mutual exclusivity between Windows and Linux client sharing a Samba file system. Also, make fmutex_close() take a pointer to the file descriptor so that we can better manage the resource (i.e. don't close a descriptor that's already been closed and possibly valid in another thread).

  288. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 11:00:04 GMT-0800 (PST)
    Modified Files:
    

    exec/newslink.js diff
    Print the correct .ini filename where ptrs are saved was printing the filename in uppercase if configured as such

  289. Deucе
    Sat Nov 16 2024 03:04:16 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Overhaul the saved config. Rather than a single file with config for all subs, use a separate file for each sub. This makes clients that do parallel connections to different mailboxes work much better, and make loading and saving the config for a mailbox much faster. The caching stuff is removed to simplify things, and hopefully won't need to come back... we should just not save config if it doesn't change. Only issue I'm still aware of is that 99% of IMAP clients just can't deal with slashes in mailbox paths. Like... at all. The protocol supports them, but every client seems to have a different way of breaking with them.

  290. Deucе
    Sat Nov 16 2024 03:04:16 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Some saved_config cleanup before splitting configs.

  291. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 01:31:16 GMT-0800 (PST)
    Modified Files:
    

    exec/newslink.js diff
    Don't download more msgs than the max for the sub-board (if non-zero) No sense downloading articles we're just going to toss out the next time we performance msgbase maintenance.

  292. Rob Swindell (on Debian Linux)
    Sat Nov 16 2024 01:29:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    We can call remove() right after opening to enable auto-remove on *nix ... which simplifies the fmutex_close() function and signature.

  293. Rob Swindell (on Debian Linux)
    Fri Nov 15 2024 23:54:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/scfg/scfgsrvr.c diff
    Make the spamblock.cfg auto-added entries expirable (configurable duration) By default, the duration is infinite, but some sysops may not want this file to be ever-grower but rather periodically pruned by the new trashman utility. Sysop that don't use spambait.cfg won't benefit from this change.

  294. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 22:37:19 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Just a little wording update on the fmutex file open log message

  295. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 22:36:35 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    Fix for Borland C++ build Also, don't get hostname unless we're surely going to write to the file.

  296. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 22:17:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Use fmutex_close() and don't log ENOENT errors when removing pack*.now files

  297. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 22:17:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    Add fmutex_close() method to atomically remove the mutex file on Win32 The 'atomic_remove' argument isn't used in non-Windows builds since we can remove() before close() on non-Windows OSes already.

  298. Deucе
    Fri Nov 15 2024 21:48:52 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Add a sanity check on saved config. I managed to hit a bug where bseen and seen were both completely filled. No idea how I hit it, so not positive it's fixed. This is cheap insurance against the 43k file groung to 1.6MB for someone else.

  299. Deucе
    Fri Nov 15 2024 19:08:34 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    More speed optimizations 1) Cache the binified seen data rather than regenerate every time 2) Only call js.gc() after a complete fetch or store loop

  300. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 18:28:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Use fmutex_open() instead of fmutex() to better protect the pack*.lock files

  301. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 18:27:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    Add fmutex_open() for cases where you want to keep the mutex file open

  302. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 16:49:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/con_out.cpp diff
    The progress reports (e.g. "[ Done 100.0% ]") should never go to logs

  303. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 16:45:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    Use sopen(... SH_DENYRW) for fmutex() instead of open() O_EXCL doesn't appear to be working very reliably over Samba, so let's add file locking to the equation.

  304. Deucе
    Fri Nov 15 2024 16:09:59 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Don't rollback scan pointer on sub close.

  305. Deucе
    Fri Nov 15 2024 12:49:20 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    What I hope are the last \Seen and \Recent fixes.

  306. Deucе
    Fri Nov 15 2024 12:49:20 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Remove set-but-never-used msg_ptrs

  307. Rob Swindell (on Windows 11)
    Fri Nov 15 2024 12:21:48 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Reolve !ERROR 2 (No such file or directory) removing "data/pack####.now" glob() results might be out of date by the time we look at each file, just skip missing QWK pack semaphore files silently. This should resolve the ".now already gone" messages too. Hopefully. Removed some extraneous quotes around logged event command-lines.

  308. Rob Swindell (on Debian Linux)
    Fri Nov 15 2024 12:19:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Use timestr() instead of ctime_r() for logging full date/times Also when detecting a blocked event_thread, log the event_code that is/was running last.

  309. Deucе
    Fri Nov 15 2024 11:54:12 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Simplify close_sub() Should be no functional change.

  310. Deucе
    Fri Nov 15 2024 10:30:44 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    If open_sub() fails, set readonly to true.

  311. Deucе
    Fri Nov 15 2024 10:24:52 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Save scan_ptr for all subs in config. Also, make save_cfg() require that the lock be held.

  312. Deucе
    Fri Nov 15 2024 09:24:02 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    More Seen flag overhaul. This should now actually work properly. Also, add a debug_exceptions flag to rethrow exceptions so I can get line numbers.

  313. Deucе
    Fri Nov 15 2024 08:12:22 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Roll the epoch back to zero if it hits 9007199254740991 It shouldn't though.

  314. Deucе
    Thu Nov 14 2024 23:59:05 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Fix BODYSTRUCTURE bug that prevented macOS Sequoia from loading messages Also, always use full_send(), not the socket send.

  315. Rob Swindell (on Windows 11)
    Thu Nov 14 2024 22:40:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    Remove "QWK Prepack" feature (has been on chopping block for a long time) This removes unnecessary some cruft and complexity, most especially from the event_thread(). Using sbbs_t::fremove() instead of remove(). This probably resolves some Coverity issues where we weren't checking the return value.

  316. Rob Swindell (on Windows 11)
    Thu Nov 14 2024 22:30:39 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    sbbs_t::fremove() will now, by default, ignore (not log) ENOENT errors ENOENT = "No such file or directory" Passing 'true' for the optional 'log_all_errors' parameter overrides this (logs all errors, including ENOENT).

  317. Rob Swindell (on Debian Linux)
    Thu Nov 14 2024 21:17:21 GMT-0800 (PST)
    Modified Files:
    

    exec/testbuild.js diff
    Updates nightly builds in filebase

  318. Rob Swindell (on Debian Linux)
    Thu Nov 14 2024 21:16:17 GMT-0800 (PST)
    Modified Files:
    

    exec/newslink.js diff
    Return 1 on failure (e.g. authentication failure), not 0 Only log message header read error if the msgbase.status is non-zero Don't try to import anything if the stop semfile is signaled while exporting. Increment revision to 1.2

  319. Rob Swindell (on Debian Linux)
    Thu Nov 14 2024 21:07:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Detect hung event_thread and log details Add log message when spawning background timed event

  320. Rob Swindell (on Windows 11)
    Thu Nov 14 2024 20:54:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Log event command-lines (repeating event code was redundant) Only log messages about QWK mutex files existing when > 60 seconds old

  321. Rob Swindell (on Windows 11)
    Thu Nov 14 2024 20:07:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Better support for multiple hosts handling QWK events First, fix the logged username bug in the "Lock exists" log message. Next, double check that the trigger file (sem file or REP file) still exists after acquiring the file mutex. Use a temp varible (fname) to make the code easier to read.

  322. Deucе
    Thu Nov 14 2024 19:57:25 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Fix UID FETCH deadlock. Also, after grabbing a lock, enter a try/catch that will unlock and re-throw the error.

  323. Deucе
    Thu Nov 14 2024 19:39:55 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Increase lock timeout to 5 min, reset imap config on exception

  324. Rob Swindell (on Windows 11)
    Thu Nov 14 2024 18:24:46 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/answer.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/date_str.h diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/nopen.c diff
    src/sbbs3/nopen.h diff
    src/sbbs3/sbbsecho.c diff
    Only allow one FTP session per QWKnet user account Vertrauen's FTP server gets abused by QWKnet logins sometimes and handling the race conditions around QWK packet creation attempts is silly - there's no legit reason why a QWKnet account needs to be logged-in multiple times concurrently to the hub's FTP server, so reject the subsequent logins even when they're on different hosts (as is the case with Vertrauen). As part of this change: - fmutex() now takes an new time_t* argument to (optionally) store the time of the mutex file for helping logging (locked since when?). - time_as_hhmm() created to format a string as either HH:MM or HH:MM[a|p] (depending on system configuration for 12 or 24 hour time formatting). - renamed the old hhmmtostr ()to tm_as_hhmm() (since it takes a struct tm arg) and have it return a non-padded string (useful in more situations without requiring truncation) when the sysop prefers 24-hour time.

  325. Rob Swindell (on Windows 11)
    Thu Nov 14 2024 18:24:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxtrn.c diff
    Include number of timed events and external programs in title of list windows

  326. Rob Swindell (on Debian Linux)
    Thu Nov 14 2024 18:23:33 GMT-0800 (PST)
    Modified Files:
    

    exec/jsdocs.js diff
    Add git details to version information displayed

  327. Rob Swindell (on Debian Linux)
    Thu Nov 14 2024 01:59:22 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/sopenfile.c diff
    Add a -l (loop) option to retry until failure Pretty remedial option parsing here, the order is significant

  328. Deucе
    Wed Nov 13 2024 23:26:21 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Just overhaul this who chunk of code.

  329. Deucе
    Wed Nov 13 2024 22:37:47 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Mention the change

  330. Deucе
    Wed Nov 13 2024 22:36:31 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    Fix bug reported by DigitalMan It looks like this has been a long-standing UIFC bug (pre-3.0) If a uifc list that can scroll is showing the bottom-most line, and an option that is not the last is deleted, and both *cur and *bar are left untouched, *bar would be adjusted to be too high, resulting in various highlight bar corruption issues. This commit just rewrites that logic to be comprehensible, and ensures that if bar is set such that the list would end before the bottom of the window, it gets moved up. This makes delete do the right thing (didn't test with insert, that may do weird things). Also, since I figured out a good definition of what bar actually represtens, add a comment to that effect.

  331. Rob Swindell (on Windows 11)
    Wed Nov 13 2024 19:46:34 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/scfg/scfgsrvr.c diff
    src/sbbs3/startup.h diff
    Allow a separate log level for the event thread of the terminal server So you want to debug (timed) events, but don't want to get debug-spew in your terminal server log output? Now you can: By default, the event thread log level will be the same as the terminal server, but now you can override this by setting [BBS] EventLogLevel in the sbbs.ini file or set it in SCFG->Servers->Terminal Server->Event Log Level.

  332. Rob Swindell (on Windows 11)
    Wed Nov 13 2024 19:44:43 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_msgbase.c diff
    Document the editor property (field) of the message header object there are still other undocumented fields/properties, but this one for sure was missing.

  333. Deucе
    Wed Nov 13 2024 17:57:15 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    New IMAP search parser/generator Previously, the IMAP search tried to do sneaky things to optimize execution time, but that ended up with problems when nested ()s were used, among other, more subtle issues. Also, the old search wasn't even tested enough so that each term would work. The new system transpiles the IMAP query to Javascript then runs the compiled JS function for each message. Should be much more accurate (though may also be much slower). Actually fixes the issue reported as #397, and closes #730.

  334. Rob Swindell (on Debian Linux)
    Wed Nov 13 2024 14:30:25 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    Import and export the message "editor" as the NNTP "user-agent" header field The message editor is exported/imported to/from FTN as the "NOTE" kludge. For Accession, per irc.synchro.net

  335. Rob Swindell (on Debian Linux)
    Wed Nov 13 2024 14:28:23 GMT-0800 (PST)
    Modified Files:
    

    exec/newslink.js diff
    Don't report how many bases are being scanned, cause we don't know ... was always reporting 0 because 'area' is not an array object

  336. Rob Swindell (on Windows 11)
    Wed Nov 13 2024 12:32:31 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    When processing AreaRequest with -R (rescan), rescan existing echoes too If the body of the request mesages message contains a list of area-tags, even if we already have the node linked to those echoes, do the rescan for each listed echo. Previously, only newly-added echoes would be rescanned via this method. Apparently the D'bridge built-in method of generating AreaManager requests uses this syntax (per Ward Dossche). Also, when rescanning due to AreaManager rescan request and generating a response netmail message, include the total number of messages exported as a result. Increase SBBSecho version number to v3.22 (Please upgrade, Fernando) :-)

  337. Rob Swindell
    Wed Nov 13 2024 11:20:48 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    Merge branch 'ddfilelister_check_cost_in_metadata' into 'master' DDFileLister: Check whether cost is in the file metadata before using it. Also, when getting a file's full path, ensure its name is passed to get_path(), as described by the JS documentation. See merge request main/sbbs!472

  338. Eric Oulashin
    Wed Nov 13 2024 11:20:48 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    DDFileLister: Check whether cost is in the file metadata before using it. Also, when getting a file's full path, ensure its name is passed to get_path(), as described by the JS documentation.

  339. Rob Swindell (on Windows 11)
    Wed Nov 13 2024 00:32:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgnode.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    Add a 'misc' field for System/Fixed Events allow disabling and "Native" Configured in SCFG->External Programs->Fixed Events and the Node Daily Events configured in SCFG->Nodes, now can be disabled (without just clearing the command-line) and toggle-on "Native", so the program doesn't have to be added to the dreaded "Native Program List" in order to *not* be treated as a 16-bit DOS program (the default). Eventually I'll allow multiple of each time of system fixed event, but this is an improvement for now at least.

  340. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 21:13:59 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    A file descriptor of 0 is technically valid (though normally, STDIN) Likely fix for CID 514647

  341. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 21:11:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/fidodefs.h diff
    src/sbbs3/sbbsecho.c diff
    Complete the support for multiple files (FileList) in subject of netmails ... also the support for multiple spaces or commas separating each filename. Oh, FTS-1, how did I miss thee?

  342. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 21:11:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Support multiple files ("FileList" per FTS-1) in subj when creating .REQ files Previously, this feature assumed just one request per FREQ message, however FTS-1 make this clear: If one or more of FileAttached, FileRequest, or FileUpdateReq are asserted in an AttributeWord, the subject{72} field is interpreted as a list of file specifications which may include wildcards and other system-dependent data. This list is of the form FileList = [ FileSpec { Sep FileSpec } ] Null FileSpec = (* implementation dependent file specification. may not contain Null or any of the characters in Sep. *) Sep = ( " " | "," ) { " " }

  343. Deucе
    Tue Nov 12 2024 20:56:57 GMT-0800 (PST)
    Modified Files:
    

    src/conio/Common.gmake diff
    src/sbbs3/GNUmakefile diff
    src/syncterm/GNUmakefile diff
    src/xpdev/Common.gmake diff
    Normalize SDL on macOS Prefer sdl2-config from the path, and only use the framework in /Library/Frameworks if that doesn't exist... to that end, don't copy the framework into the app anymore unless you're using it. This should clean out the pipes.

  344. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 20:18:37 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/scfg/resource.h diff
    src/sbbs3/scfg/scfg.rc diff
    src/sbbs3/sync.ico diff
    Modified Files:

    src/sbbs3/scfg/scfg.vcxproj diff
    Add "SYNC" icon (64x64, captured from GJ's "SYNCH" ANSI splash) To replace lost the default/conio icon (for Windows builds) recently

  345. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 20:00:59 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Support multiple filenames in subjects of file-attach netmails being packed When writing the attached file path/names to the FLO file, parse each filename out of the subject, accordingly. This should fix issue #824. There's an inconsistent support in SBBSecho for FileLists in the subjects of netmail messages. In a couple of places, single-space-separated filelists are fine (but not commas or multiple space, even though they are allowed per FTS-1). This particular fix is just for the packing of netmail messages and the appending the attached file(s) to the FLO file. Those other places (e.g. .REQ file creation) will need their own fixes for proper filelist support.

  346. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 19:04:41 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfglib1.c diff
    Use (new) make_newsgroup_name() function ... to be sure configured newsgroup name is RFC compliant.

  347. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 19:03:38 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Add make_newsgroup_name()

  348. Rob Swindell (on Windows 11)
    Tue Nov 12 2024 19:02:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/main.cpp diff
    Use new FILE_RETRY_ERRNO() macro for sopen() retries in sbbs_t::nopen()

  349. Rob Swindell (on Debian Linux)
    Tue Nov 12 2024 18:16:47 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.c diff
    src/smblib/smbfile.c diff
    src/smblib/smblib.c diff
    Use (new) FILE_RETRY_ERRNO() macro to decide to retry sopen() also retrying fread() and chsize(), but that seems harmless.

  350. Rob Swindell (on Debian Linux)
    Tue Nov 12 2024 18:16:47 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.h diff
    Add FILE_RETRY_ERRNO() definition, to be used in sopen()/lock() loops Note: EBUSY was added to the list of errno values that should cause a retry as observed on Vertrauen, running sbbs-linux on a Samba mount, opening locked files can return failure (-1) with errno = EBUSY, e.g. evnt BBS Events !ERROR 16 (Device or resource busy) in logon.cpp line 616 (logonstats) reading "system stats" access=0 This was apparently resolved by adding EBUSY (16) the values that trigger an sopen() retry (i.e. from [f]nopen()).

  351. Deucе
    Tue Nov 12 2024 09:43:59 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Current IMAP standards to not allow additional text after FLAGS Remove the grease.

  352. Deucе
    Tue Nov 12 2024 00:03:14 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Add more paranoia. This is a suitable amount of paranoia now.

  353. Deucе
    Mon Nov 11 2024 23:59:51 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Add a bit of paranoia to the infinite loop in lock_cfg() too.

  354. Deucе
    Mon Nov 11 2024 23:50:40 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    poll() for write, and break on sock.send() returning zero Should fix log-padding infinite loop.

  355. Deucе
    Mon Nov 11 2024 23:50:40 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Document return values of Socket.poll()

  356. Rob Swindell (on Windows 11)
    Mon Nov 11 2024 18:56:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Include the size of the message headers in the POP3 STAT response too I suppose if we only had messages with no body text, this value could be 0 (not accounting for any headers) and thus throw a client off. So consider this as part of the fix for issue #822.

  357. Rob Swindell (on Debian Linux)
    Mon Nov 11 2024 18:39:25 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Report bigger "size of message" in POP3 LIST response For messages that have no body, we'd report 0. But RFC 1939 says this value is supposed to be "the exact size of the message in octets" <sigh>. This would include header fields, so while we can't know the exact RFC822 size, adding the msg's hdr.length to these values gives size > 0 for messages with no body text and this enables the Apple iPhone Mail app to download the message (fixing issue #822). Part two of this fix is to provide a blank line of message text when there is none. This changes the message displayed in the iPhone Mail app from: "This message cannot be displayed because of the way it is formatted. Ask the sender to send it again using a different format or email program. text/plain" to (the much nicer): "This message has no content".

  358. Deucе
    Mon Nov 11 2024 15:11:46 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    NAMESPACE didn't help with Claws/Sylpheed. Change the message.

  359. Deucе
    Mon Nov 11 2024 14:55:26 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Fix handling of short send()s For some reason, I thought socket.send() did this, but apparently not. Fixes issue transferring large messages. Also, add support for the useless NAMESPACE command.

  360. Deucе
    Mon Nov 11 2024 13:42:37 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Don't map new-scan config to IMAP subscriptions The sets of message bases you want to get over different protocols may be different. While we're here, fix an error with single-parameter FETCH parsing which prevented Sylpheed from being able to read messages.

  361. Deucе
    Mon Nov 11 2024 11:40:47 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Add comment as to why the body is being replaced.

  362. Deucе
    Mon Nov 11 2024 11:26:18 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Update fix in e0e1fc389c Instead of text with completely different meaning, change the "no body" text to a single space.

  363. Deucе
    Mon Nov 11 2024 11:09:34 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Fix deadlock introduced in last commit.

  364. Deucе
    Mon Nov 11 2024 10:22:20 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Hold config lock for whole sequence. Rather than locking for just one message, lock for the entire command when potentially updating Seen data. With this, we can block all connections the user has except the currently executing one, and not need to read/write the seen data between every message. While this can take minutes on very large subs, it's certainly better than hours as previously. It's rude to have multiple sockets actively pumelling the server anyway.

  365. Deucе
    Mon Nov 11 2024 01:42:59 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Do some more optimizations around setting the Seen flag. This speeds things up a fair bit, and will make things faster after an initial scan. I may expand this method a bit to lock other sockets for for either some period of time or some number of messages to allow the initial scan to be even faster.

  366. Deucе
    Mon Nov 11 2024 01:42:58 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Optimize read/save of Seen config Previously, this uses INI format files, with ini file accessors to read and save this file. Now it just dumps a JSON file in and slurps it out. This saves about 0.4s/msg on my system when reading headers.

  367. Deucе
    Mon Nov 11 2024 01:42:58 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    exec/load/822header.js diff
    Fix what appears to be a potential security hole (and some other stuff) If the INI file could not be opened, a failure would be returned, but authentication would (potentially) succeed. I can't think of a way to exploit this, but it's getting late. Also, make some minor optimizations that won't make a difference yet, and move opening the file into a single function.

  368. Rob Swindell (on Debian Linux)
    Mon Nov 11 2024 01:37:50 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgmsg.c diff
    Allow 3 digit message base retry timeout

  369. Rob Swindell (on Windows 11)
    Mon Nov 11 2024 01:20:03 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/nopen.h diff
    src/sbbs3/userdat.c diff
    Reduce LOOP_NOPEN and LOOP_USERDAT from 500 to 100 With the incremental backoffs, these were super long waits for locks. Not sure about my math there, but at 500, the total timeout was not "about 45 seconds" but rather several minutes. At 100, the total max retry time should be almost exactly 45 seconds: Retries ms-per total seconds 0 - 9 0 0 10 - 19 100 1 20 - 29 200 3 30 - 39 300 6 40 - 49 400 10 50 - 59 500 15 60 - 69 600 21 70 - 79 700 28 80 - 89 800 36 90 - 99 900 45* 100 - 109 1000 55 110 - 119 1100 66 120 - 129 1200 78 130 - 139 1300 91 140 - 149 1400 105 150 - 159 1500 120 160 - 169 1600 136 170 - 179 1700 153 180 - 189 1800 171 190 - 200 1900 200! ... so yeah, 500 was way too big a number.

  370. Rob Swindell (on Debian Linux)
    Mon Nov 11 2024 01:06:49 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/showlocks.c diff
    Add support for -r (read-only) open before locking And only supports a single file per invocation now.

  371. Rob Swindell (on Debian Linux)
    Mon Nov 11 2024 01:00:58 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/lockfile.c diff
    Add -r option for opening the file to lock read-only It makes a difference on *nix.

  372. Rob Swindell (on Debian Linux)
    Mon Nov 11 2024 00:58:50 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Revert the lock() change in commit 043feff8 So this change is needed or else fcntl() will fail with errno=BADF if trying to write-lock a file that was opened read-only. Oh well. Added a comment explaining the rationale.

  373. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 23:56:34 GMT-0800 (PST)
    Added Files:
    

    src/xpdev/lockfile.c diff
    src/xpdev/showlocks.c diff
    Some helpful test programs for testing file record locking.

  374. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 23:46:33 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Log a build warning if building for Linux without OFD lock support OFD locks are needed on Linux for appropriate multi-threaded shared file access (using fcntl record locks to prevent corruption), so log a warning if building for Linux without that support. lock() now mimics DOS/Windows again: the result lock is an "all access" lock regardless of what mode the file was open in. I'm not sure why this change was made (commit 11b73134563ce26), but I don't think it was necessary or appropriate (though I can't think of any immediate negative effects). At minimum it makes the code a little more understandable and eliminates an extra call to fcntl().

  375. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 22:41:48 GMT-0800 (PST)
    Added Files:
    

    src/xpdev/sopenfile.c diff
    A useful little program for testing sopen() from filewrap.c This is the program I used (along with flock) to reach the root cause of the SH_COMPAT == SH_DENYRW (no locking) bug in sopen() as well as other interactions between Linux and Windows clients opening the same files across a Samba share.

  376. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 22:09:35 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    Get rid of the fcntl() usage in sopen() You can't lock a file on a Samba share via both fcntl() and flock() (the interact/collide). This code was in a !BSD block which means they guy that wrote/committed it wasn't using it either.

  377. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 20:15:57 GMT-0800 (PST)
    Modified Files:
    

    src/xpdev/filewrap.c diff
    src/xpdev/filewrap.h diff
    Remove the F_SANE*LCKNO stuff It appears Deuce's FreeBSD patch isn't going to be accepted/merged (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=50827), so I'm making this code a little more readable/manageable by removing this unused feature... for now, with Deuce's approval.

  378. Rob Swindell (on Windows 11)
    Sun Nov 10 2024 17:14:22 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbsecho.c diff
    Log a notice-level message when renaming a bad bundle file to *.?_? or *.?-?

  379. Deucе
    Sun Nov 10 2024 11:19:27 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Fix bug introduced in aecde4068 (2018) Properly read the index of the base, not of the base_code. Fixes badly broken STATUS command.

  380. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 13:40:12 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smblib.c diff
    Fix printf formatting issue in error message GCC and Coverity (x 2) both flagged this one.

  381. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 14:48:23 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    exec/nntpservice.js diff
    Use original RFC822-formatted subject, if available (e.g. recv'd via SMTP) This solves issue #817 for TLDR messages imported into DOVE-Net Tech Talk, because those messages are imported via SMTP originally and thus have the original (MIME/Q-encoded subject) in the message header (as RFC822SUBJECT). For other messages with UTF-8 characters in their header fields (e.g. subject), we'll need a different solution (Q-encode header fields that contain non-ASCII chars on the fly), and then this solution could maybe be reverted.

  382. Deucе
    Sun Nov 10 2024 11:19:27 GMT-0800 (PST)
    Modified Files:
    

    exec/imapservice.js diff
    Fix bug introduced in aecde4068 (2018) Properly read the index of the base, not of the base_code. Fixes badly broken STATUS command.

  383. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 13:40:12 GMT-0800 (PST)
    Modified Files:
    

    src/smblib/smblib.c diff
    Fix printf formatting issue in error message GCC and Coverity (x 2) both flagged this one.

  384. Rob Swindell (on Debian Linux)
    Sun Nov 10 2024 14:48:23 GMT-0800 (PST)
    Modified Files:
    

    exec/load/newsutil.js diff
    exec/nntpservice.js diff
    Use original RFC822-formatted subject, if available (e.g. recv'd via SMTP) This solves issue #817 for TLDR messages imported into DOVE-Net Tech Talk, because those messages are imported via SMTP originally and thus have the original (MIME/Q-encoded subject) in the message header (as RFC822SUBJECT). For other messages with UTF-8 characters in their header fields (e.g. subject), we'll need a different solution (Q-encode header fields that contain non-ASCII chars on the fly), and then this solution could maybe be reverted.

  385. Deucе
    Sat Nov 09 2024 21:31:33 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/GNUmakefile diff
    Don't require copying the SDL.framework into the bundle When using MacPorts (and likely Homebrew), this isn't how this works.

  386. Deucе
    Sat Nov 09 2024 21:01:57 GMT-0800 (PST)
    Modified Files:
    

    src/build/Common.gmake diff
    Old sw_vers on macOS uses a single dash. New versions still support that.

  387. Deucе
    Sat Nov 09 2024 20:57:48 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Make darwin-x86 builds verbose for now...

  388. Rob Swindell (on Windows 11)
    Sat Nov 09 2024 20:30:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_socket.c diff
    Don't check recvline() timeout *before* checking if there's data to receive This was a regression: Socket.recvline() used to not care what the timeout duration was so long as there were bytes to receive. Also, remove the ".0" from timeout values in documented mehtods that don't (any longer) accept floating point timeout durations. We used to support fractional seconds for some of these methods, and that was implied by using the floating point default values, but that's no longer the case. poll() still accepts a floating point timeout.

  389. Rob Swindell (on Windows 11)
    Sat Nov 09 2024 20:30:33 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Fix logic in bbs.xfer_prot_menu() This was just a typo which didn't allow the single-file upload xfer prot menu to be shown. Actual fix for CID 11447 (previous attempt, commit f50c866fd was insufficient). Thank you Coverity!

  390. Deucе
    Sat Nov 09 2024 19:21:56 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Reconnect with High Sierra

  391. Deucе
    Sat Nov 09 2024 11:27:43 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Disconnect the x86 mini from the pipes. It's slow and crufty, and there's a new mini on the block now.

  392. Deucе
    Sat Nov 09 2024 01:15:06 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Set MAKE=$(MAKE) for libffi make is gmake. Should fix OpenBSD builds.

  393. Deucе
    Fri Nov 08 2024 23:42:24 GMT-0800 (PST)
    Modified Files:
    

    3rdp/build/GNUmakefile diff
    Add -z for OpenBSD It's super-picky.

  394. Deucе
    Fri Nov 08 2024 23:40:11 GMT-0800 (PST)
    Added Files:
    

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

    3rdp/build/GNUmakefile diff
    A couple patches to build on macOS M2 Use standard isfinite() instead of never-standard finite() Don't use -rpath-link on darwin (since it won't work anyway)

  395. Deucе
    Fri Nov 08 2024 22:49:03 GMT-0800 (PST)
    Modified Files:
    

    src/conio/CMakeLists.txt diff
    USE_CURSES_ANYWAY on Darwin as well.

  396. Deucе
    Fri Nov 08 2024 22:41:55 GMT-0800 (PST)
    Added Files:
    

    3rdp/dist/libffi.tgz diff
    Modified Files:

    3rdp/build/GNUmakefile diff
    Update libffi in SpiderMonkey Rather than trying to back-port platform support, just grab the latest libffi release and jelly it in. Let's wee what the pipes tell us.

  397. Deucе
    Fri Nov 08 2024 22:10:05 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    They need to be different OSs! That's the key!

  398. Deucе
    Fri Nov 08 2024 21:59:21 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Try tags without hyphens? Ugh.

  399. Deucе
    Fri Nov 08 2024 21:50:08 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Apparently tags are a substring match?

  400. Deucе
    Fri Nov 08 2024 21:29:54 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Ok, we need RELEASE=1 or things break.

  401. Deucе
    Fri Nov 08 2024 21:22:54 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Don't use buildflags on M2 yet.

  402. Deucе
    Fri Nov 08 2024 21:20:13 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio_nix.c diff
    Fix stupid

  403. Deucе
    Fri Nov 08 2024 21:18:19 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio_nix.c diff
    If CBAUD is defined, retain the CBAUD bits in c_cflags Otherwise, zero it out. Most termios implementations don't put the speed in here, but this *is* where dragons be.

  404. Deucе
    Fri Nov 08 2024 21:03:14 GMT-0800 (PST)
    Modified Files:
    

    .gitlab-ci.yml diff
    Add the M2 mini This will likely fail though.

  405. Rob Swindell (on Debian Linux)
    Fri Nov 08 2024 20:27:36 GMT-0800 (PST)
    Modified Files:
    

    src/comio/comio_nix.c diff
    Don't reset the port baud rate to 0 in comOpen() As noticed while trouble-shooting issue #813, calling comOpen() would (on Linux, at least) set the port baud rate to 0 bps (B0) which in most or all Linux serial drivers triggers special logic to deassert DTR and RTS signals (to the modem, to attempt to "hangup" any connection). If the app (e.g. sexpots) did not explictily set the port baud rate after calling comOpen(), the port would be unusable. This is not how comOpen() works on Windows. So rather than just overwrite all the bits in termios.c_cflag, we clear the fields we know we want to, set the bits we want, and leave the rest (which usually includes the current baud rate, if CBAUD is defined) as-is.

  406. Rob Swindell (on Debian Linux)
    Fri Nov 08 2024 17:52:11 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/sexpots.c diff
    Enable signal (e.g. Ctrl-C) handling / ignoring Gracefully terminate with SIGQUIT, SIGINT, and SIGTERM Ignore SIGHUP and SIGPIPE.

  407. Rob Swindell
    Fri Nov 08 2024 17:47:45 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'ddfilelister_show_info_check_more_properties_exist' into 'master' DDFileLister: When showing file info, check more of the properties to see if they exist first See merge request main/sbbs!471

  408. Eric Oulashin
    Fri Nov 08 2024 17:47:45 GMT-0800 (PST)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    DDFileLister: When showing file info, check more of the properties to see if they exist first

  409. Deucе
    Thu Nov 07 2024 10:26:23 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    src/syncterm/CHANGES diff
    Fix window scaling on macOS with retina displays SDL_SetWindowSize() takes dimensions in imaginary units it makes up so it can call something "Retina™". SyncTERM however lovingly crafts everything pixel by pixel for an atisanal ode to BBSing. This change converts pixel sizes to Retina™ sizes before resizing the window. Should fix ticket 164.

  410. Deucе
    Thu Nov 07 2024 10:26:00 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/bbslist.c diff
    Allow clicking in the comment line to edit.

  411. Rob Swindell (on Debian Linux)
    Wed Nov 06 2024 00:24:26 GMT-0800 (PST)
    Modified Files:
    

    src/sexpots/file_id.diz diff
    src/sexpots/sexpots.c diff
    When not in Telnet Binary TX mode, expand bare CR received from COM to CRLF I can't believe I missed this - this would've caused definite issues with file transfers. I saw a discussion in FSX MYS (between apam and GEARBOX) which clued me into their being an issue here. I do wish users of SexPOTS would report issues to me. :-( Incremented version to v2.1

  412. Rob Swindell (on Debian Linux)
    Tue Nov 05 2024 19:27:32 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfg/scfgxfr2.c diff
    If fail to create dirs.raw in lib parent dir, create in ctrl_dir instead Fix for issue #809

  413. Deucе
    Tue Nov 05 2024 14:48:00 GMT-0800 (PST)
    Modified Files:
    

    src/sftp/sftp_client.c diff
    Don't retypedef sftpc_state_t for ancient compilers (ie: gcc 4.4)

  414. Deucе
    Tue Nov 05 2024 10:49:30 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Update changes

  415. Deucе
    Tue Nov 05 2024 09:10:44 GMT-0800 (PST)
    Modified Files:
    

    src/conio/scale.c diff
    Use uint64_t instead of double for interpolation. More effort to fix the macOS issue. This could potentially result in slight problens with the rightmost pixel, but will protect against any weird FP issues and -ffast-math concerns.

  416. Rob Swindell (on Windows 11)
    Mon Nov 04 2024 21:43:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/scfgsave.c diff
    Use an .ini style that indents keys and puts blank line after the root section A few extra bytes really helps with human readability.

  417. Rob Swindell (on Windows 11)
    Mon Nov 04 2024 21:43:16 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/logon.cpp diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    Add Monthly fixed (system-wide) event True, a sysop could add/configure a monthly timed event instead, but that requires more configuration. Fixed events are nice in their simplicity. This is intended for running the new Synchronet trashman utility, but could be used for anything that's simple to execute and the sysop: - doesn't care which node/instance of sbbs it runs from - doesn't care exactly what time the event runs - doesn't need the assorted options available for timed events

  418. Deucе
    Mon Nov 04 2024 21:18:13 GMT-0800 (PST)
    Modified Files:
    

    src/conio/scale.c diff
    src/conio/xbr.c diff
    More scaling cleanup... no undefined behaviour Remove undefined behaviour (right-shifting a negative integer) from the scaler... replace with divide-by-2. Any modern compiler should be able to optimize that. On the enabling the compiler front, const-ify more variables and use types that allow removing some casts. I have a bit more hope this will fix the macOS issue than the previous efforts.

  419. Deucе
    Mon Nov 04 2024 19:44:09 GMT-0800 (PST)
    Modified Files:
    

    src/conio/scale.c diff
    Add most const decorations. Not sure what macOS is doing, but it looks like something weird is happening in interpolate_width... maybe some unexpected integer promotion?

  420. Rob Swindell (on Windows 11)
    Mon Nov 04 2024 17:37:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    Internal message/line editor improvements * Allow left and right arrow keys to move between lines (within reason) * Use the K_USEOFFSET getstr() mode flag to keep cursor position when moving between lines with arrow keys * Be smart about integer padding when /Listing lines with numbers * Add range checking (!) and better error reporting for /Lx argument value

  421. Rob Swindell (on Windows 11)
    Mon Nov 04 2024 17:37:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/websrvr.c diff
    Add missing argument to new error log message upone putuserdat() failure Fixes a couple CIDs and a GCC warning

  422. Rob Swindell (on Windows 11)
    Mon Nov 04 2024 17:37:12 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getstr.cpp diff
    src/sbbs3/sbbsdefs.h diff
    Add/use K_RIGHTEXIT and CON_RIGHTARROW for getstr() to be able to return when user right-arrows off end of string (for use in msgeditor).

  423. Rob Swindell (on Debian Linux)
    Mon Nov 04 2024 15:24:44 GMT-0800 (PST)
    Modified Files:
    

    exec/init-fidonet.js diff
    Address sysops sending emails to net-coordinators w/invalid reply-to address Issue raised by Dumas Walker (CAPCITY2) on DOVE-Net: apparently some new sysops run this script before their configured hostname (e.g. mybbs.synchro.net) is valid or their mail server has been tested (can successfully receive Internet e-mail). This attempts to address this concern by: 1. displaying a warning that it's important that the address given is valid 2. attempt to validate that the host portion of the provided address is valid (has a DNS address record or MX record) Uses dns.js for MX-record lookup - thanks Deuce! This script does not validate that the email host can actually receive mail or that the name portion of the mail address is valid: that would require an outbound connection to the host's TCP port 25, which may be blocked by ISPs (if remote) or if its a local server (e.g. the same machine as the BBS), that wouldn't confirm that its reachable by Internet hosts. And not all mail servers support the necessary SMTP commands to validate recipient addresses.

  424. Rob Swindell
    Mon Nov 04 2024 11:37:34 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_scrollable_area_chg_help_window_refresh_header_ansi _and_header_lines' into 'master' DDMsgReader: For ANSI terminals, refresh the area change header ANSI and header lines when exiting from the new scrollable area change help window See merge request main/sbbs!470

  425. Eric Oulashin
    Mon Nov 04 2024 11:37:33 GMT-0800 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: For ANSI terminals, refresh the area change header ANSI and header lines when exiting from the new scrollable area change help window

  426. Deucе
    Sun Nov 03 2024 22:43:23 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Add to changes.

  427. Deucе
    Sun Nov 03 2024 22:40:47 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    Make the default Prestel ID 0 bytes long. CCl4 sends an ENQ character in the login screen, and sends an ENQ which will auto-fill your username. Also, if you enter six zeros into the username, it will take you to the password field. With ten zeros, this means it's impossible to log in to CCl4.

  428. Deucе
    Sun Nov 03 2024 21:50:06 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    src/syncterm/CHANGES diff
    Fix Steady and Concealed Prestel modes Fixes Night Owl

  429. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 19:32:37 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/sbbs3.sln diff
    Add trashman project

  430. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 19:31:20 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    putuserdat() no longer calls dirtyuserdat() if the write/update failed

  431. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 19:30:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/data_ovl.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/useredit.cpp diff
    Move putuserdat() wrapper to data_ovl.cpp where the other userdat wrappers are And have it return bool, like the others. The error logging is different (not using errormsg), but I think that's okay.

  432. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 19:29:09 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/findstr.c diff
    src/sbbs3/trashman.c diff
    Remove trailing newlines from strings in list returned from findstr_list()

  433. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 19:23:53 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/trashman.vcxproj diff
    Modified Files:

    src/sbbs3/trashman.c diff
    Ported to Windows Beautified the output a bit.

  434. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 17:11:45 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/trashman.c diff
    Add a -t (test mode) option, to run in read-only mode

  435. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 17:11:45 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Actually, const is better for libs, prevent overwriting (mostly) If this were const to begin with, would have caught the previously fixed bug with the -lib option clobbering it.

  436. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 17:08:29 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    Check return value of seekuserdat() in putuserdat() and return failure ... trying to get to bottom of user.tab corruption reported in issue #797. Also, don't need to seek in lockuserdat() since we always call seekuserdat() first.

  437. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 17:06:27 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/answer.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/websrvr.c diff
    Check return value of putuserdat() and log any errors Trying to get to the bottom of user.tab corruption (issue #797).

  438. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 14:17:57 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    Use XPDEV_LIBS to solve the trashman-mingw64 link issue (I think)

  439. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 13:52:40 GMT-0800 (PST)
    Added Files:
    

    src/sbbs3/trashman.c diff
    Modified Files:

    src/sbbs3/GNUmakefile diff
    src/sbbs3/objects.mk diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/targets.mk diff
    src/sbbs3/trash.c diff
    src/sbbs3/trash.h diff
    New utility: 'trashman' to manage/maintain text/*.can (filter) files Though we've had the auto-filtering feature for about a year now, with expiration dates supported/added to every trash record, nothing was removing the expired trash/filter items. Until now. Check the size of your text/*.can files: if they're really big, this is the solution. Not yet building for Windows Sysops will want to run this periodically (monthly?), e.g. trashman /sbbs/text/*.can

  440. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 13:48:34 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Don't indent the Date key in the root section

  441. Deucе
    Sun Nov 03 2024 11:07:48 GMT-0800 (PST)
    Modified Files:
    

    src/uifc/uifc32.c diff
    More malloc() return checks

  442. Deucе
    Sun Nov 03 2024 11:00:07 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Add locking around win access

  443. Deucе
    Sun Nov 03 2024 10:56:09 GMT-0800 (PST)
    Modified Files:
    

    src/conio/sdl_con.c diff
    Fix LOR

  444. Deucе
    Sun Nov 03 2024 10:44:57 GMT-0800 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    "Handle" malloc() failures Just scream on stderr, and screw things up in the window.

  445. Deucе
    Sun Nov 03 2024 10:40:07 GMT-0800 (PST)
    Modified Files:
    

    src/syncterm/uifcinit.c diff
    We need to set the palette before calling uifcini32() The palette is used to construct the blank screen buffer using vmem cells, so the background would be in screwy colours when connecting for modes that don't use the CGA 16-colour palette.

  446. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 05:20:02 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Use var keyword for good form (no functional change)

  447. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 05:16:52 GMT-0800 (PST)
    Modified Files:
    

    exec/addfiles.js diff
    Use a different variable name (libname) to not clobber the lib variable Fix to Nelgin's reported error: line 199: TypeError: lib.parse is not a function

  448. Rob Swindell (on Debian Linux)
    Sun Nov 03 2024 03:54:06 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/getstats.c diff
    Don't backup the dsts.ini file when saving changes, not needed any more Root-caused this problem to read() failures which are now caught and logged rather than zeroing out the statistics fields.

  449. Rob Swindell (on Windows 11)
    Sun Nov 03 2024 03:19:58 GMT-0800 (PST)
    Modified Files:
    

    src/sbbs3/mailsrvr.c diff
    Allow email.can to contain email sender/recipient *names* as well as addresses Allow filtering/blocking email based on the name portion of email header fields.

  450. Deucе
    Sun Nov 03 2024 01:48:08 GMT-0700 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Map underscore to pound I think this map may be the final one.

  451. Deucе
    Sun Nov 03 2024 01:39:51 GMT-0700 (PST)
    Modified Files:
    

    src/syncterm/term.c diff
    Make Return send #, use CTRL-Return for return Not tested on Windows.

  452. Deucе
    Sun Nov 03 2024 01:17:27 GMT-0700 (PST)
    Modified Files:
    

    src/conio/cterm.c diff
    src/conio/cterm.h diff
    Implement the remote programming protocol. I don't expect anything actually uses this...

  453. Deucе
    Sat Nov 02 2024 23:45:06 GMT-0700 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/ciolib.h diff
    src/conio/cterm.c diff
    src/syncterm/term.c diff
    src/syncterm/uifcinit.c diff
    Add support for conceal (toggle with tab)

  454. Deucе
    Sat Nov 02 2024 21:35:49 GMT-0700 (PST)
    Modified Files:
    

    src/conio/utf8_codepages.c diff
    Fix some unicode mappings

  455. Rob Swindell
    Sat Nov 02 2024 21:32:51 GMT-0700 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_sub_board_sort_cycling_and_sub_board_scrolling_help_windows' into 'master' DDMsgReader: When changing sub-boards, now supports cycling through sort options via [ and ] (for nelgin). Also, new scrolling window for help text for changing sub-boards. See merge request main/sbbs!469

  456. Eric Oulashin
    Sat Nov 02 2024 21:32:51 GMT-0700 (PST)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/DefaultTheme.cfg diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: When changing sub-boards, now supports cycling through sort options via [ and ] (for nelgin). Also, new scrolling window for help text for changing sub-boards.

  457. Deucе
    Sat Nov 02 2024 21:19:04 GMT-0700 (PST)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/cterm.c diff
    Implement double-height. This is so gross... outputting any character depends on every character above it, so it must be checked every time. If the state was ste up differently, this could be avoided, but it's not, so it can't. For v2, I'm going to want to store some per-line data in a separate struct so I can track this.

  458. Rob Swindell (on Windows 11)
    Sat Nov 02 2024 20:25:31 GMT-0700 (PST)
    Modified Files:
    

    exec/areamgr.hlp diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    Add support for AreaFix -R, -L, and -Q options in subject of AreaMgr requests (these options follow the password by one or more spaces) I implemented these based on AreaFix v1.10 User's Guide, at Ragnarok's suggestion/request. I didn't test them, so looking forward to getting some test results. The -L and -Q options are functionally identically to the %LIST and %QUERY AreaManager commands, while -R ads a little efficiency by combining +areatag (add) and %RESCAN <areatag> requests in a single command.

  459. Rob Swindell (on Windows 11)
    Sat Nov 02 2024 19:31:30 GMT-0700 (PST)
    Modified Files:
    

    src/sbbs3/echocfg.c diff
    src/sbbs3/sbbsecho.c diff
    Support additional arguments in AreaFix request message subject, beyond pass Apparently AreaFix and other area managers assume password never have spaces in them, so they can support additional arguments following the password in the AreaFix request. This change also now disallows setting AreaManager passwords with spaces in them. I don't yet support any of the additional AreaFix request options (e.g. -L, -R, -Q), but am considering it. A bunch of sprintf() -> snprintf() conversions are included in this commit (better string buffer security, probably eliminate a Coverity issue or two).

  460. Rob Swindell (on Debian Linux)
    Sat Nov 02 2024 16:28:44 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/graphics.ppm diff
    The squares with numbers and bombs are now flat and updated colors Lowered the intensity of the green '3' (happier on my red-green colorblindness). Result looks more like the original Windows versions of this game.

  461. Rob Swindell
    Sat Nov 02 2024 16:22:43 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    Merge branch 'ddfilelister_console_clear_line_counter' into 'master' ddfilelister: Clear the console line counter before any searching, etc., to prevent screen pauses. This should help with issue #806 See merge request main/sbbs!468

  462. Eric Oulashin
    Sat Nov 02 2024 15:43:00 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    ddfilelister: Clear the console line counter before any searching, etc., to prevent screen pauses. This should help with issue #806

  463. Rob Swindell (on Windows 11)
    Sat Nov 02 2024 15:21:29 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/GNUmakefile diff
    src/sbbs3/targets.mk diff
    Fix textgen build (when SBBS_OFFICIAL is defined) This build rule needed to be defined *after* objects.mk and rules.mk are included.

  464. Rob Swindell (on Debian Linux)
    Sat Nov 02 2024 15:02:30 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.hlp diff
    xtrn/minesweeper/minesweeper.js diff
    Add support for Ctrl-G to toggle/re-direct graphics mode Also if the help screen is exactly the right number of lines where auto-pause didn't leave any unviewed lines, don't pause twice.

  465. Deucе
    Sat Nov 02 2024 14:00:56 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/cterm.c diff
    Implement line editing support. Changing "stuff" on a line will now propogate to the right appropriately. Next up is double-height characters... hopefully.

  466. Deucе
    Sat Nov 02 2024 11:38:35 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/allfonts.c diff
    src/syncterm/CHANGES diff
    Fix typo for NO_FONTS support

  467. Deucе
    Sat Nov 02 2024 11:13:40 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/allfonts.c diff
    src/conio/ciolib.adoc diff
    src/conio/ciolib.h diff
    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/conio/utf8_codepages.c diff
    src/conio/utf8_codepages.h diff
    src/conio/vidmodes.c diff
    src/conio/vidmodes.h diff
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/syncterm.c diff
    src/syncterm/term.c diff
    Initial Prestel support. Basic Prestel support based on the "Prestel Terminal Specification" Issue 2 by the Post Office. Known issues: Modifying an existing line does not update the row after it. Double height is not supported. Keyboard mapping kinda sucks (looking at you #/Return). Concealed is always shown. Remote programming sequences aren't supported. There appears to be something wrong with the End of the Line title and menu screens, but maybe nelgin did them wrong.

  468. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 23:46:00 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/text.js diff
    New weekday and month name abbreviations

  469. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 23:45:40 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    More new v3.20 stuffs

  470. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 23:42:27 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/writemsg.cpp diff
    text/menu/editor.asc diff
    Refactor the internal message editor /D command to support deletion of ranges Supporting the deletion of ranges of lines (e.g. 10-20 rather than one line at a time) was a big ommission for a long time.

  471. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 23:41:28 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/userdat.c diff
    strListFastDelete() now takes a count argument

  472. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 23:38:39 GMT-0700 (PDT)
    Modified Files:
    

    src/xpdev/ini_file.c diff
    src/xpdev/str_list.c diff
    src/xpdev/str_list.h diff
    strListFastRemove() and strListFastDelete() now take a count argument ... if you're deleting more than one string, this is much more efficient. Note we do some pointer compares (in strListFastRemove) *after* we've freed them in strListFastDelete(). I don't suspect this to be an issue, but it does seem suspect.

  473. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 16:29:51 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Fix U.S. system timezone reverting to Atlantic when the DAYLIGHT flag was set ... integer sign extension at fault here. Also, add examples to Numeric vs. Verbal short date selection dialog. Update some related help text.

  474. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 16:28:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/date_str.c diff
    src/sbbs3/date_str.h diff
    Add verbal_datestr() For cases where we want to the verbal short date output, regardless of sysop preference/configuration.

  475. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 16:27:49 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_system.c diff
    Update docs for datestr() method

  476. Rob Swindell (on Windows 11)
    Fri Nov 01 2024 16:26:28 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfg.c diff
    The wizard progress bar is wider now (more pages), so need to adjust position to not overwrite help "screen" borders

  477. Rob Swindell
    Fri Nov 01 2024 10:31:07 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 'ddfilelister_file_view_and_extended_info_update' into 'master' DDFileLister: Made 'view file' from the xfer menu actually work when used as a loadable module (FL_VIEW). Updated extended information view for files. See merge request main/sbbs!467

  478. Eric Oulashin
    Fri Nov 01 2024 10:31:07 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
    DDFileLister: Made 'view file' from the xfer menu actually work when used as a loadable module (FL_VIEW). Updated extended information view for files.

  479. Rob Swindell (on ChromeOS)
    Wed Oct 30 2024 22:25:09 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/uedit/uedit.c diff
    Fix dstrtounix() usage

  480. Rob Swindell (on Windows 11)
    Wed Oct 30 2024 22:19:42 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/useredit/MainFormUnit.cpp diff
    Fix dstrtounix() usage

  481. Rob Swindell (on Debian Linux)
    Wed Oct 30 2024 21:56:16 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    src/sbbs3/date_str.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/text_id.c diff
    Make the Weekday and Month name abbreviations localizable via text.dat/ini

  482. Rob Swindell (on Windows 11)
    Wed Oct 30 2024 17:38:15 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/UserListFormUnit.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/date_str.h diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/js_system.c diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/str.cpp diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    dstrtounix() now takes the format (enum date_fmt) directly This allows us to use dstrtounix() for MM/DD/YY dates regardless of the system configuration (sysop/locale preference). This fixes issue with QWK route.dat file and door.sys (expiration date) parsing where the date is/has-to-be in MM/DD/YY format, always.

  483. Rob Swindell (on Debian Linux)
    Wed Oct 30 2024 17:22:21 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Include numeric date format hint when editing dates in useredit ... using @-code

  484. Rob Swindell
    Wed Oct 30 2024 17:21: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_issue806' into 'master' ddfilelister: Fix for issue #806 - When scanning files, don't pause for user input between directories. See merge request main/sbbs!466

  485. Eric Oulashin
    Wed Oct 30 2024 17:21:21 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/ddfilelister/ddfilelister.js diff
    xtrn/ddfilelister/readme.txt diff
    xtrn/ddfilelister/revision_history.txt diff
    ddfilelister: Fix for issue #806 - When scanning files, don't pause for user input between directories.

  486. Deucе
    Wed Oct 30 2024 09:53:15 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Fix up previous commit RIPtel reset to the font configured by the user, not the current font. Do the same here.

  487. Deucе
    Wed Oct 30 2024 09:36:24 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/ripper.c diff
    Don't reset font in RIPv3 mode It appears v3 kept the font through a RIP_RESET_WINDOWS command

  488. Rob Swindell (on Debian Linux)
    Tue Oct 29 2024 20:19:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getnode.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/useredit.cpp diff
    Use new C++ wrapper for unixtodstr() Fix new date editing bug in user editor: we must use the numeric format for dates when creating strings to be edited.

  489. Rob Swindell (on Debian Linux)
    Tue Oct 29 2024 20:18:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    Create a C++ wrapper for unixtodstr() No need to use time32_t for this.

  490. Rob Swindell (on Debian Linux)
    Tue Oct 29 2024 20:15:26 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/date_str.c diff
    unixtodstr() will output "00/00/00" on invalid dates instead of "01/00/00" "01/00/00" would get parsed/converted back to Jan-1-2000 (usually), which is usually not what we want.

  491. Rob Swindell (on Debian Linux)
    Tue Oct 29 2024 19:58:53 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/minesweeper/minesweeper.js diff
    Revert back to using system.datestr() for preferred short date display output Stripped trailing whitespace

  492. Rob Swindell (on Debian Linux)
    Tue Oct 29 2024 19:58:53 GMT-0700 (PDT)
    Modified Files:
    

    exec/str_cmds.js diff
    Expand command-line specifiers (e.g. %a) in command-lines passed to ;EXEC ... and friends For Gamgee

  493. Deucе
    Tue Oct 29 2024 15:24:01 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    More changelog goodness... let's rebuild everything!

  494. Rob Swindell (on Debian Linux)
    Tue Oct 29 2024 13:44:57 GMT-0700 (PDT)
    Modified Files:
    

    exec/rlogin.js diff
    Allow multiple uses of -c and -s options to built-up an auth string To solve problem of adding some kind of prefix/tag to a user alias when connecting to a door server. e.g. ?rlogin server -s [TAG] -s %a Hopefully you don't need/want a space separating the string elements, as that's not really doable with this solution.

  495. Deucе
    Tue Oct 29 2024 12:11:11 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    Fix handling of broken CRLF pairs in RIP mode If telnet binary mode is enabled (the new default), and a CR and LF come in on separate recv() calls, the RIP parser would stop at the CR, and pass the LF back to the ANSI parser. Ah, dura-bbs.net, always pushing the limits.

  496. Rob Swindell (on Debian Linux)
    Tue Oct 29 2024 11:17:38 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/getkey.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Fix mnemonics bug introduced in commit b84c583a26e6f We want to not expand tilde to attributes when there are any attribute codes in the mnemonics string. The existene of a non-attribute ctrl-a code should not have prevented the tilde expansion. Fix for issue #805 reported by Nelgin (thank you)

  497. Rob Swindell (on Debian Linux)
    Mon Oct 28 2024 21:55:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgsys.c diff
    Less ambiguous, not unambiguous

  498. Rob Swindell (on Debian Linux)
    Mon Oct 28 2024 21:55:13 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/date_str.c diff
    This isn't C++ and some C compilers don't support the {} initializer syntax

  499. Deucе
    Mon Oct 28 2024 21:48:04 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/ripper.c diff
    More RIP fixes for dura-bbs.net RIP XOR operation had issues with polylines, boxes, etc. where the same pixel could be written more than once, resulting in it being toggled back to the original state. Also, there were some memory leaks of temporary struct ciolib_pixel variables. This is now fixed as well.

  500. Rob Swindell (on Debian Linux)
    Mon Oct 28 2024 21:24:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/atcodes.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/date_str.h diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/putnode.cpp diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/useredit.cpp diff
    Add option to display short dates in verbal/unambiguous formats Although we've added (in SBBS v3.20) configurable numeric date input/display formats for the system, the output was still ambiguous for users (e.g. NN/NN/NN which could be interpretted a number of ways), so I've added an option to choose "verbal" short date formats to be displayed where possible instead. The same value separate from the numeric format (whatever the sysop chose) is used in the verbal date output, but since month name abbreviations are 3 characters, only one separator is used (to keep the output length fixed at 8 characters). The new "Verbal" short date display format is choosable in the SCFG wizard and via SCFG->System->Short Date Format.

  501. Deucе
    Mon Oct 28 2024 19:16:20 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/bbslist.c diff
    src/syncterm/menu.c diff
    Fix mouse select in scrollback Both selecting scrollback from the online menu, and viewing the last scrollback from the main menu were impacted.

  502. Rob Swindell (on ChromeOS)
    Mon Oct 28 2024 18:52:09 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Fix typo: js.terminated, not js.terminate

  503. Rob Swindell (on Windows 11)
    Mon Oct 28 2024 17:49:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_system.c diff
    Support string (text.dat string ID) arguments to bbs.text() and system.text() Currently, this is a slower way to look-up a text.dat string, but requires no load/require of text.js and allows for a shorter syntax to get a text.dat string, i.e. bbs.text("Quit") instead of bbs.text(bbs.text.Quit); Although the bbs.text() ID lookup is cached, it's only marginally faster than system.text() ID lookup, which is not cached and about 1/3 the speed of the other methods of index to string lookup (in the MSVC-Windows build).

  504. Rob Swindell (on Windows 11)
    Mon Oct 28 2024 17:47:30 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/scfg/scfgnode.c diff
    Logon Requirements renamed to Login Requirements, for consistency ... with Servers->Terminal Server->Login Requirements Updated help text: F5->Ctrl-C, no need to hand-update sbbs.ini when adding or removing nodes (any more).

  505. Rob Swindell (on Windows 11)
    Mon Oct 28 2024 16:39:44 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Fix CID 511447 with extra parens

  506. Deucе
    Mon Oct 28 2024 16:02:35 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Add change log

  507. Rob Swindell
    Mon Oct 28 2024 15:47:36 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    Merge branch 'dd_msg_reader_v1_96' into 'master' DDMsgReader: Sorting of sub-boards when changing to another sub-board (for nelgin). Toggleable behavior to only show sub-boards with new messages in the indexed-mode newscan (for kdi4hw). Internal: Updated for bbs.msg_number and bbs.smb_curmsg being write See merge request main/sbbs!465

  508. Eric Oulashin
    Mon Oct 28 2024 15:47:36 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/DDMsgReader/DDMsgReader.cfg diff
    xtrn/DDMsgReader/DDMsgReader.js diff
    xtrn/DDMsgReader/ddmr_cfg.js diff
    xtrn/DDMsgReader/readme.txt diff
    xtrn/DDMsgReader/revision_history.txt diff
    DDMsgReader: Sorting of sub-boards when changing to another sub-board (for nelgin). Toggleable behavior to only show sub-boards with new messages in the indexed-mode newscan (for kdi4hw). Internal: Updated for bbs.msg_number and bbs.smb_curmsg being write

  509. Deucе
    Mon Oct 28 2024 15:44:07 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/conn_telnet.c diff
    Ok, I'm convinced... initiate some telnet negotation - Attempt to suppress go aheads in both directions. - Attempt to set binary mode in both directions - Request the remote echos These express the assumptions that SyncTERM always makes, so it's a good idea to tell the remote this. For systems that don't like this, there is the Raw "protocol".

  510. Deucе
    Mon Oct 28 2024 10:33:43 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/relcheck.txt diff
    Add item to avoid the macOS fiasco of rc4

  511. Deucе
    Mon Oct 28 2024 10:08:39 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/ripper.c diff
    src/syncterm/term.c diff
    src/syncterm/term.h diff
    Make ALT-O mouse control toggle work in RIP mode

  512. Deucе
    Mon Oct 28 2024 09:47:41 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/ripper.c diff
    When RIP changes the vstat mode, also change the cursor When changing between 8 and 16 row fonts in RIP mode, the cursor start and end was left for the old font size... 16 -> 8 would leave the cursor one line below the current position, and 8 -> 16 would leave the cursor in the middle of the cell. This hacks the vstat deeper to fix up the cursor as well. Reported by skipperdoodle1947.

  513. Rob Swindell (on Windows 11)
    Mon Oct 28 2024 01:37:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/email.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/useredit.cpp diff
    Use sbbs_t::xfer_prot_menu() and protnum() to replace copy/pasted logic This is a code clean-up, no change in functionality

  514. Rob Swindell (on Windows 11)
    Mon Oct 28 2024 01:37:59 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    sbbs_t::protnum() and protname() now accept the transfer type as argument It's possible to have multiple transfer protocols with the same mmemonic, but with different transfer types supports (which would be weird, but possible). This allows us to use protnum() to replace a lot of copy/pasted prot looping and comparing logic throughout sbbs. Also added a variant of sbbs_t::quit_key() that takes and returns a string (for easy concatenation to strings of key chars).

  515. Deucе
    Sun Oct 27 2024 22:55:17 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    src/syncterm/ripper.c diff
    Fix issue with RIP and fragmented ANSI If an ANSI sequence spanned multiple recv() calls, it would get silently dropped if RIP was enabled. Reported by skipperdoodle1947 (who does awesome stuff)

  516. Rob Swindell (on Windows 11)
    Sun Oct 27 2024 22:53:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/sbbs.h diff
    src/sbbs3/str.cpp diff
    sbbs_t::xfer_prot_menu() can now return the list of command keys for use by JS bbs.xtrn_prot_menu() immediately, elsewhere soon.

  517. Rob Swindell (on Debian Linux)
    Sun Oct 27 2024 22:44:17 GMT-0700 (PDT)
    Modified Files:
    

    xtrn/mrc/mrc-theme-aqua.ini diff
    xtrn/mrc/mrc-theme-default.ini diff
    xtrn/mrc/mrc-theme-garden.ini diff
    xtrn/mrc/mrc-theme-hot.ini diff
    xtrn/mrc/mrc-theme-lilac.ini diff
    xtrn/mrc/mrc-theme-midnight.ini diff
    xtrn/mrc/mrc-theme-neon.ini diff
    xtrn/mrc/mrc-theme-rustic.ini diff
    xtrn/mrc/mrc-theme-stone.ini diff
    Replace CRLF with LF

  518. Rob Swindell (on Debian Linux)
    Sun Oct 27 2024 22:43:39 GMT-0700 (PDT)
    Modified Files:
    

    exec/user_settings.js diff
    Use the return value of bbs.xfer_prot_menu() Also use console.quit_key for localization support

  519. Rob Swindell (on Debian Linux)
    Sun Oct 27 2024 22:43:39 GMT-0700 (PDT)
    Modified Files:
    

    exec/user_settings.js diff
    Use the new bbs.xfer_prot_menu() method In place of the copy/pasted/ported from C++ version of the same logic

  520. Rob Swindell (on Windows 11)
    Sun Oct 27 2024 22:35:39 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    bbs.xfer_prot_menu() now returns the list of protocol keys (mnemonics) ... that the user has access to

  521. Rob Swindell (on Windows 11)
    Sun Oct 27 2024 21:59:08 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    New method: bbs.xtrn_prot_menu() So we don't have to reimplement this logic in user_settings.js (or equivalent) any longer.

  522. Rob Swindell (on Windows 11)
    Sun Oct 27 2024 21:58:48 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/text_defaults.c diff
    Latest default text from ctrl/text.dat

  523. Deucе
    Sun Oct 27 2024 10:24:00 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/icons/generate-unix.sh diff
    src/syncterm/syncterm16.png diff
    src/syncterm/syncterm22.png diff
    src/syncterm/syncterm24.png diff
    src/syncterm/syncterm256.png diff
    src/syncterm/syncterm32.png diff
    src/syncterm/syncterm36.png diff
    src/syncterm/syncterm48.png diff
    src/syncterm/syncterm64.png diff
    Modified Files:

    src/syncterm/CMakeLists.txt diff
    src/syncterm/GNUmakefile diff
    Removed Files:

    src/syncterm/syncterm.png diff
    Update to new icon files for UNIX style installs Also, fix manpage generation for CMake.

  524. Deucе
    Sun Oct 27 2024 08:51:45 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/relcheck.txt diff
    Add a release checklist. I've forgotten one of these for every RC except the first one for v1.2. :(

  525. Deucе
    Sat Oct 26 2024 23:39:31 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    Fix warnings. Thanks nelgin.

  526. Deucе
    Sat Oct 26 2024 23:37:59 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/syncterm.ico diff
    Add missing icon

  527. Deucе
    Sat Oct 26 2024 23:37:59 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Mention new icons in changes.

  528. Deucе
    Sat Oct 26 2024 22:56:48 GMT-0700 (PDT)
    Added Files:
    

    src/syncterm/icons/README.md diff
    src/syncterm/icons/generate-win.sh diff
    src/syncterm/icons/generate.sh diff
    src/syncterm/icons/syncterm-Haiku.iom diff
    src/syncterm/icons/syncterm-Haiku.rdef diff
    src/syncterm/icons/syncterm-Haiku.svg diff
    src/syncterm/icons/syncterm-mini.svg diff
    src/syncterm/icons/syncterm.iom diff
    src/syncterm/icons/syncterm.rdef diff
    src/syncterm/icons/syncterm.svg diff
    Modified Files:

    src/conio/ciolib.rc diff
    src/syncterm/LICENCE diff
    src/syncterm/SyncTERM.icns diff
    src/syncterm/haiku.rdef diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.rc diff
    Change to new icons contributed by zuMi. The amazing Haiku community has redesigned the SyncTERM icons for me! Unfortunately, I had to remove the default "Synch" icon from ciolib so that SyncTERM could have its own separate icon. :( I'm not sure if the msvc builds are using the ciolib.rc file or not, and I'm not sure how they can add an icon... I'll net DigitalMan sort that out (sorryish).

  529. Deucе
    Sat Oct 26 2024 19:49:18 GMT-0700 (PDT)
    Modified Files:
    

    src/syncterm/CHANGES diff
    Whoops, need separate commit for master for this now.

  530. Rob Swindell
    Sat Oct 26 2024 15:15:39 GMT-0700 (PDT)
    Added Files:
    

    xtrn/mrc/mrc-theme-aqua.ini diff
    xtrn/mrc/mrc-theme-default.ini diff
    xtrn/mrc/mrc-theme-garden.ini diff
    xtrn/mrc/mrc-theme-hot.ini diff
    xtrn/mrc/mrc-theme-lilac.ini diff
    xtrn/mrc/mrc-theme-midnight.ini diff
    xtrn/mrc/mrc-theme-neon.ini diff
    xtrn/mrc/mrc-theme-rustic.ini diff
    xtrn/mrc/mrc-theme-stone.ini diff
    Modified Files:

    xtrn/mrc/mrc-client.js diff
    xtrn/mrc/mrc-connector.js diff
    xtrn/mrc/mrc-session.js diff
    xtrn/mrc/readme.txt diff
    Merge branch 'mrc-mods-by-codefenix-20241020' into 'master' MRC: Session stats, mentions, themes, indenting, buffer display, and more See merge request main/sbbs!464

  531. Craig Hendricks
    Sat Oct 26 2024 15:15:39 GMT-0700 (PDT)
    Added Files:
    

    xtrn/mrc/mrc-theme-aqua.ini diff
    xtrn/mrc/mrc-theme-default.ini diff
    xtrn/mrc/mrc-theme-garden.ini diff
    xtrn/mrc/mrc-theme-hot.ini diff
    xtrn/mrc/mrc-theme-lilac.ini diff
    xtrn/mrc/mrc-theme-midnight.ini diff
    xtrn/mrc/mrc-theme-neon.ini diff
    xtrn/mrc/mrc-theme-rustic.ini diff
    xtrn/mrc/mrc-theme-stone.ini diff
    Modified Files:

    xtrn/mrc/mrc-client.js diff
    xtrn/mrc/mrc-connector.js diff
    xtrn/mrc/mrc-session.js diff
    xtrn/mrc/readme.txt diff
    MRC: Session stats, mentions, themes, indenting, buffer display, and more

  532. Deucе
    Sat Oct 26 2024 14:08:32 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/bitmap_con.c diff
    src/conio/sdl_con.c diff
    src/conio/x_events.c diff
    Fix an off-by-less-than-one issue in bitmap_double_mult_inside() This was sometimes causing an integer scaled mode (ie: 4×) to be reduced to very slightly less than that (ie: 3.996255×), making the window one pixel smaller than it was supposed to be due to integer truncation. This could result in being unable to increase the window size using the Alt+Right-Arrow shortcut and could make new windows one full size smaller than they needed to be (such as C64 windows). While we're here, fix the SDL and X11 outputs to trust what bitmap_drv_init_mode() does. It was fixed when GDI mode was being written, but the other drivers weren't updated to take advantage of that. Should resolve issue 156 reported by DigitalMan

  533. Rob Swindell (on Debian Linux)
    Sat Oct 26 2024 14:02:30 GMT-0700 (PDT)
    Removed Files:
    

    exec/batxfer.js diff
    File was renamed to batchxfer.js

  534. Rob Swindell (on Debian Linux)
    Sat Oct 26 2024 13:02:55 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/main.ini diff
    Renamed batxfer.js to batchxfer.js The ini key value name remains the same: batxfer

  535. Rob Swindell (on Debian Linux)
    Sat Oct 26 2024 13:00:46 GMT-0700 (PDT)
    Added Files:
    

    exec/batchxfer.js diff
    Renamed batxfer to batchxfer <nelgin> batxfer? Why not called it batchxfer ? The extra 2 characters help :) [shrug]

  536. Deucе
    Fri Oct 25 2024 22:34:39 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    ANSI mode isn't just for Windows

  537. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 22:08:39 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/main.ini diff
    Make batxfer.js to the default Batch Transfer loadable module (for new installs)

  538. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 22:06:02 GMT-0700 (PDT)
    Added Files:
    

    exec/batxfer.js diff
    A new "Batch Transfer" loadable module Replaces hard-coded batch transfer menu, same functionality

  539. Deucе
    Fri Oct 25 2024 22:01:31 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    src/conio/win32cio.c diff
    Change cursor to blinking unline using ANSI sequences. Whee.

  540. Deucе
    Fri Oct 25 2024 21:46:22 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    src/conio/win32cio.c diff
    More bugs like Microsoft

  541. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 21:39:11 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/listfile.cpp diff
    If file already in download queue, don't display protocol selection Use localizable [Q]uit key Removed trailing whitespace

  542. Deucе
    Fri Oct 25 2024 21:36:21 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    src/conio/win32cio.c diff
    Save and restore the console state for ANSI and Win32Console Now it doesn't leave the console all messed up.

  543. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 21:11:05 GMT-0700 (PDT)
    Modified Files:
    

    ctrl/text.dat diff
    Better support for long filenames in batch queue strings

  544. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 21:06:05 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/js_bbs.cpp diff
    Add bbs.download_cps, batch_sort(), and batch_remove() Helpful for a JS batch file transfer menu

  545. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 21:05:21 GMT-0700 (PDT)
    Modified Files:
    

    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    batch_file_remove() can now remove multiple files matching pattern Returns count of files removed now (not bool).

  546. Rob Swindell (on Windows 11)
    Fri Oct 25 2024 16:52:51 GMT-0700 (PDT)
    Modified Files:
    

    docs/v320_new.txt diff
    More new things in v3.20

  547. Deucе
    Fri Oct 25 2024 14:55:27 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    src/conio/ciolib.c diff
    src/conio/win32cio.c diff
    Set the size of the CONSOLE_SCREEN_BUFFER_INFOEX first This allows GetConsoleScreenBufferInfoEx() to work for palette changes, allowing Console to not suck. However, we now prefer ANSI mode over Win32 Console, so make that so it can actually fail on Windows of stdout is a TTY and we can't set the ENABLE_VIRTUAL_TERMINAL_PROCESSING flag. With this, ANSI mode is used in Windows Terminal, and Win32 Console is used in Legacy Console, and all should be good with the world.

  548. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 14:49:42 GMT-0700 (PDT)
    Modified Files:
    

    exec/user_settings.js diff
    Update the node*/terminal.ini for every iteration of this menu (as is/was done in useredit.cpp) Fix the default download protocol columning display (missing final newline in many cases).

  549. Rob Swindell (on Debian Linux)
    Fri Oct 25 2024 13:21:24 GMT-0700 (PDT)
    Modified Files:
    

    exec/load/shell_lib.js diff
    Display menu/tmessage.* when entering file transfer section, if it exists This appears to be have been missed in the conversion from Baja Reported by vela025

  550. Deucе
    Fri Oct 25 2024 13:15:36 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    Don't use ANSI.SYS extensions CSI s and CSI u are ANSI.SYS extensions, and aren't needed here. We're clearing the screen and moveing the cursor anyway.

  551. Deucе
    Fri Oct 25 2024 13:02:30 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    Disable the clear to end-of-line optimization Not only was it broken when window() is set, it's also broken when the width is not the full screen width. We've now disabled pretty much all the optimizations... but it works.

  552. Deucе
    Fri Oct 25 2024 11:24:49 GMT-0700 (PDT)
    Modified Files:
    

    src/conio/ansi_cio.c diff
    src/conio/win32cio.c diff
    Clean up ANSI output a bit Specifically, make Win32 Terminal output not suck. If stdout is a tty, set the palette appropriately, avoid using \n since Windows can't seem to be stopped from expanding it to \r\n nd brob the Console modes a bit harder.

  553. Deucе
    Thu Oct 24 2024 22:20:05 GMT-0700 (PDT)
    Modified Files:
    

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    src/syncterm/CHANGES diff
    Log the changes.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ctrl/mime_types.ini diff
    Add mp4 MIME type mapping

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    src/syncterm/haiku.rdef diff
    Modified Files:

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

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

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

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

    src/syncterm/PackageInfo.in diff
    Modified Files:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    src/syncterm/CHANGES diff
    Remove duplicated item

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

    src/syncterm/CHANGES diff
    Mention GDI AltGr fix

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

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

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

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

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

    src/conio/win32gdi.c diff
    Whoops.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    install/GNUmakefile diff
    Renamed to install-sbbs.mk

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    src/syncterm/CHANGES diff
    Ring the changes

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

    src/xpdev/CMakeLists.txt diff
    Remove spurious brace

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    src/syncterm/CHANGES diff
    Mention CMake changes

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

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

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

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

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

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

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

    src/syncterm/CHANGES diff
    Add NetBSD fix note

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

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

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

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

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

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

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

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

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

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

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

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

AuthorCommitsLatest
Rob Swindell400Mon Dec 23 2024 01:13:11 GMT-0800 (PST)
Eric Oulashin20Sun Dec 22 2024 19:00:27 GMT-0800 (PST)
Deucе278Thu Dec 19 2024 14:03:22 GMT-0800 (PST)
Craig Hendricks1Sat Oct 26 2024 15:15:39 GMT-0700 (PDT)
mcmlxxix3Sat Oct 05 2024 13:24:44 GMT-0700 (PDT)

For older commits (in CVS), click here

Dynamically generated in 396 milliseconds