- Apr 28, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
- Apr 26, 2022
-
-
Randy Sommerfeld authored
-
Rob Swindell authored
-
- Apr 25, 2022
-
-
Rob Swindell authored
Fixed typo in another comment
-
Rob Swindell authored
If a non-'T' exempt user had already used more time today than their security level allows, their timeleft would be computed as a negative value due to integer underflow. Since the return value of this function is assigned to a ulong (timeleft), this becomes a large positive number. Cap the floor of the computed time left at 0. Also fix the potential for underflow that could occur if the system clock changes while a user is online and 'now' becomes greater than 'starttime'.
-
Rob Swindell authored
This additional library was already included in the single-threaded version, so this was just a miss.
-
Rob Swindell authored
Previously, if a sysop had set SCFG->System->Toggles->European Date Format (DD/MM/YY) to "Yes", then many of the dates in drop files would have been written in this format. Unfortunately, since most BBS doors and door development kits were written by Americans, MM/DD/YY format is always assumed. So fixed that (using new TM_MONTH macro too). Also, line 37 ("Event Time") of DOOR.SYS was always 00:00, now it'll be the next event time (in HH:MM format). Unfortunately, that time might be tomorrow or days away and there's no way to represent *that* fact in the DOOR.SYS file format. <shrug>
-
Rob Swindell authored
Previously, we just always made this a blank line.
-
Rob Swindell authored
Apparently this line was added at some point, not sure if it's actually used in any doors, but here it is anyway.
-
- Apr 22, 2022
-
-
Rob Swindell authored
This is a weird one: sbbsecho ran right as I was saving msgs.cnf via SCFG and it seems like it loaded 0-byte msgs.cnf into memory and this segfault was a result of trying to print sub[INVALID_SUB]->code. The use of [f]nopen() with proper share perms should have prevented this (truncated msgs.cnf read) from happening, so there's something else afoot here.
-
Rob Swindell authored
This restores the ability for JS MsgBase() to be used to create the initial mail message base properly, if needed. This means that the 'subnum' should now be equal to scfg.total_subs when referencing an arbitrary SMB via path (not in the configuration).
-
Rob Swindell authored
Before commit 5da26eca, you could pass Msgbase() the path to an SMB on the disk and open() it, no configuration needed. As of 2 years ago, I broke that, and passing a path to an SMB would open the "mail" base instead - most unexpected. This is a feature of smb_open_sub() which we switched to using (from smb_open()), so go back to using smb_open() when an unrecognized code is pass to the constructor. This has the negative consequence that the "mail" base can't be created via JS. Probably should fix that.
-
Rob Swindell authored
The DoorFrame door library will about with "Overflow Error" if it reads a door.sys file with lines 16 (calls), 42 (minute credits), or 52 (posted messages) with a value > 32767, the maximum positive value of a signed 16-bit integer. So cap these values in the door.sys file at that maximum. This does potentially break/limit doors that give minutes using the door.sys drop file, so use that "modify user data" option in SCFG with care. Electrosys initially reported this problem with the Lemonade! door game which was barfing on a line 42 value of 449632.
-
- Apr 19, 2022
- Apr 18, 2022
-
-
Rob Swindell authored
This is what was causing the 'is_utf8' message header property to be created as a Number instead of a Boolean.
-
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
-
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.
-
Rob Swindell authored
On *nix, log() output can go to syslog() and on Windows, it can go to the event log. This addresses issue #360.
-
- Apr 15, 2022
-
-
Rob Swindell authored
Fixes issue #395
-
Rob Swindell authored
CID 351997 and 351998
-
Rob Swindell authored
ftello() returns 0 after fnopen(..., O_APPEND). Use filelength() instead.
-
- Apr 14, 2022
-
-
Rob Swindell authored
-
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).
-
Rob Swindell authored
DDFileLister: Dates shown in file desriptions when extended descriptions are enabled. See merge request !169
-
Eric Oulashin authored
When extended file descriptions are enabled, the file date is now shown with the file description on the last line.
-
- Apr 13, 2022
-
-
Rob Swindell authored
e.g. "Grunged message (type 2) from 4:80/1 at offset 58 in packet: (null)" off_t is 64-bit, but long in 32-bit (on Win32), so needs a typecast here in lprintf() call (otherwise, the upper 4 bytes of the offset are interpreted as the string address for the corresponding '%s' argument, the filename).
-
- Apr 12, 2022
-
-
Rob Swindell authored
-
Stephen Hurd authored
-
- Apr 11, 2022
-
-
Rob Swindell authored
JS doors with the "Use Shell or New Context" option enabled in SCFG and JS modules installed a global hot key handlers would not automatically terminate when the user disconnected (and js.auto_terminate was true, the default). I'm not sure why the operation callback was only installed when scope==NULL but always installing it fixes the issue with some global hot key modules and JS doors becoming "zombies" when a user disconnects while running them.
-
- Apr 09, 2022
-
-
Rob Swindell authored
A user disconnecting while running tw2 would just result in an infinite loop checking node status and waiting for the user's allowed time to run out (which may never happen) or for the server to be locally terminated. This has been happening for years on Vertrauen. Finally now I see why.
-
Rob Swindell authored
Fixes issue #390
-
Rob Swindell authored
Especially for Guest (G-Exempt) accounts which support multiple concurrent logons - the 'curxtrn' value stored in the user's record may not match the external program that was actually last executed on the node in question, so use the .aux property value (from node.dab) as is done in the C++ code (e.g. printnodedat()). This insures that the node_status() output here matches the C/C++ code output (e.g. when logging on the terminal server). Still support the 'code-based' external program name look-up since that usage is relied upon by other modules, but when a number is passed, use the number to find the right external progarm name (and we need to subtract one, since aux is a 1-based number). I've looked at this problem a couple of times before and not sure why I didn't see the solution. <shrug>
-
Deucе authored
-
Rob Swindell authored
Issue #389 reported by Keyop: srvc 0324 IMAPS <Keyop> !JavaScript /sbbs/exec/imapservice.js line 653: TypeError: args[1].toUpperCase is not a function I'm not sure how you reproduce this error or what type args[1] is (apparently, not a string), but this fix it regardless. Please let me know.
-
Rob Swindell authored
Broken in commit 2e944449. F*ck the English language.
-
Deucе authored
-
- Apr 05, 2022
-
-
Rob Swindell authored
-