- Aug 10, 2022
-
-
Rob Swindell authored
-
- Aug 04, 2022
-
-
Rob Swindell authored
When there are no chat action sets or an action set has been deleted, bad things would happen (e.g. segfault) when listing chat channels.
-
- Jul 07, 2022
-
-
Rob Swindell authored
-
- Jun 15, 2022
-
-
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).
-
- Jun 02, 2022
-
-
Rob Swindell authored
Also a bit more constification and cleared up the legacy sbbs_get_ini_fname() usage: the hostname argument hadn't be used in a long, long time.
-
- May 09, 2022
-
-
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.
-
- Apr 30, 2022
-
-
Rob Swindell authored
Don't repeat call atoi() unnecessarily.
-
- Apr 29, 2022
-
-
Rob Swindell authored
Allows quick traversing through timed events (e.g. for comparison of settings).
-
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).
-
- Apr 18, 2022
-
-
Rob Swindell authored
This prevents re-entry to the door configurations from returning to the previously highlighted menu option. Not sure why this was, but clearly re-zeroing static variables makes no sense in the first place.
-
- Apr 16, 2022
-
-
Rob Swindell authored
If a sysop wants to prevent new users from using an email address of an existing user, they can set SCFG->System->New User Values->Question Toggles->Force Unique E-mail/NetMail to "Yes". This partially addresses issue #127, at least for the terminal server.
-
- Apr 15, 2022
-
-
Rob Swindell authored
CID 351997 and 351998
-
- Apr 14, 2022
-
-
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).
-
- Mar 28, 2022
-
-
Rob Swindell authored
-
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.
-
- Mar 24, 2022
-
-
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
-
- Mar 21, 2022
-
-
Rob Swindell authored
Size is indexed, so might as well sort by it. This does have an issue with files >= 4GB in length however, so I'm looking at that next.
-
Rob Swindell authored
This option actually controls whether the disk will be queried for the current file size and modification date/time (when listing) too.
-
- Mar 13, 2022
-
-
Rob Swindell authored
Also, when hitting ESC at the "Use Real Names" prompt, don't prompt for the Lower-casing of the drop file name.
-
- Mar 11, 2022
-
-
Rob Swindell authored
A visual clue that there was a new navigation method available on some menus (where left/right arrow keys cycle through configured item) was needed. This seems to work nicely.
-
Rob Swindell authored
Similar to how we can now cycle through the file areas and message areas using left and right arrow keys, do the same for external "online" program sections and program (door) configurations.
-
- Mar 07, 2022
-
-
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
-
- Mar 03, 2022
-
-
Rob Swindell authored
Also reversed the order of newsgroup name and area-tag options for a sub-board. Updated help text too to specify that sub's area-tag can be derived from newsgroup name, if one is specified.
-
- Mar 02, 2022
-
-
Rob Swindell authored
resolved CID 350321
-
- Feb 28, 2022
-
-
Rob Swindell authored
We only support platforms where slash is a legal path separator.
-
Rob Swindell authored
Needed for text.dat support in SBBSecho load_cfg really should be made either a static library or an exported function from libsbbs.so that everything reuses. Kind of silly to be recompiling and linking these files with every app now.
-
- Feb 21, 2022
-
-
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.
-
- Feb 19, 2022
-
-
Rob Swindell authored
Thanks to Andre for pointing that out in his wiki updates.
-
- Feb 09, 2022
-
-
Rob Swindell authored
Then you must also include the file extension on all the configured command-lines. The opposite is not true: excluding the file extension in the native program list will still work if the command-line includes the file extension.
-
- Feb 05, 2022
-
-
Rob Swindell authored
Users with the 'O' restriction (automatically set if a new user has the same "real name" as another account, and that's allowed by the sysop) will send netmail from their alias and not their real name to prevent impersonation of another user.
-
Rob Swindell authored
Don't let (or at least try to prevent) a sysop create a duplicate message group or file library internal code prefix (which could lead to duplicate internal codes for subs and dirs, pretty easily and accidentally).
-
- Feb 04, 2022
-
-
Rob Swindell authored
When manually adding a message/file area or modifying an internal code value, reject the code if it's a duplicate. This required that getsubnum() and getdirnum() support non-prepped configurations (where the full internal code has already been constructed from the prefix and suffix).
-
Rob Swindell authored
-
- Feb 01, 2022
-
-
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.
-
- Jan 28, 2022
-
-
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.
-
Rob Swindell authored
... more aligned with a sub-board's internal code help text.
-
- Jan 18, 2022
-
-
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.
-
- Jan 16, 2022
-
-
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.
-
- Jan 11, 2022
-
-
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.
-
- Jan 02, 2022
-
-
Rob Swindell authored
-