1. 02 Jan, 2022 2 commits
  2. 01 Jan, 2022 2 commits
  3. 31 Dec, 2021 1 commit
    • Rob Swindell's avatar
      Insure the web RootDirectory ends in a slash. · ba5462ba
      Rob Swindell authored
      Reported by Compctech via DOVE-Net:
      
      "On a side note,  I had to modify the letsyncrypt.js file to get letsencrypt to
      work.  I had to add a / before .well-known on lines 86 - 89 & 96."
      
      I'm guessing this is because his sbbs.ini [Web] RootDirectory wasn't terminated with a slash.
      ba5462ba
  4. 30 Dec, 2021 3 commits
  5. 15 Dec, 2021 3 commits
  6. 14 Dec, 2021 8 commits
  7. 12 Dec, 2021 1 commit
  8. 11 Dec, 2021 1 commit
    • Eric Oulashin's avatar
      SlyEdit v1.75: Refactored the quote selection menu and cross-post selection · cd6df2d4
      Eric Oulashin authored
      menus to use DDLightbarMenu instead of SlyEdit's own lightbar code.  This
      allowed the elimination of most of the rest of SlyEdit's own lightbar code,
      reducing the size of SlyEdit.js by about 40Kb.  It also provides some consistency
      in behavior by using a common menu component.
      
      Also, to support some additional required behaviors by SlyEdit, added the following
      'event' functions to the DDLightbarMenu class:
      ValidateSelectItem(pItemRetval): For validating that the user can select an item.
      Takes the item's return value, and returns a bool to indicate whether the item can
      be selected.
      
      OnItemSelect(pItemRetval, pSelected): A function that is called when an item is being
      selected (or de-selected, when multi-select is enabled).  The parameters are the item's
      return value and a boolean to indicate whether the item was selected or de-selected.
      
      Also, added an explicit DoKeyDown() function to DDLightbarMenu to support scrolling
      the menu down when desired (special case for SlyEdit's quote selection window).
      cd6df2d4
  9. 10 Dec, 2021 1 commit
  10. 08 Dec, 2021 2 commits
  11. 07 Dec, 2021 1 commit
    • Deucе's avatar
      Remove check for fd <= FD_SETSIZE · fd214111
      Deucе authored
      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.
      fd214111
  12. 06 Dec, 2021 3 commits
    • Rob Swindell's avatar
      Don't build sbbsexec.dll by default for debug builds · 366c05de
      Rob Swindell authored
      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.
      366c05de
    • Rob Swindell's avatar
      Fix FTPS upload failure: !DATA ERROR 0 receiving on data socket · 17a67ee9
      Rob Swindell authored
      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.
      17a67ee9
    • Rob Swindell's avatar
      Allow local abort/cancel to abort (more) retries/loops · 312daa40
      Rob Swindell authored
      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>
      312daa40
  13. 03 Dec, 2021 2 commits
    • Rob Swindell's avatar
      Add sbbsexec.dll project (again) · b15bd564
      Rob Swindell authored
      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.
      b15bd564
    • Rob Swindell's avatar
      Work around GetVersionEx deprecation warning/error · 01bda6a8
      Rob Swindell authored
      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-was-declared-deprecated for details.
      01bda6a8
  14. 01 Dec, 2021 4 commits
    • Rob Swindell's avatar
      Remove the last remnants of Win9x/Me support · 717592bc
      Rob Swindell authored
      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).
      717592bc
    • Rob Swindell's avatar
      Fix some FOSSIL functions · 18bcbeb7
      Rob Swindell authored
      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).
      18bcbeb7
    • Rob Swindell's avatar
      The sem_wait() call was just a bad idea after-all · 48874e1e
      Rob Swindell authored
      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>
      48874e1e
    • Rob Swindell's avatar
      Add a debug line when wrapping split-screen chat lines. · 39c82c50
      Rob Swindell authored
      Is this the point when the lost chars problem happens?
      39c82c50
  15. 30 Nov, 2021 6 commits