- Dec 02, 2024
-
-
Rob Swindell authored
This is to be used (e.g. instead of NODE_BXFR) for sysop-custom node actions.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
so that if multiple entities call these functions at the same time, they don't retry at exactly the same times.
-
Rob Swindell authored
-
Rob Swindell authored
Add/use SOCKET_STRERROR which gets the description of the *last* socket error. We should start using socket_errno(true) in place of ERROR_VALUE (horribly named macro) for comparing last socket error nubers against values/macros from errno.h. Eliminate get_socket_errno(), unused and redundant with socket_errno().
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Addresses Clang warnings about deprecation
-
- Dec 01, 2024
-
-
Rob Swindell authored
These functions now return a common set of non-zero error values (where appropriate), defined in userdat.h Don't return errno.
-
Rob Swindell authored
getnodedat() now performs a non-locked read by default. Perform more checks of getnodedat() return value before calling putnodedat() to avoid unintentionally zeroing out node.dab records. Add/use unlocknodedat() method for unlocking a node.dab record without writing. Note: The userdat.c getnodedat() and putnodedat() still return int (i.e. 0 on success), so that can be confusing.
-
Rob Swindell authored
-
Rob Swindell authored
It's possible now for clients to easily exceed the configured max concurrent connections limit, even though they just get an error 429 page. Let's at least track and log when a new highwater mark is reached.
-
Rob Swindell authored
-
Rob Swindell authored
Can't backup (make copies of) an open file.
-
Deucе authored
-
Deucе authored
We can't send a 4xx error (ie: client did something wrong) in plaintext on a TLS connection. Untested beyond a basic compile check.
-
Rob Swindell authored
Clean-up the web server config menu quite a bit by condensing options.
-
Rob Swindell authored
You can also disable filebase access by setting the vpath prefix to blank.
-
- Nov 30, 2024
-
-
Rob Swindell authored
We have this feature for the FTP, Mail, and Terminal servers (with no default limit) but crazy abuse of my Synchronet web servers has now made this a necessity for Vertrauen. A limit of 2 used to be considered reasonable long ago. Today, 10 seems fair enough. Setting to 0 will impose no max-connections per IP address (other than the total client limit per server).
-
Rob Swindell authored
Apparently JSVAL_IS_STRING() can return true even when argv[1] is out of range (I guess I assumed it'd alwasy be NULL or VOID/undefined) and this can lead to crash when calling JS_ValueToString() on it.
-
- Nov 26, 2024
-
-
Rob Swindell authored
to notify sysop (user #1) that they were paged. Previously, this was a hard-coded string. The new string in text.dat is the same, but adds 2 BELs (CTRL-G chars) and is now customizable. Created an sbbs_t::notify() method to make this easier to use and that method supports @-code expansion, so this text.dat string supports @-codes (which I used). This addresses the feature request in issue #828 (beep the sysop in the telegram/short message, when they're paged).
-
- Nov 24, 2024
-
-
Deucе authored
1) Initialize saverobot.name since this is checked unconditionally. This has a side effect of initializing everything else, but name is the only thing that actually matters. 2) Add a bar to the global settings menu. Previously, if you scrolled near the bottom and selected an option, after changing the option, you would jump up to the last item on the initial screen. 3) Fix the AreaMgr Support default value to be the current, not the opposite of current. 4) Use the correct variable for EchoMail Relay Filtered Messages setting default.
-
Deucе authored
We're carefully counting the errors, but never looking at the count.
-
Rob Swindell authored
Upon any node.dab lock or read failure, this code would cause errormsg() which would often/usually end up claling getnodedat() which would block forever trying to acquire the ndoefile_mutex (introduced in commit b9633069, I'm not clear why). Unlock/release the mutex *before* calling errormsg().
-
- Nov 23, 2024
-
-
Rob Swindell authored
Don't deref that null pointer
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
I dislike this particular code a little less now: - no more redundant string compares - less deeply nested if() and for() blocks - remove added areas from the add list, rather than zeroing out the tag - a little more common code between areas.bbs and areas.ini handling No functional change (I hope).
-
- Nov 21, 2024
-
-
Rob Swindell authored
"AreaFix" is a proper product name. Though it's been defunct and unsupported for decades, we still should not confuse sysops and historians: the general term for what AreaFix did/does is Area Management, aka Conference Management. The sbbsecho.ini key names are unchanged and the destination netmail address for AreaManager requests can still be "AreaFix" (though "SBBSecho" is still supported as well).
-
Rob Swindell authored
and vice versa - so area manager requests were broken since I introduced the areas.ini support. Oops.
-
Rob Swindell authored
I noticed through code review that these kinds of messages would be rejected as "No commands to process.". We just needed to increment the 'cmd' counter when parsing these options to be sure we don't think that no commands were in fact request. -R (rescan) is not by itself a command since it requires listed area-tags to have any effect.
-
Rob Swindell authored
... like how we do for areas.bbs files.
-
- Nov 20, 2024
-
-
Rob Swindell authored
I'm not clear if/why these would cause the issue reporetd by Fernando but they're definitely bugs in the areas.ini areafix code. No impact to the areas.bbs areafix handling.
-
Rob Swindell authored
... in area manager code modified in previous commit.
-
Rob Swindell authored
It's possible the client requested binary transmit in only one of the two directions and if so, restore just the direction that was previously *not* in binary transmit mode to NVT mode.
-
Rob Swindell authored
This allows us to save unitialized telnet_*_option values (i.e. 0x00) and pass those values back to request_telnet_opt() with no side effect.
-
- Nov 19, 2024
-
-
Rob Swindell authored
Before this change, we'd always request a return to Telnet NVT (turn off binary-TX in both directions) after any file transfer. So although a Telnet session might be negotiated into binary mode shortly after connection (e.g., using "telnet -8"), it would be reverted back to NVT mode after any file transfer. The request to turn off remote binary-TX after executing external programs didn't actually accomplish anything since we track the Telnet option states internally and don't send redundant requests (e.g. the change into a mode we're already in). External programs aren't expected to send Telnet requests anyway, so I think this was some holdover from early days of stp/sexyz development.
-
Rob Swindell authored
Where's the compiler warnings guys?
-
Rob Swindell authored
As suggested/requested by Fernando Toledo in issue #826, you can: 1. run 'jsexec make_areas_ini.js' to export your areas.bbs file to areas.ini (your old areas.bbs is left in place, in tact, unmodified) 2. change your Area File in echocfg->Paths and Filenames->Area File to somepath/somefile.ini (e.g. "../data/areas.ini") and SBBSecho will use the .ini file format instead of the old AREAS.BBS format (NIH) You can always go back to your areas.bbs file by just reverting the Area File setting back to some other non-ini filename (e.g. "../data/areas.bbs"). Incremented version number to v3.23 Of course documentation and echocfg changes will need to follow, but this is enough to start testing (looking at your Fernando! :-). I tried to minimize the diff as much as possible and resisted updating (modernizing, fixing) the very old AREAS.BBS parsing and areafix code. The new .ini code is largely modeled after the old areas.bbs code, but oh, xpdev/ini_file makes things so much nicer and easier. There are no known fixes for any pre-existing area file/fix issues (including issue #826), but it's always possible I've introduced a new issue.
-