- 18 Feb, 2021 1 commit
-
-
Deucе authored
Also, fix things that incorrectly reach into the protected_*_t to incorrectly access values.
-
- 16 Feb, 2021 2 commits
-
-
Rob Swindell authored
-
Rob Swindell authored
-
- 15 Feb, 2021 4 commits
-
-
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.
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
- 14 Feb, 2021 1 commit
-
-
Rob Swindell authored
Don't return an error if the node#/node.cnf file can't be opened for all uses of load_cfg() except from the terminal server. This fixes #214 for Tracker1
-
- 18 Jan, 2021 1 commit
-
-
Rob Swindell authored
We were just trusting that the error strings would be shorter than 256 (usually), but since we're including paths and strerror() results, we really have no control over the length of the error strings. So enforce some healthy boundaries. This could explain the crashes that Divarin of Mutiny is seeing with SCFG on WinXP or maybe it was the truncsp(strerror()) stuff that was just removed as well. We'll see...
-
- 20 Dec, 2020 1 commit
-
-
Rob Swindell authored
Defaults to K_EDIT.
-
- 13 Dec, 2020 4 commits
-
-
Rob Swindell authored
Might as well, could be useful to display in something like umonitor in the future.
-
Rob Swindell authored
-
Rob Swindell authored
Paves the way for utilities like umonitor to show client details for node connections (e.g. IP address, hostname, connection duration, etc.)
-
Rob Swindell authored
Recompiling ver.cpp only now, so need link ver.obj/o with the various targets now. I'll need to update the objects.mk for the *nix builds, next.
-
- 07 Dec, 2020 1 commit
-
-
Rob Swindell authored
There is no actual TCP-client when a timed event is executing, so don't create one in the JS context when the socket is invalid.
-
- 29 Nov, 2020 4 commits
-
-
Rob Swindell authored
-
Rob Swindell authored
If a node's configuration can't be loaded (e.g. nodeX/node.cnf is missing), fall-back and load the "first node" (e.g. Node1) configuration. On recent *nix installs (since the migration to Git), the node2+/node.cnf files were not copied/created, so let's solve that soon-to-be-FAQ now.
-
Rob Swindell authored
Fixes issue introduced in last commit to this file (the each-node-has-its-own-config-in-memory enhancement) that would prevent users from logging in because their time was reduced for an upcoming event that had already run. The change assumes the event thread is running (its the thing that reads the event last-run info from time.dab). Thanks to mlong for the report.
-
Rob Swindell authored
Previously, all nodes shared the same copy of the configuration in memory. This prevented any node from seeing an updated configuration until all nodes were offline or waiting for connection and could be recycled. Now, no recycling of the server is needed for a node to load a new config. A node in-use *still* cannot reload configuration until the user disconnects, but all you have to do is logon to another unused node and you (or that user) will get an updated configuration. Bots or server recycling problems will no longer prevent the sysop or user from getting a current configuration when connecting to any node. This is one of those instances of giving the sysop what he wants rather than what he asked for. I should've done this a long time ago, but the idea just occurred to me. You're welcome. :-)
-
- 24 Nov, 2020 1 commit
-
-
Rob Swindell authored
The argument to JS_NewContext that we were allowing to be configured was not the contest stack size, but rather: "The size, in bytes, of each "stack chunk". This is a memory management tuning parameter which most users should not adjust. 8192 is a good default value." - per Mozilla. So we're just going to use the suggested default, hard-coded.
-
- 20 Nov, 2020 1 commit
-
-
Deon George authored
-
- 19 Nov, 2020 1 commit
-
-
Deucе authored
-
- 18 Nov, 2020 5 commits
-
-
Stephen Hurd authored
Previously, properties were only supported via the TinyID mechanism in the JS API. This limited the properties to have a unique signed 8-bit integer ID, which prevented more than 256 properties from existing in a built-in object. The id value can be a name however, a TinyID is not required. For property descriptions with an ID outside the range of 8 bits, define them using just the name. When this is done, the getter and setter functions will need to convert the names to an ID themself. This isn't ideal... ideally, each would have a unique getter and setter, but doing it this way puts of requiring an internal JS API refactor and allows the CryptCert class to have all the defined properties. As implied... CryptCert now supports all properties, and JS Docs will be created for them. This section is yuge!
-
Deon George authored
-
Deon George authored
-
Deon George authored
-
Deon George authored
-
- 17 Nov, 2020 1 commit
-
-
Deon George authored
-
- 13 Nov, 2020 1 commit
-
-
Rob Swindell authored
When a preexisting node.log file is found, a terminal server crash is suspected. Include the timestamp of the node.log in the message appended to the system log (data/logs/*.log) to help identify the likely time of the crash.
-
- 09 Nov, 2020 1 commit
-
-
Deon George authored
-
- 06 Nov, 2020 1 commit
-
-
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.
-
- 05 Nov, 2020 1 commit
-
-
Rob Swindell authored
'%lu' expects argument of type 'long unsigned int', but argument 5 has type 'off_t
-
- 02 Nov, 2020 1 commit
-
-
Deon George authored
Use \n\r instead of \x0a\x0d. Change to memcpy instead of strcmp for v2 protocol validation Change read_socket error logging to WARNING, since the resulting error is diagnosed after the call.
-
- 25 Oct, 2020 1 commit
-
-
Deon George authored
Updates for sbbs/sbbs!11
-
- 23 Oct, 2020 1 commit
-
-
Rob Swindell authored
When enforcing the MaxConcurrentConnections limit, don't count connections for user's with blank passwords (i.e. Guest) as authenticated.
-
- 20 Oct, 2020 1 commit
-
-
Deon George authored
Debug logging should really be LOG_DEBUG and errors should really be LOG_ERR. Updates for sbbs/sbbs!11
-
- 19 Oct, 2020 1 commit
-
-
Deon George authored
Errors are now reported as LOG_ERR - and debugging comments changed and some moved to _DEBUG Use of safe_snprintf() instead of sprintf() directly. All changes based on feedback on sbbs/sbbs!11
-
- 18 Oct, 2020 1 commit
-
-
Deon George authored
-
- 09 Oct, 2020 1 commit
-
-
Rob Swindell authored
No functional change with regard to the ANSI output state, just making the code easier to read. Removed the conversion of `[ and \xFA[ to \x1b[ in putmsg(). This unexplained output translation has been supported since at least v2.xx and I have no recollection of exactly why it was added. If I recall correctly, some BBS software at some point in time sent ANSI-encoded messages into message networks by translating the ESC (\x1b) character in the ANSI sequences to either ` or \xFA in the process. This "feature" seems like it would still work, but it's completely undocumented and I have no idea why it was added (and seriously doubt anyone relies on this behavior), so I'm removing it. If anyone misses this feature, I'll happily add it back, but I'm skeptical that'll happen.
-
- 20 Sep, 2020 1 commit
-
-
Rob Swindell authored
-