Synchronet Git Commit Log

This is a log of the 500 most recent pushes to the master branch of the Synchronet Git repository.
If you want to view more pushes/commits, you can by passing ?<number> in URL.
  1. Eric Oulashin
    Tue Dec 07 2021 20:42:52 GMT-0800 (PST)
    Modified Files:
    
    exec/load/dd_lightbar_menu.js diff
    Made a fix (kludge?) to properly write menu items with the check character (multi-selected) in a borderless menu (vs. a menu with borders).
  2. Rob Swindell
    Tue Dec 07 2021 22:24:54 GMT-0800 (PST)
    Modified Files:
    
    exec/load/dd_lightbar_menu.js diff
    Merge branch 'ddLightBarMenuMultiSelectDrawFix' into 'master' dd_lightbar_menu: Made a fix (kludge?) to properly write menu items with the check character See merge request main/sbbs!127
  3. Deucе
    Tue Dec 07 2021 12:17:56 GMT-0800 (PST)
    Modified Files:
    
    3rdp/build/cl-poll-not-select.patch diff
    Remove check for fd <= FD_SETSIZE This was preventing cryptlib from working with socket descriptors over FD_SETSIZE despite being patched to use poll() to avoid the issue it's protecting against. May fix the various SSH/SSL internal error issues.
  4. Rob Swindell
    Mon Dec 06 2021 15:23:09 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbs3.sln diff
    Don't build sbbsexec.dll by default for debug builds This build is touchy and requires an explicit path to a Win10 SDK directory, so just disable by default for (for debug build). We still want this built by default for CI, which are release builds.
  5. Rob Swindell
    Sun Dec 05 2021 18:42:36 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/ftpsrvr.c diff
    Fix FTPS upload failure: !DATA ERROR 0 receiving on data socket Don't treat CRYPT_ERROR_COMPLETE (-24) as a socket error during upload since it's an indication that the remote closed the connection and is the normal "end of file/transfer" indicator, not an error. 'rd' is already 0 in this case, so no need to set at all (since recv() returns 0 upon disconnect and that's what we're emulating here). Fixes issue #309 reported by Jas Hud.
  6. Rob Swindell
    Sun Dec 05 2021 18:08:16 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sexyz.c diff
    src/sbbs3/xmodem.c diff
    Allow local abort/cancel to abort (more) retries/loops While debugging a SyncTERM upload issue, I came across some scenarios where an out of control file transfer could not be aborted via local key press (e.g. Ctrl-C, Ctrl-Break). We use zm.local_abort for all local abort indications (even for X/YMODEM). <shrug>
  7. Rob Swindell
    Thu Dec 02 2021 20:40:55 GMT-0800 (PST)
    Modified Files:
    
    src/xpdev/genwrap.c diff
    Work around GetVersionEx deprecation warning/error For some reason this deprecation warning is being treated as an error (and only with newer Windows platform SDKs). Just disable this warning for the GetVersionEx line. See https://stackoverflow.com/questions/22303824/warning-c4996-getversionexw-wa s-declared-deprecated for details.
  8. Rob Swindell
    Thu Dec 02 2021 21:03:15 GMT-0800 (PST)
    Added Files:
    
    src/sbbs3/sbbsexec.vcxproj diff
    Modified Files:
    src/sbbs3/sbbs3.sln diff
    Add sbbsexec.dll project (again) Regenerated for MSVC2019, the Synchronet virtual UART/FOSSIL driver (VDD) can be built from Visual Studio again (the makevdd.bat can probably go away now). I haven't had an MSVC project to build this DLL since the old MSVC 6.0 sbbsexec.dsp file. A few oddities about this project: 1. xpdev files had to directly included/compiled in this project rather than linking with the xpdev_mt.lib because __stdcall calling convention is required for compatibility with ntvdm.lib and xpdev_mt.lib is built using __cdecl calling convention (the default). Rather than re-introducing the calling convention game-playing that I just recently removed (e.g. #define DLLCALL), just build the required xpdev files directly as part of this project. Perhaps there is a more elegant solution that I'll revisit later. 2. The absolute path of my install Windows 10 SDK directories had to be specified (for include and library paths) to find vdd_svc.h and ntvdm.lib. Weird thing is that I didn't have to do anything hacky like this with the command-line/batch file build method. Again, there's probably a better solution I'm not seeing. But as is, this project might not build on other systems. So why use this rather than the brute-force batch file (makevdd.bat)? Well, this should be a little easier to get into CI/nightly builds and the resulting release build was 30KB (instead of 150KB), so that's good. Before: 1AA00 size of code AA00 size of initialized data 0 size of uninitialized data After: 4C00 size of code 2A00 size of initialized data 0 size of uninitialized data Those default DLL project build options include some good optimization flags apparently.
  9. Rob Swindell
    Tue Nov 30 2021 22:52:03 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/dosxtrn/dosxtrn.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsexec.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/vdd_func.h diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    Removed Files:

    src/sbbs3/execvxd.h diff
    src/sbbs3/execvxd/c.bat diff
    src/sbbs3/execvxd/debugout.h diff
    src/sbbs3/execvxd/makefile diff
    src/sbbs3/execvxd/sbbsexec.cpp diff
    src/sbbs3/execvxd/sbbsexec.h diff
    src/sbbs3/execvxd/sbbsexec.vrc diff
    Remove the last remnants of Win9x/Me support Allow "FOSSIL Only" as a configuration option for external programs in SCFG. This is a much easier method of disabling the virtual UART support in the Virtual UART/FOSSIL device driver (if/when necessary) than editing the sbbsexec.ini file (which is still supported).
  10. Rob Swindell
    Tue Nov 30 2021 19:14:31 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbsexec.c diff
    The sem_wait() call was just a bad idea after-all The sem_wait() call from vdd_read() that was fixed in the previous commit to this file was a bad idea to begin with: There is (often) not a 1:1 ratio of bytes in the receive ring buffer and the semaphore count, so we'd often halt here waiting for the semaphore to be signaled even though there were still characters in the receive buffer. This caused (new) stalls/hangs in keyboard input in DOS door games. We didn't see this previously because the sem_wait() call just didn't work (wrong semaphore pointer value). Now, call sem_trywait_block() in vdd_read(), but only if the RingBufRead() returned 0 (no bytes read) and even then, only block/wait for a maximum of 30 seconds (same as X00 FOSSIL driver). This blocking behavior is specified for FOSSIL function 02h (Get received character with wait) and would not have worked previous to the previous "fix", so now we have that corrected behavior too. The FTSC spec says the wait is indefinite, but I think a 30 second timeout (ala X00) is more reasonable. Log the git brach/hash instead of the old CVS revision. GetMailSlotInfo() apparently always fails on Windows 7 with error 87 (even using Microsoft's own sample code), so lower the log message severity of that failure from ERR to DEBUG. Apparently this is pretty harmless anyway as nothing really needs the write-mailslot status. <shrug>
  11. Rob Swindell
    Tue Nov 30 2021 19:25:36 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/dosxtrn/dosxtrn.c diff
    src/sbbs3/fossdefs.h diff
    Fix some FOSSIL functions Function 0Ch (peek) never worked correctly (character was not returned in AX); I guess nothing uses this function (?). Function 01h (transmit char w/wait) now will set the timeout flag (0x8000) in the AX if the VDD_WRITE function fails (returns value other than 1). Optimize Function 18h (read block) - no need for the extra VDD_STATUS call. Use newly defined FOSSIL macros instead of magic numbers of port status bits. Log the git branch/hash values to the Windows debug log (via sbbsexec.dll).
  12. Rob Swindell
    Tue Nov 30 2021 18:47:54 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/chat.cpp diff
    Add a debug line when wrapping split-screen chat lines. Is this the point when the lost chars problem happens?
  13. Rob Swindell
    Mon Nov 29 2021 19:53:45 GMT-0800 (PST)
    Added Files:
    
    src/sbbs3/dosxtrn/.gitignore diff
    Modified Files:
    src/sbbs3/.gitignore diff
    Ignore sbbsexec.dll and dosxtrn.exe build artifacts.
  14. Rob Swindell
    Mon Nov 29 2021 19:39:00 GMT-0800 (PST)
    Modified Files:
    
    install/GNUmakefile diff
    Fix typo in condition (if linux) for setting the SETCAP/setcap target As reported via irc by Nelgin, the setcap target was not being passed to 'make -C src/sbbs3' by default (on Linux) due to a misplaced paren.
  15. Rob Swindell
    Mon Nov 29 2021 18:28:45 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/ringbuf.h diff
    Finally get rid of RINGBUFCALL (finish what was started in April of this year) Missing part of commit 4da964dd8ff83256df5755e525a0f3f42b1f30d3
  16. Rob Swindell
    Mon Nov 29 2021 18:28:45 GMT-0800 (PST)
    Added Files:
    
    src/sbbs3/makevdd.bat diff
    A batch file to build SBBSEXEC.DLL (may or may not require NTDDK?) Using options (e.g. RINGBUF_MUTEX) from old sbbsexec.dsp
  17. Rob Swindell
    Mon Nov 29 2021 18:40:09 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/dosxtrn/dosxtrn.c diff
    src/sbbs3/sbbsexec.c diff
    src/sbbs3/xtrn.cpp diff
    Add support for NTVDMx64 Yes, you can run 16-bit DOS doors on 64-bit (x64) Windows now. Install NTVDMx64 (http://www.columbia.edu/~em36/ntvdmx64.html, it's not as onerous as it sounds) and re-enable DOS program support in SBBS (i.e. make sure "NO_DOS" is not in your sbbs.ini [bbs] Options value) and voila: DOS doors work. This change adds an empty init routine to sbbsexec.dll since older versions of NTVDM (which NTVDMx64 is based on) required one. Also, the sbbsexec.dll should be located in your Synchronet "exec" directory when using NTVDMx64 (in addition to or instead of your Windows/System32 directory).
  18. Rob Swindell
    Mon Nov 29 2021 18:02:19 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbsexec.c diff
    Fix sem_wait() call in vdd_read() Introduced in Revision 1.16 (CVS) Wed May 10 08:52:11 2006 UTC (15 years, 6 months ago) by rswindell This was supposed to wait (block) until there was a new received byte (the ringbuf semaphore was signaled), but we were passing the sem_t value rather than the pointer to the sem_t. Since sem_t (on Windows) is a HANDLE (which is a void*), there was no compiler warning or error. Type-safety in C sucks. So, this just never worked (I'm assuming the call would just fail). I discovered this bug while working on NTVDMx64 support and in that case, this call would block/wait forever. Simple one character fix.
  19. echicken
    Sat Nov 27 2021 20:22:22 GMT-0800 (PST)
    Modified Files:
    
    xtrn/bullshit/bullshit-lib.js diff
    Don't crap out if [files] section empty or missing.
  20. echicken
    Sat Nov 27 2021 20:06:44 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    FWebSocketHeader should just be a bare object.
  21. echicken
    Thu Nov 25 2021 20:49:26 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    Case-insensitive search for headers in ShakeHands. Some proxies like to mangle these unless you tell them not to. Capture the value of the X-Forwarded-For header, if present, and stash it in FWebSocketHeader['X-Forwarded-For'].
  22. echicken
    Thu Nov 25 2021 21:05:24 GMT-0800 (PST)
    Modified Files:
    
    exec/load/ftelnethelper.js diff
    Added UsingHAProxy() function to this here funclib dot js
  23. echicken
    Thu Nov 25 2021 21:07:40 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    If BBS is using HAProxy ([BBS] Options line has HAPROXY_PROTO) then throw an error if X-Forwarded-For header was not received, or otherwise do the HAProxy thing upon connecting.
  24. echicken
    Thu Nov 25 2021 21:10:52 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    Avoid spurious connections to the terminal server - and some other unnecessary work - if the BBS is using HAProxy but we can't do the thing with the stuff because we don't have the things.
  25. echicken
    Thu Nov 25 2021 22:20:59 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    Added inet_pton function borrowed from the internet. Added incomplete send of haproxy protocol header. Need to sort out lookup of target (BBS) IP address.
  26. echicken
    Thu Nov 25 2021 22:34:33 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    Hurr. But also, this needs some revision since I'm supposed to send the header all at once and probably shouldn't be doing a bunch of individual sendBin calls.
  27. echicken
    Thu Nov 25 2021 22:43:59 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    Build protocol header as string and send all in one big barforama.
  28. echicken
    Fri Nov 26 2021 05:34:16 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    Use client address from header
  29. echicken
    Fri Nov 26 2021 05:38:20 GMT-0800 (PST)
    Modified Files:
    
    exec/websocketservice.js diff
    Address family must occupy bytes 15 & 16
  30. echicken
    Thu Nov 25 2021 19:41:24 GMT-0800 (PST)
    Modified Files:
    
    exec/presence-service.js diff
    Changed the format of some messages.
  31. Rob Swindell
    Tue Nov 23 2021 21:14:32 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/dosxtrn/dosxtrn.c diff
    Implement FOSSIL function 0Dh (Keyboard read without wait) As a work around for TradeWars 2 (v11.14 and v11.20) FOSSIL support: This door game would never call the FOSSIL "get received character" function (02h) . But I did notice that it was calling the "Keyboard read" functions. I never implemented the "Keyboard read" functions (figured the door game could read the keyboard itself if it wanted to), but appparently TW2 won't ever read the COM port (using function 02h) unless the Keyboard read function returns AX=0xFFFF (no keyboard data available). So now, I just do that and TW2 works (with FOSSIL I/O). Incremented the revision to 26. Logging the Git branch/hash and other helpful FOSSIL-debug stuff now.
  32. Rob Swindell
    Tue Nov 23 2021 19:54:44 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/xtrn_sec.cpp diff
    Continuation of previous commit (support for UART-only doors on Windows) Needed the actually mapping of XTRN_UART -> EX_UART mode flag here.
  33. Rob Swindell
    Tue Nov 23 2021 14:32:06 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/execvxd.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfgchat.c diff
    src/sbbs3/scfg/scfgxtrn.c diff
    src/sbbs3/xtrn.cpp diff
    Allow FOSSIL mode of the Win32 virtual UART/FOSSIL driver to be disabled When configuring an external program, a Win32 sysop can now choose to *only* enable the virtual UART (and not the FOSSIL driver) feature of the Synchronet virtual UART/FOSSIL driver (dosxtrn.exe/sbbsexec.dll). Some programs (e.g. TradeWars 2) will always use the FOSSIL driver if one is detected and in order to force the use of COM/UART driver for I/O (if that is desired), then one must disable the FOSSIL driver. It's a rare use case, but I can see the potential need. Renamed the "Intercept I/O" option in SCFG to "I/O Method" and make it clear that "Socket" (for native programs) and "FOSSIL or UART" (for 16-bit DOS programs) is the default method (what was previously identified as "No" I/O Interception). If a sysop want to disable the virtual UART support (on Win32, e.g. so *only* FOSSIL is available to one or all DOS programs), they do that via their sbbsexec.ini file.
  34. Rob Swindell
    Mon Nov 22 2021 20:52:14 GMT-0800 (PST)
    Modified Files:
    
    src/xpdev/gen_defs.h diff
    MSVC 1.5c defines _MSDOS, not __MSDOS__ This change needed to build dosxtrn.exe (again).
  35. Rob Swindell
    Mon Nov 22 2021 20:53:01 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/dosxtrn/make.bat diff
    Added helpful reminder remark to build this old beast
  36. Rob Swindell
    Thu Nov 18 2021 17:37:51 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Resolve gcc warning warning: format ‘%lx’ expects argument of type ‘long unsigned int’
  37. Rob Swindell
    Thu Nov 18 2021 13:36:44 GMT-0800 (PST)
    Modified Files:
    
    ctrl/text.dat diff
    Add All and ListKey strings.
  38. Rob Swindell
    Thu Nov 18 2021 13:35:43 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/data.cpp diff
    src/sbbs3/download.cpp diff
    src/sbbs3/email.cpp diff
    src/sbbs3/getkey.cpp diff
    src/sbbs3/getstr.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/writemsg.cpp diff
    Add text.dat lines for "All" and the List key ('L'), used in quoting The internal line editor's quoting feature add some hard-coded strings ("Done" and "All") and the (L)ist key was hard-coded. Use the text.dat string (new and pre-existing) for these now. Also, use the new sbbs_t *_key() methods for referencing the configured key bindings (via text.dat) for these common key-stroke commands. Convert the text.dat strings for keys (e.g. YNQP) to uppercase always as well.
  39. Rob Swindell
    Wed Nov 17 2021 18:36:02 GMT-0800 (PST)
    Modified Files:
    
    ctrl/text.dat diff
    Part of previous commit: new text strings for msg/file scan config prompt/keys
  40. Rob Swindell
    Wed Nov 17 2021 18:32:40 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbs.h diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scansubs.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    Make msg/file scan configuration prompts and keys configurable For localization purposes, no more hard-coded text strings or characters in the new-file and file scan configuration menus. This change fixes issue 232. A Hungarian sysop also requested this change via Facebook not long ago.
  41. Rob Swindell
    Wed Nov 17 2021 18:03:31 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/ssl.c diff
    Don't use time_t in scfg_t definition sbbsctrl.exe is built with Borland C++ still which only has a 32-bit time_t, so to keep the scfg_t definition compatible between MSVC and Borland builds, use time32_t (32-bit time_t) values only. This fixes the reported sbbsctrl.exe error: Error loading configuration cfg->size (23944) != sizeof(scfg_t) (23952) Introduced in commit e535aaac. Reported via DOVE-Net by Daryl Stout (TBOLT), confirmed by Nightfox (DIGDIST).
  42. Rob Swindell
    Tue Nov 16 2021 18:20:55 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/mailsrvr.c diff
    Include twit-listed sender name in quotes in log message Since mail server log messages have their white-space condensed, it was not obvious why some sender's name would match a twitlist.cfg line that filters names beginning with a space: "\ *" because the initial space of the sender's name was condensed/combined with space before it in the log message.
  43. Rob Swindell
    Mon Nov 15 2021 21:29:53 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/qwktomsg.cpp diff
    Initialize time zone variable (zone) As found and reported by Talisam author, apam (HAPPYLND). sscanf() won't initialize the buffer of the argument passed if the format string is not matched, so when there was no hexadecimal/SMB timezone value, the timezone specified in the ISO date/time string (if any) would be overwritten with 0, converted from the uninitialized 'zone' variable (unlikely to be valid hex-ASCII chars). Thanks apam!
  44. Rob Swindell
    Mon Nov 15 2021 21:11:35 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/qwk.cpp diff
    src/sbbs3/sbbsecho.c diff
    Add support for "name@address" syntax in twitlist.cfg where "address" is a QWKnet ID or path or a FidoNet originating address. Wildcards can be used (e.g. "*@VERT"). For Trikester.
  45. Rob Swindell
    Mon Nov 15 2021 17:58:07 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    src/sbbs3/xtrn.cpp diff
    Add command-line specifier for user's real name (auto-quoted) %+ will now expand to the current user's real name, automatically enclosed in quotes if it contains any spaces.
  46. Rob Swindell
    Fri Nov 12 2021 14:07:56 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Generate a MSGID kludge for netmail messages created by SBBSecho The "serialno" field is a bad/naive one (a time_t value), but this is really just an experiment for Ragnarok to see if this fixes issue #306 (with hotdoged receiving AreaFix responses/notices).
  47. Rob Swindell
    Thu Nov 11 2021 19:03:51 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/upload.cpp diff
    Fix sbbsfile.nam contents: contained file's description instead of name Found during review of previous commit. Introduced as part of the new file base branch merge (commit fcf58640).
  48. Rob Swindell
    Thu Nov 11 2021 18:37:38 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Log an error and exit immediately when a local linked-node is configured When a linked-node (in echocfg->Linked Nodes) contains one of the local system's FTN addresses, display/log an error and exit immediately, e.g.: Configuration ERROR: Linked node #20 is your own address: 1:103/705 I'd perform this check in EchoCfg, but: 1. echocfg doesn't read the BBS's configuration files (where the local FTN addresses are configured), and 2. some sysops just directly edit their sbbsecho.ini file
  49. Rob Swindell
    Thu Nov 11 2021 18:43:42 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/sbbs.h diff
    src/sbbs3/upload.cpp diff
    Don't write uploaded filename and description to env variables Environment variables are shared among all threads of a process (e.g. all nodes of a instance of sbbs), so this scheme of passing the uploaded filename and description to an external file tester (upload processor) via environment variables has always been fraught with the possibility of failure or flakiness in Synchronet v3. Since I very much doubt that any upload processor is actually using this scheme, just remove it. Upload processors can and should)use the sbbsfile.nam and sbbsfile.des text files created in the node directory instead.
  50. Deucе
    Sun Nov 07 2021 23:24:30 GMT-0800 (PST)
    Modified Files:
    
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/ssl.c diff
    Keep track of certificate file timestamp and reload if it has changed With the old method, it was possible for a certificate to remain used eternally, and letsyncrypt.js can change it relatively often.
  51. Rob Swindell
    Sun Oct 31 2021 16:37:43 GMT-0700 (PDT)
    Modified Files:
    
    src/encode/utf8.c diff
    src/xpdev/unicode_defs.h diff
    Re-synchronize utf8_getc/putc with OpenSSL 3.0 Now correctly rejects UTF-8 encoded Unicode surrogates and does not support 5 and 6 byte UTF-8 encodings. For reference: https://github.com/openssl/openssl/commit/ba64e5a92a6f009e311ad1 c3565817820a1632a4
  52. Rob Swindell
    Fri Oct 29 2021 19:08:55 GMT-0700 (PDT)
    Modified Files:
    
    exec/rlogin.js diff
    Allow the client-name, server-name, and term-type to be passed as arguments Optional, for easier use with game servers that take one of the 3 rlogin negotation parameters as the name/code of the door to execute. A telgate mode flag value argument must be provided (use 0 for default behavior) if you want to provide any of the other arguments to override the defaults (the user's alias, real name, and current detected terminal type).
  53. Rob Swindell
    Sat Oct 23 2021 10:06:08 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/bat_xfer.cpp diff
    Fix segfault after batch-upload when no "uploads" dir specified When there's no "uploads" directory configured by the sysop, cfg.upload_dir will be set to INVALID_DIR, which cannot be used as an index into cfg.dir[] to determine if the time used for uploading the files should be "given back" to the user. In v3.18, we used the first file in the upload queue, if there was one, else fell back to the "uploads" dir (which had to have been defined if there were no files in the queue). So this illegal array indexing was a regression in v3.19. Reported by Zoltán Gábor on Facebook
  54. Rob Swindell
    Tue Oct 19 2021 12:42:49 GMT-0700 (PDT)
    Modified Files:
    
    3rdp/build/GNUmakefile diff
    Replace $(DIRSEP) with '/' to make this file easier to view/edit We don't support platforms where '/' doesn't work as a path element separator.
  55. Rob Swindell
    Tue Oct 19 2021 12:46:33 GMT-0700 (PDT)
    Modified Files:
    
    3rdp/build/GNUmakefile diff
    Replace some apparently errant double-slashes with single-slash
  56. Rob Swindell
    Tue Oct 19 2021 12:55:56 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/cl-linux-yield.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Use shed_yield() instead of pthread_yield() on Linux Per https://man7.org/linux/man-pages/man3/pthread_yield.3.html This call is nonstandard, but present on several other systems. Use the standardized sched_yield(2) instead. Should fix #299.
  57. Rob Swindell
    Tue Oct 19 2021 11:21:39 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/genwrap.h diff
    Don't use the deprecated pthread_yield() function Per https://man7.org/linux/man-pages/man3/pthread_yield.3.html This call is nonstandard, but present on several other systems. Use the standardized sched_yield(2) instead. Should fix #299.
  58. Randy Sommerfeld
    Fri Oct 15 2021 23:27:15 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/unregistered.js diff
    Don't count unregistered clients
  59. Randy Sommerfeld
    Fri Oct 15 2021 18:18:12 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircd.js diff
    exec/load/ircd/core.js diff
    Move ircd 1.9 out of beta in anticipation of Synchronet 3.19
  60. Randy Sommerfeld
    Wed Oct 13 2021 16:22:05 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Bump connect delay from 1s to 10s, thanks to keyop for testing!
  61. Randy Sommerfeld
    Tue Oct 12 2021 22:37:02 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircd.js diff
    exec/load/ircd/core.js diff
    Only allow one outbound CONNECT at a time
  62. Rob Swindell
    Wed Oct 06 2021 18:37:53 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    When packing netmail (stored messages), don't discard non-zero zones As reported by Ragnarok (DOCKSUD) via DOVE-Net, when packing (packetizing) netmail messages, the source and destination zones from the netmail header were discarded (since they are defined as "optional" in FTS-1) and the zone values were replaced with the system's primary/default zone number. If the netmail message included an INTL kludge, the source and destination zone values would be parsed from that kludge line and this issue would not be noticed. So the fix is: Only if the netmail message header contains a source or destination zone number of 0, replace that zone with the system's primary/default zone number. As before, the INTL kludge zone information can override the header fields. Also, there's no reason to force the point numbers from the header to zero, since if they were not valid (e.g. "fill" in the original FTS-1 specification), they would be already zero. So use the source and destination point numbers, as is, from the netmail header too (with the FMPT and TOPT kludge override support left in-tact).
  63. Rob Swindell
    Wed Oct 06 2021 18:10:39 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/pktdump.c diff
    Print "All good" or "All bad" when trying to recover or split a packet At Nelgin's suggestion, if all the messages in a packet are either good or bad, say so (since no .good or .bad file will be generated in that case).
  64. Rob Swindell
    Wed Oct 06 2021 00:38:17 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/chat.msg diff
    text/menu/maincfg.msg diff
    text/menu/qwk.msg diff
    text/menu/xfercfg.msg diff
    Fix PETSCII display of this menu's title/tab
  65. Rob Swindell
    Tue Oct 05 2021 23:46:44 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/e-mail.msg diff
    Fix PETSCII display of this menu's title/tab
  66. Rob Swindell
    Tue Oct 05 2021 23:42:33 GMT-0700 (PDT)
    Added Files:
    
    text/menu/mailread.msg diff
    text/menu/sysmailr.msg diff
    Removed Files:

    text/menu/mailread.asc diff
    text/menu/sysmailr.asc diff
    Make 40-column happy versions of mail reading menu (and sysop sub-menu) Renamed from .asc to .msg for PabloDraw convenience.
  67. Rob Swindell
    Tue Oct 05 2021 21:08:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    New @-codes SEX and GENDERS SEX is the user's sex/gender GENDERS is the list of system-supported genders for new users to choose from.
  68. Rob Swindell
    Tue Oct 05 2021 22:05:13 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    New @-code: !x to perform Ctrl-A style terminal/attribute control Most Ctrl-A code terminal/attribute effects can now be invoked via @!x@ where x is one or more Ctrl-A sequence operands (e.g. @!B@ to set the current attribute to blue, @!P@ to pause the terminal). Multiple attribute codes may be specified in a single @!x@ sequence. Both upper and lowercase attribute codes are supported. The "^A@" sequence is not supported, but there's already an @-code to perform the equivalent operation ("SHOW:20"). Rationale: when using PabloDraw to edit display (e.g. .msg) files, there was no easy way to explicitly clear (set to "normal") the current attributes at the end of a line of text. If that line of text contained a background color and the line caused the terminal to scroll, that background color would fill the next/new line resulting in some potential undesirable effects. There are 2 common solutions to this problem: either clear the screen before displaying the file (not always desirable) or clear the attributes at the end of the line (before the CR/LF). This can now be achieved by adding a @!N@ (the equivalent of Ctrl-AN for "normal" attributes) to the end of a line. There's no way to insert custom Ctrl-A sequences or other way to force PabloDraw to clear the attributes at the end of a line, that I found. I chose the '!' character because it's (on my keyboard anyway) the Shift-1 key and Ctrl-A is ASCII 1. I considered a sequence such as @A:x@, but that's one more character and since this sequence usually won't display anything, a shorter sequence is likely preferred. For the shortest-possible sequence, use Ctrl-A sequences instead. However, for many consecutive Ctrl-A sequences, the @-code equivalent might actually end up being shorter(!). @-codes aren't support in as many places in Synchronet where Ctrl-A codes are supported (for security reasons), so it's not like this is going to replace the use of Ctrl-A codes everywhere.
  69. Rob Swindell
    Tue Oct 05 2021 17:07:40 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/fmsgdump.c diff
    src/sbbs3/pktdump.c diff
    Don't append the stale static string in fmsgattr_str() When this function was called multiple times (e.g. multiple messages in a pkt), it would keep appending to the current (static) string, eventually overflowing the buffer and corrupting the stack. Although reported in pktdump, it could have also happened with fmsgdump if passed multiple stored message (.msg) files. Fixes #295 reported by Nelgin
  70. Rob Swindell
    Mon Oct 04 2021 20:14:30 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/multchat.msg diff
    Remove the invisible (black on black) dots I added them to solve the ANSI screen scroll background attribute fill-new line issue as I didn't want this menu to clear the screen (there could be chat lines of text after all). If this file gets edited with PabloDraw again later, this will have to be fixed again.
  71. Rob Swindell
    Mon Oct 04 2021 20:09:41 GMT-0700 (PDT)
    Added Files:
    
    text/menu/multchat.msg diff
    40-column friendly version of the (now defunct) multchat.asc menu.
  72. Rob Swindell
    Mon Oct 04 2021 20:10:28 GMT-0700 (PDT)
    Removed Files:

    text/menu/multchat.asc diff
    Removed in favor of the new multchat.msg
  73. Rob Swindell
    Thu Sep 30 2021 21:57:06 GMT-0700 (PDT)
    Added Files:
    
    text/menu/main.40col.msg diff
    text/menu/transfer.40col.msg diff
    Rename the 40col menus from .asc to .msg so they appear for CBM/PETSCII terms The menu file selection priority is like this (for 40col CBM/PETSCII terminals): main.40col.seq main.seq main.40col.msg main.msg main.40col.asc main.asc so the main.msg was being chosen before main.40col.asc. Plus, these files contain ex-ASCII chars, so .msg is actually the more correct file extension anyway.
  74. Rob Swindell
    Sat Sep 25 2021 15:02:38 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    EnterYourSex -> EnterYourGender Uses new @code: GENDERS parts of enhancement #291
  75. Rob Swindell
    Sat Sep 25 2021 14:57:56 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/newuser.cpp diff
    src/sbbs3/scfg/scfgsys.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/useredit.cpp diff
    Allow sysop to configure new user gender options (not just M/F) Up to 40 characters can be configured by the sysop for gender options. The default choice/configuration is now: "M/F/X" (not just "M/F") New @-code: GENDERS text.dat EnterYourSex -> EnterYourGender Closes enhancement request #291 by Ragnarok
  76. Rob Swindell
    Sat Sep 25 2021 00:28:39 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/email.cpp diff
    Call smb_updatethread() from sbbs_t::email() to perform Keyop "magic" As discovered by Keyop and reported via IRC, when replying *to* a local mail box and *not* using the hard-coded email menu (e.g. when when using msglist.js), the original message's "Replied" attribute flag was not set. When replying to a netmail address (at least, Internet or FidoNet, unsure about QWKnetmail), the attribute would be set. This discrepancy was because this email() function doesn't use the "modern" smb_addmsg() function (which also calls smb_updatethread()), but add the message body text the old/manual way and never called smb_updatethread(). smb_updatethread() does the thread linkage stuff (which is usually unnoticed in the mail base) *and* sets the "Replied" attribute of the original message, if it's not already set. This function should be overhauled to use smb_addmsg(), but this 2-line change at least addresses this issue for now. There's probably other places (e.g. importing mail replies via QWK/REP packets) where this thread-linkage and "Replied" attribute flag setting is still not happening.
  77. Rob Swindell
    Fri Sep 24 2021 18:15:57 GMT-0700 (PDT)
    Modified Files:
    
    exec/msglist.js diff
    Added "Replied" attribute to mail messages that are replied-to. Reported by Keyop.
  78. Rob Swindell
    Thu Sep 23 2021 22:35:54 GMT-0700 (PDT)
    Modified Files:
    
    src/smblib/smballoc.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    src/xpdev/semfile.c diff
    Resolve some GCC warnings about uncheck return values from std C functions write() chsize()
  79. Rob Swindell
    Wed Sep 22 2021 19:03:17 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgmsg.c diff
    When importing FidoNet message area tags > 40 chars, use newsgroup name Follow-up to previous commit for Keyop (extending max area tag length from 35 to 40/50 chars), when importing echolists/areas.bbs files, if the area tag is longer than 40 chars, then import it into the newsgroup name field instead (63 chars max).
  80. Rob Swindell
    Wed Sep 22 2021 18:47:03 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/fidodefs.h diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    Increase FidoNet echo/area tag max length from 35 to 40/50 chars Per FMail.txt: Area name This is the name of the conference. It can be up to 50 characters long. This name is often referred to as the area tag. I did not locate a FidoNet spec to contradict that and support a 35 character maximum area tag length. I think Mystic also has a 50 character area tag limit. So 50 character area tags are fine I guess. So up to 50 characters are now supported in SBBSecho and SCFG for area tags (for message and file echoes). The exception is the (new to 3.19) optional area tag stored in msgs.cnf/file.cnf is limited to 40 characters due to reserved space limitations. If you need a tag stored per sub (most sysops do not) and it needs to be longer than 40 chars, use the newsgroup name instead (limited to 63 chars). Changed at the request of Keyop via IRC.
  81. Randy Sommerfeld
    Tue Sep 21 2021 22:49:10 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Fix for 0 TS on server-to-server MODE
  82. Rob Swindell
    Mon Sep 20 2021 23:33:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/userdat.c diff
    Ignore trailing non-alpha-numeric characters in matchusername() A name ending in a symbol (e.g. "Erich B.") would cause problems with this matching logic.
  83. Rob Swindell
    Sat Sep 18 2021 22:20:09 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ftpsrvr.c diff
    Handle FTP requests for paths that start with "/./" Midnight Commander (mc) apparently sends requests like this for files (e.g. aliases) in the virtual root directory. Fixes another part of the reported issue #288.
  84. Rob Swindell
    Sat Sep 18 2021 16:58:47 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ftpsrvr.c diff
    Fix segfault reported with ftpalias.cfg support in some cases ftpalias() can return true even when the directory is not set to a valid directory index (i.e. set to -1), so using as an array index would definitely segfault. Part of commit 8ad30b6c by Deuce 3 years ago. I didn't test this as I'm not sure exactly the combination of ftpalias.cfg content and FTP command received that would trigger this, but it's most definitely a bug. So should fix the segfault reported in issue #288.
  85. Randy Sommerfeld
    Tue Sep 07 2021 19:18:41 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Don't use uninitialized variables in LIST
  86. Randy Sommerfeld
    Mon Sep 06 2021 18:38:05 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/channel.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/user.js diff
    Clean up set_chanmode() a bit
  87. Randy Sommerfeld
    Mon Sep 06 2021 17:03:45 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Don't ignore mode arguments in SJOIN
  88. Rob Swindell
    Mon Sep 06 2021 14:41:18 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Change SearchExtendedQ to DisplayExtendedFileInfoQ Relates to feature request #285.
  89. Rob Swindell
    Mon Sep 06 2021 14:39:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execfile.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    When searching for text in file descriptions, always search ext desc Since users can (and usually do) display extended descriptions in their normal file listings anyway, it makes sense to go ahead and search them for the text (e.g. with the 'F' command from the default command shell File menu/prompt). So the "search/display extended info" prompt has been changed to just "Display extended file info" since it no longer controls whether or not the extended description is searched for the text (it always is). The FL_EXFIND was renamed to FL_EXT and only controls whether the extended info is display (the FL_FIND mode flag, always renamed, must also be specified for a find with extended info). This closes feature request #285 by Phil (@plt).
  90. Randy Sommerfeld
    Mon Aug 30 2021 14:40:15 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Check for 'port zero' on the remote port as well
  91. Randy Sommerfeld
    Tue Aug 24 2021 16:37:20 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Use correct object when logging socket errors
  92. Randy Sommerfeld
    Wed Aug 18 2021 02:53:55 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/unregistered.js diff
    Drop DNS replies for closed connections
  93. Rob Swindell
    Tue Aug 17 2021 23:45:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgxtrn.c diff
    If hitting ESC at Editor Info File prompt, don't prompt for lowercase Slight usability improvement.
  94. Rob Swindell
    Tue Aug 17 2021 23:49:39 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/writemsg.cpp diff
    When writing/reading quotes.txt, ignore first 2 lines if WWIV-type WWIV writes 2 lines of metadata to the beginning of its quotes.txt file created for external message editors. Its not clear yet what these lines should contain, but the first line apparently should contain a '#' character since BREdit checks for this character before deciding to throw-away/ignore these lines (don't use them for quoted text). Thanks mlong for this tip! So if the external editor is set to "WWIV CHAIN.TXT" in SCFG (even if the door doesn't need/use it), then the quotes.txt file created by Synchronet will contain the extra 2 lines. We're just writing a # to the first line and the second line is blank. This fixes reported issue #188.
  95. Rob Swindell
    Sun Aug 15 2021 15:43:09 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    New @-codes UDR (upload/download byte-ratio) and UDFR (file ratio) Expands to a percentage, similar to PCR (not capped at 100). Remove the failed-attempt to cap the percentage at 100 for the PCR atcode.
  96. Randy Sommerfeld
    Wed Aug 11 2021 17:32:41 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Reject connections if they're from "port zero"
  97. Randy Sommerfeld
    Mon Aug 09 2021 19:19:10 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    Make auto-connects more robust
  98. Rob Swindell
    Sun Aug 08 2021 23:37:45 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    Don't fclose(errfp) if it's NULL.
  99. Rob Swindell
    Sun Aug 08 2021 22:54:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    Improve the systme.findstr() JSDOCS description text
  100. Rob Swindell
    Sun Aug 08 2021 23:03:01 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Allow '*' pattern character to be used mid-string (not just beg or end) Previously, the '*' matching pattern character could only be used as the beginning or ending character of a pattern string; for any other use, it was treated just as any other exact-match character. Now, you can have exact-match characters on both the left and right sides of the '*', so pattern matching like the following is possible: <*@gmail.com> digital*man Multiple '*'s are still not treated special (only the first/left-most '*" is), so, for example, "*blah*" will not likely produce the desired matching effect (use "blah~" instead for this case).
  101. Randy Sommerfeld
    Wed Aug 04 2021 17:57:07 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/channel.js diff
    Don't use uninitialized variable
  102. Rob Swindell
    Sat Jul 31 2021 18:49:06 GMT-0700 (PDT)
    Modified Files:
    
    exec/logon.js diff
    Allow text of all guest information prompts to be overridden in modopts.ini By setting guest_name, guest_email, guest_location, or guest_referral to any truthy value, a prompt will be display. By setting it to a string (instead of true), that string will be displayed. I'm not sure how I feel about this kind of tri-state setting (true/false/string), but it does reduce the number of settings/options. The alternative is to have a separate boolean and string setting for each prompt (which I first considered). So, as of now: guest_name = false <- no prompt for Guest's name guest_name = "" <- no prompt for Guest's name guest_name = true (the default) <- default prompt text for Guest's name guest_name = "Enter your name, dude" <- replaces prompt text for Guest's name For enter trailing white-space and ctrl-a codes, use string literals, e.g. guest_name: "\x01hEnter your name, dude: "
  103. Rob Swindell
    Sat Jul 31 2021 18:09:00 GMT-0700 (PDT)
    Modified Files:
    
    exec/logon.js diff
    Guest user prompts can be disabled via modopts.ini [logon] settings guest_name = false will disable name prompt guest_email = false will disable the email address prompt guest_location = false will disable the location prompt guest_referral = false will disable the "where'd you hear about this BBS" prompt Note, at minimum, I do recommend prompting for the guest's email address so that if they send the sysop feedback (e.g. ask a question), they at least have some hope of receiving a reply.
  104. Rob Swindell
    Sat Jul 31 2021 13:00:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/mailsrvr.c diff
    When logging sender address forgeries, log the address being forged Helpful for debugging issues with this forgery detection logic (if there are any).
  105. Rob Swindell
    Sat Jul 31 2021 13:00:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/useredit.cpp diff
    Stop beeping at the sysop when user-searches are successful. If anything, I suppose would be beep if a search fails, but really, I think beeps are kind of annoying these days. Not changing the currently selected/viewed user is likely all that's really needed to indicate a search failure.
  106. Rob Swindell
    Sat Jul 31 2021 13:00:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/mailsrvr.c diff
    Don't allow unauthenticated DNS-blacklisted clients to post on subs Eliminate some of the infrequent SPAM posts to the SYNCPROG conference. Maybe make this behavior configurable?
  107. Randy Sommerfeld
    Mon Jul 12 2021 14:39:26 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Don't auto-connect to an invalid port. Reported by nelgin, thanks!
  108. Rob Swindell
    Sat Jul 10 2021 22:58:15 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_msgbase.c diff
    Ignore the PRIVATE message attribute for the "mail" base When setting the value of a message's 'can_read' property, ignore the PRIVATE message attribute (which is sometimes set in FTN netmail messages) since it's assumed all messages in the mail base are private, no special destination (to) name matching is needed here. This only popped up recently via msglist.js because of the recent addition of checking each messages's 'can_read' property. As reported by <Diehard> via IRC PM.
  109. Randy Sommerfeld
    Sat Jul 10 2021 17:29:09 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    Don't auto-connect if no port is defined in C:Line, minor Y:Line changes
  110. Randy Sommerfeld
    Sat Jul 10 2021 17:30:47 GMT-0700 (PDT)
    Modified Files:
    
    exec/newslink.js diff
    Merge branch 'master' of gitlab.synchro.net:main/sbbs
  111. Rob Swindell
    Fri Jul 09 2021 00:12:18 GMT-0700 (PDT)
    Modified Files:
    
    exec/newslink.js diff
    Add support for optiona "approved" option to be specify moderator's email addr Apparently required by some news servers. As requested via IRC: <poindexter> Hi all, I've got a weird request. I'd like to post to a newsgroup that relies on automoderation. You need to add an approved: header to any posting to have it be accepted - keeps the non-techie riffraff away. is there a way to do that with newslink.js?
  112. Randy Sommerfeld
    Tue Jul 06 2021 15:55:48 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    Improve server connects (both auto and manual)
  113. Randy Sommerfeld
    Sun Jul 04 2021 17:21:53 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Use servername when detecting if a server's already there
  114. Randy Sommerfeld
    Sun Jul 04 2021 17:04:28 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    Deal with maxlinks on the Y:Line properly for servers
  115. Randy Sommerfeld
    Thu Jul 01 2021 19:06:27 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Use integer instead of string in initial TOPIC burst
  116. Rob Swindell
    Thu Jul 01 2021 16:19:46 GMT-0700 (PDT)
    Modified Files:
    
    exec/msglist.js diff
    Don't list messages that can't be read by user Should fix unvalidated/moderated message readability bug reported by Phil
  117. Rob Swindell
    Thu Jul 01 2021 13:39:15 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Fix NULL pointer dereference in read_post_data() What took down cvs/sbbs yesterday: Program terminated with signal SIGSEGV, Segmentation fault. 6203 session->req.post_data[session->req.post_len]=0; [Current thread is 1 (Thread 0x7f2b989ff700 (LWP 17031))] (gdb) print post_len No symbol "post_len" in current context. (gdb) print session->req.post_len $1 = 0 (gdb) print session->req.post_data $2 = 0x0
  118. Rob Swindell
    Mon Jun 28 2021 18:07:20 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scansubs.cpp diff
    Initialize local variable 'str' in scanallsubs(). Fixes issue #276
  119. Rob Swindell
    Mon Jun 28 2021 17:55:06 GMT-0700 (PDT)
    Modified Files:
    
    exec/msgutil.js diff
    Don't load() 822header.js unless we're exporting messages 822header.js adds an enumerable method to the header object which ends up in the output when using the -hdrs option/command. This addresses issue #277 Note: this is not actually a supported or documented script.
  120. Randy Sommerfeld
    Fri Jun 18 2021 15:16:45 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    Fix up STATS m and EVAL
  121. Randy Sommerfeld
    Fri Jun 18 2021 14:48:48 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    exec/load/ircd/user.js diff
    Clean up LIST
  122. Randy Sommerfeld
    Fri Jun 18 2021 14:10:11 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    Make better use of format()
  123. Randy Sommerfeld
    Fri Jun 18 2021 13:55:57 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Improve TS handling in SJOIN
  124. Randy Sommerfeld
    Fri Jun 18 2021 02:52:42 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Fix up the server-to-server AKILL message
  125. Randy Sommerfeld
    Fri Jun 18 2021 01:11:06 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Use correct formatting for printf in NICK
  126. Randy Sommerfeld
    Thu Jun 17 2021 22:56:52 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Reject malformed NICK messages from servers and notify
  127. Randy Sommerfeld
    Wed Jun 16 2021 01:53:30 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Fix STATS m to report proper command, found by nelgin, thanks!
  128. Randy Sommerfeld
    Wed Jun 16 2021 01:09:45 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Use better source of nickname on SJOIN
  129. Randy Sommerfeld
    Wed Jun 16 2021 00:24:55 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/user.js diff
    We don't use command anymore, fixes crash on /OPER. Found by nelgin, thanks!
  130. Randy Sommerfeld
    Wed Jun 16 2021 00:13:13 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/user.js diff
    Use proper variable on KILL
  131. Randy Sommerfeld
    Tue Jun 15 2021 16:30:53 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/ircbot.ini diff
    Use a better default hostname for the bot
  132. Randy Sommerfeld
    Mon Jun 14 2021 21:45:31 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircd.js diff
    exec/load/ircd/core.js diff
    Fix up epoch use in strftime as well
  133. Randy Sommerfeld
    Mon Jun 14 2021 21:39:53 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircd.js diff
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    exec/load/irclib.js diff
    Deprecate time() in favour of new Date()
  134. Randy Sommerfeld
    Mon Jun 14 2021 20:34:14 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Fix mode desync on server SJOIN. Thanks to Retros for finding where this was coming from!
  135. Rob Swindell
    Fri Jun 11 2021 18:24:01 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    Fix memory leak (of extended description) when moving files
  136. Randy Sommerfeld
    Fri Jun 11 2021 14:16:31 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/user.js diff
    Fix local KILL (bug reported by phil)
  137. Rob Swindell
    Fri Jun 11 2021 11:29:16 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Fix newly-introduced (but likely harmless) bug in mv() Thanks Coverity! (CID 332340)
  138. Rob Swindell
    Thu Jun 10 2021 11:48:38 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/bat_xfer.cpp diff
    Call smb_freefilemem() instead of smb_msgmem() for files Not that it really matters, but perhaps it'll matter in the future. And the code reads better.
  139. Rob Swindell
    Thu Jun 10 2021 11:54:28 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    mv() simplified for the non-copy case Constified function arguments. Source path is still case-insensitive, but destination is case-sensitive (hopefully that's not an issue). When a "move" (!copy) is requested, a rename() is always attempted first and if successful, job done. Otherwise, we continue on with the file-copy (and then remove). This should resolve CID 332219 (DEADCODE).
  140. Rob Swindell
    Thu Jun 10 2021 11:59:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/upload.cpp diff
    src/smblib/smbdefs.h diff
    src/smblib/smbfile.c diff
    src/smblib/smblib.h diff
    Standardize on "metadata" as the description of a file's "tail" dfield It's anticipated that this will be used for JS-populated file metadata in JSON format in the future (and not just "archive contents" in .ini format). Also, fix the double-free issue that was occurring when moving files with extended file descriptions (sbbs_t::movefile()). This was actually the primary problem I was fixing here, but noticed the metadata issue: metadata would not have been moved along with the other file info between bases.
  141. Rob Swindell
    Tue Jun 08 2021 23:02:15 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Include archive_error_string() in archive_write_header failure msg Hopefully this helps get to the bottom of Ragnarok's reported problem creating ZIP QWK files with libarchive.
  142. Rob Swindell
    Tue Jun 08 2021 22:39:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Remove tbz (tarred bzip) files from supported archive list Not supported by default on Windows and perhaps not on all *nix systems. You can still support creation of tbz files if you like, but you'll need to setup an external "Compressible File Type" in SCFG to do it.
  143. Rob Swindell
    Tue Jun 08 2021 22:39:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/pack_qwk.cpp diff
    Better error handling in QWK packet creation If libarchive creates a 0-byte file or no file at all, then fall-through to the "temp file command-line" (if there is at least one Compressible File Type configured). If libarchive fails, there will still be a (hopefully helpful) error message logged, but at least the QWK packet may still get created.
  144. Rob Swindell
    Tue Jun 08 2021 22:05:29 GMT-0700 (PDT)
    Modified Files:
    
    web/lib/msgslib.ssjs diff
    Fix recently-introduced issue reading the 'mail' base. Reported by AL@TRMB.
  145. Rob Swindell
    Tue Jun 08 2021 21:58:58 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Always use rename() on *nix when mv() is called with copy=FALSE This should fix issue #272 reported by Ragnarok. Not the libarchive error part, but the second (mv) CopyFile error part.
  146. Rob Swindell
    Tue Jun 08 2021 18:08:20 GMT-0700 (PDT)
    Modified Files:
    
    web/root/msgs/msg.ssjs diff
    Fail with graceful error message if msgbase is not defined.
  147. Rob Swindell
    Tue Jun 08 2021 11:23:56 GMT-0700 (PDT)
    Modified Files:
    
    exec/delfiles.js diff
    Don't try to delete offline files when removing from filebase. Reported by DaiTengu via eye are sea.
  148. Rob Swindell
    Mon Jun 07 2021 22:51:36 GMT-0700 (PDT)
    Modified Files:
    
    web/lib/msgslib.ssjs diff
    Don't open a message base for an invalid sub-board. Resolves this errors appearing on Vertrauen where the sub=<code> value appears to be from some *other* Synchronet BBS: Unrecognized msgbase code: dove-firearms, Request: /msgs/msgs.ssjs?msg_sub=dove-firearms
  149. Rob Swindell
    Mon Jun 07 2021 22:15:10 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Remove the unused "-arc" option parsing.
  150. Rob Swindell
    Mon Jun 07 2021 22:31:58 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Add -desc option (include summary/descriptions, same as '-vv') The -hdr option no longer implies -ext (extended descriptions). Truncate white-space off end of extended descriptions.
  151. Rob Swindell
    Mon Jun 07 2021 20:15:01 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/sysxfer.asc diff
    Add DIR command - not sure if/where this was documented before Update the description of the GET and PUT commands too.
  152. Rob Swindell
    Mon Jun 07 2021 20:16:33 GMT-0700 (PDT)
    Modified Files:
    
    exec/str_cmds.js diff
    Use K_TRIM mode flag with getstr() through-out.
  153. Rob Swindell
    Mon Jun 07 2021 20:17:38 GMT-0700 (PDT)
    Modified Files:
    
    exec/tempxfer.js diff
    Allow download of any extracted file
  154. Rob Swindell
    Mon Jun 07 2021 20:09:08 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ftpsrvr.c diff
    Detect TLS startup errors correct/fully We can't (apparently) only rely on the return value of start_tls(), we have to check the value of the crypt session too. This fix the possibility of this happening: Jun 7 18:07:26 sbbs synchronet: ftp 0058 TLS ERROR 'No permiss.to perform this operation' (-21) opening keyset Jun 7 18:07:26 sbbs synchronet: ftp 0058 <192.168.1.25> initialized TLS successfully Instead, we'll detect the failure and disable FTPS support, logging "failed to initialize TLS successfully".
  155. Rob Swindell
    Mon Jun 07 2021 20:10:40 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scandirs.cpp diff
    Increase the progress() reporting frequency for filename/desc searches This resolve long delays (while searching for files) without any indication of progress. Keep new-scan progress interval at 10 dirs however (they're fast).
  156. Rob Swindell
    Mon Jun 07 2021 20:14:20 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/con_out.cpp diff
    Condition newline before progress display Sometimes the progress meter (e.g. during file text searches) appears at a column offset > 0 and doesn't look good. Fix that.
  157. Rob Swindell
    Sun Jun 06 2021 18:22:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    More use of K_TRIM when prompting for filename/spec
  158. Rob Swindell
    Sun Jun 06 2021 20:07:01 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/data.cpp diff
    Modernize finduser() a bit Skip any prepended white-space in the passed name to find. Use better variable names (and length) for the character strings. Use matchusername() instead of strcmp(); matchusername() follows the liberal user-id/alias/name matching algorithm. Use strcasestr() instead of strstr(), so no copy/modification (upper-casing) of passed name is now required. When 'Q'uitting the search, set the SS_ABORT flag.
  159. Rob Swindell
    Sun Jun 06 2021 04:00:48 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/smbutil.c diff
    Resolved sign/unsigned compare warning
  160. Rob Swindell
    Sun Jun 06 2021 04:01:14 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/text_defaults.c diff
    EmptyDir and BadFilename string updates
  161. Rob Swindell
    Sun Jun 06 2021 04:02:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/upload.cpp diff
    Use K_TRIM getstr() mode when prompting for filenames Don't need no stinking pre/appended white-space in our filenames!
  162. Rob Swindell
    Sun Jun 06 2021 03:30:38 GMT-0700 (PDT)
    Modified Files:
    
    text/file.can diff
    Add Windows "reserved names" For info, see: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
  163. Rob Swindell
    Sun Jun 06 2021 03:05:43 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgxfr1.c diff
    Give sysop more control over characters allowed in uploaded filenames 5 options: - Safest Subset - Most ASCII, Excluding Spaces (the default) - Most ASCII, Including Spaces - Most CP437, Excluding Spaces - Most CP437, Including Spaces
  164. Rob Swindell
    Sun Jun 06 2021 00:52:23 GMT-0700 (PDT)
    Modified Files:
    
    text/file.can diff
    Add img001.exe a popular FTP-spread trojan
  165. Rob Swindell
    Sun Jun 06 2021 00:43:25 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/upload.cpp diff
    Include '?' and '*' in ILLEGAL_FILENAME_CHARS definition
  166. Rob Swindell
    Sun Jun 06 2021 00:23:49 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/dirwrap.c diff
    I guess GLOB_PERIOD is Linux or GNU extension. <shrug> Fix FreeBSD build error: dirwrap.c:760:13: error: use of undeclared identifier 'GLOB_PERIOD' Not sure how glob() on FreeBSD treats "dot files" or how to control that.
  167. Rob Swindell
    Sun Jun 06 2021 00:07:37 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    BadFilename is now a format string, EmptyDir uses cond-blankline.
  168. Rob Swindell
    Sun Jun 06 2021 00:08:32 GMT-0700 (PDT)
    Modified Files:
    
    exec/binkit.js diff
    Don't log an error if after a failure to remove a file, the file doesn't exist
  169. Rob Swindell
    Sun Jun 06 2021 00:15:33 GMT-0700 (PDT)
    Modified Files:
    
    exec/postfile.js diff
    Set the file cost value to the file size.
  170. Rob Swindell
    Sat Jun 05 2021 23:52:07 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/dirwrap.c diff
    Fix delfiles() to delete files starting with '.' (that match the pattern) glob() by default, doesn't include 'dot files', so include the GLOB_PERIOD flag so that when deleting all files in a directory (e.g. node1/temp/*), any files starting with a dot will be deleted too.
  171. Rob Swindell
    Sat Jun 05 2021 23:59:58 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/bat_xfer.cpp diff
    Check batch-uploaded filenames for illegal characters/sequences/names The BadFilename text.dat is now a format string (prints the bad filename). Use the nice progress() display status while searching for duplicate filenames.
  172. Rob Swindell
    Sun Jun 06 2021 00:01:35 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/email.cpp diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/writemsg.cpp diff
    BadFilename text.dat string is now a format string (prints the bad filename) - also, checkfname() is going to do the file.can (trashcan) checking, so no need here
  173. Rob Swindell
    Sun Jun 06 2021 00:01:58 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/logfile.cpp diff
    src/sbbs3/sbbs.h diff
    A little constification.
  174. Rob Swindell
    Sun Jun 06 2021 00:04:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/ftpsrvr.c diff
    More uniform safe/illegal/allowed filename (for upload) determination sbbs_t::checkfname() now checks the file.can too. new filedat.c functions: - safest_filename() - not currently used - illegal_filename() - returns true for a highly-suspicious (e.g. hack attempt) filename - allowed_filename() - returns true if the filename is good for upload (assumed to be already checked to be legal as well). Importantly, filenames beginning or ending in a '.' are now unallowed: - 'dot files' are hidden (by default) on *nix - files ending in a '.' are problematic on Windows
  175. Deucе
    Sat Jun 05 2021 18:33:40 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Fix parsing of the return code. This fixes an issue in TypeClass lookups (such as used by reverse())
  176. Rob Swindell
    Sat Jun 05 2021 14:51:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/smbutil.c diff
    Add new commands to flag/unflag all messages for deletion The command to delete and remove all messages is changed from 'd' to 'D'. This operation is not reversable. New commands are 'd' (flag all msgs for deletion) and 'u' (undelete all msgs).
  177. Rob Swindell
    Fri Jun 04 2021 23:56:13 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Remove incorrect and unnecessary comment.
  178. Rob Swindell
    Sat Jun 05 2021 00:38:13 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Don't allow colons in web-requested path names on Windows This fixes issue #269 (NTFS Alternate Data Stream vulnerability) and other potential pathname issues on Windows involving colons. There are other illegal filename characters on Windows (e.g. <>|"?*), but filenames with these characters aren't expected to pass the later stat() test, so should fail with a 404 error.
  179. Rob Swindell
    Fri Jun 04 2021 23:50:34 GMT-0700 (PDT)
    Modified Files:
    
    src/encode/objects.mk diff
    Add new hex object
  180. Rob Swindell
    Fri Jun 04 2021 23:50:58 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/GNUmakefile diff
    Web server needs encode lib (for hex_decode)
  181. Rob Swindell
    Fri Jun 04 2021 23:40:31 GMT-0700 (PDT)
    Added Files:
    
    src/encode/hex.c diff
    src/encode/hex.h diff
    Generic hexadecimal encode/decode string functions (e.g. for URL decode) These functions can be used for "percent encode/decode" or any other 2-hex-digit encoding/decoding with a single escape character.
  182. Rob Swindell
    Fri Jun 04 2021 23:40:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.vcxproj diff
    Filenames with '+' characters in them could not be served unless encoded The requested path was being URL-decoded with unescape(), but that function does a '+' to ' ' (space) conversion. The '+' to space decoding is supposed to occur for the "query" portion of the URL only, not the "path" portion. Use the new hex_decode() function instead of unescape() for "path" decoding.
  183. Deucе
    Wed Jun 02 2021 23:06:12 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Avoid directly manipulating XImage data for now. The previous tests to detect RGB8 appear to have been insufficient. This may have resulted in various artifacts such as transparency with some drivers on some hardware in X11 mode.
  184. Deucе
    Wed Jun 02 2021 23:07:00 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Remove debug output introduced in last commit
  185. Deucе
    Wed Jun 02 2021 23:07:35 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Some Atari (and likely C64) fixes 1) setfont() after loading fonts 2) In X11 mode, don't translate ASCII characters from unicode... this was causing non-ASCII characters to be translated twice.
  186. Deucе
    Mon May 31 2021 21:31:23 GMT-0700 (PDT)
    Modified Files:
    
    exec/lbshell.js diff
    Only add accessible programs to the xtrn list
  187. Deucе
    Mon May 31 2021 21:31:23 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Add CIOLIB_MODE_CURSES_ASCII to output_map Fixes sourceforce issue number 60. Reported by WitNik (Thanks!)
  188. Randy Sommerfeld
    Mon May 31 2021 01:54:24 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/irclib.js diff
    Fix integer-to-IP conversion
  189. Randy Sommerfeld
    Mon May 31 2021 00:46:52 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Fix undeclared variable in WHO
  190. Rob Swindell
    Sun May 30 2021 21:52:45 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/tmp_xfer.cpp diff
    Increase file list creation progress report frequency Cosmetic only.
  191. Rob Swindell
    Sun May 30 2021 21:52:45 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Create (export to text) file lists faster - Don't read/load extended descriptions - Don't query each file size (use file cost from database)
  192. Rob Swindell
    Sun May 30 2021 20:12:16 GMT-0700 (PDT)
    Modified Files:
    
    web/root/msgs/msgs.ssjs diff
    Elimniate sysop/logged error when just msgs.ssjs is requested msgs.ssjs line 6: TypeError: msgbase is undefined Instead, just display an error to the user/browser (assuming there is one).
  193. Randy Sommerfeld
    Sun May 30 2021 17:26:17 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircd.js diff
    Turns out we need to disable infinite loop detection after all
  194. Rob Swindell
    Sun May 30 2021 12:47:13 GMT-0700 (PDT)
    Modified Files:
    
    web/root/msgs/msg.ssjs diff
    Fix errors when reading msgs posted by users that no longer exist "msg.ssjs line 42: Error: Error -1 reading user number" Fixed an errant semicolon in the process. (15 year old minor bug)
  195. Rob Swindell
    Sun May 30 2021 02:38:10 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Beautify the file list files (e.g. NEWFILES.TXT) a bit Use the file size estimates rather than actual byte values (to keep lines < 80 chars). Use file name file summary/description is blank or doesn't exist.
  196. Rob Swindell
    Sun May 30 2021 02:38:34 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/tmp_xfer.cpp diff
    File list creation scan progress meter display.
  197. Rob Swindell
    Sat May 29 2021 20:16:11 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Microsoft doesn't have fchmod(), so use chmod() on the closed file
  198. Rob Swindell
    Sat May 29 2021 20:08:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Keep the same area file (areas.bbs) mode flags (permissions) When executing area manager requests that alter the area file, the temp area file created (with mkstemp) had mode 0600 (owner read/write only). The sysop very possibly had different permission flags they want to keep for their area file, so copy the mode flags from the original area file to the temp/new area file.
  199. Rob Swindell
    Sat May 29 2021 19:32:37 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Don't allow downlinks (AreaFix add) of our "Unknown echoes" sub-board It was recently pointed out to me that a downlink could link to the '*' echo via Area Manager (AreaFix) request. This was not intentional.
  200. Rob Swindell
    Sat May 29 2021 18:28:14 GMT-0700 (PDT)
    Modified Files:
    
    exec/archive.js diff
    Since viewable file types support wildcards now, just use '*' This installs as the last viewable file type, so it just becomes a fall-through for all file extensions/types and attempts to view them using the Archive class.
  201. Rob Swindell
    Sat May 29 2021 18:15:47 GMT-0700 (PDT)
    Modified Files:
    
    docs/newfilebase.txt diff
    User to User transfer support was restored and other updates e.g. DIZ's up to 4000 characters are supported.
  202. Rob Swindell
    Fri May 28 2021 00:31:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.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/tmp_xfer.cpp diff
    Add optional "temp file transfer" module (defaults to "tempxfer"[.js]) This module (name configurable in SCFG->System->Loadable Modules) replaces the old hard-coded temp/archive file menu in v3.18 and earlier, going all the way back to v1a. Good-bye to yet more old and crufty Synchronet C source code. :-/ Change the "Pre Xtrn Prog" and "Post Xtrn Prop" menu option in SCFG->System->Loadable Modules to just "Pre Xtrn" and "Post Xtrn". The help text had the wrong names anyway (now fixed). Save the menu lightbar position in the "Loadable Modules" SCFG menu.
  203. Rob Swindell
    Fri May 28 2021 00:23:29 GMT-0700 (PDT)
    Added Files:
    
    exec/tempxfer.js diff
    A new module to replace the hard-coded temp/archive file menu in v3.18 The last missing file feature in v3.19.
  204. Rob Swindell
    Fri May 28 2021 00:21:49 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    More use of conditional blank lines in prompt strings.
  205. Rob Swindell
    Fri May 28 2021 00:21:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/text_defaults.c diff
    More use of conditional blank lines in prompt strings.
  206. Rob Swindell
    Thu May 27 2021 23:33:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_bbs.cpp diff
    Add bbs.export_filelist() method This is the last thing needed to complete the new temp/archive menu module implemented in JavaScript for v3.19. File list generation can easily be done in JS (see filelist.js for example), but since we have this function already in C++ (i.e. for including filelists in QWK packets) - might as well make it available for use in JS.
  207. Randy Sommerfeld
    Thu May 27 2021 17:53:21 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/server.js diff
    Fix LINKS
  208. Randy Sommerfeld
    Thu May 27 2021 17:40:39 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    exec/load/ircd/user.js diff
    Only purge queue on connection reset. Clean up user QUIT a bit.
  209. Rob Swindell
    Wed May 26 2021 23:08:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_bbs.cpp diff
    New bbs.view_file(filename) method. To list/view file/archive contents.
  210. Rob Swindell
    Wed May 26 2021 22:32:35 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircmsg.js diff
    Wait for the correct PING reponse using a random token. One potential issue here is if you connect/send to irc.synchro.net, you'l going to get the PONG response back from a different hostname (e.g. vert.synchro.net), which won't match the expected PONG response.
  211. Rob Swindell
    Wed May 26 2021 20:39:54 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircmsg.js diff
    Send a PING line after message line(s), wait for response. Is this what you had in mind, Cyan?
  212. Rob Swindell
    Wed May 26 2021 19:43:50 GMT-0700 (PDT)
    Modified Files:
    
    exec/chat_sec.js diff
    Abort menu loop when disconnected.
  213. Rob Swindell
    Wed May 26 2021 19:43:54 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/text.js diff
    Latest new string number definitions.
  214. Rob Swindell
    Wed May 26 2021 19:43:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/text_defaults.c diff
    Updated default BatchFlagPrompt
  215. Rob Swindell
    Wed May 26 2021 19:34:25 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/sbbslist_lib.js diff
    Change the max BBS name length from 40 to 30. 40 was causing a lot of cosmetic issues in sbbslist.js (for 80col terminals). This is a compromise (not reducing to the old limit of 25 chars at least). :-)
  216. Rob Swindell
    Wed May 26 2021 19:34:25 GMT-0700 (PDT)
    Modified Files:
    
    exec/sbbslist.js diff
    Remove storage from the 6th format, was making lines too long for 80cols. And nobody cares about your terabytes of free space anyway.
  217. Randy Sommerfeld
    Wed May 26 2021 15:55:02 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    Don't set properties until we know the object is valid
  218. Rob Swindell
    Tue May 25 2021 19:16:54 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/modopts.ini diff
    Add comment about adding sections/keys if they don't already exist.
  219. Rob Swindell
    Mon May 24 2021 21:43:48 GMT-0700 (PDT)
    Modified Files:
    
    exec/newslink.js diff
    Twitlist optimization (don't re-read over and over) Also added debug-level log messages for message loop rejection reasons, for John Dovey (GATOFUEG).
  220. Rob Swindell
    Mon May 24 2021 20:05:35 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs.h diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/viewfile.cpp diff
    Support wildcards in viewable file type extensions (e.g. * and ?) Now archive.js can be installed as a sort of "fall-through" file viewer (rather than listing all the supported/possible archive extensions as separately viewable file-types): File Extension * Command Line ?archive list %f
  221. Randy Sommerfeld
    Mon May 24 2021 15:40:21 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/core.js diff
    WHOIS now shows if the user is connected via SSL
  222. Randy Sommerfeld
    Mon May 24 2021 15:41:02 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/ipfilter_exempt.cfg diff
    ctrl/text.dat diff
    src/conio/OverhaulNotes.txt diff
    src/conio/bitmap_con.c diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/js_msgbase.c diff
    src/syncdraw/load.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/syncterm.c diff
    src/xpdev/gen_defs.h diff
    Removed Files:

    xtrn/sbl/DEPRECATED.TXT diff
    xtrn/sbl/GNUmakefile diff
    xtrn/sbl/Makefile diff
    xtrn/sbl/objects.mk diff
    xtrn/sbl/sbbslist.c diff
    xtrn/sbl/sbl diff
    xtrn/sbl/sbl.bpf diff
    xtrn/sbl/sbl.bpr diff
    xtrn/sbl/sbl.c diff
    xtrn/sbl/sbl.cfg diff
    xtrn/sbl/sbl.doc diff
    xtrn/sbl/sbl.dsp diff
    xtrn/sbl/sbl2smb diff
    xtrn/sbl/sbl2smb.c diff
    xtrn/sbl/sbl2smb.dsp diff
    xtrn/sbl/sbl2txt.c diff
    xtrn/sbl/sbldefs.h diff
    xtrn/sbl/sblpack diff
    xtrn/sbl/sblpack.c diff
    xtrn/sbl/sblpack.dsp diff
    xtrn/sbl/smb2sbl diff
    xtrn/sbl/smb2sbl.c diff
    xtrn/sbl/smb2sbl.dsp diff
    xtrn/sbl/sysop.txt diff
    xtrn/sbl/targets.mk diff
    Merge branch 'master' of gitlab.synchro.net:main/sbbs
  223. Rob Swindell
    Sun May 23 2021 17:43:27 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/ipfilter_exempt.cfg diff
    Add more private IP address ranges to the default filter exemption list And the IPv4 link local address block (169.254/16) too.
  224. Rob Swindell
    Sat May 22 2021 22:36:37 GMT-0700 (PDT)
    Modified Files:
    
    src/syncdraw/load.c diff
    Treat .msg files the same as .asc when loading.
  225. Rob Swindell
    Sat May 22 2021 22:22:07 GMT-0700 (PDT)
    Removed Files:

    xtrn/sbl/DEPRECATED.TXT diff
    xtrn/sbl/GNUmakefile diff
    xtrn/sbl/Makefile diff
    xtrn/sbl/objects.mk diff
    xtrn/sbl/sbbslist.c diff
    xtrn/sbl/sbl diff
    xtrn/sbl/sbl.bpf diff
    xtrn/sbl/sbl.bpr diff
    xtrn/sbl/sbl.c diff
    xtrn/sbl/sbl.cfg diff
    xtrn/sbl/sbl.doc diff
    xtrn/sbl/sbl.dsp diff
    xtrn/sbl/sbl2smb diff
    xtrn/sbl/sbl2smb.c diff
    xtrn/sbl/sbl2smb.dsp diff
    xtrn/sbl/sbl2txt.c diff
    xtrn/sbl/sbldefs.h diff
    xtrn/sbl/sblpack diff
    xtrn/sbl/sblpack.c diff
    xtrn/sbl/sblpack.dsp diff
    xtrn/sbl/smb2sbl diff
    xtrn/sbl/smb2sbl.c diff
    xtrn/sbl/smb2sbl.dsp diff
    xtrn/sbl/sysop.txt diff
    xtrn/sbl/targets.mk diff
    Remove SBL (Synchronet BBS List) - replaced by sbbslist.js years ago No need to keep this around, someone might try to build or run it!
  226. Deucе
    Sat May 22 2021 21:56:57 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/syncterm.c diff
    Use the screen modes enum, not names array for ini parsing Any screen mode where the description and the enum value were not identical (ie: ones with spaces or parenthesis) would not be used at startup correctly. Reported by DigitalMan via Discord
  227. Rob Swindell
    Sat May 22 2021 21:44:20 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_msgbase.c diff
    Fix mime_version and content_type property names in JSDOCS Underscores are more JS friendly (and correct).
  228. Rob Swindell
    Sat May 22 2021 20:51:38 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_archive.c diff
    Replace la_int64_t with int64_t for rjwboys.
  229. Rob Swindell
    Sat May 22 2021 17:37:28 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Obscure the number of file(s) shown as its non-obvious/helpful Just include the total files in the listing, not the current display. Fixes #268.
  230. Rob Swindell
    Sat May 22 2021 17:09:17 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Use int64_t instead of la_int64_t Resolve error reported on irc with Ubuntu (don't know what version): <rjwboys> ok now i get filedat.c:896:3: error: unknown type name ‘la_int64_t’
  231. Deucе
    Sat May 22 2021 17:02:03 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    Default to blocky scaling For programs that don't specify a scaling type (scfg, syncdraw) use blocky scaling.
  232. Deucе
    Sat May 22 2021 16:30:34 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Set the text mode before scaling and size Setting the scaling and size before changing modes does weird things. Those things should be fixed, but at least this makes the problem go away in SyncTERM for now.
  233. Deucе
    Sat May 22 2021 16:37:09 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/OverhaulNotes.txt diff
    13) We need a way to specify the initial mode.
  234. Rob Swindell
    Sat May 22 2021 15:51:51 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/gen_defs.h diff
    Character 255 is a non-breaking space in CP437 Now IS_WHITESPACE() will return true for that char and this allows things like truncsp() to truncate trailing white-space (e.g. from a FILE_ID.DIZ), even if it contains a terminating 0xFF character for some unknown reason.
  235. Rob Swindell
    Sat May 22 2021 15:52:19 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    Don't abort the file-info edit prompts if no uploader name is entered
  236. Randy Sommerfeld
    Sat May 22 2021 15:28:18 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/ircd/channel.js diff
    exec/load/ircd/server.js diff
    Fix unused/undeclared variables
  237. Deucе
    Sat May 22 2021 02:37:50 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Set mode by macro, not number
  238. Deucе
    Sat May 22 2021 02:12:47 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/ciolib.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
    Add "LCD 80x25" to make DigitalMan less angry He's old, and should keep his blood pressure down. Do not walk on his lawn.
  239. Randy Sommerfeld
    Fri May 21 2021 21:52:01 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircd.js diff
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    exec/load/irclib.js diff
    text/ircmotd.txt diff
    IRCd 1.9b
  240. Rob Swindell
    Fri May 21 2021 21:52:01 GMT-0700 (PDT)
    Modified Files:
    
    exec/ircd.js diff
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    exec/load/irclib.js diff
    text/ircmotd.txt diff
    Merge branch 'master' into 'master' IRCd 1.9b See merge request main/sbbs!126
  241. Deucе
    Fri May 21 2021 20:42:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Fix console and connect events when using select()
  242. Deucе
    Fri May 21 2021 20:04:00 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    Make inet_ptoaddr() not crash and work with IPv4 address strings
  243. Deucе
    Fri May 21 2021 18:34:46 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Fix custom mode font size picker
  244. Rob Swindell
    Fri May 21 2021 17:59:25 GMT-0700 (PDT)
    Modified Files:
    
    exec/msglist.js diff
    Perform deleted-msg filtering for all message bases, not just mail Issue reported by plt2 via IRC.
  245. Deucе
    Fri May 21 2021 17:22:17 GMT-0700 (PDT)
    Added Files:
    
    src/conio/OverhaulNotes.txt diff
    Add notes for CIOLIBng This is basically just a scratchpad for things I want to have in the future ciolib.
  246. Deucе
    Fri May 21 2021 16:23:47 GMT-0700 (PDT)
    Added Files:
    
    exec/load/rip.js diff
    Add a new RIP utility library Currently, this has RIP.supported which returns true if RIP is supported by the client, and rip.loadicons(archive) which sends all the icons (and .RIP files) in the specified archive (either an Arcive object or a filename) to the remote if they don't already have them. If you have a RIP enabled door, a small JS script as a pre-run command like this: require("rip.js", "RIP"); rip.loadicons('/sbbs/xtrl/lord/lordicns.zip'); Will automatically send all the icon files in the arcive to the user if the user doesn't already have them. For SyncTERM as of this commit, they will be placed in the cache directory for that BBS (and only be available for that BBS). On *nix, the cache dir is ~/.syncterm/cache/<bbsname> On Win32 it's something like: C:\Users\User\AppData\Local\Microsoft\Windows\INe tCache\SyncTERM\cache\<bbsname> No ideal what it is on macOS.
  247. Deucе
    Fri May 21 2021 15:29:07 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Fix auto-transfers
  248. Deucе
    Fri May 21 2021 16:07:56 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Send CRLF instead of the specified CR on a file status.
  249. Deucе
    Fri May 21 2021 16:22:06 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Fix newly-introduced memory leak... I was going to start keeping the old rect around again, but that idea didn't pan out. This massive memory leak is what I get for not doing more commits while tuning.
  250. Deucе
    Fri May 21 2021 14:11:55 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Try to remove the extra "SyncTERM" from the BBS cache path on Win32 Reported by Booch (Thanks!)
  251. Rob Swindell
    Thu May 20 2021 20:33:47 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    Fix error: ‘stderr’ undeclared (first use in this function)
  252. Rob Swindell
    Thu May 20 2021 20:07:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    Have movefile() leave the original file with the delete attribute This has the effect of the file being listed as absent/deleted in the listing that's in memory. As requested by Phil, plt via irc. Moving a file after this change did result in a crash once, but I couldn't reproduce it with a debugger attached.
  253. Deucе
    Thu May 20 2021 19:20:19 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    Fix bug in last commit Pixes set via setpixels() were only set in the "blink off" screen and not in the "blink on" screen... so they all reverse blinked.
  254. Deucе
    Thu May 20 2021 19:13:11 GMT-0700 (PDT)
    Modified Files:
    
    src/build/Common.gmake diff
    src/conio/bitmap_con.c diff
    src/conio/scale.c diff
    src/conio/x_events.c diff
    Optimizations: 1) Keep a rectangle updated per-screen rather than regenerate each time 2) Strip palette info when putting pixels into rectangles rather than during scaling 3) Tighten up the screen locks a bit 4) Don't require a full resend of both screens on an update request 5) Only force a redraw for cursor movement when the cursor is visible (And force it whenever the cursor changes) 6) Avoid doubles in interpolation 7) Heavily optimize interpolate_height() interpolate_width() likely doesn't need it because it's generally not used and also it reads from the next pixel in memory making the prefetchers job easier. 8) Fix some memory-leak-on-error issues 9) For ARGB8 XImages, manipulate the data directly rather than through XPutPixel() At this point, the scaling and X11 output time is heavily dominated by cache misses. The only really effective way to reduce this hit is to spread the work across all the L3 caches in the system or move it into the GPU. With the latest updates, at the SyncTERM menu, over 90% of the time is spent in the rendering pipeline, and over 90% of that time is spent thrashing the caches... the only real easy win left is vectorizing, but that's highly compiler specific. To that end, I've switched to -O3 for release builds. There was a comment that -finline-functions broke Baja "badly", but that's clearly false since -f-inline-functions has been part of -O2 for quite a while now, and Baja doesn't seem any more broken that it ever was.
  255. Rob Swindell
    Thu May 20 2021 03:02:24 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/filewrap.h diff
    Create a Win32 wrapper for mkstemp() as MSVC doesn't have it SBBSecho uses mkstemp() now (instead of tempnam()) - so we need this POSIX function wrapper for Windows builds to succeed.
  256. Rob Swindell
    Thu May 20 2021 02:47:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Replace tempnam() usage with the suggested mkstemp() Since we're cleaning up warnings... this will break the Windows build for now.
  257. Deucе
    Thu May 20 2021 01:58:44 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    src/conio/xbr.c diff
    src/sbbs3/zmodem.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/ooii.c diff
    src/syncterm/ripper.c diff
    src/syncterm/term.c diff
    src/uifc/filepick.c diff
    Fix all GCC warnings in SyncTERM on FreeBSD
  258. Rob Swindell
    Thu May 20 2021 01:41:35 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/GNUmakefile diff
    Don't disable the GCC suggested parenthesis warning here
  259. Deucе
    Thu May 20 2021 01:33:12 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    ifdef out an unused static function for now. It will be used in the future, so the code shouldn't be deleted, but not using it causes a warning.
  260. Deucе
    Thu May 20 2021 01:29:45 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/xbr.c diff
    Digitalman and Clang agree that order of operations is too hard to reply on. Make it harder to merge this code from upstream in the future instead.
  261. Deucе
    Thu May 20 2021 01:27:08 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    Screw it, if the compiler doesn't optimize it, just use more CPU. At least the warnings are gone.
  262. Rob Swindell
    Thu May 20 2021 01:17:18 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/GNUmakefile diff
    Disable gcc warning about suggested parenthesis Deuce doesn't want to add "useless parenthesis" to xbr.c. Hopefully Clang will just ignore this -Wno-* option? warning: suggest parentheses around ‘&&’ within ‘||’
  263. Rob Swindell
    Thu May 20 2021 01:16:07 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    Declare blend() as inline to eliminate gcc warning warning: always_inline function might not be inlinable [-Wattributes]
  264. Deucе
    Thu May 20 2021 01:06:41 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/conio/sdl_con.c diff
    src/sbbs3/umonitor/spyon.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/ripper.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/term.c diff
    Add an argument to cterm_end() to not free fonts While we're doing that, actually use it in SyncTERM so the offline scrollback retains fonts. Also, fix an issue where the current mode would be updated with the custom parameters when you changed them. Finally, remove some unused variables.
  265. Rob Swindell
    Thu May 20 2021 00:38:11 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Eliminate unused variable that I guess clang doesn't warn about but gcc does.
  266. Deucе
    Wed May 19 2021 23:33:32 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Use fexistcase() for RIP assets It seems that at least LORD has upper-case in the ZIPs and lower-case in the queries.
  267. Deucе
    Wed May 19 2021 23:01:43 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/syncterm/ripper.c diff
    src/syncterm/syncterm.c diff
    Add some love for SkyPix The biggest issue with SkyPix is the fact that it's *not* a character cell mode. The cursor is pretty much impossible to position correctly, and all the text "stuff" basically needs to be bypassed.
  268. Deucе
    Wed May 19 2021 18:25:55 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Recalculate list height before showing after mode change
  269. Deucе
    Wed May 19 2021 18:26:10 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Draw the shadow if the API bgcolor is blue WIN_INACT was not getting a border because it changes the value of bclr which is explicitly compared with BLUE to detect if a shadow should be drawn. Instead, draw a shadow any time it would normally be drawn.
  270. Deucе
    Wed May 19 2021 18:08:07 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    No need to resize window just because it moved. Fixes X11 window dragging blinkiness.
  271. Deucе
    Wed May 19 2021 16:17:06 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdlfuncs.c diff
    src/conio/sdlfuncs.h diff
    Fix some return types for SDL functions
  272. Deucе
    Wed May 19 2021 16:07:24 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    src/syncterm/term.c diff
    src/syncterm/term.h diff
    Implement upload/download support and use cache dir
  273. Deucе
    Wed May 19 2021 16:08:14 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/CHANGES diff
    src/syncterm/CMakeLists.txt diff
    src/syncterm/Info.plist diff
    src/syncterm/ripper.h diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.spec diff
    Known bugs are fixed... it's now Beta.
  274. Deucе
    Wed May 19 2021 12:53:32 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    On scale fail, but both buffers back in the pool If do_scale ever failed, it would result in graphics buffers not returning to the pool, resulting in them never being reused.
  275. Deucе
    Wed May 19 2021 12:33:48 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    src/syncterm/menu.c diff
    src/syncterm/term.c diff
    Go back to ALT-Up/Down for speed adjustment Now that ALT-Up/Down no longer have an effect on window size, they can go back to their previous bindings of changing the emulated output speed. At the same time, remove AltGr support from keysym parsing since it should be properly handled by the text input stuff now.
  276. Deucе
    Wed May 19 2021 09:52:20 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Use aspect_fix() not aspect_correct() for initial window size Caused the initial window to be the wrong size.
  277. Deucе
    Tue May 18 2021 20:17:03 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/vidmodes.c diff
    Switch from "the CTerm palette" to the colodore one See https://www.pepto.de/projects/colorvic/ for details.
  278. Deucе
    Tue May 18 2021 19:45:11 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/sdl_con.c diff
    src/conio/vidmodes.c diff
    src/conio/vidmodes.h diff
    src/conio/x_events.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/ripper.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    Use display aspect ratio, not pixel for tracking. People are used to thinking about the aspect ratio of displays and used to not thinking at all about that of pixels. Most of the modes are simplt 4:3 modes and the text area is the entire window. The only oddball here is the Commodore 64 and 128 40-column modes. Because they have a border around them that's wider on the sides than the top/bottom, the display aspect ratio is actually narrower than a normal NTSC screen (6:5). It seems the PAL version actually has square pixels, but nobody has asked for a PAL Commodore mode, and I think that has a different colour palette too so I'm not doing it. Just to frustrate DigitalMan a bit, the default custom aspect ratio is now 4:3 (but can be configured). At present, modifying the custom mode while *in* the custom modes "works", which no sane person would want when adjusting the aspect ratio.
  279. Deucе
    Mon May 17 2021 22:28:02 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/term.c diff
    Fix ETA calculation. Use remaining bytes divided by CPS rather than total estimated time minus elapsed time. We squirrley on resumed ZModem downloads.
  280. Deucе
    Mon May 17 2021 21:51:35 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Add a function to translate event coordinates to screen Fixes issue 56
  281. Deucе
    Mon May 17 2021 19:38:13 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/sbl/sbl2smb.c diff
    xtrn/sbl/smb2sbl.c diff
    Do the Zombie Shuffle This is fine.
  282. Deucе
    Mon May 17 2021 19:05:40 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Sync ciolib_to_screen() with screen_to_ciolib()
  283. Deucе
    Mon May 17 2021 19:07:57 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/vidmodes.c diff
    Fix the 132x43 mode... Was using the 14 row font with 350 screen rows and expecting 43 lines.
  284. Deucе
    Mon May 17 2021 18:55:54 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Fix off-by-one error in program settings.
  285. Deucе
    Mon May 17 2021 18:40:25 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Passing a NULL bar prevents *cur from being off the first screen. Instead, just set bar to the end and let ulist() sort it out. It sucks, but it sucks less.
  286. Deucе
    Mon May 17 2021 18:41:14 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/vidmodes.c diff
    Calculate and plug in pixel aspect ratios. We're leaving the "Awesome Modes" as 1:1, but the rest all assume a 4:3 display that is filled by the described text.
  287. Deucе
    Mon May 17 2021 11:15:47 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdlfuncs.c diff
    Use xp_dlsym() correctly.
  288. Deucе
    Mon May 17 2021 10:24:25 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    src/conio/sdlfuncs.c diff
    Set High DPI Awareness before calling SDL_Init()
  289. Deucе
    Mon May 17 2021 09:59:03 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    Use the API to insist SyncTERM is "High DPI aware" Microsoft wants us to use a manifest for this, but I really don't feel like digging into however one uses manifest files when not using the Microsoft build files. Details here: https://docs.microsoft.com/en-us/windows/win32/hidpi/setting-the- default-dpi-awareness-for-a-process
  290. Deucе
    Mon May 17 2021 09:38:20 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    Specify HighDPI mode when creating a window. This may solve issue where using Windows "DPI scaling" forces the window to be scaled.
  291. Rob Swindell
    Sun May 16 2021 20:22:52 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Add EditExtDescriptionQ and removed DeleteExtDescriptionQ
  292. Rob Swindell
    Sun May 16 2021 20:20:13 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/writemsg.cpp diff
    Add support for editing extended file descriptions New text.dat string: - EditExtDescriptionQ Removed text.dat string: DeleteExtDescriptionQ
  293. Rob Swindell
    Sun May 16 2021 18:13:40 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Fix the printf format for the "ERROR ... connecting to passthru socket" Was passing the address string twice, so the port appeared as an invalid number.
  294. Rob Swindell
    Sun May 16 2021 16:09:29 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/logfile.cpp diff
    Log the current Git branch and hash along with every error This eliminates any ambiguity about what exact version was in use when each error is logged.
  295. Rob Swindell
    Sun May 16 2021 16:45:28 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Don't attempt to remove files that have already been removed This is the likely cause of Phil's reported errors when removing files: access=-110 info=smb_removefile name not found The only way I was able to reproduce these errors was to attempt to remove the same file multiple times in the same file listing. In other worse, use 'R', remove a file, then 'P'revious back to the first file and try to remove it again. Or to remove it a file from the batch flag prompt and then attempt to remove it again. <shrug>
  296. Rob Swindell
    Sun May 16 2021 16:46:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Log local address in passthru connection failure Altere reported via IRC: !ERROR -1 (113) connecting to passthru socket It might be helpful to know the address the passthru socket is bound to and the connection is being attempted on, so log that with the error.
  297. Rob Swindell
    Sun May 16 2021 00:16:19 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Check return value of fseek() and fstat() CID 330960, 330967, 330988
  298. Rob Swindell
    Sat May 15 2021 23:07:26 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Fix typo that caused updatefile() to return false on success This may have contributed to plt's file editing woes.
  299. Rob Swindell
    Sat May 15 2021 23:09:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    Fix potential NULL deref in editfiledesc() If the file doesn't already have a description, f->desc may be NULL. Remove the redundant user name in the "removed file" log message.
  300. Rob Swindell
    Sat May 15 2021 23:09:38 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Simplify the file remove/delete logic here.
  301. Rob Swindell
    Sat May 15 2021 20:47:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Use correct string for file path when removing file for non dir-ops Fix issue reported by Jay Crutti.
  302. Rob Swindell
    Sat May 15 2021 20:50:44 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/email.cpp diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/writemsg.cpp diff
    Use FOPEN_BUF_SIZE more globally
  303. Rob Swindell
    Sat May 15 2021 18:46:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfglib1.c diff
    Remove a bunch of old #ifdef/0'd out code
  304. Rob Swindell
    Sat May 15 2021 13:21:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    Fix use of uninitialized variable in editfilename() CID 331582
  305. Rob Swindell
    Sat May 15 2021 02:42:17 GMT-0700 (PDT)
    Modified Files:
    
    3rdp/win32.release/cryptlib/bin/cl32.dll diff
    3rdp/win32.release/cryptlib/bin/cl32.lib diff
    Cryptlib 3.4.5 with the latest patches from Deuce
  306. Rob Swindell
    Sat May 15 2021 01:33:35 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/conio.vcxproj diff
    Fix the new try_x_init() link error
  307. Rob Swindell
    Sat May 15 2021 01:33:35 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/text_defaults.c diff
    Latest text.dat changes.
  308. Deucе
    Sat May 15 2021 01:20:05 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Blocky scaling is better in my opionion. Make it the default.
  309. Deucе
    Sat May 15 2021 01:08:25 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/ciolib.c diff
    try_x_init() doesn't need to be guarded by win32 either.
  310. Deucе
    Sat May 15 2021 01:01:52 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Don't guard #pragma
  311. Deucе
    Sat May 15 2021 00:55:01 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    src/conio/sdl_con.c diff
    Fix SDL scaling weirdness issues.
  312. Rob Swindell
    Sat May 15 2021 00:22:02 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    src/syncterm/ripper.c diff
    Fix for MSVC build using #ifndef _MSC_VER #pragma clang causes an error __attribute__ not supported
  313. Rob Swindell
    Sat May 15 2021 00:22:43 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/conio_sdl.vcxproj diff
    Disable X and add new dependent source files
  314. Rob Swindell
    Sat May 15 2021 00:23:00 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/SyncTERM.vcxproj diff
    Add new dependent source file: telnets.c
  315. Rob Swindell
    Fri May 14 2021 23:58:03 GMT-0700 (PDT)
    Modified Files:
    
    3rdp/win32.release/cryptlib/include/cryptlib.h diff
    Latest patched cryptlib.h for use with SyncTERM/MSVC build
  316. Deucе
    Fri May 14 2021 21:56:51 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Fix issue where X11 window would be blank on an Expose event.
  317. Deucе
    Fri May 14 2021 21:49:38 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    src/conio/ciolib.h diff
    src/conio/scale.c 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
    Add support for VGA 80x25 mode. This uses the 720x400 with 9x16 character cell that always made BBSs look so terrible.
  318. Deucе
    Fri May 14 2021 17:57:12 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/ciolib.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    Prefer X11 mode over SDL mode I do, so you should too!
  319. Deucе
    Fri May 14 2021 17:50:28 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Support ALT-Left/ALR-Right for scaling adjustment in X11 mode.
  320. Deucе
    Fri May 14 2021 17:43:10 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Clear the entire window when the xim size is potentially changed. This fixes issues where "leftovers" from the previous mode would remain in a new screen mode.
  321. Deucе
    Fri May 14 2021 17:00:36 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    Use lround(), not roundl(). Also, include math.h
  322. Deucе
    Fri May 14 2021 16:52:13 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/curs_cio.c diff
    src/conio/scale.c diff
    src/conio/x_events.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/ripper.c diff
    src/xpdev/strwrap.h diff
    Fix(?) more Windows warnings.
  323. Deucе
    Fri May 14 2021 16:39:54 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/bbslist.c diff
    Don't pass -1 as cur or bar. Sheesh.
  324. Deucе
    Fri May 14 2021 16:20:25 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/GNUmakefile diff
    Bah, gmake.
  325. Deucе
    Fri May 14 2021 16:14:15 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/GNUmakefile diff
    src/conio/objects.mk diff
    scale.o and xbr.o are (basically) required by bitmap now.
  326. Deucе
    Fri May 14 2021 16:12:30 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    sdl_con.c can have stdbool.h too.
  327. Deucе
    Fri May 14 2021 16:10:36 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    Include the necessary
  328. Deucе
    Fri May 14 2021 16:05:37 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    src/conio/sdl_con.c diff
    src/syncterm/syncterm.c diff
    Have SDL use internal scaling when the window size matches. Simplest way is to use the alt-left/right snapping.
  329. Deucе
    Fri May 14 2021 11:44:11 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/ciolib.h diff
    src/conio/scale.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/syncterm.c diff
    src/syncterm/syncterm.h diff
    Add a new "Blocky Scaling" option to syncterm Which required a new ciolib option of course. Only usable in X11 mode at present, though it may land for SDL this weekend.
  330. Deucе
    Fri May 14 2021 11:00:51 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    Make a generic odd pointy scaler. Since we have all odd numbers thanks to the pointy scaler, and we have 2x thanks to xBR, we should now be able to build any integer scaling from a combination of those two scalers. This, of course, assumes you have enough CPU and RAM to actually do the scaling you want... powers of two will likely be the worst case for scaling. Also, do pointy scaling before xBR.
  331. Deucе
    Fri May 14 2021 11:22:23 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/x_events.c diff
    Now that we have scaling sorted out, the X11 driver doesn't need it Also, we don't need to use pointers for the scaling.
  332. Rob Swindell
    Thu May 13 2021 23:27:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/chat.cpp diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/inkey.cpp diff
    Fix-ups for the "continuous random tone" sysop chat pager I haven't played with this chat pager in *years*! The lowest tones were inaudible (raise the range from 0-800Hz to 400-1200Hz). Increase the msgabort() tone from 1 to 10ms, sounds like those computerized voice recognition phone systems now. Remove the redundant "<user> paged you to chat" notifications (and log message) when turning *off* the chat pager.
  333. Rob Swindell
    Thu May 13 2021 22:46:49 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/con_out.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/sbbs.h diff
    Simplify the check-and-clear of console abort status by adding a 'clear' argument to msgabort() that defaults to false. Pass true to check-and-clear. checkline() is a NO-OP, so start eliminating "calls" to it.
  334. Rob Swindell
    Thu May 13 2021 22:34:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/sbbs.h diff
    Clear the abort flag with the various editfile* functions return false ... upon console abort (Ctrl-C).
  335. Rob Swindell
    Thu May 13 2021 21:49:19 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Make (D)esc command short-cut to just edit file descriptions
  336. Rob Swindell
    Thu May 13 2021 21:46:00 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/viewfile.cpp diff
    Make (D)esc command short-cut to just edit file descriptions Now, just 'E', then 'D' from the batch flag prompt has you editing a file description - rather than going through all the prompts for uploader name/date, etc.
  337. Rob Swindell
    Thu May 13 2021 21:16:11 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Add FileInfoEditPrompt string
  338. Rob Swindell
    Thu May 13 2021 21:15:16 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/viewfile.cpp diff
    Allow of edit of file info from extended file info prompt Added text.dat string FileInfoEditPrompt. Does not allow rename of file from this prompt - perhaps it should? Resolves issue #263.
  339. Rob Swindell
    Thu May 13 2021 19:16:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    src/sbbs3/filelist.c diff
    Fix misuse of loadfiles()
  340. Deucе
    Thu May 13 2021 19:15:04 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/scale.c diff
    src/conio/vidmodes.c diff
    Add an untested width interpolater SyncTERM doesn't support any "fat-pixel" modes.
  341. Rob Swindell
    Thu May 13 2021 18:53:59 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/delfiles.c diff
    Fix ERROR ... removing file from database Wrong arguments passed to loadfiles() caused only index to be read. As reported by plt via irc: ERROR (smb_putmsghdr illegal header length increase: 70 (1 blocks, 0 hfields, 0 dfields) vs 0 (0 blocks)) removing file from database Also, replace old CVS rev with Git branch and hash. And for everyone: use delfiles.js instead (e.g. with jsexec).
  342. Rob Swindell
    Thu May 13 2021 18:56:47 GMT-0700 (PDT)
    Modified Files:
    
    src/smblib/smbfile.c diff
    smb_removefile() failed if filename length was > 64 chars And the "name not found" error text was wrong.
  343. Deucе
    Thu May 13 2021 17:59:10 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/x_events.c diff
    src/conio/xbr.c diff
    Many X11 scaling improvements... 1) Initialize the r2y array for xBR so it actually works. 2) Add a vertical (only) interpolation scaler for aspect ratio enforcement 3) Add a simple muliplier scaler, so that can be removed from x_event.c 4) Use a new graphics buffer free list, which allows tracking last drawn screen instead of last bitmap rectangle, removing various hacks 5) Share the Y'CbCr <-> R'dG'dB'd tables between xBR and scale.c
  344. Deucе
    Thu May 13 2021 18:35:20 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/vidmodes.c diff
    src/conio/x_events.c diff
    Align into columns, and add aspect ratios for more modes. I really need to do a sweep through and update all the aspect ratios now that the data actually matters.
  345. Deucе
    Thu May 13 2021 01:31:11 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    More fallout from non-square pixels... This fixes all the window adjustment "stuff", but the new aspect ratio enforcement means that ALT-UP and ALT-DOWN are useless for resizing the window unless it's not already snapped... use ALT-LEFT and ALT-RIGHT to decrease/increase the window size.
  346. Deucе
    Thu May 13 2021 00:45:20 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/sdl_con.c diff
    Keep correct aspect ratio when resizing window. Also, the 8x16 font at 80x25 is *not* a square pixel aspect ratio. As a result, it now stays "proper", which is likely not what you want. This was discovered when I was trying to make DigitalMan happy because he wanted the apsect ratio retained on scaling. Sorry for the impending imminent scaling hassle DigitalMan!
  347. Rob Swindell
    Thu May 13 2021 00:06:37 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Don't populate metadata property unless there is metadata Or detail level is MAX.
  348. Rob Swindell
    Wed May 12 2021 23:31:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    The optional JSON-metadata string property is now "metadata" The old "content" array property goes away.
  349. Rob Swindell
    Wed May 12 2021 23:38:11 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    Eliminate list_archive_contents() Do this in JS and use JSON for format instead of .ini.
  350. Rob Swindell
    Wed May 12 2021 23:57:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Allow the metadata property to be set with add() and update() Sorry for the impending imminent merge hassle Deuce!
  351. Deucе
    Wed May 12 2021 22:55:19 GMT-0700 (PDT)
    Added Files:
    
    src/conio/hqx.c diff
    src/conio/hqx.h diff
    src/conio/scale.c diff
    src/conio/scale.h diff
    src/conio/xbr.c diff
    src/conio/xbr.h diff
    Modified Files:
    src/conio/GNUmakefile diff
    src/conio/objects.mk diff
    src/conio/x_events.c diff
    Add smooth scaling to X11 output Uses "pointyscale" for x3 and x5 Uses xBR from FFmpeg for x2 and x4 HQx is also included, but unused as it's too slow at x4.
  352. Rob Swindell
    Wed May 12 2021 22:53:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Attempt to resolve "!ERROR 11 receiving from socket" reported by plt <plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> append key into keybuf: 4E (N) <plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> Executing external: /sbbs/exec/sexyz 14 -Telnet sz /mnt/disk1/dl/COCO/AGI/agi-xmas.zip <plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: Synchronet External X/Y/ZMODEM v3.0 master/23b741a1c Copyright Rob Swindell <plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: !File skipped by receiver <plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: !File Skipped <plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: !0 Aborting Transfer (Sending ZABORT) <plt> May 13 00:39:40 sbbs synchronet: term Node 1 !ERROR 11 receiving from socket 14 <plt> May 13 00:39:40 sbbs synchronet: term Node 1 input thread terminated (received 365 bytes in 35 blocks) Not sure why this isn't happening for other sysops - perhaps plt was spying on the node?
  353. Rob Swindell
    Wed May 12 2021 21:12:11 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/upgrade_to_v319.c diff
    Remove the archive contents in SMB file "tail" thing This was really slowing down the upgrade_to_v319 and there's no current consumer of the data. Consider adding back in JSON format later or just leave it to JS things to use for JSON-formatted metadata.
  354. Rob Swindell
    Wed May 12 2021 21:07:04 GMT-0700 (PDT)
    Modified Files:
    
    src/smblib/smbfile.c diff
    Fix crash in smb_addfile_withlist() when passed a non-NULL empty list Don't allocate and memset a buffer of -1: #1 0x0000559222bc167f in strListCombine (list=0x559224220720, buf=0x559224226550 "", maxlen=18446744073709551615, delimit=0x559222bcce0a "\r\n") at str_list.c:447 447 memset(buf, 0, maxlen); (gdb) print maxlen $1 = 18446744073709551615 (gdb) up #2 0x0000559222ba3841 in smb_addfile_withlist (smb=0x7ffce63a7e90, file=0x7ffce63a5bc0, storage=1, extdesc=0x0, list=0x559224220720, path=0x7ffce63a6e80 "/xfer/loons/manhater.mp3") at smbfile.c:365 365 strListCombine(list, content, size - 1, "\r\n"); (gdb) print list $2 = (str_list_t) 0x559224220720 (gdb) print list[0] $3 = 0x0 Found/reported by plt via irc. Thanks!
  355. Rob Swindell
    Wed May 12 2021 20:41:02 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Speed up list_archive_contents() Don't use iniSet* since we know we're not updating existing ini entries. Use strListAppendFormat() instead.
  356. Deucе
    Tue May 11 2021 09:07:34 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Fix angle calculations on Win32 Do multiple before divide, and use an lround() to get the same results on Win32 with mingw32 as Clang on FreeBSD.
  357. Deucе
    Mon May 10 2021 18:56:38 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/conn.c diff
    Put the kbhit() check back into the connect loop Was removed along with select() in e2094fb95
  358. Rob Swindell
    Mon May 10 2021 17:02:36 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/smbutil.c diff
    Fix issue with the import message commands introduced in previous commit The fread() usage here did not need "addressing" (Commit 1b56dc96). This caused messages posted via smbutil to be short (e.g. 0 or 1 bytes in length). Reported by Accession via Idle Relay Chat. Also, don't call strlen() on msgtxt which could be NULL, causing segfault in final printf() callin in postmsg().
  359. Deucе
    Mon May 10 2021 09:56:01 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Add extended comment on do_fill() and why it's terrible.
  360. Deucе
    Mon May 10 2021 09:26:59 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Draw the ellipse pixel when the angle is equal to start/end as well Being stritly less/greater causes a one pixel gap at the start/end of the ellipse, meaning flood fills can escape.
  361. Deucе
    Mon May 10 2021 09:18:39 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/ripper.c diff
    Numerous changes: Clamp coordinate translation max Fill using native pattern, not scaled pattern Add a bad, broken, and slow even/odd fill Fix logging when RIP is enabled Use the same ellipse algorithm for partial as full ellipses Detect diagonal movement in ellipse drawing and don't make the edge fat Only recurse once in the flood fill Implement the v2 poly bezier command Enable filled pie slices Add RIP_POINT command (basically a scaled pixel using line width)
  362. Rob Swindell
    Sun May 09 2021 23:47:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/tickit.js diff
    Don't allow duplicate extended and normal descriptions If the extended description and the normal (short) description are the same, delete the extended (long) description.
  363. Rob Swindell
    Sun May 09 2021 23:03:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/echocfg.c diff
    src/sbbs3/rechocfg.c diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.h diff
    Add option to control whether area-linked nodes must be configured This should address issue # 261. Before April 19, 2016, area-linked nodes were required to be listed as nodes in sbbsecho.ini: http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/sbbs3/sbbsecho.c?revision=3.6&vi ew=markup I'm not sure why the change was made to only require that there be a wildmatch for each area-linked node. So just make it a configuration option. <shrug> Also removed the trailing "..." for every top level menu item in echocfg.
  364. Rob Swindell
    Sat May 08 2021 15:22:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Make it a conditional *blank* line before the batch flag prompt It's very tricky to defeat the auto-pause to have your own custom prompt at rows-1. So going back to having a blank line before the batch prompt.
  365. Rob Swindell
    Thu May 06 2021 22:51:37 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Change CRLF before batch flag prompt to a conditional new-line. If a sysop wants a *blank* line before the batch flag prompt, they can put that (or a conditional blank line, even better) in their text.dat (BatchFlagPrompt). For now, I'm thinking no blank line before the prompt is better use of the screen.
  366. Deucе
    Thu May 06 2021 19:04:18 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    More improvements... Consistently use map_rip_color() Optimize flood fill to not clobber the stack Fix small full ellipses to match RIPTerm 1.54
  367. Deucе
    Wed May 05 2021 20:56:17 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Fix palette calculations, and add support for RIPv2 'b' command.
  368. Rob Swindell
    Tue May 04 2021 22:20:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Don't sort the keys in the content sections of a file.
  369. Rob Swindell
    Tue May 04 2021 22:21:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/text_defaults.c diff
    A couple additional [P]revious commands when list/viewing files
  370. Rob Swindell
    Tue May 04 2021 22:20:44 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    A couple additional [P]revious commands when list/viewing files
  371. Rob Swindell
    Tue May 04 2021 22:17:40 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    sbbs_write_ini() called with a NULL global pointer could have crashed as get_ini_globals() will de-ref the 'interfaces' element. CID 331352
  372. Rob Swindell
    Tue May 04 2021 22:17:40 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/ini_file.c diff
    Fix a couple of resource leaks in iniSortSections() One in an error path (CID 331353), the other not.
  373. Deucе
    Tue May 04 2021 11:02:17 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/x_events.c diff
    Optimize pixel calculations.
  374. Deucе
    Tue May 04 2021 18:01:26 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Make some changes Mostly tightening things up and fixed some text things.
  375. Rob Swindell
    Tue May 04 2021 01:35:22 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/ini_file.c diff
    Remove unused variable added in previous commit.
  376. Rob Swindell
    Tue May 04 2021 01:33:11 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/upgrade_to_v319.c diff
    Sort stored file (archive) contents, for later comparison purposes Some archives contain exactly the same files as others, but in a different order. Believe it or not.
  377. Rob Swindell
    Tue May 04 2021 01:06:51 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/str_list.c diff
    NULL pointer checks in strListSort*() and strListDup()
  378. Rob Swindell
    Tue May 04 2021 01:12:04 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/ini_file.c diff
    src/xpdev/ini_file.h diff
    Add iniSortSections() which can sort a read ini list and optionally keys This also exposed problems with the find_section() utility function: when the "found" section was actually empty and the next immediate line in the ini file was the beginning of a new section, the "keys" indexed would actually be the next section. Now fixed.
  379. Deucе
    Mon May 03 2021 08:24:58 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/syncterm/ripper.c diff
    Vectorize beziers
  380. Rob Swindell
    Mon May 03 2021 00:33:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Previous file support from the [R]emove and [D]ownload commands. More support for moving backwards through file searches/listing types.
  381. Rob Swindell
    Sun May 02 2021 20:16:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    src/sbbs3/js_filebase.c diff
    Fix issues with file header fields getting repeated (cloned) e.g. when using the JS FileBase.update() method
  382. Rob Swindell
    Sun May 02 2021 17:14:24 GMT-0700 (PDT)
    Modified Files:
    
    src/smblib/smblib.c diff
    When adding a msg/file header, remove the DELETE attribute When moving or renewing files, they're first removed and then added and they were being added with the DELETE attribute set. The filenames are displayed in red when staged for deletion/removal, so that's how I noticed. Oops.
  383. Rob Swindell
    Sun May 02 2021 16:57:30 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/wwiv/main.asc diff
    text/menu/wwiv/transfer.asc diff
    Insert conditional-newlines (Ctrl-A/) to force line-wraps on >80 col terminals Apparently these menu files were created exactly 80 columns wide. <shrug> This fixes issue 257 reported by Keyop.
  384. Deucе
    Sun May 02 2021 08:30:23 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/syncterm/ripper.c diff
    Optimize color_value() and fix RIP reset color_value() is in the hot drawing path, so should be as fast as possible... remove all the bit shifting and have the palette just be colour values. For RIP, the reset wasn't resetting the global coordinates, so a scaled image would cause everything to be scaled down later.
  385. Deucе
    Sun May 02 2021 07:48:38 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Add save/resotore mouse fields commands. Used extensively on Black Flag BBS.
  386. Rob Swindell
    Sun May 02 2021 01:42:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Add a 'readd_always' option to the update() method This will cause archive file contents to be re-captured/added
  387. Rob Swindell
    Sun May 02 2021 01:16:52 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    JSDOC updates Finally document the file-meta-object properties now that things are solidifying.
  388. Rob Swindell
    Sun May 02 2021 00:26:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbfile.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    Store contents (list) of archive files in filebase (in the "msg tail") This will allow fast/easy display of archive contents without actually reading the archive files. Introduces some new functions: - list_archive_contents() - smb_adddfile_withlist() A new SMB convenience variable ("tail", aliased as "content" for a file). A new file detail level ("file_detail_content", exposed in JS as FileBase.DETAIL.CONTENTS) which adds a "content" array property to file metadata objects for JS FileBase.get(). Files already added to the new filebases won't have this archive content automatically - I'm looking into that now (likely a new or updated JS script to run).
  389. Deucе
    Sat May 01 2021 12:31:19 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Some optimizations and clearing realloc()ed data.
  390. Deucе
    Sat May 01 2021 07:36:24 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Fix merge issue.
  391. Deucе
    Sat May 01 2021 07:35:01 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    src/syncterm/bbslist.c diff
    src/syncterm/bbslist.h diff
    src/syncterm/ripper.c diff
    src/syncterm/rlogin.c diff
    src/syncterm/term.c diff
    More RIPv3 stuff, make it an option. The option basically controls forced EGA mode and reported terminal.
  392. Deucе
    Fri Apr 30 2021 16:12:45 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Implement disabled text for RIP. We still need to pass ANSI through to the parser though because Synchronet goes apeshit if it doesn't get a response to a location request... it tries twice and eats any data it receives that isn't a valid position report, which obviously breaks menus. It's also very weird that on Booch's BBS at least it's sent during the main menu display rather than just on answering. Not sure why this is, but it means we can't implement the RIP requirement of "ignoring all non-RIPscrip bytes" with a zero window without digging deep into Synchronet guts.
  393. Deucе
    Fri Apr 30 2021 20:14:37 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/bitmap_con.c diff
    src/syncterm/ripper.c diff
    src/xpdev/xpbeep.c diff
    More improvements for Black Flag... Pretend we are RipTel v3. Implement $PCB$ Implement click actions Fix M areas.
  394. Deucе
    Fri Apr 30 2021 12:56:38 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Remove debug, optimize Generate conversion tables rather than do float math twice for each virtual pixel.
  395. Deucе
    Fri Apr 30 2021 12:01:17 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/ripper.c diff
    Start of minimal RIPv2 support. Just the easy stuff (scaling, extended colours, border toggle, filled rectangle)
  396. Deucе
    Thu Apr 29 2021 07:02:29 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Fix DNS response flag parsing.
  397. Rob Swindell
    Tue Apr 27 2021 12:38:37 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Search of word in descriptions should match filenames too. Especially now that now all files even have descriptions (e.g. when super long filenames suffice).
  398. Rob Swindell
    Wed Apr 28 2021 00:51:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/str_util.c diff
    Add a separate "area tag" string configured per sub-board According to Lupine Furmen (FURFOL): It says in the help that the field is used for both the Newsgroup name AND the Fido Echo-tag. These really should be 2 different fields. Now, the echo/area tag is usually configured in the area file (areas.bbs) and so does not need to match *any* string configured in SCFG. But since an area file *can* be generated from SCFG (Export Areas option) and its possible to use SBBSecho withOUT an area file at all, then it's possible someone would like to have their FidoNet-style area tags configured different from any other strings related to a sub-board (e.g. newsgroup name) - why? I'm not clear, but there it is: another string that a sysop can set (or not). Since I'd recently added an area tag field per directory for use by hatchit.js, this does create some logical symmetry. And there were enough free bytes per-sub in the msgs.cnf, so why not.
  399. Rob Swindell
    Mon Apr 26 2021 22:32:43 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    Fix error when moving files e.g. file.cpp line 239 (removefile) removing "filename.zip" access=-203 info=smb_freemsgdat reading allocation record at offset 1108 Also, if there is an error removing the original file from the filebase, don't proceed to move the actual file (and log a successful move).
  400. Rob Swindell
    Mon Apr 26 2021 22:34:28 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    When toggling extended file descriptions with the 'T' command, save user Save the user's "misc" flags to the userbase when they use the 'T' command from the batch flagging prompt. Without this change, the option would automatically revert if/when the user record was re-read (which can happen at any time).
  401. Rob Swindell
    Mon Apr 26 2021 21:58:03 GMT-0700 (PDT)
    Modified Files:
    
    webv4/pages/002-files.xjs diff
    Fix the "undefined" display when a file has no description.
  402. Rob Swindell
    Mon Apr 26 2021 21:28:45 GMT-0700 (PDT)
    Modified Files:
    
    webv4/root/api/files.ssjs diff
    Fix downloaded filenames in v3.19 Files were being downloaded as undefined.undefined because I didn't emulate the old 'base' and 'ext' properties - just use a single 'name' property now.
  403. Rob Swindell
    Mon Apr 26 2021 21:02:31 GMT-0700 (PDT)
    Modified Files:
    
    webv4/pages/002-files.xjs diff
    Use html_encode() for extended descriptions with Ctrl-A codes too. Synchronet v3.19 now converts ANSI-encoded DIZs to Ctrl-A format upon import.
  404. Rob Swindell
    Mon Apr 26 2021 20:59:01 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_global.c diff
    Add support for conditional new-line Ctrl-A code (/) in html_encode()
  405. Rob Swindell
    Mon Apr 26 2021 20:42:31 GMT-0700 (PDT)
    Modified Files:
    
    webv4/lib/files.js diff
    Fix count_files() for v3.19 compatibility.
  406. Rob Swindell
    Sun Apr 25 2021 19:37:28 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/attr.cfg diff
    Change default file description color from darkgreen to lightgray.
  407. Rob Swindell
    Sun Apr 25 2021 19:35:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    Close stream on error. Fixes CID 33498
  408. Rob Swindell
    Sun Apr 25 2021 19:35:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/writemsg.cpp diff
    Fix double close (fnopen doesn't leave the descriptor open) Fixes CID 33724.
  409. Rob Swindell
    Sun Apr 25 2021 19:35:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/chksmb.c diff
    Always report the total LZH compressed messages This looks like a 20-year-old copy/paste bug. CID 33168.
  410. Rob Swindell
    Sun Apr 25 2021 19:35:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/qwknodes.c diff
    Pass msg struct by pointer, not value CID 33320 and 333321
  411. Rob Swindell
    Sun Apr 25 2021 19:35:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/userdat.c diff
    Get rid of an unnecessary strcat() call CID 33567
  412. Rob Swindell
    Sun Apr 25 2021 19:35:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    Consolidate the uploader security info (host/ip/prot) on one line
  413. Rob Swindell
    Sun Apr 25 2021 19:35:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Don't display batch flag with same color as description. Display the batch flag letter with the same color as the filename, but inverted intensity. The batch flag shouldn't stand-out (be bright) anyway, but the main reason is because I'm changing the default file description attribute to be lightgray instead of dark green.
  414. Rob Swindell
    Sun Apr 25 2021 01:06:44 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/batflag.msg diff
    Add [T]oggle short/extended file description command And use "Operator" rather than "Sysop" for operator commands.
  415. Rob Swindell
    Sun Apr 25 2021 01:05:35 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    The 'T' command key at the batch flag now toggle extended file descriptions This is pretty convenient and handy (rather than having to use &E or the equivalent command from the file xfer menu and then re-list files).
  416. Rob Swindell
    Sat Apr 24 2021 21:27:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/GNUmakefile diff
    use $^ instead of $? for the prereqs for the ans2asc link command Fixes the link failure when sauce.o didn't need to be rebuilt.
  417. Rob Swindell
    Sat Apr 24 2021 20:25:07 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/sbbsdefs.js diff
    Resynchronize with sbbsdefs.h, adding and removing consts
  418. Rob Swindell
    Sat Apr 24 2021 20:25:17 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/userdefs.js diff
    Resynchronize with sbbsdefs.h
  419. Rob Swindell
    Sat Apr 24 2021 20:20:01 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsdefs.h diff
    Remove some unused/obsolete macros.
  420. Rob Swindell
    Sat Apr 24 2021 20:20:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sauce.c diff
    Maybe address Coverity issue.
  421. Rob Swindell
    Sat Apr 24 2021 20:22:07 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/con_out.cpp diff
    src/sbbs3/prntfile.cpp diff
    src/sbbs3/putmsg.cpp diff
    src/sbbs3/sbbs.h diff
    Use reference rather than pointer to make putmsgfrag() more readable.
  422. Rob Swindell
    Sat Apr 24 2021 20:22:28 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Address Coverity defects.
  423. Rob Swindell
    Sat Apr 24 2021 20:23:13 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/listfile.cpp diff
    Show removed files in error color (red).
  424. Rob Swindell
    Sat Apr 24 2021 19:38:33 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/text.js diff
    Add FiAuthor and FiGroup
  425. Rob Swindell
    Sat Apr 24 2021 19:37:56 GMT-0700 (PDT)
    Modified Files:
    
    exec/dupefind.js diff
    Support find/remove of duplicates based on archive contents Duplicate archives (e.g. ZIP files) often have the different digest/hash/CRC values because they have a different ZIP comment or the files were archived in a different order or used different compression schemes. You can now detect (and delete) these duplicates.
  426. Rob Swindell
    Sat Apr 24 2021 19:37:56 GMT-0700 (PDT)
    Modified Files:
    
    exec/archive.js diff
    Add -json (JSON formatted output) and -sort option.
  427. Rob Swindell
    Sat Apr 24 2021 18:31:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ans2asc.c diff
    Fix new GCC 9.3 warnings.
  428. Rob Swindell
    Sat Apr 24 2021 18:01:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/GNUmakefile diff
    Fix ANS2ASC fmod link error with GCC 9.3 (Latest Ubuntu Linux)
  429. Rob Swindell
    Sat Apr 24 2021 01:35:41 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Add FiAuthor FiGroup
  430. Rob Swindell
    Sat Apr 24 2021 01:05:03 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/objects.mk diff
    Fix jsdoor build for *nix.
  431. Rob Swindell
    Sat Apr 24 2021 00:59:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Resolve gcc warning
  432. Rob Swindell
    Sat Apr 24 2021 00:51:41 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/GNUmakefile diff
    src/sbbs3/filedat.h diff
    src/sbbs3/objects.mk diff
    Fix the build to link with the new sauce.o file
  433. Rob Swindell
    Thu Apr 22 2021 20:23:00 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/listfile.cpp diff
    Reverse the order of the Delete File and Remove Credits prompts To match the Remove file command sequence (for consistency).
  434. Rob Swindell
    Fri Apr 23 2021 23:14:30 GMT-0700 (PDT)
    Modified Files:
    
    src/smblib/smbdump.c diff
    Don't repeat the "cost" field in smb_msghdr_str_list()
  435. Rob Swindell
    Fri Apr 23 2021 23:23:20 GMT-0700 (PDT)
    Modified Files:
    
    src/smblib/smbdefs.h diff
    src/smblib/smblib.c diff
    src/smblib/smbstr.c diff
    Restore AUTHOR and AUTHOR_ORG SMB header fields removed Apri-19-2019 Going to use these to store SAUCE "AUTHOR" and "GROUP" fields for files.
  436. Rob Swindell
    Fri Apr 23 2021 23:27:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/con_out.cpp diff
    A line feed does not move the cursor to column 0. This caused an issue for the soon to be committed P_INDENT support in putmsg().
  437. Rob Swindell
    Fri Apr 23 2021 23:28:28 GMT-0700 (PDT)
    Added Files:
    
    src/sbbs3/sauce.c diff
    src/sbbs3/sauce.h diff
    A SAUCE library that can read a SAUCE record or character file metadata.
  438. Rob Swindell
    Fri Apr 23 2021 23:30:45 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Created convert_ansi() which is kind of a minimal version of ANS2ASC It Ctrl-A encodes a possibly ANSI-encoded string, supporting on color/attribute sequences and stripping all others.
  439. Rob Swindell
    Fri Apr 23 2021 23:36:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/mailsrvr.c diff
    Fix observed crashes at end of pop3_thread() and smtp_thread() "startup" was being deref'd after the caller free'd it because these thread functions were calling thread_down() before calling mail_close_socket(), which deref's startup which was subject to a race condition.
  440. Rob Swindell
    Sat Apr 24 2021 00:02:50 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ans2asc.c diff
    src/sbbs3/ans2asc.vcxproj diff
    Read/use SAUCE for width and ice-color setting when cols not specified Also added -normal option to use save/normal/restore attr sequence for conditional-newlines. This is helpful for narrow ANSIs (e.g. 44-column FILE_ID.ANS) that depend on the viewer to read/use the SAUCE info.
  441. Rob Swindell
    Sat Apr 24 2021 00:27:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    src/sbbs3/addfiles.vcxproj diff
    src/sbbs3/delfiles.vcxproj diff
    src/sbbs3/dupefind.vcxproj diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/filelist.vcxproj diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/putmsg.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs.vcxproj diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.vcxproj diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/upgrade_to_v319.vcxproj diff
    src/sbbs3/upload.cpp diff
    DIZ enhancements: Read/use SAUCE data, support ANSI, increase max 1->4K Inspired by Blocktronics (and other ANSI art group) packs' FILE_ID.DIZ/ANS files: * Support (and prioritize) FILE_ID.ANS * Convert ANSI color/attribute sequences in DIZ files to Ctrl-A equivalent (uses SAUCE width and ICE color, if specified) * Don't treat DIZ as a series of lines, they're not always nowadays. * New putmsg() mode: P_INDENT to print files indented by current column * Display full (up to 64-char) filenames in lists when using 132+ column terminal. * Use the Author, Group, and Title fields from the SAUCE if present/non-blank * 2 new text.dat strings: 301 (FiAuthor) and 302 (FiGroup) * Also fix bug with repeated Cost header field on bulk-uploaded files. I know this'll break the *nix build (sauce.c dependency), but I'll fix that next.
  442. Rob Swindell
    Thu Apr 22 2021 20:17:09 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_file.c diff
    Use JS_ValueToECMAUint32 for File position, date, and length properties This resolves errors when setting these properties to values > 2147483647 example: !JavaScript /sbbs/exec/load/sauce_lib.js line 69: Error: can't convert 2430770157 to an integer That means you can now seek around (set position) within files > 2GB, truncate or extend a file > 2GB, or set a file's date to > Jan-19-2038.
  443. Rob Swindell
    Wed Apr 21 2021 20:06:19 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/upload.cpp diff
    Increase file_id.diz max line length from 80 to 255 Increase total extended description length from 1024 to 4000 characters. Perhaps this should be configurable?
  444. Rob Swindell
    Wed Apr 21 2021 20:06:19 GMT-0700 (PDT)
    Modified Files:
    
    src/smblib/smbdefs.h diff
    src/smblib/smblib.c diff
    Add convenience pointer (from_port) to SENDERPORT header field
  445. Rob Swindell
    Wed Apr 21 2021 20:06:19 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/upload.cpp diff
    Store file uploader's IP address, hostname, protocol and port
  446. MJ
    Wed Apr 21 2021 11:57:07 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/postit/postit.js diff
    removed note about moving to xtrn from exec
  447. MJ
    Wed Apr 21 2021 11:55:28 GMT-0700 (PDT)
    Added Files:
    
    xtrn/postit/postit.js diff
    moved postit.js to its rightful home in the xtrn folder. anyone using this script likely already has it there anyway. if not, data files should be moved for anyone updating their local script. no file changes have been made.
  448. Rob Swindell
    Tue Apr 20 2021 22:04:10 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/qwk.cpp diff
    Don't log an error when a QWKnet node uploads votes for old messages Log an info-level message instead. Raise the log level severity of duplicate votes from Debug to Info too.
  449. Rob Swindell
    Tue Apr 20 2021 21:59:10 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Fail on "disallowed filename" after filtering for filename/pattern Extracting a file_id.diz would fail if the file contained any disallowed filenames before the DIZ, e.g.: Error: disallowed filename '_blockmen_res[v]olution.ans' (after extracting 0 items successfully)
  450. Deucе
    Mon Apr 19 2021 19:50:15 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    Populate system.uptime in JSDoor This variable tracks the time that jsdoor was started.
  451. Rob Swindell
    Mon Apr 19 2021 18:34:42 GMT-0700 (PDT)
    Modified Files:
    
    exec/testbuild.js diff
    Add the Coverity scan support (for *nix builds only)
  452. Rob Swindell
    Sun Apr 18 2021 20:24:49 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/userdat.c diff
    Let's make that semfile just sound.mute
  453. Rob Swindell
    Sun Apr 18 2021 19:56:40 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/login.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/ntsvcs.c diff
    src/sbbs3/ntsvcs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/startup.h diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/websrvr.c diff
    Control sound-mute via semfile (ctrl/sound.muted) rather than sbbs.ini There was a bug with reloading the configuration files in sbbsctrl where the sound button no longer reflected the truth and the sysop's previous click-state of the button was lost. Rather than going through writing the OPT_MUTE flag to the Options fields of all the sections of the sbbs.ini and then re-loading that file as a result, just do like we did with the sysop chat availability: use a semfile. So much simpler. If anyone ever needs instance-specific muting, we can create/check instance/host-specific mute semfiles then. Doubt that'll happen though. Also, removed the old sysavail control methods of ntsvcs too.
  454. Rob Swindell
    Sun Apr 18 2021 17:02:34 GMT-0700 (PDT)
    Added Files:
    
    exec/delfiles.js diff
    New utility script that replaces DELFILES (the program) for sbbs v3.19
  455. Rob Swindell
    Sun Apr 18 2021 17:42:34 GMT-0700 (PDT)
    Modified Files:
    
    exec/dupefind.js diff
    Add de-duplication feature (-dedupe option) to remove/delete dupe files found
  456. Rob Swindell
    Sun Apr 18 2021 17:43:40 GMT-0700 (PDT)
    Modified Files:
    
    exec/str_cmds.js diff
    Remove commands: ALTUL, RESORT, CLOSE no longer applicable in v3.19
  457. Rob Swindell
    Sun Apr 18 2021 17:44:37 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/text.js diff
    Add FiUploadedTo string
  458. Rob Swindell
    Sun Apr 18 2021 17:00:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    get_size() and get_path() methods need to read the header record too For files with names > 64 chars.
  459. Rob Swindell
    Sun Apr 18 2021 15:42:44 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    remove() method needs to read message header (not just index) Or else it fails with the following base error: !smb_putmsghdr illegal header length increase: 70 (1 blocks, 0 hfields, 0 dfields) vs 0 (0 blocks)
  460. Rob Swindell
    Sat Apr 17 2021 21:23:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    Write the global sound (WAV) file settings in sbbs_write_ini().
  461. Rob Swindell
    Sat Apr 17 2021 21:04:41 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ctrl/.gitignore diff
    Ignore sbbsctrl.str output file.
  462. Rob Swindell
    Sat Apr 17 2021 21:12:42 GMT-0700 (PDT)
    Added Files:
    
    src/sbbs3/ctrl/SoundCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/SoundCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/SoundCfgDlgUnit.h diff
    Modified Files:
    src/sbbs3/ctrl/FtpCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/FtpCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/FtpCfgDlgUnit.h diff
    src/sbbs3/ctrl/MailCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/MailCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/MailCfgDlgUnit.h diff
    src/sbbs3/ctrl/PropertiesDlgUnit.cpp diff
    src/sbbs3/ctrl/PropertiesDlgUnit.dfm diff
    src/sbbs3/ctrl/PropertiesDlgUnit.h diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.h diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.h diff
    src/sbbs3/ctrl/WebCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/WebCfgDlgUnit.dfm diff
    src/sbbs3/ctrl/WebCfgDlgUnit.h diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/ctrl/sbbsctrl.cpp diff
    src/sbbs3/ctrl/sbbsctrl.res diff
    Move all common sound (WAV) file configuration to its own dialog Increment the version in the project file to v3.19a.
  463. Rob Swindell
    Sat Apr 17 2021 20:19:37 GMT-0700 (PDT)
    Added Files:
    
    src/sbbs3/ctrl/.gitignore diff
    Ignore more C++Builder artifact files.
  464. Rob Swindell
    Sat Apr 17 2021 20:20:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ctrl/MainFormUnit.dfm diff
    Disable ChangeDir functionality of SaveDialog This would cause all relative file paths to fail after exporting settings to .ini file in another directory. Long time bug.
  465. Rob Swindell
    Sat Apr 17 2021 18:52:56 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/ctrl/FtpCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/ServicesCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.cpp diff
    src/sbbs3/ctrl/WebCfgDlgUnit.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/login.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.h diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/services.c diff
    src/sbbs3/services.h diff
    src/sbbs3/startup.h diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.h diff
    src/sbbs3/xtrn_sec.cpp diff
    Update sound (WAV) file play-on-event support in Windows build A "hack attempt" sound file is now supported in the Terminal Server, Mail Server, and Services. "login" and "logoff" sound files are now supported in the Terminal Server, FTP Server, Web Server, Mail Server, and Services. This enhancement fixes Issue #157 The following sound files may now be configured in the [Global] section of the ctrl/sbbs.ini file, if desired to set the default sound files for all servers/services in on place: - AnswerSound - LoginSound - LogoutSound - HangupSound - HackAttemptSound
  466. Rob Swindell
    Sat Apr 17 2021 15:19:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    Fix typo in previous commit.
  467. Rob Swindell
    Sat Apr 17 2021 15:13:03 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/services.c diff
    src/sbbs3/services.h diff
    Allow an alternate "services.ini" filename to be specified in sbbs.ini Set sbbs.ini [services] iniFileName to something other than services.ini to override the default filename. The automatic/optional hostname decoration of the filename is still supported. Addresses request #238.
  468. Rob Swindell
    Sat Apr 17 2021 14:43:49 GMT-0700 (PDT)
    Modified Files:
    
    exec/hatchit.js diff
    Added "Replaces" keyword support for Al (TRMB) Made some other cosmetic improvements/fixes.
  469. Rob Swindell
    Sat Apr 17 2021 14:38:57 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Added FiUploadedTo string.
  470. Rob Swindell
    Sat Apr 17 2021 14:32:31 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Support WIN_ORG and WIN_BOT modes in uifc.input
  471. Rob Swindell
    Sat Apr 17 2021 14:38:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/file.cpp diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    Display list of file recipients ("Uploaded to") when relevant for the user-to-user file transfer directory
  472. Rob Swindell
    Sat Apr 17 2021 13:34:30 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/filebase.js diff
    Replace the guts of OldFileBase to make it v3.19 compatible This appears to be enough to make hatchit.js work again and file listings in webv4 (not sure beyond that). This file is now just an unnecessary shim and should go away when the consumers (hatchit and webv4) no longer need it. I did not "port" support for the file properties: - base - ext - datoffset - opencount - misc - altpath They don't appear to be needed.
  473. Rob Swindell
    Sat Apr 17 2021 02:37:36 GMT-0700 (PDT)
    Modified Files:
    
    exec/dupefind.js diff
    Update command-line parsing (e.g. double-dash support) and help output
  474. Rob Swindell
    Sat Apr 17 2021 00:21:18 GMT-0700 (PDT)
    Modified Files:
    
    exec/addfiles.js diff
    Make --help work and copy the option parsing logic from filelist.js
  475. Rob Swindell
    Fri Apr 16 2021 19:08:45 GMT-0700 (PDT)
    Modified Files:
    
    text/menu/transfer.msg diff
    Restore the /U and /D (user-to-user file transfer) commands
  476. Rob Swindell
    Fri Apr 16 2021 18:52:36 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Optionally include newest-file-in-archive date/time and other features
  477. Rob Swindell
    Fri Apr 16 2021 18:50:43 GMT-0700 (PDT)
    Modified Files:
    
    ctrl/text.dat diff
    Restore user-to-user file transfer related strings. More use of the "conditional newline" (^A?) code rather than hard-coded CRLFCRLFs.
  478. Rob Swindell
    Fri Apr 16 2021 18:48:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execfile.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    Restore the user-to-user file transfer feature I forget who it was that said they were still using this feature in v3.18, but here you go, it's working again (the /D and /U commands). I'm not migrating any file sender/recipient info from v3.18, so only files added after upgrading to this will be downloadable from the "user" directory (if you have one). Something that I never implemented before but noticed is missing is the removal (or dereferencing) of user-to-user files that were sent from/to a user that is then deleted. So that's still a TODO item.
  479. Rob Swindell
    Fri Apr 16 2021 18:49:03 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    Fix the file update support a bit. This is still broken (errors when updating existing files) and is still planned for deprecation.
  480. Rob Swindell
    Fri Apr 16 2021 18:49:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/getmail.c diff
    Don't log a file removal error if the file doesn't exist.
  481. Rob Swindell
    Fri Apr 16 2021 17:08:22 GMT-0700 (PDT)
    Modified Files:
    
    exec/str_cmds.js diff
    Fix TypeError: file_area.lib_list[i].dir is undefined dir is not a property of lib_list[], appears to be a typo. Also, in the "lib" scope commands, j was not defined. The offline_dir property appears to have been deprecated (no longer enumerable) years ago, in favor of the dir/dir_list[].is_offline property, so use that property instead for skipping offline dirs. Reported by xbit (XBITBBS) Also, make sure the ;upload and other lib/all search commands are abortable with Ctrl-C.
  482. Rob Swindell
    Fri Apr 16 2021 12:32:24 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/addfiles.c diff
    Fix some crashes on multi-line description import stuff Even though this is going to be removed / deprecated.
  483. Rob Swindell
    Thu Apr 15 2021 19:35:20 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/str_list.c diff
    if strListFind() is passed a NULL 'str' value, return -1 (not found) Return int value for "string not found" rather than crash/segfault. Seems the better option.
  484. Rob Swindell
    Fri Apr 16 2021 11:39:12 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/pack_qwk.cpp diff
    Fix QWK/BLT-* copy issue (regression since v3.18) Reported by Daryl Stout (TBOLT)
  485. Rob Swindell
    Wed Apr 14 2021 19:19:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/userdat.c diff
    Don't compare array against NULL Addresses CID 319116 and 319090
  486. Rob Swindell
    Tue Apr 13 2021 22:57:16 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    Refactor putuserrec() This started with a Coverity issue (CID 33230) which got me looking at this function and wondering: why is str2 being NUL-terminated here? Why is the length of str2 to be calculated on successive lines? What is with this (long)((long)((long)((long)) typecast? This was some of the oldest code in Synchronet (along with a lot of the other functions in this file). I tried to keep as much intact as possible while still improving the logic and readability.
  487. Rob Swindell
    Tue Apr 13 2021 20:20:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/postmsg.cpp diff
    Debug the "thread_back field missing" error Some QWKnet vote messages are failing: evnt unpackREP <ENSEMBLE> !ERROR 2 (No such file or directory) in qwk.cpp line 1146 (qwk_vote) writing "/sbbs/data/subs/dove-gen" access=-105 info=smb_addvote thread_back field missing Catch this problem a little higher up (in votemsg()) and log the message's reply-IDs to help determine what's the root-cause here. Don't bother calling smb_addvote() if thread_back is 0.
  488. Rob Swindell
    Tue Apr 13 2021 20:20:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/con_out.cpp diff
    src/sbbs3/qwktomsg.cpp diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/un_rep.cpp diff
    Add/use P_REMOTE print-mode flag to bputs() Do nothing if online != ON_REMOTE. Eliminates some if(online == ON_REMOTE) clauses.
  489. Deucе
    Tue Apr 13 2021 16:53:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Delete one-shot events before running the callback. If a callback deletes the one-shot event that invoked it, the event pointer in the caller would be to free()d memory with hilarious results.
  490. echicken
    Tue Apr 13 2021 13:34:26 GMT-0700 (PDT)
    Modified Files:
    
    exec/presence-service.js diff
    Hack the planet.
  491. echicken
    Tue Apr 13 2021 09:17:28 GMT-0700 (PDT)
    Added Files:
    
    exec/presence-service.js diff
    Serves "presence" data about local and remote users. Upon connecting, a client will be sent a list of who's online on the local BBS as well as other systems (if you and they are set up for instant messaging). Updates will be sent for subsequent events (logon, update, logoff). Mostly intended for use by local consumers; you probably don't need to open any ports for this. Nothing uses this at the moment and you do not need to add it to your config. Eventually it'll bring interBBS presence and messaging back to webv4 and probably introduce a fancier textmode imsg module.
  492. Rob Swindell
    Tue Apr 13 2021 01:04:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Check return value of JS_ValueToInt32() CID 331092
  493. Rob Swindell
    Tue Apr 13 2021 01:05:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scansubs.cpp diff
    Don't pass uninitialized string to scanposts() CID 319108
  494. Rob Swindell
    Mon Apr 12 2021 20:48:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix some memory leaks
  495. Deucе
    Mon Apr 12 2021 13:20:18 GMT-0700 (PDT)
    Modified Files:
    
    exec/fseditor.js diff
    Do not use js.report_error() Properly throw an error instead.
  496. Rob Swindell
    Mon Apr 12 2021 00:38:39 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    Use Math.round() for sizes > 1024 and < 1024000
  497. Rob Swindell
    Mon Apr 12 2021 00:33:58 GMT-0700 (PDT)
    Modified Files:
    
    install/GNUmakefile diff
    Copy upgrade_to_v319 to exec dir upon install. <shrug> Fixes issue #252.
  498. Deucе
    Sun Apr 11 2021 21:11:26 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/js-allow-python3.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Disable configure test for python2.[567] Just don't check the python version at all. If your python is older than 2.5, you're already having other issues.
  499. Rob Swindell
    Sun Apr 11 2021 20:59:52 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    Revert back to whole numbers only for the comma-formatted K output but round-up non-zero values to 1K.
  500. Rob Swindell
    Sun Apr 11 2021 21:00:35 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Add configurable size formatting, filename formatting, ext-description offset
  501. echicken
    Sun Apr 11 2021 20:59:02 GMT-0700 (PDT)
    Modified Files:
    
    exec/loadfonts.js diff
    Accolades
  502. echicken
    Sun Apr 11 2021 20:55:09 GMT-0700 (PDT)
    Modified Files:
    
    exec/loadfonts.js diff
    Updated documentation section 1.1a01
  503. echicken
    Sun Apr 11 2021 20:52:49 GMT-0700 (PDT)
    Modified Files:
    
    exec/loadfonts.js diff
    Added some documentation. Appended very important trailing linefeed.
  504. Rob Swindell
    Sun Apr 11 2021 20:33:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Add format_name() method to format a filename for display It's a wrapper for filedat.c -> format_filename() which can truncate and pad a filename for display purposes.
  505. Deucе
    Sat Apr 10 2021 13:13:18 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    Add more detail to socket_check() comment
  506. Deucе
    Sat Apr 10 2021 13:06:21 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.c diff
    Finally document socket_check() behaviour. Tweak the poll() implementation to match. Should fix #248
  507. Rob Swindell
    Thu Apr 08 2021 02:32:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    When bytes is falsey and size is > 0 but < 1000*1024 don't return "0K" Instead, return the fractional size in KB's with 2 digits of precision. Fixed up some of the variable names.
  508. Rob Swindell
    Thu Apr 08 2021 02:32:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/filelist.js diff
    Pretty much a complete re-write and still a work-in-progress, but useful The biggest difference is that you can combine all files from multiple dirs into a single sorted list and you can sort on any property (field) value. The byte/credit format is very customizeable, the output format is completely customizeable. By default, just the filenames are output, but either use '-ext' or one or more '-v' values to add more fields. Use -p=list to specify a comma-separated list of properties to print.
  509. Deucе
    Wed Apr 07 2021 23:25:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Fix sizeof() target.
  510. Deucе
    Wed Apr 07 2021 23:12:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    When a callback event is handled, get remote_addr Prevents weird issues with getting remote address.
  511. Rob Swindell
    Wed Apr 07 2021 20:33:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    Sorted loadfiles() results were corrupted when detail was < normal When only reading the index (detail = file_detail_index), smb_getfile() just sets the file->name convenience pointer to point to the name in the index. Then when loadfiles() would sort the list, these pointers would not be adjusted (so they would point to the wrong names) resulting in a corrupted file list (e.g. name/size mismatches and no logical sort order). The solution is to call smb_getfile() on each file *after* the read index records have been sorted. This also means that the sort-by-name routines needed to always sort using the index name and not the convenience pointer (which is NULL in this case). While fixing this, I noticed there was no bounds checking in the loadfiles() and loadfilenames() read-loops, so if the indexes happened to be longer than the total_files value from the status header, a buffer under-alloc/overflow would occur and a likely crash as a result. So stop reading the index when the expected maximum number of index records have been read.
  512. echicken
    Wed Apr 07 2021 08:50:59 GMT-0700 (PDT)
    Modified Files:
    
    webv4/root/api/events.ssjs diff
    Content-Type not Content-type; delay 1000 ms between event source scans.
  513. Rob Swindell
    Wed Apr 07 2021 00:09:10 GMT-0700 (PDT)
    Modified Files:
    
    exec/dupefind.js diff
    Use the new file_size_str() usage for prettier sizes-in-bytes
  514. Rob Swindell
    Wed Apr 07 2021 00:10:04 GMT-0700 (PDT)
    Modified Files:
    
    exec/addfiles.js diff
    Replace print() with writeln()
  515. Rob Swindell
    Wed Apr 07 2021 00:06:32 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/file_size.js diff
    Add optional/better format to file_size_str() by passing a precision as 3rd arg Returns a floating-point formatted size estimate more in-line with my preference (e.g. 17.0G instead of 17,000M).
  516. Rob Swindell
    Tue Apr 06 2021 23:32:15 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix hash() method broken in commit bc4f24f5 - file needs the dir num
  517. Deucе
    Tue Apr 06 2021 23:22:34 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Some more fixes... Fix bseen calculation and saving Only save seen data after all repsonses have been sent Stop processing when the socket has been closed
  518. Rob Swindell
    Tue Apr 06 2021 19:27:50 GMT-0700 (PDT)
    Added Files:
    
    exec/dupefind.js diff
    A duplicate file finder for Synchronet v3.19 - replaces native DUPEFIND Can find duplicate files in your file bases by name and/or hash sum - fast! Can output simple text or JSON format. Run 'jsexec dupefind' to search just for duplicate files by hash (SHA-1) or run 'jsexec dupefind -help' for the various usage options.
  519. Rob Swindell
    Tue Apr 06 2021 19:23:14 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Don't expand empty from, tags, desc properties unless detail=MAX
  520. Rob Swindell
    Tue Apr 06 2021 19:17:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix missing paren warnings.
  521. Rob Swindell
    Tue Apr 06 2021 18:32:30 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfglib2.c diff
    Don't pretend that user-to-user file transfers are working (they don't) So just always assume that no "user" directory has been configured. At least for now while I ponder whether this is a feature worth restoring and if so, how.
  522. Rob Swindell
    Tue Apr 06 2021 18:33:20 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/services.c diff
    Include user alias in logged JS error/warning messages
  523. Rob Swindell
    Tue Apr 06 2021 18:36:51 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Include all properties in getter when detail is MAX Adds from/tags/desc/extdesc properties, even when absent or blank. When parsing a file object, set the from, desc, tags and cost properties only if they already have been set or the new values is non-blank/0.
  524. Deucе
    Tue Apr 06 2021 00:56:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    src/xpdev/genwrap.c diff
    Fix msclock() and xp_timer() to be monotonic on *nix Previously, these both used gettimeofday() which is both expensive to call, and not monotonic. This fixes system.clock_ticks in JS and various internal bits. for when the UTC wall clock jumps. While we're here, fix the documention of system.clock_ticks
  525. Rob Swindell
    Tue Apr 06 2021 00:41:12 GMT-0700 (PDT)
    Modified Files:
    
    exec/tickit.js diff
    Use -debug command-line option if you want the <area> using ... address log For Nelgin, to reduce log spam.
  526. Rob Swindell
    Tue Apr 06 2021 00:07:07 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgsub.c diff
    Clarity around QWK Conference Names
  527. Rob Swindell
    Mon Apr 05 2021 23:36:16 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/jsexec.c diff
    Typos in help
  528. Rob Swindell
    Mon Apr 05 2021 23:27:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/dupefind.c diff
    Fix heap corruption (under malloc) - crashed on Linux-x64
  529. Deucе
    Mon Apr 05 2021 23:04:38 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    Fix some bugs around sock.on('write'...) and sock.clearOn()
  530. Deucе
    Mon Apr 05 2021 21:25:36 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sockopts.c diff
    Only set IPV6_ONLY if it's #defined.
  531. Deucе
    Mon Apr 05 2021 19:21:25 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Fixes for async lookups - Add a unique number to event names for each request Prevents responses from being acepted by multiple queries - Don't set Socket.dnsObject for synchronous lookups - OPcode of 2 is used for status replies (ie: NXDOMAIN) - Be more careful construct result array in request()
  532. Deucе
    Mon Apr 05 2021 18:11:23 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sockopts.c diff
    JSDOOR isn't defined here.
  533. Rob Swindell
    Mon Apr 05 2021 18:04:08 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sexyz.c diff
    Address GCC 9.3.0 warnings: warning: format not a string literal and no format arguments
  534. Deucе
    Mon Apr 05 2021 17:29:03 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Only the async query needs the timeout now, so move it back in. Also, have handle_response() return errors.
  535. Deucе
    Mon Apr 05 2021 17:11:00 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Use this, not ctx in handlers.
  536. Rob Swindell
    Mon Apr 05 2021 14:13:09 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/telgate.cpp diff
    src/xpdev/gen_defs.h diff
    Allow SAFECAT to work on uchar arrays Caught by CID 331001 The use of SAFECAT() with a typecast to a pointer is not going to work as expected. This change broke line-based telnet-gateway functionality (unconfirmed, but pretty obvious).
  537. Deucе
    Mon Apr 05 2021 12:03:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/services.c diff
    Set fds to NULL before recycle. Likely the cause of the crash that killed cvs.synchro.net last night
  538. Deucе
    Mon Apr 05 2021 01:42:53 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Fix last commit... there are bits that aren't Seen that are saved
  539. Deucе
    Mon Apr 05 2021 01:33:40 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Guard against Seen being undefined when saving config.
  540. Deucе
    Mon Apr 05 2021 01:24:38 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    EVN MR!
  541. Deucе
    Mon Apr 05 2021 01:14:45 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    MOAR!
  542. Deucе
    Mon Apr 05 2021 01:13:08 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Spaces -> Tabs Tabs are the shit.
  543. Rob Swindell
    Mon Apr 05 2021 01:03:59 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/scfg/scfgmsg.c diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    Add area_tag property to msg_area.sub[] For easier use of the auto-generated echo-tags in JS. And a helper function sub_area_tag(), now used in SCFG too.
  544. Randy Sommerfeld
    Mon Apr 05 2021 00:12:40 GMT-0700 (PDT)
    Added Files:
    
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    Modified Files:
    exec/ircd.js diff
    IRCd 1.9
  545. Deucе
    Mon Apr 05 2021 00:12:40 GMT-0700 (PDT)
    Added Files:
    
    exec/load/ircd/channel.js diff
    exec/load/ircd/config.js diff
    exec/load/ircd/core.js diff
    exec/load/ircd/server.js diff
    exec/load/ircd/unregistered.js diff
    exec/load/ircd/user.js diff
    Modified Files:
    exec/ircd.js diff
    Merge branch 'deuce-says-so' into 'master' First IRCd 1.9 changes See merge request main/sbbs!125
  546. Deucе
    Sun Apr 04 2021 23:41:55 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    Make the callback stuff 3.19
  547. Deucе
    Sun Apr 04 2021 20:24:29 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Keep running the event loop while the run queue is not empty Previously, timed or polled callbacks were required to keep the event loop running.
  548. Michael J. Ryan
    Fri Apr 02 2021 13:37:42 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/array.js diff
    Update array.js formatting Autoformatted via prettier with settings below, this is so additional polyfill matches can be used to match formatting in future PRs for polyfills, as well as full formatting tooling for .js files. ```yaml tabWidth: 4 useTabs: true singleQuote: true trailingComma: "es5" ```
  549. echicken
    Sun Apr 04 2021 19:53:02 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/array.js diff
    Merge branch 'format-array-polyfills' into 'master' Update array.js formatting See merge request main/sbbs!120
  550. Deucе
    Sun Apr 04 2021 19:31:17 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/exec.cpp diff
    Have js_execfile() save/restore callbacks This should allow callbacks to not interfere between (say) shells and doors.
  551. Rob Swindell
    Sun Apr 04 2021 19:12:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/addfiles.js diff
    Add option (-delete) to delete the list file after import Like the -d option for ADDFILES. For Al (TRMB)
  552. Deucе
    Sun Apr 04 2021 19:09:30 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Clarify that dispatchEvent() adds to the end of the run queue
  553. Deucе
    Sun Apr 04 2021 19:04:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Add js.setImmediate(callback[, thisObj) I haven't added a clearImmediate() because there's currently no way of manipulating the run queue, and I can't come up with a reason someone would actually need it.
  554. Deucе
    Sun Apr 04 2021 18:51:18 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    Fix event listener removal Was terribly broken.
  555. Deucе
    Sun Apr 04 2021 18:16:09 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Change default failures to 3 and timeout to 5sec Also, check that the opcode and response flag are correct when parsing responses. When handling a resolve call, ensure no errors occured.
  556. Rob Swindell
    Sun Apr 04 2021 18:11:45 GMT-0700 (PDT)
    Modified Files:
    
    src/conio/ansi_cio.c diff
    src/conio/ciolib.c diff
    src/conio/ciolib.h diff
    src/conio/cterm.c diff
    src/conio/cterm.h diff
    src/conio/mouse.c diff
    src/encode/base64.h diff
    src/encode/lzh.c diff
    src/encode/lzh.h diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/js_cryptcert.h diff
    src/sbbs3/js_cryptcon.h diff
    src/sbbs3/ringbuf.c diff
    src/sbbs3/websrvr.h diff
    src/uifc/uifc.h diff
    src/uifc/uifc32.c diff
    src/uifc/uifcx.c diff
    src/xpdev/datewrap.h diff
    src/xpdev/dirwrap.h diff
    src/xpdev/eventwrap.h diff
    src/xpdev/filewrap.h diff
    src/xpdev/genwrap.h diff
    src/xpdev/link_list.h diff
    src/xpdev/msg_queue.h diff
    src/xpdev/multisock.h diff
    src/xpdev/netwrap.h diff
    src/xpdev/semfile.h diff
    src/xpdev/semwrap.h diff
    src/xpdev/threadwrap.h diff
    src/xpdev/wrapdll.h diff
    src/xpdev/xp_dl.h diff
    src/xpdev/xpbeep.c diff
    src/xpdev/xpbeep.h diff
    src/xpdev/xpdatetime.h diff
    src/xpdev/xpmap.h diff
    src/xpdev/xpprintf.h diff
    The great DLLCALL purge of 2021 - part 2
  557. Rob Swindell
    Sun Apr 04 2021 16:37:14 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/chksmb.c diff
    src/sbbs3/data.cpp diff
    src/sbbs3/date_str.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/getmail.c diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_client.c diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_cryptcert.c diff
    src/sbbs3/js_cryptcon.c diff
    src/sbbs3/js_cryptkeyset.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msg_area.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_queue.c diff
    src/sbbs3/js_rtpool.c diff
    src/sbbs3/js_server.c diff
    src/sbbs3/js_sprintf.c diff
    src/sbbs3/js_system.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/js_xtrn_area.c diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/ntsvcs.c diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/services.c diff
    src/sbbs3/sockopts.c diff
    src/sbbs3/ssl.c diff
    src/sbbs3/startup.h diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/websrvr.c diff
    src/xpdev/datewrap.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/genwrap.c diff
    src/xpdev/ini_file.c diff
    src/xpdev/link_list.c diff
    src/xpdev/msg_queue.c diff
    src/xpdev/multisock.c diff
    src/xpdev/netwrap.c diff
    src/xpdev/semfile.c diff
    src/xpdev/semwrap.c diff
    src/xpdev/threadwrap.c diff
    src/xpdev/xp_dl.c diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpmap.c diff
    src/xpdev/xpprintf.c diff
    The great DLLCALL purge of 2021 This macro has expanded to nothing for a while now and even before, the usage was misguided and unnecessary as explained in this video: https://www.youtube.com/watch?v=cjotPqQxxAY
  558. Deucе
    Sun Apr 04 2021 16:27:48 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    Fix errors with callback-based connect() Non-poll used the wrong value for calculating the high socket (which is ignored on Win32, the only non-poll() user), and the socket was being set in the wrong union member.
  559. Deucе
    Sun Apr 04 2021 16:17:34 GMT-0700 (PDT)
    Modified Files:
    
    src/xpdev/sockwrap.h diff
    Add nfds_t required by poll(), and add note describing Win32 bug
  560. Rob Swindell
    Sun Apr 04 2021 15:26:59 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str.cpp diff
    This strcpy() needs to remain as was (caught be GCC).
  561. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/filedat.c diff
    If error is NULL, insure maxerrlen is 0. Hopefully this will eliminate the "Dereference after null check" warnings by Coverity (e.g. CID 330993).
  562. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_archive.c diff
    Insure outdir is never NULL CID 319037
  563. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_com.c diff
    Handle filelength() returning negative value CID 33260
  564. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_console.cpp diff
    Remove logically dead code CID 174335
  565. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_cryptcert.c diff
    Remove structurally dead code (copy pasta?) CID 174455
  566. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_cryptcon.c diff
    Don't use mode without checking if NULL first CID 319598
  567. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_cryptkeyset.c diff
    Remove structurally dead code CID 174483
  568. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_file.c diff
    Fix some printf argument types CID 319023 319065 319134
  569. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Alt paths aren't supported/used any longer Fixes CID 330973
  570. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    dirnum is unsigned, so do not check for negative CID 330990
  571. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    printf fmt/argument type mismatches CID 319085 319089 319135 319142
  572. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    client.addr is now an array not pointer CID 319143
  573. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Remove logically dead code PROP_CHANGES already handled in if() condition CID 33176
  574. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    ftell() can return negative, deal CID 33232
  575. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/node.c diff
    Address logically dead code This is so old/bad. CID 33179.
  576. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/postmsg.cpp diff
    mod_ar is no longer a pointer, it's an array CID 319077
  577. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/qwk.cpp diff
    The QWK reset sub ptr command would never work Caught by Coverity-scan CID 33178
  578. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgnet.c diff
    strcat() -> SAFECAT() CID 174491
  579. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str.cpp diff
    strcpy -> SAFECOPY CID 33568
  580. Rob Swindell
    Sun Apr 04 2021 15:13:31 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/str.cpp diff
    read_ar is no longer a ptr, it's an array CID 319112
  581. Deucе
    Sun Apr 04 2021 13:58:27 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Use a single class, and pass in a synchronous flag.
  582. Rob Swindell
    Sun Apr 04 2021 13:30:22 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_bbs.cpp diff
    Fix unsigned int compare to negative - caught by Coverity-scan
  583. Rob Swindell
    Sun Apr 04 2021 13:30:46 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_file.c diff
    printf usage issue caught by Coverity.
  584. Rob Swindell
    Sun Apr 04 2021 13:31:20 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_filebase.c diff
    Fix memory leaks caught by Coverity.
  585. Rob Swindell
    Sun Apr 04 2021 13:31:35 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_msg_area.c diff
    mod_ar is not a pointer, it's an array.
  586. Rob Swindell
    Sun Apr 04 2021 13:33:25 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    Fix resource leaks caught by Coverity-scan CID 330950 and 319020
  587. Rob Swindell
    Sun Apr 04 2021 13:35:07 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_system.c diff
    Fix dead code issues reported by Coverity-scan
  588. Rob Swindell
    Sun Apr 04 2021 13:35:27 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/qwk.cpp diff
    Fix incorrect buf size argument caught by Coverity-scan
  589. Rob Swindell
    Sun Apr 04 2021 13:35:50 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbsecho.c diff
    Use SAFECAT() instead of strcat() for more safety.
  590. Rob Swindell
    Sun Apr 04 2021 13:37:11 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/services.c diff
    Fix UDP buffer memory leak when max clients reached Caught by Coverity-scan CID 330055
  591. Rob Swindell
    Sun Apr 04 2021 13:38:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/upgrade_to_v319.c diff
    Address Coverity-reported issues The use of uninitialized smb.retry_time was worst offender, but not expected to cause any actual issues.
  592. Rob Swindell
    Sun Apr 04 2021 13:28:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Fix resource leak in ssjs_send_headers() IdArray returned by JS_Enumerate() was never freed. Caught by Coverity-scan, CID 319627.
  593. Rob Swindell
    Sun Apr 04 2021 13:22:04 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/xtrn.cpp diff
    Fix use of uninitialized local variable (err_pipe[]) on *nix And other weirdness around EX_NOLOG mode checks. Addresses Coverity-scan CID 330048.
  594. Rob Swindell
    Sun Apr 04 2021 13:15:30 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Fix socket descriptor leak in fastcgi_connect() Found by Coverity-scan (CID 330051) @Deuce should review this.
  595. Rob Swindell
    Sun Apr 04 2021 04:19:43 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    New @-code: CONTINUE CONTINUE is like GETKEY except it'll set the display-abort flag if 'N' or 'Q' are typed. Make the WAIT:<n> argument 10ths of a second (instead of milliseconds) to be more consistent with DELAY:<n>.
  596. Rob Swindell
    Sun Apr 04 2021 04:05:57 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sbbs.h diff
    Specify default kmode values for getkey() and inkey()
  597. Rob Swindell
    Sun Apr 04 2021 04:08:32 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/atcodes.cpp diff
    New @-codes: GETKEY and WAIT:<milliseconds> GETKEY waits indefinitely for any key press by the user (resolves issue #245). WAIT:<n> waits for up to n-milliseconds for a key press and then continues on. For both cases, the key pressed is not echoed or acted upon in any way. Ctrl-keys could be handled by global or built-in ctrl-key handlers, so those would be the exception.
  598. Rob Swindell
    Sun Apr 04 2021 04:08:51 GMT-0700 (PDT)
    Modified Files:
    
    docs/newfilebase.txt diff
    Finish the incomplete thought in the Sorting section
  599. Rob Swindell
    Sun Apr 04 2021 03:51:06 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/scfg/scfgsub.c diff
    Allow the disabling of @-code expansion in sysop-posted msgs And make it the default for newly created sub-boards.
  600. Deucе
    Sun Apr 04 2021 02:50:04 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/uncrustify.cfg diff
    Fix single-line if stuff
  601. Rob Swindell
    Sun Apr 04 2021 02:49:37 GMT-0700 (PDT)
    Added Files:
    
    3rdp/win32.release/libarchive/bin/archive.dll diff
    3rdp/win32.release/libarchive/bin/archive.lib diff
    3rdp/win32.release/libarchive/include/archive.h diff
    3rdp/win32.release/libarchive/include/archive_entry.h diff
    3rdp/win32.release/libarchive/libarchive.props diff
    3rdp/win32.release/zlib/bin/zlib1.dll diff
    3rdp/win32.release/zlib/include/zconf.h diff
    3rdp/win32.release/zlib/include/zlib.h diff
    docs/newfilebase.txt diff
    exec/addfiles.js diff
    exec/archive.js diff
    exec/filelist.js diff
    exec/hashfile.js diff
    exec/postfile.js diff
    exec/rehashfiles.js diff
    exec/updatefiles.js diff
    src/hash/sha1.c diff
    src/hash/sha1.h diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/upgrade_to_v319.vcxproj diff
    Modified Files:
    3rdp/build/Common.gmake diff
    ctrl/file.cnf diff
    ctrl/text.dat diff
    exec/default.src diff
    exec/jsdocs.js diff
    exec/load/avatar_lib.js diff
    exec/load/fidocfg.js diff
    exec/load/sbbslist_lib.js diff
    exec/load/text.js diff
    exec/pcboard.src diff
    exec/sbbslist.js diff
    exec/simple.src diff
    exec/tickit.js diff
    exec/update.js diff
    exec/wildcat.src diff
    src/hash/crc16.c diff
    src/hash/crc16.h diff
    src/hash/crc32.c diff
    src/hash/crc32.h diff
    src/hash/md5.c diff
    src/hash/md5.h diff
    src/hash/objects.mk diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/addfiles.c diff
    src/sbbs3/addfiles.vcxproj diff
    src/sbbs3/allusers.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/ctrl/AboutBoxFormUnit.dfm diff
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/dat_rec.c diff
    src/sbbs3/dat_rec.h diff
    src/sbbs3/data.cpp diff
    src/sbbs3/delfiles.c diff
    src/sbbs3/delfiles.vcxproj diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/dupefind.vcxproj diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/filelist.c diff
    src/sbbs3/filelist.vcxproj diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/ftpsrvr.vcxproj diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/load_cfg.h diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.vcxproj diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.vcxproj diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgdate.h diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nodedefs.h diff
    src/sbbs3/objects.mk diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/release.bat diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs.vcxproj diff
    src/sbbs3/sbbs3.sln diff
    src/sbbs3/sbbs4defs.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.vcxproj diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/scfgsave.h diff
    src/sbbs3/services.c diff
    src/sbbs3/services.vcxproj diff
    src/sbbs3/sexyz.vcxproj diff
    src/sbbs3/slog.c diff
    src/sbbs3/smbactiv.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    src/sbbs3/targets.mk diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/v4upgrade.c diff
    src/sbbs3/viewfile.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.vcxproj diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/smblib/smbadd.c diff
    src/smblib/smballoc.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smbfile.c diff
    src/smblib/smbhash.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    src/smblib/smblib.vcxproj diff
    src/smblib/smbstr.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/dirwrap.h diff
    src/xpdev/gen_defs.h diff
    src/xpdev/ini_file.c diff
    src/xpdev/str_list.c diff
    src/xpdev/str_list.h diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpdatetime.h diff
    text/menu/sysxfer.asc diff
    text/menu/transfer.msg diff
    Removed Files:

    src/sbbs3/sortdir.cpp diff
    A poll() failure with EINTR does not mean a socket is closed. This won't impact Synchronet as it has a separate signal handling thread, but we still need to behave properly for processes that don't. I'm also saying that ENOMEM does not indicate a disconnection, though it may be better to pretend it was disconnected...
  602. Rob Swindell
    Sun Apr 04 2021 02:49:38 GMT-0700 (PDT)
    Added Files:
    
    3rdp/win32.release/libarchive/bin/archive.dll diff
    3rdp/win32.release/libarchive/bin/archive.lib diff
    3rdp/win32.release/libarchive/include/archive.h diff
    3rdp/win32.release/libarchive/include/archive_entry.h diff
    3rdp/win32.release/libarchive/libarchive.props diff
    3rdp/win32.release/zlib/bin/zlib1.dll diff
    3rdp/win32.release/zlib/include/zconf.h diff
    3rdp/win32.release/zlib/include/zlib.h diff
    docs/newfilebase.txt diff
    exec/addfiles.js diff
    exec/archive.js diff
    exec/filelist.js diff
    exec/hashfile.js diff
    exec/postfile.js diff
    exec/rehashfiles.js diff
    exec/updatefiles.js diff
    src/hash/sha1.c diff
    src/hash/sha1.h diff
    src/sbbs3/js_archive.c diff
    src/sbbs3/js_filebase.c diff
    src/sbbs3/upgrade_to_v319.c diff
    src/sbbs3/upgrade_to_v319.vcxproj diff
    Modified Files:
    3rdp/build/Common.gmake diff
    ctrl/file.cnf diff
    ctrl/text.dat diff
    exec/default.src diff
    exec/jsdocs.js diff
    exec/load/avatar_lib.js diff
    exec/load/fidocfg.js diff
    exec/load/sbbslist_lib.js diff
    exec/load/text.js diff
    exec/pcboard.src diff
    exec/sbbslist.js diff
    exec/simple.src diff
    exec/tickit.js diff
    exec/update.js diff
    exec/wildcat.src diff
    src/hash/crc16.c diff
    src/hash/crc16.h diff
    src/hash/crc32.c diff
    src/hash/crc32.h diff
    src/hash/md5.c diff
    src/hash/md5.h diff
    src/hash/objects.mk diff
    src/sbbs3/GNUmakefile diff
    src/sbbs3/addfiles.c diff
    src/sbbs3/addfiles.vcxproj diff
    src/sbbs3/allusers.c diff
    src/sbbs3/atcodes.cpp diff
    src/sbbs3/bat_xfer.cpp diff
    src/sbbs3/chksmb.c diff
    src/sbbs3/con_out.cpp diff
    src/sbbs3/ctrl/AboutBoxFormUnit.dfm diff
    src/sbbs3/ctrl/MainFormUnit.cpp diff
    src/sbbs3/ctrl/sbbsctrl.bpr diff
    src/sbbs3/dat_rec.c diff
    src/sbbs3/dat_rec.h diff
    src/sbbs3/data.cpp diff
    src/sbbs3/delfiles.c diff
    src/sbbs3/delfiles.vcxproj diff
    src/sbbs3/download.cpp diff
    src/sbbs3/dupefind.c diff
    src/sbbs3/dupefind.vcxproj diff
    src/sbbs3/email.cpp diff
    src/sbbs3/exec.cpp diff
    src/sbbs3/execfile.cpp diff
    src/sbbs3/execfunc.cpp diff
    src/sbbs3/execmisc.cpp diff
    src/sbbs3/file.cpp diff
    src/sbbs3/filedat.c diff
    src/sbbs3/filedat.h diff
    src/sbbs3/filelist.c diff
    src/sbbs3/filelist.vcxproj diff
    src/sbbs3/fixsmb.c diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ftpsrvr.h diff
    src/sbbs3/ftpsrvr.vcxproj diff
    src/sbbs3/getmsg.cpp diff
    src/sbbs3/getstats.c diff
    src/sbbs3/js_bbs.cpp diff
    src/sbbs3/js_com.c diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_file_area.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_msgbase.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_user.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/listfile.cpp diff
    src/sbbs3/load_cfg.c diff
    src/sbbs3/load_cfg.h diff
    src/sbbs3/logfile.cpp diff
    src/sbbs3/logon.cpp diff
    src/sbbs3/logout.cpp diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/mailsrvr.vcxproj diff
    src/sbbs3/main.cpp diff
    src/sbbs3/makeuser.vcxproj diff
    src/sbbs3/msg_id.c diff
    src/sbbs3/msgdate.c diff
    src/sbbs3/msgdate.h diff
    src/sbbs3/netmail.cpp diff
    src/sbbs3/node.c diff
    src/sbbs3/nodedefs.h diff
    src/sbbs3/objects.mk diff
    src/sbbs3/pack_qwk.cpp diff
    src/sbbs3/pack_rep.cpp diff
    src/sbbs3/postmsg.cpp diff
    src/sbbs3/qwk.cpp diff
    src/sbbs3/qwknodes.c diff
    src/sbbs3/readmsgs.cpp diff
    src/sbbs3/release.bat diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs.vcxproj diff
    src/sbbs3/sbbs3.sln diff
    src/sbbs3/sbbs4defs.h diff
    src/sbbs3/sbbs_ini.c diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/sbbsecho.c diff
    src/sbbs3/sbbsecho.vcxproj diff
    src/sbbs3/scandirs.cpp diff
    src/sbbs3/scfg/scfg.c diff
    src/sbbs3/scfg/scfg.h diff
    src/sbbs3/scfg/scfg.vcxproj diff
    src/sbbs3/scfg/scfgnet.c diff
    src/sbbs3/scfg/scfgsub.c diff
    src/sbbs3/scfg/scfgxfr1.c diff
    src/sbbs3/scfg/scfgxfr2.c diff
    src/sbbs3/scfgdefs.h diff
    src/sbbs3/scfglib.h diff
    src/sbbs3/scfglib1.c diff
    src/sbbs3/scfglib2.c diff
    src/sbbs3/scfgsave.c diff
    src/sbbs3/scfgsave.h diff
    src/sbbs3/services.c diff
    src/sbbs3/services.vcxproj diff
    src/sbbs3/sexyz.vcxproj diff
    src/sbbs3/slog.c diff
    src/sbbs3/smbactiv.c diff
    src/sbbs3/smbutil.c diff
    src/sbbs3/str.cpp diff
    src/sbbs3/str_util.c diff
    src/sbbs3/str_util.h diff
    src/sbbs3/targets.mk diff
    src/sbbs3/text.h diff
    src/sbbs3/text_defaults.c diff
    src/sbbs3/tmp_xfer.cpp diff
    src/sbbs3/uedit/uedit.c diff
    src/sbbs3/un_qwk.cpp diff
    src/sbbs3/un_rep.cpp diff
    src/sbbs3/unbaja.c diff
    src/sbbs3/upload.cpp diff
    src/sbbs3/userdat.c diff
    src/sbbs3/userdat.h diff
    src/sbbs3/useredit.cpp diff
    src/sbbs3/v4upgrade.c diff
    src/sbbs3/viewfile.cpp diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/websrvr.vcxproj diff
    src/sbbs3/writemsg.cpp diff
    src/sbbs3/xtrn.cpp diff
    src/sbbs3/xtrn_sec.cpp diff
    src/smblib/smbadd.c diff
    src/smblib/smballoc.c diff
    src/smblib/smbdefs.h diff
    src/smblib/smbdump.c diff
    src/smblib/smbfile.c diff
    src/smblib/smbhash.c diff
    src/smblib/smblib.c diff
    src/smblib/smblib.h diff
    src/smblib/smblib.vcxproj diff
    src/smblib/smbstr.c diff
    src/xpdev/dirwrap.c diff
    src/xpdev/dirwrap.h diff
    src/xpdev/gen_defs.h diff
    src/xpdev/ini_file.c diff
    src/xpdev/str_list.c diff
    src/xpdev/str_list.h diff
    src/xpdev/xpdatetime.c diff
    src/xpdev/xpdatetime.h diff
    text/menu/sysxfer.asc diff
    text/menu/transfer.msg diff
    Removed Files:

    src/sbbs3/sortdir.cpp diff
    Merge branch 'new_file_base' into 'master' New file base Closes #241 See merge request main/sbbs!123
  603. Deucе
    Sun Apr 04 2021 02:41:57 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/uncrustify.cfg diff
    Updates
  604. Deucе
    Sun Apr 04 2021 02:07:48 GMT-0700 (PDT)
    Added Files:
    
    src/syncterm/uncrustify.cfg diff
    Initial pass at uncrustify config for SyncTERM code
  605. Deucе
    Sat Apr 03 2021 21:43:29 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Add DNS_blocking sub-class for non-event driven lookups The DNS_blocking class supports the same API as the DNS class, but does not use events, so any method will complete before returning. As such, the callback argument is optional.
  606. Deucе
    Sat Apr 03 2021 16:00:59 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/sbbs.h diff
    Fix removal of non-timer events js_callback_t was not being properly retreived.
  607. Deucе
    Sat Apr 03 2021 01:15:10 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/GNUmakefile diff
    Not sure why jsdoor depended on sbbs Not having that dependency is the entire point of it.
  608. Deucе
    Sat Apr 03 2021 00:33:49 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    At least test that it compiles. Sheesh.
  609. Deucе
    Sat Apr 03 2021 00:32:43 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/dns.js diff
    Add untested parsers for interesting record types SRV, NAPTR, and URI
  610. Deucе
    Fri Apr 02 2021 23:58:01 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Ensure line isn't valid is it's not read in parse_string() Thus appears to have been the root cause of the infinite loop/memory issue. Basically, line was never replaced if it didn't match ^{[0-9]+}$ and didn't result in a number when passed to parseInt() This resulted in an infinite loop that kept pushing zero-length strings into an array.
  611. Deucе
    Fri Apr 02 2021 23:54:39 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Improve error message
  612. Deucе
    Fri Apr 02 2021 23:51:25 GMT-0700 (PDT)
    Modified Files:
    
    exec/imapservice.js diff
    Check for invalid line thing... Implicated in possible infinite loop/OOM problems.
  613. Eric Oulashin
    Fri Apr 02 2021 21:57:05 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    Version 1.11: When configured to use all available sub-boards, still don't allow choosing a sub-board that has polls disabled. This fixes an issue where SlyVote was showing all available message groups but some could be empty due to having no sub-boards that allow polls.
  614. Rob Swindell
    Fri Apr 02 2021 22:48:20 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/slyvote/readme.txt diff
    xtrn/slyvote/slyvote.js diff
    Merge branch '247_slyvote_msggroup_undefined' into 'master' Fix for #247: Slyvote javascript error pMsgGrps[pGrpIdx] is undefined See merge request main/sbbs!122
  615. Eric Oulashin
    Fri Apr 02 2021 20:45:35 GMT-0700 (PDT)
    Modified Files:
    
    exec/sbbslist.js diff
    The command prompt is now always on the bottom of the screen (console.screen_rows).
  616. Rob Swindell
    Fri Apr 02 2021 22:47:55 GMT-0700 (PDT)
    Modified Files:
    
    exec/sbbslist.js diff
    Merge branch '244_sbbslist_command_prompt_not_always_on_bottom' into 'master' The command prompt is now always on the bottom of the screen See merge request main/sbbs!121
  617. Deucе
    Fri Apr 02 2021 14:31:13 GMT-0700 (PDT)
    Added Files:
    
    exec/load/dns.js diff
    Modified Files:
    src/sbbs3/exec.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_socket.h diff
    src/sbbs3/js_system.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Initial work on setTimeout() This appears to work and the event handler *should* work on other event types already. Note, this is *nix-only due to the use of poll(). select() will need to be used for Windows to keep XP compatability.
  618. Deucе
    Fri Apr 02 2021 14:31:13 GMT-0700 (PDT)
    Added Files:
    
    exec/load/dns.js diff
    Modified Files:
    src/sbbs3/exec.cpp diff
    src/sbbs3/js_console.cpp diff
    src/sbbs3/js_internal.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/js_socket.h diff
    src/sbbs3/js_system.c diff
    src/sbbs3/jsdoor.c diff
    src/sbbs3/jsexec.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbsdefs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/xpdev/sockwrap.c diff
    src/xpdev/sockwrap.h diff
    Merge branch 'echicken-less-grumpy' into 'master' Implement support for callback style programming See merge request main/sbbs!118
  619. Michael J. Ryan
    Fri Apr 02 2021 12:36:55 GMT-0700 (PDT)
    Modified Files:
    
    .gitignore diff
    ignore .vscode
  620. Rob Swindell
    Fri Apr 02 2021 13:11:33 GMT-0700 (PDT)
    Modified Files:
    
    .gitignore diff
    Merge branch 'ignore-vscode' into 'master' ignore .vscode See merge request main/sbbs!119
  621. Deucе
    Fri Apr 02 2021 12:45:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_socket.c diff
    Fix Socket.connect() Broken with the poll() update
  622. Deucе
    Thu Apr 01 2021 23:20:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/sockopts.c diff
    Default to IPV6_V6ONLY=1 for jsdoor
  623. echicken
    Thu Apr 01 2021 11:44:16 GMT-0700 (PDT)
    Modified Files:
    
    exec/load/typeahead.js diff
    Added 'autoDelete' setting. Probably needs some more work. If true, and if this is our first input, and if the users types something that would otherwise have been appended to the default text, then the default text is deleted first.
  624. echicken
    Thu Apr 01 2021 11:46:15 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/go-for/go-for.js diff
    Use new typeahead autoDelete setting.
  625. echicken
    Thu Apr 01 2021 11:32:34 GMT-0700 (PDT)
    Modified Files:
    
    xtrn/go-for/go-for.js diff
    xtrn/go-for/help.txt diff
    q from help screen quits help, not the whole program. o from help screen no longer causes go-for to shit its pants in dramatic fashion. s and w are now aliases for tab and ` respectively (item nav).
  626. Rob Swindell
    Wed Mar 31 2021 23:51:52 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/writemsg.cpp diff
    Fix editmsg() always fails bug introduced in commit 0c441424 Another Coverity-issued-fixed-introduced-bug. Failure to remove a non-existant file is not reason for failure.
  627. Deucе
    Wed Mar 31 2021 23:04:32 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Have showbuf() clamp width the same way as height... Basically, assume left is correct, and calculate the correct width to fill the screen to the esge.
  628. Deucе
    Wed Mar 31 2021 21:19:05 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Make context defaults for with and height same as no-context ones. ARE YOU HAPPY NOW CYAN?!?!
  629. Deucе
    Wed Mar 31 2021 16:52:51 GMT-0700 (PDT)
    Modified Files:
    
    src/build/Common.gmake diff
    os is lower-case. Fixes *nix builds of Win32 programs.
  630. Deucе
    Wed Mar 31 2021 16:50:41 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/main.cpp diff
    Fix error in last commit. Looks like I was partially restoring old code before I stopped.
  631. Deucе
    Wed Mar 31 2021 16:39:24 GMT-0700 (PDT)
    Modified Files:
    
    src/build/Common.gmake diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/services.c diff
    src/sbbs3/xtrn.cpp diff
    src/xpdev/multisock.c diff
    src/xpdev/sockwrap.c diff
    Use new PREFER_POLL define to control poll() usage Rather than depending on _WIN32 which is silly, make it clear what exactly is being done and why. Note that the spy socket stuff and some external stuff on *nix have had the select() implementation removed. To support using select() on !Win32 will require de-refactoring that's not really worth doing. Instead, just use #error and reference the commit where the old code can be found.
  632. Deucе
    Wed Mar 31 2021 14:00:54 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Set a better default window for uifc.showbuf() Rather than defaulting to zero lines high and the width of the title, default to the entire screen area.
  633. Deucе
    Wed Mar 31 2021 13:56:40 GMT-0700 (PDT)
    Modified Files:
    
    src/uifc/uifc32.c diff
    Fix glitch in showbuf window with odd-numbered width
  634. Deucе
    Wed Mar 31 2021 13:49:42 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/js_uifc.c diff
    Fix showbuf context issues.
  635. Deucе
    Wed Mar 31 2021 13:21:36 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/mxlookup.c diff
    Fix clang warning
  636. Deucе
    Tue Mar 30 2021 21:12:21 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/websrvr.c diff
    Remove some unused variables.
  637. Deucе
    Tue Mar 30 2021 12:06:49 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execnet.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ident.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/mxlookup.c diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs_status.c diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/xtrn.cpp diff
    Initial poll() work Still needs updates in services_thread(), CGI stuff in websrvr.c, and sbbs_t::external()
  638. Deucе
    Tue Mar 30 2021 12:06:50 GMT-0700 (PDT)
    Modified Files:
    
    src/sbbs3/execnet.cpp diff
    src/sbbs3/ftpsrvr.c diff
    src/sbbs3/ident.c diff
    src/sbbs3/js_file.c diff
    src/sbbs3/js_global.c diff
    src/sbbs3/js_socket.c diff
    src/sbbs3/mailsrvr.c diff
    src/sbbs3/main.cpp diff
    src/sbbs3/mxlookup.c diff
    src/sbbs3/sbbs.h diff
    src/sbbs3/sbbs_status.c diff
    src/sbbs3/services.c diff
    src/sbbs3/websrvr.c diff
    src/sbbs3/xtrn.cpp diff
    Merge branch 'poll-update' into 'master' Poll update See merge request main/sbbs!116
  639. Deucе
    Mon Mar 29 2021 23:47:30 GMT-0700 (PDT)
    Modified Files:
    
    src/syncterm/syncterm.c diff
    Use kDownloadsFolderType for downloads. Found by digging through headers... Apple doesn't document this.
  640. Synchronet
    Mon Mar 29 2021 23:15:05 GMT-0700 (PDT)
    Added Files:
    
    3rdp/build/cl-check-before-use.patch diff
    Modified Files:
    3rdp/build/GNUmakefile diff
    Fix macOS build. Just some more macOS silliness.
AuthorCommitsLatest
Eric Oulashin3Tue Dec 07 2021 20:42:52 GMT-0800 (PST)
Rob Swindell400Tue Dec 07 2021 22:24:54 GMT-0800 (PST)
Deucе162Tue Dec 07 2021 12:17:56 GMT-0800 (PST)
echicken22Sat Nov 27 2021 20:22:22 GMT-0800 (PST)
Randy Sommerfeld48Fri Oct 15 2021 23:27:15 GMT-0700 (PDT)
MJ2Wed Apr 21 2021 11:57:07 GMT-0700 (PDT)
Michael J. Ryan2Fri Apr 02 2021 13:37:42 GMT-0700 (PDT)
Synchronet1Mon Mar 29 2021 23:15:05 GMT-0700 (PDT)

For older commits (in CVS), click here

Dynamically generated in 487 milliseconds