- Dec 06, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Convert more log messages to use de-duplication as solution to issue #619. A lot more lprintf() -> errprintf() conversions will be needed to fully realize this solution (e.g. in the mail, ftp, web, services serverss).
-
Rob Swindell authored
In printfile() and printtail() which are used by menu() and many other functions. These should be helpful to sysops that just want to know what file is being displayed under what conditions (e.g. for trouble-shooting or customization reasons).
-
Rob Swindell authored
Other kinds of aliases are supported in web_alias.ini (e.g. libraries, files) but not displaying those here (yet).
-
Rob Swindell authored
-
Rob Swindell authored
... instead of just the file name, as was expected.
-
- Dec 05, 2024
-
-
Rob Swindell authored
This is why files downloaded via ecWebv4 haven't been properly accounted.
-
Rob Swindell authored
Under heavy loads, I've found periodic non-blocking lock attempts just aren't reliable enough: in particular, on Vertrauen, the guest user account record in the user.tab file gets read and written-to A LOT (updating stats), and under heavy loads (especially with hundreds of web client sessions), I'd get timeouts attempting to lock the guest record in the user.tab (after about a minute of periodic retries) - so let's just block "forever" to get the user record lock (or until signaled or notified of a deadlock). With this change, I've not had any user.tab lock errors or apparent deadlocks. Let the underlying OS/filesystem handle queuing and deadlock detection, when supported. lock() still behaves as before: non-blocking lock attempt.
-
Rob Swindell authored
DDMsgReader: Bug fix - For indexed newscan without snap-to-new, ensure it remembers the user's previously selected sub-board (reported by Keyop) See merge request !480
-
DDMsgReader: Bug fix - For indexed newscan without snap-to-new, ensure it remembers the user's previously selected sub-board (reported by Keyop)
-
Deucе authored
-
Rob Swindell authored
- If sysop specifies an invalid lib name, show them what the valid names are - Make it clear that the directory specified (dir-spec) is either a combination of -lib and -dir *or* -all *or* dir-code *or* nothing (a get prompted) - When using -all, clear the list of specified directories to prevent dupe dir scanning when misused.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
As requested by Nelgin. And this option is mutually exclusive with the [dir-code] parameter.
-
Rob Swindell authored
... from ERROR to WARNING, so the repeats won't be logged to error.log file and won't (normally) be sent as notifications (e.g. emails) to the sysop. The duplicates are identified as from the same source file and line number as the immediately previous logged error within the last 12 hours. String comparison doesn't really work for deduplication since if you look closely, the errors usually are *not* exact duplicates (i.e. there's a node number or a socket descriptor or something that uniquely identifies the user/client/session). Repeated errors don't increment the node's error counter either. This does not de-duplicate errors logged via other means (e.g. direct calls to log()/lputs(),lprintf() with a severity of LOG_ERR or higher), but will solve the majority of duplicate errors that can be logged from the terminal server. So this at least partially addresses issue #619.
-
Rob Swindell authored
-
- Dec 04, 2024
-
-
Deucе authored
Next step is to implement a KEX.
-
Deucе authored
With this, SyncTERM and SexPOTS on *nix won't actually need to strip received bytes themselves. No idea what Windows does though, so it'll likely still be needed forever.
-
Rob Swindell authored
DDMsgReader: New user option & behavior: In a message list, when selecting/toggling a message, it can now optionally move the cursor to the next message See merge request !479
-
Eric Oulashin authored
DDMsgReader: New user option & behavior: In a message list, when selecting/toggling a message, it can now optionally move the cursor to the next message
-
Rob Swindell authored
This happened to work before commit d49134e6 since iniReadFile() didn't return false upon any read error, so File.iniSetAllObjects() didn't realize that the read of (any) existing file contents had failed (because the file was open write-only). This explains why the *.avatars.ini files were pretty much blank as of late and no networked message posters were having their avatars displayed. Reported by Codefenix (thank you). Add a print/log line to tell us how many avatars were parsed, just for extra traceability of this script and any potential failure cause.
-
Deucе authored
-
- Dec 03, 2024
-
-
Deucе authored
The plan is to hide non-standard stuff in here. Currently, just has [[maybe-unused]] from C23.
-
Deucе authored
-
Deucе authored
The intent is that this will be a library implementation of SSH which allows simple extension of the base protocol, and exposes all defined features of the protocol (including ones nobody uses). This will support both client and server, with initial focus on the client implementation for use in SyncTERM. The goal of the core library is to only support the most secure standard methods. When there are multiple methods that are not clearly of differing levels of security, the most common two will be implemented (ie: RSA and Ed25519). Additionally, care will be taken during development to allow for the OpenSSH Encrypt-then-MAC MAC modes in the expectation that someone will standardize an ETM mode at some point, and I expect to write an extension to support it soon after DeuceSSH is complete. Finally, if I cannot mitigate Terrapin without non-standard extensions, the OpenSSH "strict KEX" extension will be supported until there's a standard defined that solves the issue.
-
Rob Swindell authored
Even though we use O_EXCL, networked file systems still sometimes allow the secondary open() to succeed. We use record locking in xpdev's sopen() implementation for *nix, so this lock will insure such opens (and locks) will now fail. This is an attempt to address occassional error on Vertrauen: ERROR 2 (No such file or directory) renaming *.rep to *.bad
-
Rob Swindell authored
-
Rob Swindell authored
Return correct error value upon seek failure.
-
Rob Swindell authored
When OFD locks are available, that's what we should be using. Otherwise, we suffer the horrible behavior of POSIX file/region locks and a subsequent open/close of the file releases any/all locks on it. This is currently in an !BSD block, which appears to include macOS, but macOS *does* support OFD locks, so I'll be fixing that here shortly.
-
- Dec 02, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
"performing custom action" Normally, the sysop would set the NodeActionCustom text.dat string to override this.
-
Rob Swindell authored
-
Rob Swindell authored
This is to be used (e.g. instead of NODE_BXFR) for sysop-custom node actions.
-