- Apr 09, 2023
-
-
Rob Swindell authored
The sbbs_t::wordwrap[] buffer was 81 characters (80 printable characters, plus NUL terminator) and sbbs_t.getstr(), when used with the K_WRAP mode flag could potentially write more than 81 characters to this buffer (e.g. when using a wider than 80 column terminal and writing a message with the internal line editor which calls sbbs_t::getstr(... K_WRAP)) - would corrupt sbbs_t members after wordwrap[], which included pointers that would be freed in the sbbs_t destructor (~sbbs_t) and subsequently page/segfault as seen in issue #545. This change increases the wordwrap buffer to likely twice the same needed (maximum columns + NUL terminator) and adds wordwrap bounds checking to sbbs_t::getstr(). There were comments indicating crash sightings in the sbsb_t destructor going back to 2002, so this commit removes those comments. Thanks to Nelgin for providing the gdb dump details ('print *this') that was the clue needed to reach the root-cause determination. This fixes issue #545.
-
- Apr 08, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
Useful when debugging mail issues, e.g. with MIME-encoded mail
-
Rob Swindell authored
Fixes issue #544
-
Rob Swindell authored
Need to use this for creating nightly sbbs_src.tgz file Also suppress the diff errors when the git_*.h files don't exist
-
- Apr 07, 2023
-
-
Rob Swindell authored
DDMsgReader: Ctrl-C is now supported for message searches to abort the search. See merge request !281
-
-
Rob Swindell authored
To be consistent with sbbs's utf8_normalize_str() function behavior.
-
Rob Swindell authored
MRC enhancements: Nicklist toggle, timestamps, and improved default alias See merge request !280
-
-
- 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
DDMsgReader: Added default color definitions for indexed reader mode in case they aren't specified in the theme .cfg file See merge request !279
-
Eric Oulashin authored
DDMsgReader: Added default color definitions for indexed reader mode in case they aren't specified in the theme .cfg file
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
- Apr 04, 2023
-
-
Eric Oulashin authored
DDMsgReader: Added "indexed" reader mode and made a fix to print utf-8 characters properly on non utf-8 terminals. Fixes issue #354 and issue #541
-
Rob Swindell authored
Added key buffer flush to prevent auto skipping prompts. Version updated to 1.1. See merge request !277
-
-
Randy Sommerfeld authored
-
Randy Sommerfeld authored
-
Rob Swindell authored
When multiple servers are recycling at the same time, (e.g. due to saved change in SCFG) they'd each call sbbs_read_ini() with a shared global_startup struct, which in turn calls sbbs_free_ini(), which would free all the allocated network interface lists (including the global_startup one) using iniFreeStringList (just a wrapper for strListFree), but iniFreeStringList() does NOT modify (NULLify) the freed-pointer, so your second or third server that called sbbs_read_ini(), with the shared MainForm->global structure, would *again* free the same global interface list. This bug actually has always existed because get_ini_globals() freed the global interface list in the same way, except it *immediately* re-allocated a new one by calling iniGetStringList(), so the time window (opportunity) for this race condition to occur was much smaller. Truly, SBBSCTRL should use a mutex or other mechanism to protect the shared global_startup struct, but this is a first step to a full fix: sbbs_free_ini() should (and now does) nullify the freed network interface pointers by using strListFree() directly. I haven't been able to reproduce the crash upon recycle in SBBSCTRL after making this change.
-
Rob Swindell authored
-
Rob Swindell authored
- Apr 03, 2023
-
-
Rob Swindell authored
MRC client updates for Synchronet See merge request !276
-
-
Rob Swindell authored
warning: format not a string literal and no format arguments Weird this warning is happening for me with GCC 12.2 (debug or release build)
-
Rob Swindell authored
-
Rob Swindell authored
Apple Mail apparently uses tabs to indent the charset of nested MIME parts: e.g. --Apple-Mail-143B9F0C-6BB4-4C8E-869B-6DE05D6B58CE Content-Type: text/plain; <tab>charset=utf-8 Content-Transfer-Encoding: quoted-printable This fixes issue #483 reported by Nelgin
-
Rob Swindell authored
-
- Apr 02, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
Error: can't covert options.backup_level to an integer Default to 10, if not set.
-
Rob Swindell authored
Looks like a typo, in Scan_For_Banned_Clients()
-
Rob Swindell authored
-
Rob Swindell authored
Fix issue #536
-
Rob Swindell authored
Ugh. This is ugly.
-
Rob Swindell authored
smtp_netmail_addr() - not currently used anywhere else, but may be someday. load/mailutil.js's fidoaddr_to_emailaddr() has this same logic (for FTN addrs at least and is now used by nntpservice.js). Also, always pass a buffer to smb_faddrtoa() from the mail server since it's multi-threaded and its unsafe to pass NULL (using a static local buffer).
-
Rob Swindell authored
smb_faddrtoa() uses a static local buffer if passed NULL and we shouldn't be doing that from multi-threaded callers.
-