- 04 Apr, 2021 2 commits
-
-
Rob Swindell authored
CID 33232
-
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...
-
- 02 Apr, 2021 1 commit
-
-
Deucе authored
This appears to work and the event handler *should* work on other event types already. Note, this is *nix-only due to the use of poll(). select() will need to be used for Windows to keep XP compatability.
-
- 31 Mar, 2021 2 commits
-
-
Deucе authored
Looks like I was partially restoring old code before I stopped.
-
Deucе authored
Rather than depending on _WIN32 which is silly, make it clear what exactly is being done and why. Note that the spy socket stuff and some external stuff on *nix have had the select() implementation removed. To support using select() on !Win32 will require de-refactoring that's not really worth doing. Instead, just use #error and reference the commit where the old code can be found.
-
- 30 Mar, 2021 1 commit
-
-
Deucе authored
Still needs updates in services_thread(), CGI stuff in websrvr.c, and sbbs_t::external()
-
- 17 Mar, 2021 1 commit
-
-
Deucе authored
It fixed an issue in js_socket.c, no reason to expect better behaviour with TLS. This may fix SZ YModem-G transfers on cvs.synchro.net...
-
- 16 Mar, 2021 1 commit
-
-
Deucе authored
-
- 15 Mar, 2021 3 commits
-
-
Deucе authored
Something weird is happening to the cryptlib session when SZ sends a lot of data... no real clues left.
-
Deucе authored
This issue may actually be a rekey issue, to clear this, we need to call cryptPopData(), but we can pop zero bytes. In this case, re-try the flush.
-
Deucе authored
During YModem-G transfers, the previous 5-second timeout was exceeded.
-
- 06 Mar, 2021 2 commits
-
-
Rob Swindell authored
JavaScriptOptions bit-field can be set in sbbs.ini and jsexec.ini to over-ride the default JS compiler options which have been changed from 0 to (options previously only used by JSDoor): JIT | METHODJIT | COMPILE_N_GO | PROFILING * JIT - TraceMonkey * METHODJIT - JägerMonkey * COMPILE_N_GO - compile-time scope chain resolution of consts * PROFILING - Choose between TraceMonkey and JägerMonkey at compile-time based on profiling results Other options available but not enabled by default: * STRICT - warn on debious practice (i.e. similar to "use strict") * WERROR - convert warnings to errors * VAROBJFIX - use last object on scope chain as the ECMA 'variables object' * RELIMIT - Throw exception on any regular expression which backtracks more than n^3 times, where n is length of the input string * ANONFUNFIX - Disallow function () {} in statement context per ECMA-262 Edition 3. * METHODJIT_ALWAYS - Always whole-method JIT, don't tune at run-time. Also: - Fixed JS warning string formatting (missing space separator). - Removed an extraneous new-line in lprintf() call in mailsrvr. - Added basic assertEq() global method to jsexec, required when running SpiderMonkey test scripts.
-
Rob Swindell authored
I noticed "DAILY ... Semaphore signaled" in the event thread log output. Now fixed.
-
- 22 Feb, 2021 3 commits
-
-
Rob Swindell authored
This function is the fastest file-copy method (or should be), but does not have any progress indication.
-
Rob Swindell authored
-
Rob Swindell authored
-
- 18 Feb, 2021 4 commits
-
-
Deucе authored
protected_*_adjust() only adjusts now.
-
Rob Swindell authored
Deal with the resulting warnings (using (void)). Deal with the incorrect integer to protected_int* assignment in services.c (just don't support server.clients property reading in service scripts). Also, the strcpy()->SAFECOPY() change in ftpsrvr.c was wrong, caught by GCC warning - oops.
-
Deucе authored
-
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
-