- Sep 21, 2024
-
-
Rob Swindell authored
Use byte_estimate_to_str() to display upload/download byte totals (better support for totals in gibibytes, tebibytes, etc.).
-
- Sep 13, 2024
-
-
Rob Swindell authored
Ctrl-A - Select All Ctrl-F - Filter IP address DEL - Close Socket Also, use Begin/EndUpdate() calls to batch updates to the ListView in Timer tick (no visible difference, but it's the right thing to do). I don't know why C++Builder increased the TextHeight value of this form from 13 to 15, but doesn't seem to really matter (or at least, I couldn't tell).
-
Rob Swindell authored
I don't know why this was set so wide (10 pixels), but that did help to easily see that it was being placed in the wrong spot in the form (between the tool button bar and the top panel). But we don't need it to be that thick. 1 pixel is still enough to be able to grab it with the mouse and resize the top/bottom panels.
-
Rob Swindell authored
For who knows how long now, the horizontal splitter that allows the sysop to control the size of the top 2 panels (server forms), was displayed above the top panel, not between the top and bottom panel, thus making the panel heights not controllable. Weird. Change the order of making the controls visible to insure that the splitter is displayed below the top panel and on top of the bottom panel. Also (non-functional changes): Remove redunant mutex from client_on() - makes no difference. Use try/catch in client_on() to try to catch VCL exceptions - doesn't catch the "invalid index" error popups that we see on occasion. <shrug>
-
- Mar 29, 2024
-
-
Rob Swindell authored
-
- Mar 24, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
-
- Mar 19, 2024
-
-
Rob Swindell authored
... so the [web] HttpLogFile setting in sbbs.ini couldn't be set using this dialog. Been broken all this time.
-
- Mar 03, 2024
-
-
Rob Swindell authored
Allow SFTP support to be enabled/configured in SCFG->Servers and SBBSCTRL->Terminal->Configure. SFTP session inactivity applies to 'H' exempt users too (intentionally).
-
Rob Swindell authored
-
- Feb 27, 2024
-
-
- Feb 25, 2024
-
-
Rob Swindell authored
Resolve build warning about unused var
-
Rob Swindell authored
... so no need to parse/strip them here.
-
- Feb 24, 2024
-
-
Rob Swindell authored
This eliviates the issue of partial/corrupted UTF-8 sequences when spying on a node serving a UTF-8 terminal.
-
Rob Swindell authored
Reads the new(ish) node*/terminal.ini file when it's changed to determine the connected-client's terminal type/dimensions. Now reports the terminal details in the spy form title/caption and if it's UTF-8, does a real-time translation to CP437 (since F. Piette's terminal lib only supports CP437). There is a bug here where if the data read from the RingBuffer is a partial UTF-8 sequence, it isn't decoded correctly. Fix that later (?) if it actually bugs anyone. There's no PETSCII conversion/support added here. I expect to someday replace this entirely (likely with something that uses cterm), so didn't want to invest too much time into this. But at least now spying on non-traditional ANSI-BBS clients isn't so terrible to look at.
-
- Jan 23, 2024
-
-
Rob Swindell authored
-
- Jan 20, 2024
-
-
Rob Swindell authored
Still using BOOL where we need Win32 API compatibility. Using JSBool instead of BOOL or bool where it matters. Changed most relevant TRUE/FALSE to true/false too (though it's not as critical). You shouldn't need to #include <stdbool.h> anywhere now - gen_defs.h should do that automatically/correctly based on the language/version/tool. In C23, stdbool.h isn't even needed for bool/true/false definitions (they're keywords), so we don't bother including stdbool.h in that case. Microsoft didn't define __STDC_VERSION__ in their older tool chains (even though they were C99 compatible and had stdbool.h), so we use a _MSC_VER check to know that there's a stdbool.h we should use in that case. For other/old compilers (e.g. Borland C) we #define bool/true/false following the pattern of stdbool.h (doesn't use a typedef). I didn't convert UIFC yet. This addresses issue #698
-
- Jan 13, 2024
-
-
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.
-
- Dec 26, 2023
-
-
Rob Swindell authored
-
- Dec 21, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
... for server configuration dialogs
-
- Dec 20, 2023
-
-
Rob Swindell authored
We need to get the NextItem *before* we delete the current one. I'm not sure why this was in there, but removed it as appears to have no effect: if(ListView->Selected == NULL) break;
-
Rob Swindell authored
Include the time-span of the login attempts in the reason string.
-
- Dec 19, 2023
-
-
Rob Swindell authored
Ctrl-A in the Failed Logins dialog now selects-all rather than copy-all (just use Ctrl-A, then Ctrl-C to copy all).
-
Rob Swindell authored
-
Rob Swindell authored
There's a hidden checkbox on the CodeInputForm now (explaining why the edit/ combo box is now moved up).
-
Rob Swindell authored
-
- Dec 18, 2023
-
-
Rob Swindell authored
Renamed the "Perm Filter Threshold" to "Auto Filter Threshold". Changed help text from "Permanent" to "Persistent"
-
Rob Swindell authored
The number of failed login attempts. It's something.
-
Rob Swindell authored
Now a sysop can "perm block" a client (IP address) for a limited amount of time rather than always forever. Add more displays of the ip.can details when actively blocking a client. Moved twit/trash functions from userdat.c to trash.c
-
- Sep 28, 2023
-
-
Rob Swindell authored
Running SBBSCTRL on Windows 11 with a 4K monitor looked horrible. The default font sizes varied widely - I'm not sure why this wasn't apparent before now. And the default font ("MS Sans Serif") is no longer included in modern Windows versions, so when choosing a Log font, the pre-selected font was just blank. So change use of "MS Sans Serif" everywhere to "Microsoft Sans Serif" which appears to have been around since Win95 and be the preferred alternative. I would consider Segoe, but that wasn't introduced into Windows until Vista and I'm not sure (yet) what troubles that might introduce. I'll experiment with a WinXP VM maybe and find out.
-
Rob Swindell authored
Also: For log message styles (e.g. colorization) based on log level, don't apply a different font (Name) or size. This just looks terrible when this is done and I don't think any sysops want that. Keep each log window using the same font face (name) and size, just allow the color and style (e.g. bold, italics) to change based on log severity. This does increase the confusion with the Properties->Customize->Log Fonts as the "Change Font" dialog still allows the sysop to select/change a font face and size, they're just not saved/used. I coudln't find a way to remove or disable these from the displayed TFontDialog form.
-
- Apr 06, 2023
-
-
Rob Swindell authored
Removed backup_level option from save_cfg()
-
Rob Swindell authored
This seems kind of circular doesn't it? Anyway, add a new SCFG->System-> Advanced->Configuration Backup option to set the number of config (.ini) file backups to keep (default is 5). Eliminate the scfg -b option (used to manually over-ride the default backup level of 5). Fix for issue #542
-
- Apr 05, 2023
-
-
Rob Swindell authored
-
- Apr 02, 2023
-
-
Rob Swindell authored
Use the terminal server sem file check interval instead of node_sem_check (it was only used in the event thread) and node_stat_check was only used in the control panel, so just support a registry over-ride, but default to 5 sec. These settings were artifacts from SBBS v2 (WFC mode), and not really relevant or in the proper configuration place.
-
- Feb 17, 2023
-
-
Rob Swindell authored
-
- Feb 15, 2023
-
-
Rob Swindell authored
-
- Jan 04, 2023
-
-
Rob Swindell authored
Each Synchronet server is now its own MQTT client. This means there's no longer any MQTT logic in the Synchronet "hosts" (e.g. sbbscon.c, ctrl/*.cpp) and none needed for SBBS NT services (they'll "just work" with MQTT). This also means that just about everything (except for nodes, spam and hack) is now published per-server (in the sbbs/BBS-ID/hostname/server/ topic branch) and if you want aggregated totals or client lists, you'll have to do that in your own MQTT client or dashboard. I also removed the publishing of thread_count and socket_count topics as they weren't universally supported across all servers and are of questionable value. They can be added back later if determined to be useful.
-
- Jan 02, 2023
-
-
Rob Swindell authored
Now support subscriptions (e.g. recycle topics, node input topics) in SBBSCTRL. This required a lot of search/replace and fun with circular struct pointers.
-