Skip to content
Snippets Groups Projects
  1. Aug 10, 2022
  2. Aug 04, 2022
  3. Jul 07, 2022
  4. Jun 15, 2022
    • Rob Swindell's avatar
      Allow sysop-choice of source of virtual sub-directory source name · d628e132
      Rob Swindell authored
      By default, each file transfer directory's internal code suffix is
      used as the source of the sub-directory of the virtual path used
      to represent a file area in the FTP and Web servers. Now, a sysop
      can change that source to either each directory's short name or
      long name, if they prefer.
      
      For MRO, because he asked (on DOVE-Net).
      d628e132
  5. Jun 02, 2022
  6. May 09, 2022
    • Rob Swindell's avatar
      Add "Disable Local Display" option for doors, parse DOSXTRN.ERR · 6ed76598
      Rob Swindell authored
      New option to disable local screen display for door programs: sets the 'Screen' value appropriately in door.sys or pcboard.sys drop files and on Windows, doesn't create a new console window.
      
      Also, now parsing the DOSXTRN.ERR file created by the latest/greatest dosxtrn.exe when failing to execute the child/DOS program and log the parsed error details (errno value and description), helpful in debugging the reason why a DOS program may not have been successfully executed by DOSXTRN.
      6ed76598
  7. Apr 30, 2022
  8. Apr 29, 2022
    • Rob Swindell's avatar
      Give the timed event config menu the left/right arrow key treatment · e924cc90
      Rob Swindell authored
      Allows quick traversing through timed events (e.g. for comparison of settings).
      e924cc90
    • Rob Swindell's avatar
      Add "Native" option for QWKnet call-out cmd-lines · 23a0836f
      Rob Swindell authored
      This really shouldn't be necessary to toggle (at least now) on Windows, since we treat all off-line executions as "native", but for *nix, it could make a big difference if trying to invoke a native program or shell script for a QWKnet call-out and it would either fail due to no DOS support or try to executing using Linux-DOSEMU (unless the command's program name was in the global "native program list" configured in SCFG->External Programs).
      23a0836f
  9. Apr 18, 2022
  10. Apr 16, 2022
  11. Apr 15, 2022
  12. Apr 14, 2022
    • Rob Swindell's avatar
      Add configurable log size limit and retention count · 549c79aa
      Rob Swindell authored
      For the following log files:
        hungup.log
        error.log
        crash.log
        hack.log
        spam.log
        guru.log
      
      ... they can be limited in size, in bytes, by the sysop, along with a maximum retention limit (number of *.#.log files). Configured in SCFG->System->Advanced.
      
      By default, the limit and keep numbers are 0, so "unlimited" (same behavior as before). Once sufficiently tested, I'll change the default in a stock main.cnf file to use a sensible limit (e.g. 10 log files of 10MB each, something like that).
      549c79aa
  13. Mar 28, 2022
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Overhaul statistics files · f963dcbf
      Rob Swindell authored
      */dsts.dab (daily statistics and running totals) -> */dsts.ini
      */csts.dab (cumulative statistics / log) -> */csts.tab
      
      * dsts.ini now has both daily and total stats for all fields (not just timeon and logons).
      * dsts.ini is now an easily modifiable text file - no longer need dstsedit (here-by deprecated and soon to be deleted)
      * dsts.ini and csts.tab support 64-bit upload/download byte stats and are very extensible for future fields to be added or extended > 32-bit (this was the main inspiration for this overhaul, but it was overdue and already designed for v4, pretty much)
      * csts.tab is a tab-delimited fixed length record format suitable for easy import to a spreadsheet program or parsing with scripts. Each day is a 128-character LF-delimited record with tab-delimited fields of plain ASCII text.
      * All fields except timeon in dsts.ini files are updated immediately and by more non-terminal servers (e.g. post statistics from web UI scripts).
      * New user stats are tracked more than just for "today".
      
      The upgrade of these files is automatic and built-into SBBS.
      
      Still to do: overhaul the slog utility to support the new csts.tab file format.
      f963dcbf
  14. Mar 24, 2022
    • Rob Swindell's avatar
      Support user credits and transfer stats > 4GB in total · 2d4ec7b8
      Rob Swindell authored
      Credits and daily free credits are accurate to the byte up to (a maximum) of 18446744073709551615 (that's 18 Exbibytes - 1).
      
      User's upload and download byte stats are now similarly extended in maximum range, but the accuracy is only "to the byte" for values less than 10,000,000,000. Beyond that value, the accuracy declines, but is generally pretty damn accurate (to 4 decimal places beyond the nearest multiple of a power of 1024), so I don't expect that to be an issue. This method of storing upload/download byte stats allowed me to use the same 10-character user record fields in the user.dat file.
      
      As a side-effect of this enhancements:
      * User and file credit values are now expressed in multiples of powers of 1024 (e.g. 4.0G rather than 4,294,967,296).
      * Free credits per day per security level has now been extended from 32 to 64-bits (to accommodate values >= 4GB).
      * adjustuserrec() now longer takes the record length since we can easily determine that automatically and don't need more "sources of truth" that can be out-of-sync (e.g. the U_CDT field length going from 10 to 20 chars with this change).
      * setting the stage for locale-dependent thousands-separators (e.g. space instead of comma) - currently still hard-coded to comma
      * more/better support for files > 4GB in size (e.g. in the batch download queue)
      * user_t ulong fields changed to either uint32_t or uint64_t - I didn't realize how many long/ulong's remained in the code (which are sometmies 32-bit, sometimes 64-bit) - ugh
      * Steve's ultoac() function renamed to u32toac() and created a C++ wrapper that still uses the old name, for homage
      2d4ec7b8
  15. Mar 21, 2022
  16. Mar 13, 2022
  17. Mar 11, 2022
  18. Mar 07, 2022
    • Rob Swindell's avatar
      Cycle through grps, subs, libs, and dirs using left/right arrow keys · fdfabcb4
      Rob Swindell authored
      Nelgin's suggestion to support quick searching/scanning through message and file areas (e.g. comparing settings or whatever) without having to ESC then arrow key, ENTER, for each.
      
      Uses Deuce's WIN_EXTKEYS UIFC mode flag, which I don't think I've used before now and uses the special -CIO_KEY value - 2 trick.
      
      Also expanded the width of the sub-board and directory info windows to show more information (including full long name).
      
      Fixes issue (wishlist item) #349 by Nelgin
      fdfabcb4
  19. Mar 03, 2022
  20. Mar 02, 2022
  21. Feb 28, 2022
  22. Feb 21, 2022
    • Rob Swindell's avatar
      Rename "Allow Sysop Login" option to "Allow Sysop Access" · 4730f555
      Rob Swindell authored
      With this option set to "No", sysops can still login, they just can't perform most sysop functions.
      
      Updated System Password help text to clarify that the "Allow Sysop Access" option effectively disables the system password. Also mention the FTP Server use of the system password to enable sysop access.
      4730f555
  23. Feb 19, 2022
  24. Feb 09, 2022
  25. Feb 05, 2022
  26. Feb 04, 2022
  27. Feb 01, 2022
    • Rob Swindell's avatar
      Implement the sbbsfile.nam and sbbsfile.des post-processing in v3.19 · 4bd6f5f6
      Rob Swindell authored
      This one was one of the last TODO items for the new filebase implementation: It's been supported (for a *long* time) that a file tester/upload processor could change the uploaded file's name or description by modifying the contents of the sbbsfile.nam and sbbsfile.des files in the node's directory (I know, great names, eh?). These files were not read-back into sbbs to apply any changes in v3.19b and that's now "fixed" though I'm not sure any file upload tester/processor actually ever made use of this feature.
      
      Also as part of this change, the '%s' specifier for the tester command-line will now be replaced with the path to the sbbsfile.des file and not the file's description itself (which could easily have been problematic for a command-line).
      
      Updated SCFG help text to suit.
      4bd6f5f6
  28. Jan 28, 2022
    • Rob Swindell's avatar
      Use sbbs.ini [web] FileVPathPrefix to configure web filebase prefix · bfe32c7a
      Rob Swindell authored
      It bothered Deuce having a web server setting in scfg_t/SCFG->File Options, so I moved this setting to [web_]startup_t and the sbbs.ini file.
      
      The downside is that file_area.web_file_prefix is no longer available to JS environments outside of the web server and terminal server, but meh, probably not going to use it elsewhere anyway? I can imagine use cases for JSexec scripts to want to generate URLs to filebase files. If that ends up being a need, they'll have to find and parse the "right" sbbs.ini file to determine the vpath prefix. 
      bfe32c7a
    • Rob Swindell's avatar
      Fix up the directory internal code suffix help text · 6b9e5400
      Rob Swindell authored
      ... more aligned with a sub-board's internal code help text.
      6b9e5400
  29. Jan 18, 2022
    • Rob Swindell's avatar
      Provide more help for the "Access to Sub-directories" feature · df580ac0
      Rob Swindell authored
      This is an experimental feature that's been in the code for quite a while without any supporting help/docs (there was the original commit message, I'm sure). I'm not sure how much value this feature is without providing automatic access to the *files* within the sub-directories, but there you have it.
      df580ac0
  30. Jan 16, 2022
    • Rob Swindell's avatar
      Add direct filebase access from the web server (optional) · b035257e
      Rob Swindell authored
      By setting SCFG->File Options->Web File Virtual Path Prefix to something (e.g. "/files/"), all HTTP or HTTPS requests to the Synchronet Web Server with request paths beginning with this prefix will be interpreted as filebase access requests (with full access control enforcement). This is configured here (in SCFG) rather than, say, the [web] section of sbbs.ini, because I have plans for the terminal server to use this prefix to generate Web-URLs for files to display or email to users.
      
      Currently, only requests to *files* (for download) are supported (no index generation, file information, etc. and definitely no upload support). Full access control (using HTTP auth, not cookies) is used for libraries and directories with controlled access. Credits are deducted and awarded and uploaders are notified of downloads, as one would expect. Requests to any dynamic-web-content files (e.g. .SSJS, .XJS, etc.) will be treated as static file download requests (no script will be executed).
      
      I'm reusing the same virtual path parsing logic from the FTP server (moved to the userdat lib), so the virtual path to a file for download would be, for example, http://yourdomain/files/lib/dir-code/filename.ext
      
      The main motivation for this feature is: FTP-links in email and web pages are just not useful to many users these days and I don't think that sysops should have to rely on a SSJS web UI (e.g. ecWebv4, cool as it is), to provide web-access to the filebases. Using this feature, you can share simpler/shorter web links to your files that will be more enduring.
      b035257e
  31. Jan 11, 2022
    • Rob Swindell's avatar
      Allow maximum uploaded filename length to be configured · e913daad
      Rob Swindell authored
      Default to 64 characters. Maximum value is 65535 characters, but filenames larger than 64 characters may be problematic (e.g. searching for them, displaying them, security concerns), so only increase with caution. Shorter values are fine, but 0 will just revert back to the default.
      e913daad
  32. Jan 02, 2022
Loading