- Jan 16, 2024
-
-
Rob Swindell authored
Reported by Max (WESTLINE)... Introduced in commit 75c5c9e5, since we are now calling the set_state() callback periodically, and in sbbsctrl, it sets/resets the pause button checked (depressed) state in response to this callback (should it?), this was resetting the pause button checked/depressed state peridically (at the configured sem file check interval, default 2 seconds). The fix: if the new server state is the same as the previously set server state, don't call the set_state() callback. I considered this as a potential optimization when I first wrote that commit, but didn't see any obvious downside to calling the set_state() callback redundantly. Now that I see a downside, let's implement this saving/checking of the state to avoid redundant "set" calls.
-
Rob Swindell authored
... with a socket descriptor value of -1.
-
Rob Swindell authored
The 5th character must be a digit. Prevent future stupidity such as happened with recently added and then fixed NODE_USER @-code.
-
- Jan 15, 2024
-
-
Rob Swindell authored
Since "NODE*" is a match for a node number status (ugh), and this comparison happened before the comparison for "NODE_USER", we'd never hit that condition. Thought I tested this before original commit, but I guess I did not. Oops.
-
Rob Swindell authored
This recent enhancement (Commit 61a3ab2d) introduced security and usability concerns. So I created (and am now using where requested) a wrapper for formatting text.dat/ini strings which will automaticlaly detect @-code encoded strings and expand/use them *only* (instead of printf %-specifiers). This might impact issue #696 since although unintentionally, it actually was possible to mix @-codes and %-specifier usage in certain (node status) text.dat/ini strings, but that should not be possible now. It's either/or: @-codes or %-specifiers, not both.
-
- Jan 13, 2024
-
-
Rob Swindell authored
Needed for exactly reproducing built-in node status string formatting using @-codes (only).
-
Rob Swindell authored
Note: format specifiers (e.g. %s) cannot be combined with @-codes (use one or the other, not both). Fixes issue #696 If you need additional text strings to support @-codes, you'll have to specify them explicitly in feature request issues.
-
Rob Swindell authored
We have checks/loops/timeouts waiting for active clients to disconnect and child thread threads to terminate whenever shutting down or recycling already, so this should be safe. This pretty simple change fixes issue #236 (can't terminate server under heavy load). Also as part of this commit, introduced the ability to "pause" a server (prevent it from accepting new connections) with the ctrl/pause semaphore file or via the MQTT server/pause (and resume) topics. This feature is useful when debugging server issues where you don't necessarily want to fully shutdown/terminate the server, but don't want any new connections to be accepted (the listen backlog will fill up with incoming connections though). Unlike a server shutdown, a server pause can be "undone" via MQTT (by publishing a message to the "resume" topic). The "pause" semaphore file is just an "existence" semaphore file - its date/time stamp doesn't matter. If the file exists, the server will enter a paused state (and periodically log messages to that fact) until the semfile is deleted. This server pause feature is not the same as the pause button function in sbbsctrl, which just pauses server log output.
-
- Jan 11, 2024
-
-
Rob Swindell authored
that doesn't log an error
-
- Jan 10, 2024
-
-
Rob Swindell authored
Support was accidentally removed as part of commit 22e8d2e3, meaning the ftpalias.cfg wasn't used at all in responses to the MLSx commands as reported by Max (WESTLINE) using Total Commander, FileZilla and Directory opus. The traditional "LIST" commands still worked fine with ftpalias.cfg contents just fine. The reason this code was accidentally removed was due to the errant copy/pasted comparison with startup->html_index_file that did not belong here and made the block appear related to HTML index file generation. It was not. This was just a bug in the initial implementation of MLSx support in commit d4deb4b3. Also included in this commit: - Return the date/size of the user's QWK packet file, if it exists, in MLSx response. - send_mlsx_entry() won't report negative time_t values as file modify dates (flength returns -1 upon failure/file-not-found). - get_owner_name() returns the string, making it easier to use in function calls. There appears to still be some work to do to make the MLSx commands fully compliant with RFC 3659 (e.g. "mlst filename" from ftpalias.cfg should work but does not), but at least FileZilla displays ftpalias.cfg files and directories correctly now.
-
- Jan 09, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
Reusing the variable 'str' here for multiple purposes meant the QWK packet filename was overwritten by the owner name (the system's BBS-ID): ftp> mlsd 229 Entering Extended Passive Mode (|||2001|) 150 Opening ASCII mode data connection for MLSD. Type=file;Perm=r;UNIX.ownername=VERT; 00index Type=cdir;Perm=elc;UNIX.ownername=VERT; / Type=file;Perm=r;UNIX.ownername=VERT; VERT That last file there should have been "VERT.qwk"
-
Deucе authored
Since lock_ssl_cert() is a reader lock, there shouldn't be a whole lot of contention on aquiring it anyway, and we can thundering herd our way out of it when it clears.
-
Deucе authored
without locking! That's chaos!
-
- Jan 08, 2024
-
-
Rob Swindell authored
This ancient bit of was re-writing node.ini files needlessly
-
Rob Swindell authored
Expanded to CRLF or just CR (if strip LFs is enabled). It is possible for someone to stuff LF-terminated text in a message, so let's account for that possibility upon export to FTNs where LFs are supposed to be ignored.
-
Rob Swindell authored
-
Rob Swindell authored
Hopefully help debug why HTTPS isn't working for him
-
- Jan 05, 2024
-
-
Rob Swindell authored
This partially reverts commit 7d26ad80 where a bunch of read() and write() return value checking was added.
-
Rob Swindell authored
The proper sentinel value here for "no TLS session" is -1, not 0. This, at minimum, was causing a lot of extraneous calls to destroy_session() (from js_socket.c's do_js_close()) with an invalid (hopefully, not otherwise used) cryptlib session ID of 0. Nothing checks or logs the return value of destroy_session(), but I'd expect it to be failing ... a lot.
-
Rob Swindell authored
-
- Jan 02, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
This was broken one year ago in Commit e631451e Thanks for the report (just now) about this bug Max!
-
Rob Swindell authored
The year is 4 digits, so the offsets aren't the same as the other 2 supported formats. Doh! Thanks Max for testing!
-
- Jan 01, 2024
-
-
Rob Swindell authored
... using WIN_FIXEDHEIGHT mode to limit the list height in wizard mode. I had a solution using a negative width param value to specify a height limit, but then I saw this code in ulist(): ``` if(mode&WIN_FIXEDHEIGHT) { height=api->list_height; } ``` something Deuce added for SyncTERM and I don't think I've ever used before. It works.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
This also addresses the addresses with 65535 in them in the new debug-level log messages "New packet (type x) created for linked-node" .
-
- Dec 31, 2023
-
-
Rob Swindell authored
To complete the request from: Max (WESTLINE) Is it possible to do a new dateformat in scfg In sweden we using YYYY-MM-DD format as standard. The default will be '/'. Technically, any separator is possible by editing the "date_sep" value in the global section of main.ini. SCFG allows the most popular separators: /.- and space.
-
Rob Swindell authored
... and YYYY/MM/DD for birthdate input/display. Now set in SCFG->System (not toggle options) and stored in the "date_fmt" key (new) in main.ini. The old sys_misc SM_EURODATE flag is deprecated (but used to determine the default value of date_fmt when not present). As requested from: Max (WESTLINE) Is it possible to do a new dateformat in scfg In sweden we using YYYY-MM-DD format as standard.
-
Rob Swindell authored
This completes the revert of commit c22063f9 from (Jun-2-2016). The Baja part of that commit was reverted in commit 932fae30 (Nov-15-2016). This behavior has proven to be surprising and annoying for JS mod developers (e.g. the yesnobar.js and Nightfox's file searcher/scanner). If we still need clearing of abort status after running JS "externals", that should probably be done in exec_xtrn(), not here.
-
Rob Swindell authored
Should calm the clang warnings reported by Deuce: e.g. passing 'char *[18]' to parameter of type 'const char **' discards qualifiers in nested pointer types
-
Rob Swindell authored
-
Rob Swindell authored
CID 476253
-
- Dec 30, 2023
-
-
Rob Swindell authored
The 4th enhancement request of issue #674 The other requests look a bit more involved than I'm willing to explore right now. And Deuce reassigned this back to me. So that's probably all that's going to be done.
-
Rob Swindell authored
Go ahead and fix false-positive CID 33482 by adding a NULL check to quotestr()
-
Rob Swindell authored
CID 462234
-
Rob Swindell authored
Even though smb_getmsghdr() just saves and restores the msg.idx_offset value (not actually using it, but triggering this Coverity issue), this does seem like better behavior and more consistent with the loadfiles() implementation.
-
Rob Swindell authored
The use from addfiles.js (the -readd option) implies this is what's expected. And echicken was suprised the 'added' date/time-stamp wasn't udpated.
-
Rob Swindell authored
Nobody's really using this auxdata yet, besides echicken, so no impact for others.
-