- Oct 21, 2022
-
-
Rob Swindell authored
I didn't look closely enough at which write() call I was instrumenting. This is now more useful, though I think we already found the root-cause based on different log output ("Unexpected ansi_getxy response").
-
Rob Swindell authored
This just resulted in a lot of unhelpful noise in the log output
-
Rob Swindell authored
When reading and writing characters to chat files, log each with a debug-level log message. If a read or a write fails, log with an error-level log message. This will hopefully help root-cause and resolve issue #304.
-
- Oct 20, 2022
-
-
Rob Swindell authored
... for proper error reporting, at least in the terminal server. Also define/use a macro for the user base filename (now user.tab, not user.dat).
-
- 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).
-
- 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 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 02, 2022
-
-
Rob Swindell authored
-
- Dec 01, 2021
-
-
Rob Swindell authored
Is this the point when the lost chars problem happens?
-
- May 14, 2021
-
-
Rob Swindell authored
I haven't played with this chat pager in *years*! The lowest tones were inaudible (raise the range from 0-800Hz to 400-1200Hz). Increase the msgabort() tone from 1 to 10ms, sounds like those computerized voice recognition phone systems now. Remove the redundant "<user> paged you to chat" notifications (and log message) when turning *off* the chat pager.
-
- Feb 22, 2021
-
-
Rob Swindell authored
Check return value from read().
-
- Feb 15, 2021
-
-
Rob Swindell authored
Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
-
Rob Swindell authored
Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
-
- Jan 05, 2021
-
-
Rob Swindell authored
At the request of WitNik (BGGRSCYN)
-
- Nov 25, 2020
-
-
Rob Swindell authored
... when running DOS programs on Linux with a DOSEMU-enabled build.
-
- Nov 06, 2020
-
-
Rob Swindell authored
I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values. This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service). The new macros names are bit more descriptive as well.
-
- Oct 04, 2020
-
-
Rob Swindell authored
e.g. MM/DD/YY for drop files that assume that format, or either MM/DD/YY or DD/MM/YY (depending on sysop preference) for backwards compatibility in expanded @-codes, Guru chat keyword. Fixed the birthdate check while logging on to work with new/all birthdate formats.
-
- Sep 19, 2020
-
-
Rob Swindell authored
-
- Sep 18, 2020
-
-
Rob Swindell authored
This bug would cause the split-screen separator to repeat when the local side scrolled (if the terminal was 24 rows, bug didn't happen when local screen was 25 rows). This bug appears to have "always" been there. The split-screen separator is 80 columns, so that forced a line wrap on the subsequent CRLF and the local_y value was "off-by-one". Just use ansi_gotoxy() instead and put the cursor where you think it is. Also, support > 24 row terminals for longer chat history (bottom half only).
-
Rob Swindell authored
When a sysop wants to chat, he wants to chat right now, damnit!
-
Rob Swindell authored
-
Rob Swindell authored
-
- Aug 16, 2020
-
-
Rob Swindell authored
-
- Aug 15, 2020
-
-
rswindell authored
Try that, Nelgin.
-
- May 14, 2020
-
-
rswindell authored
SCFG for Win32 is linked against a load_cfg lib that builds withOUT SCFG defined, so these compiled AR elements were allocated and then many SCFG operations (e.g. copy/paste, create new) would copy the allocated ARs to another configuration and then be subjected to double-free upon exit/clean-up (resulting in exception or crash). Just get rid of this cruft and some other related RAM-byte-saving hold-overs from the MS-DOS days.
-
- Apr 21, 2020
-
-
rswindell authored
- nodelist (default: "nodelist") - who's online (default: "nodelist -active") - private message (default: "privatemsg") This allows the nodelist and private message modules to be "installed" without over-riding global hot key events (SCFG->External Programs->Global Hot Key Events), allows the Baja functions NODELIST_ALL, NODELIST_USERS, and PRIVATE_MESSAGE and JS bbs.list_nodes(), bbs.whos_online(), and bbs.private_message() methods to use external modules (JS or Baja) automatically. The old C++ logic remains for these features if the module's are cleared (set to a blank string) in SCFG, but at some point, that code will likely be removed.
-
- Aug 20, 2019
-
-
rswindell authored
when "extra raw" output is needed. Use putcom() and comprintf() instead of rputs() and rprintf() for ANSI escape sequences. This doesn't actually fix any problem, but since rputs() is "less raw" than it used to be, let's use direct-output routines instead, for ANSI output.
-
- Oct 26, 2018
-
-
rswindell authored
menu() if it does (exist) and doing something else if it doesn't.
-
- Oct 22, 2018
-
-
rswindell authored
and then hit 'Q', it would kick you out of multi-node chat (because the abort flag was set).
-
- 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 21, 2018
-
-
rswindell authored
flags set manually in SCFG.
-
- Mar 17, 2018
-
-
rswindell authored
-
- Feb 25, 2018
-
-
rswindell authored
so they can be more easily used by external utils (e.g. umonitor).
-
- Feb 20, 2018
-
-
rswindell authored
buffer overrun concerns.
-
- Jan 07, 2018
-
-
rswindell authored
- if the sysop had text/menu/<filename>.bak (for example), the optoinal menu would attempt to load, resulting in an error ("<filename>.asc not found") - if the sysop specified menu_file or menu_dir (e.g. via Baja), the existing checks for optional menu file existance would not work
-
- Dec 06, 2017
-
-
rswindell authored
chat, rather than the old startup options flag ([BBS]->SYSOP_AVAILABLE). This will be much easier for other processes/programs to query and control.
-
- Nov 24, 2017
-
-
rswindell authored
-
- Nov 16, 2017
-
-
rswindell authored
paged by a user on the terminal server.
-
- Oct 12, 2017
-
-
rswindell authored
-
- Oct 06, 2016
-
-
rswindell authored
-