- Dec 29, 2023
-
-
Rob Swindell authored
(missed as part of previous commit)
-
- Jun 10, 2023
-
-
Rob Swindell authored
-
- Jun 09, 2023
-
-
Rob Swindell authored
So Clang-FreeBSD was warning (in compiles of scfg/scfg*.c by Deuce): result of comparison of constant 100000 with expression of type 'uint16_t' (aka 'unsigned short') is always true Why? Cause a uint16_t's max value is 65535 (less than 100000). Sure we could have just lowered the UIFC max number of config items to 65535, but that would have been too easy. And why are these compared-with values of type uint16_t to begin with? Because most ctrl/*.cnf lists (of configuration items) were limited to 65535 entries cause ... 16-bit DOS, historically. Now that *.cnf files aren't used, we could just increase these scfg_t.*_total type sizes from 16 to 32-bits, yeah? The result is this commit. I went to (signed) int so we could still keep -1 as the special illegal sub/dir num value (e.g. INVALID_SUB, which is sometimes used to indicate the email message base). Theoretically, 2 billion configuration items could be supported in these lists, but SCFG will limit you to 100000 anyway. So there's a whole lot of s/uint/int in this commit. I'd be very surprised if this doesn't result in some new GCC/Clang warnings, but at least the old "comparison of constant 100000" warnings are now gone!
-
- May 06, 2023
-
-
Rob Swindell authored
My first idea was to have a per-external-program setting to enable input translation, but Deuce suggested it would be better done in input_thread() and after some thought, I agree. Translations are not done in data/file transfer mode, so use the CON_RAW_IN console flag to indicate this condition. So even JS console.getbyte() will return a translated char unless the console is set raw input mode (this could be surprising behavior for some!). I considered saving/restoring the console mode when performing a file transfer but will leave that to a time when obviously needed. This fixes issue #497 in automatic way (no option needed).
-
- Mar 11, 2023
-
-
Rob Swindell authored
Does exactly the same thing, no change in behavior and unlikely there's any change in performance.
-
- Mar 04, 2023
-
-
Rob Swindell authored
Upon successful download of a file, recalculate and store the user's download CPS (characters/bytes per second), mainly for subsequent transfer time estimates.
-
- Jan 30, 2023
-
-
Rob Swindell authored
- Most published messages (besides log entries) have a timestamp (in ISO8601 format) prepended and tab-separated - The order and number of elements in client messages (list and activities) has been updated, now includes user number - Server client lists are now published to .../SERVER/client/list - Server client activities (connect, disconnect, update) are now published to .../SERVER/client/action/# - Server client count is now published to .../SERVER/client (with the maximum client count, if applicable) - Server states are now just represented by name (e.g. initializing, ready, stopping, stopped) and not number - BBS errors are logged to sbbs/BBS/action/error/LEVEL (where LEVEL is the log level name, e.g. "critical" or "error') - All server hack-attempts, SPAM attempts, logins, logouts, uploads, downloads, are published to sbbs/BBS/action/ACTION/* - Chat pages are published to sbbs/BBS/action/page/node/# - New users (on the terminal server) are published to sbbs/BBS/action/newuser - Posted messages and executed external programs (on the terminal server) are published to sbbs/BBS/action/ACTION/CODE topic - The event thread started/stopped status is published to .../SERVER/event Yeah, the wiki will get updated soon to reflect/document all these changes
-
- Oct 18, 2022
-
-
Rob Swindell authored
Also resolved some 32 vs 64-bit 'long' issues/ambiguities that have long-remained. :-) This commit also removes logon.lst file support. There's a TODO block remaining in js_user.c for setting portions of a user's birthdate (e.g. just the year or month or day).
-
- 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
-
- Nov 18, 2021
-
-
Rob Swindell authored
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.
-
- Apr 04, 2021
-
-
Rob Swindell authored
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...
-
- Nov 25, 2020
-
-
Rob Swindell authored
Testing my commit hook more than anything.
-
Rob Swindell authored
... when running DOS programs on Linux with a DOSEMU-enabled build.
-
- Nov 05, 2020
-
-
Rob Swindell authored
As reported by WitNik, on 32-bit rPi builds, the loop would not terminate and display transfer count down values after hitting 'H' to hang-up.
-
- Aug 16, 2020
-
-
Rob Swindell authored
-
- Aug 31, 2019
-
-
rswindell authored
-
- Aug 02, 2019
-
-
rswindell authored
(defauls to enabled, for backward compatibility). Added new autohang args to bbs.send_file() and bbs.receive_file() (default:true) Added support for "description" argument to bbs.send_file() as well.
-
- Apr 10, 2019
-
-
rswindell authored
sendfile() no longer logs "attachment" when a file description is provided.
-
- Jan 28, 2019
-
-
rswindell authored
(excessively long fspec/%s value).
-
- Oct 30, 2018
-
-
rswindell authored
now have their output translated to PETSCII equivalents for PETSCII terminals (but input is not yet translated). .seq files are now sent untranslated via printfile() and putmsg() to PETSCII terminals (using the new P_PETSCII putmsg mode flag). .seq files (and P_PETSCII mode text printed via putmsg) is now converted (poorly) from PETSCII to CP437 - this is still a work-in-progress. Remove the remants of WIP and HTMLterm support from putmsg() and printfile().
-
- Aug 03, 2018
-
-
rswindell authored
sbbs::lputs() will log the current user alias already, logline()->lputs() would create log messages with the user alias twice.
-
- Jun 18, 2018
-
-
rswindell authored
"Conditional jump or move depends on uninitialised value(s)" Thanks, Nelgin.
-
- Feb 20, 2018
-
-
rswindell authored
-
- Jan 12, 2018
-
-
rswindell authored
check the protocol.log (e.g. DSZ.LOG) for successful transfer even when the protocol was so-configured in SCFG. Fixed. Additionally, while sendfile() would return a proper boolean result based on the errorlevel returned by the protocol driver process, the log and console output would report success and statistics adjusted as though the xfer was successful, regardless.
-
- Nov 26, 2017
-
-
rswindell authored
-
rswindell authored
- adjusts stats (not credits) for the current logon and user - logs the download - accepts an optional "description" argument
-
rswindell authored
char, don't try to match it with a transfer protocol. When a user doesn't have a default transfer protocol selected, their "prot" property may be a space.
-
- Apr 28, 2015
-
-
rswindell authored
was never used. This was intended to be a method for internationalization, letting the sysop change which key is used as the uiniversal "quit" key. This commit replaces most of the uses of the hard-coded 'Q' for quit wtih the 3rd charcter in the text.dat YNQP string. Some hard-coded menus still have the 'Q' key hard-coded and will need to be addressed later. The text.h YN index macro was changed to YNQP and the JS text index variable name will change as well.
-
- Oct 19, 2011
-
-
rswindell authored
all exported functions and data types using a 32-bit time_t (time32_t).
-
- Sep 21, 2011
-
-
rswindell authored
longer (use lprintf(LOG_ERR,...) instead, which does). Added sbbs_t::hacklog() for convenience.
-
- Jul 21, 2011
-
-
rswindell authored
That is, if any of the following text.dat entries are set to a blank/emtpy string (by editing ctrl/text.dat or via run-time script modification), the question will not be asked of the user allowing greater sysop-customization of hard-coded processes (e.g. new user application): ClearUploadQueueQ ClearDownloadQueueQ HangUpAfterXferQ ChatWithGuruInsteadQ ForwardMailQ DownloadBatchQ LogOffQ DeleteErrorLogQ ClearErrCounter DeleteGuruLogQ AutoTerminalQ AnsiTerminalQ ColorTerminalQ ExAsciiTerminalQ CallingFromNorthAmericaQ ReadYourMailNowQ NScanAllGrpsQ SScanAllGrpsQ NewPasswordQ ContinueQ EnterYourPhoneNumber UserInfoCorrectQ UseExternalEditorQ DownloadAttachedFileQ AddSubToNewScanQ (new) RemoveFromNewScanQ DisplaySubjectsOnlyQ Post SearchExtendedQ ViewSysInfoFileQ ViewLogonMsgQ WithLineNumbersQ
-
- Mar 12, 2010
-
-
deuce authored
-
- Mar 06, 2010
-
-
rswindell authored
inserting (long) typedefs to prevent warnings, but in the case of the JS File() class, actually supporting file lengths > 32-bit.
-
- Nov 09, 2009
-
-
rswindell authored
-
- Jun 11, 2009
-
-
rswindell authored
file) case-insensitively.
-
- Mar 20, 2009
-
-
rswindell authored
Added HOST and IP keywords to allow restricted access/privileges to/for specific remote hostnames or IP addresses (wildcards allowed). All string-argument type ARS keywords (e.g. SHELL, PROT, etc.) now support .can style wildcards. The current remote client is now used for protocol, host, and IP ARS checking, when available, so this requires passing the client pointer around (which explains why so many files are touched by this change) and takes care of a long standing to-do item (the user's 'modem' value was used for the PROT value checking, which was not always correct).
-
- Jun 04, 2008
-
-
deuce authored
by properly const-ifying the appropriate functions and variables. Not yet tested on Win32
-
- Jun 18, 2006
-
-
rswindell authored
pointing this out).
-
- Jun 06, 2006
-
-
rswindell authored
equivalent of Baja SEND_FILE_VIA and RECEIVE_FILE_VIA.
-
- Feb 28, 2006
-
-
rswindell authored
and receive_file() - so str_cmds.js may now support ;GET and ;PUT.
-