Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

  1. 13 Sep, 2020 10 commits
  2. 12 Sep, 2020 12 commits
  3. 11 Sep, 2020 3 commits
  4. 10 Sep, 2020 7 commits
  5. 09 Sep, 2020 8 commits
    • Rob Swindell's avatar
      Replace fcopy with CopyFile (Win32 API function) on Windows. · 047ca2f8
      Rob Swindell authored
      Thanks to Wilfred van Velzen (2:280/464) for the tip. CopyFile() reduced
      the 1GB file copy test (from and to CIFS/SMB) duration from 37 seconds
      to 5 seconds with very low CPU utilization!
      Created a wrapper for non-Windows OSes in xpdev/dirwrap. This is where
      non-Windows-OS-specific optimized versions may appear in the future,
      but for now it's just the previous fcopy() implementation (using a 256KB
      stack buffer). sbbs doesn't actually copy files very often, so this
      isn't as big of a deal as one might assume. The JavaScript global
      method: file_copy() also benefits from these improvements, so any
      scripts that use it (e.g. tickit.js) will also benefit. binkit.js has
      its own file-copy logic (using a 2MB buffer), so no change there.
      047ca2f8
    • Rob Swindell's avatar
      Added special finger request: json-dbs · a2e4d573
      Rob Swindell authored
      Returns a list of publicly accessible JSON db's from ctrl/json-service.ini
      (assumes the JSON service is not just listening on localhost).
      Sysop can opt-out by setting json_db=false in the [fingerservice]
      section of modopts.ini
      
      Now mcmlxxix has a reason to expose his BBS to the world's fingers.
      a2e4d573
    • Rob Swindell's avatar
      Improve file copy (fcopy()) performance by more than an order of magnitude. · 914790f5
      Rob Swindell authored
      Using a 256KB read buffer for copying files (rather than one byte at a time).
      Apparently calling fread() is not the same as a bunch of calls to fgetc()
      after all. Or maybe it was the many calls to fputc() being replaced with
      fwrite(). Or maybe it was both. Anyway, decreased the time to copy a 1GB
      file from and to a Samba share over a Gb Ethernet network from 13 minutes
      to less than a minute. This matters when sbbs is backing up your data/mail
      base and the files are big. The mail base is locked while being backed up
      and the longer it takes to back up, the longer the mail base is locked and
      no mail can be received, read or sent during that time.
      914790f5
    • Rob Swindell's avatar
      Spinning cursor over the hardware cursor - disabled. · 2411b2d7
      Rob Swindell authored
      Define SPINNING_CURSOR_OVER_HARDWARE_CURSOR to enable this experimental
      feature. I'm not sure I like it better than the way the spinning cursor
      has been displayed for decades (to the left of the hardware cursor).
      2411b2d7
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Don't require a key-press when exiting a UIFC app run in ANSI mode on Win32 · db98df2e
      Rob Swindell authored
      Breaking into a debugger, I found the task was hung in:
      _lock_file(stdin) called from common_flush_all(), so the stream was locked.
      Simply unlocking it resolves the problem.
      
      This bug has been around forever and was annoying but non-serious (just
      required the user/sysop to hit ENTER). So happy it's now fixed.
      db98df2e
    • Rob Swindell's avatar
      A spinning cursor would cause the screen to scroll. · d7ab0225
      Rob Swindell authored
      Call getkey() with K_NOSPIN mode flag.
      d7ab0225
    • Rob Swindell's avatar
      Explicitly set the default System->Loadable Modules for: · 904211c6
      Rob Swindell authored
      msglist, nodelist, who's online, logonlist, and privatemsg.
      904211c6