- Jun 26, 2022
-
-
Rob Swindell authored
In the mouse debug log output. Potentially helpful in debugging mouse related issues when using the SGR mouse reporting mode.
-
- Jun 25, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Bug introduced in commit 440ccc80: iniSet* functions would write key/values to the end of the list when the root section (NULL) was specified, rather than the beginning of the list. The root section always starts at the beginning of the list/file, so I'm not sure why section_start() was doing anything other than returning 0 for the root section. It's possible this now breaks iniSortSections() in some way, so that should be retested with a file with a root section and named sections.
-
- Jun 17, 2022
-
-
Rob Swindell authored
Solves problem of status output lines being interleved with console output (e.g. from print()) after executing a script.
-
Rob Swindell authored
-
Rob Swindell authored
When using the "Access to Sub-directories" option for a library, the auto-created directories did not have their virtual sub-directory name set. Pretty sure this was introduced along with the http access to filebases after v3.19b. Also, only de-dupe the sub-directory names based on the directory name and not the code/code-suffix for now. Next up: auto-gen unique internal code when needed.
-
Rob Swindell authored
-
- Jun 15, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
By default, each file transfer directory's internal code suffix is used as the source of the sub-directory of the virtual path used to represent a file area in the FTP and Web servers. Now, a sysop can change that source to either each directory's short name or long name, if they prefer. For MRO, because he asked (on DOVE-Net).
-
Rob Swindell authored
-
- Jun 11, 2022
-
-
Rob Swindell authored
This exposes the Synchronet internal sbbs_t::progress() method used to display a progress indication bar, e.g. "[ Scanning 10.0% ]" with the bar backfill effect (when supported by the terminal).
-
Rob Swindell authored
This can be used to force a close of the user.dat file, if open. Rather than waiting for an out of scope User to get garbage-collected, this method could be used to force a close of the user.dat file, if it's open.
-
Rob Swindell authored
-
Rob Swindell authored
This is normally the first count value and even if we *just* output a progress() for a previous operation, we still want the first progress() call for the operation to display.
-
Rob Swindell authored
e.g. directive argument in the range [-255, 2147483645]
-
Rob Swindell authored
Suppresses GCC warning. I suppose some of these fields could be more digits than expected.
-
Rob Swindell authored
-
- Jun 08, 2022
-
-
Rob Swindell authored
Add support for an unlimited number of dial string (e.g. phone number) aliases in the [alias] section of the read .ini file. While the AT&Z, ATDSn support for stored numbers should work fine for the same use cases, it's limited to 20 numbers (that could be easily increased) and may be less obvious to users who it works. The [alias] aliases does not use AT commands to query/store the number aliases, just .ini file edits. Re-read .ini file when ATZ command is received. This allows applying dynamic changes to the .ini file without re-running SVDM. Address some memory-leaks when reading or making changes to .ini file. Fix ATIn command results. The normal result format (from an actual modem) is: <text> <blank-line> OK (or 0)
-
- Jun 07, 2022
-
-
Rob Swindell authored
Support optional WAV files via .ini keys: RingSound ConnectSound DisconnectSound ATM0 turns "speaker" (WAV playback) off (the default), ATM1 turns on. Ignore ATLn (speaker level), ATT (tone) and ATP (pulse) commands. These are sometimes found in init strings which we don't want to prematurely fail with a parse failure and "ERROR" result. Increment version number to 0.2.
-
- Jun 06, 2022
-
-
Rob Swindell authored
A reused HTTP session would never (apparently) perform garbage collection. The evidence of this was the collection of concurrent user.dat file opens that would never close until the HTTP sessions were closed. Hundreds or even thousands of open user.dat's have been seen. After this change, active web server (webv4 UI) users have not caused these spikes in open user.dat files, at least in my testing. If no garbage collection was being performed, then likely a lot of JS heap was being needlessly wasted, which could eventually result in a JS "out of memory" error. But that's just a theory. Investigation is needed into why the js_CommonOperationCallback()'s calls to JS_MaybeGC() were not sufficient to actually perform garbage collection in this case.
-
Rob Swindell authored
-
- Jun 05, 2022
-
-
Rob Swindell authored
Don't expand CR->CRLF when in binary mode that was requested locally (option value is DO, instead of WILL), using new telnet_opt_enabled(). Request binary-transmit mode by default in Telnet server/answer mode. Set ServerBinary=false in svdm.ini to disable. This fixes the extra line-feeds in Telnet-server mode.
-
Rob Swindell authored
An option is enabled/supported regardless of which end makes the request, so the status can be WILL (an ACK to a remote request) or DO (an ACK to a local request) when an option is enabled.
-
Rob Swindell authored
Resolves issue with SBBS v2.30 not be able to answer an incoming "call".
-
Rob Swindell authored
Attempt to address 2 GCC version 11.2.0 2 warnings reported by Nelgin ‘%s’ directive writing up to 3 bytes into a region of size between 1 and 4097
-
Rob Swindell authored
... in debug print statement (MD5 hast decoded/printed as SHA-1 hash). Reported by Nelgin running gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1)
-
Rob Swindell authored
-
Rob Swindell authored
-
- Jun 04, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
- Jun 03, 2022
-
-
Rob Swindell authored
-
- Jun 02, 2022
-
-
Rob Swindell authored
On Win32, an off_t is 64-bits while a long is still a measly 32-bits.
-
Rob Swindell authored
svdm.ini IpFilterFile can be set to the path/filename of an "ip filter file", list of IP addresses or patterns (CIDRv4 notation supported) to refuse connections from. This is reusing the same IP filter file logic from SBBS, so the same filter file syntax/rules apply.
-
Rob Swindell authored
-
Rob Swindell authored
Also a bit more constification and cleared up the legacy sbbs_get_ini_fname() usage: the hostname argument hadn't be used in a long, long time.
-
Rob Swindell authored
I just wanted to reuse findstr() in vdmodem.c and I fell down this hole :-) findstr.* is new (findstr() related functions moved from str_util) getctrl.* is now finally the real home of get_ctrl_dir(), moved from str_util trashcan* functions moved from str_util to scfglib other scfg_t dependent functions moved from str_util to scfglib net_addr() appears to be a function that was never created/used (?) This will definitely break the *nix build, for now.
-
- Jun 01, 2022
-
-
Rob Swindell authored
Also controlled via [modem] CallerID key in svdm.ini fiile. Reports the connected IP address between the first and second RING result. Required a fix to reset the ringcount to 0 upon new connection. Simplified the AT command parsing logic a bit.
-
Rob Swindell authored
This sets the stage for "Caller-ID" support and IP/host filtering (before sending a "RING" result and requiring an auto-answer or host/BBS software to send "ATA").
-