- Apr 06, 2024
-
-
Rob Swindell authored
This solves the problem of exit() values (e.g. non-zero return codes) not getting propagated to callers when nest-called (e.g. via bbs.exec()). I think it was kk4qbn that pointed this out via IRC: an exit(1) call from prextrn.js did not stop the external program from running (as it should, for any non-zero exit code). This only happened when the prextrn.js called another JS script (e.g. via bbs.exec() or as was the case here, indirectly via "EXEC" @-code in the YesNoBar text.dat string (which executed yesnobar.js). This nested JS script invocation via sbbs_t::js_execfile() would clobber the stored js.scope property value (where the "exit_code" property is written). Script invoked in their own context (e.g. via js.exec()) wouldn't have this issue in the first place.
-
Rob Swindell authored
First pass at making a useful top-level build doc. A lot of content from the wiki should likely be moved here.
-
- Apr 05, 2024
-
-
Rob Swindell authored
Build instructions should stored in the repo along with the source, so that archives of the source include the current (at the time) build instructions
-
Rob Swindell authored
A QWKnet tagline usually contains CP437 character 254 and if/when appended to a message during export, would "convert" the message to CP437 thus making the "ASCII" charset advertisement incorrect. If a FIDO CHARSET value was already specified (e.g. in HEADERS.DAT), that value will (still) not be overridden. So the *original* import via QWK (before it gets exported to a QWKnet) is where this change will take effect. Fix for issue #741
-
- Apr 04, 2024
-
-
Rob Swindell authored
At Keyop's request This script does not (yet anyway): - clean-up any obsoleted/renamed files in the text directories - clean-up old filebase files that are not stored in the default (data/dirs)
-
Rob Swindell authored
-
Rob Swindell authored
0-byte or non-existent files can't be http-downloaded anyway
-
- Apr 03, 2024
-
-
Rob Swindell authored
new_install needs to be 'true' to auto-run the config wizard
-
- Apr 01, 2024
-
-
Rob Swindell authored
DDMsgReader: Fix for checkmark refresh when selecting all/none in the message list See merge request !431
-
- Mar 31, 2024
-
-
Eric Oulashin authored
-
Deucе authored
-
Deucе authored
-
- Mar 30, 2024
-
-
Rob Swindell authored
When invoking a nested JS script, these properties of the "js" object would be overwritten and not restored, as discovered/reported by Nightfox when his trivial game script would indirectly execute yesnobar.js, his subsequent use of js.exec_dir would point to the wrong location (the "exec" directory, parent of yesnobar.js, and not the direcctory where his game script was located). The exec_path and exec_file properties had the same problem as demonstrated by a simple test.js placed in (and executed from) a directory other than the "exec" dir: function f() { print("js.exec_path = " + js.exec_path); print("js.exec_dir = " + js.exec_dir); print("Js.exec_file = " + js.exec_file); } f(); console.yesno("test"); f(); This would only trigger the problem when executed from the BBS and whebn the YesNoQuestion text.dat string invokes the "yesnobar" module via EXEC @-code and yesnobar.js exists (in exec or mods dir), superceding yesnobar.bin which does not trigger this issue (not a JavaScript mod).
-
Rob Swindell authored
-
Rob Swindell authored
Good Time Trivia: Make a copy of js.exec_dir on startup and use the copy, since js.exec_dir could change indirectly (i.e., console.yesno() running yesnobar.js in sbbs/exec) See merge request !430
-
Good Time Trivia: Make a copy of js.exec_dir on startup and use the copy, since js.exec_dir could change indirectly (i.e., console.yesno() running yesnobar.js in sbbs/exec)
-
Deucе authored
Hopefully fixes issue where certificate file is left open and so can't be deleted.
-
- Mar 29, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Renamed output file setup.exe to install_SBBS_v*.exe because InnoSetup Warning: Setting the [Setup] section "OutputBaseFileName" to "setup" is not recommended, all executables named "setup.exe" are shimmed by Windows application compatibility to load additional DLLs, such as version.dll. These DLLs are loaded unsafely by Windows and can be hijacked. Use a different name, for example "mysetup".
-
- Mar 28, 2024
- Mar 27, 2024
-
-
Rob Swindell authored
Good Time Trivia: Formatting fix for sysop menu when the server scores file is missing. Allow showing help when playing a game by entering ? See merge request !429
-
Eric Oulashin authored
Good Time Trivia: Formatting fix for sysop menu when the server scores file is missing. Allow showing help when playing a game by entering ?
-
- Mar 25, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
- MainLoopDelay - in milliseconds Set this to a non-zero value to add some CPU yielding to the main loop - SocketSelectTimeout - in milliseconds Set this to a non-zero value to add some CPU yielding while waiting for receive data from the TCP socket These are 2 knobs created for Fzf (FQBBS) to "to reduce the CPU usage". Their default values are currently 0, so you'll need to set these to non-zero values to play with each of them and see their inpact on CPU utilization and responsiveness. I'd suggest starting with low values (e.g. 1) and experimeting from there. Incremented version to 0.5
-
Rob Swindell authored
As requested by Fzf (FQBBS): When SVDM uses an inherited socket (the -h option) no telnet negotiations are done. As a result, the connection is assumed to be in ASCII mode and server side CR characters are translated to CR/LF. Since most programs are already transmitting a CR/LF this gets translated to CR/LF/LF with the expected results. When using an external socket in telnet mode, could SVDM set the telnet.local_option and telnet.remote_option variables as so: A. Assume both remote and local have already suppressed GA and set the two options accordingly B. Set the remote telnet echo option to off and set the local telnet echo to follow the ServerEcho option from the .INI file C. Set both remote and local BINARY_TX options to follow the ServerBinary option from the .INI file
-
Deucе authored
-
Deucе authored
The last commit changed the environment, so we need to regenerate the config cache.
-
Deucе authored
The big remaining issue is defining *_EXPORTS where needed, which looks rough from a quick glance.
-
Deucе authored
-
Rob Swindell authored
There's only one toggle left (Leave node file open) and not very many advanced options. Unfortuantely, can't easily do the cool left-right cycle through nodes since each node file has to be saved/loaded, but still, easier to visualize any differences between node configs with all the settings on one menu.
-
Rob Swindell authored
From SCFG->Nodes ... Toggle Options to SCFG->System->Toggle Options And from a bit flag in node_misc to its own bool member of scfg_t.
-
Rob Swindell authored
The way this option worked was, if enabled (and it was off by default), bit 7 of all character input *before* successful logon would be stripped and bit 7 from all character input of terminals configured as US-ASCII (only) would be stripped after logon. Instead, always strip bit 7 (the 8th bit) of each input character from US-ASCII (only) terminals. Other detected/configured terminals (CP437, UTF-8, PETSCII) won't have bit 7 stripped (ever) since that's likely not a necessary or nice thing to do. There's now no different handling of pre/post logon in this regard. If there's a need to strip parity bits from character input from client terminals that support CP437, UTF-8, or PETSCII, then we'll re-add this feature in but it shouldn't be a per-node setting in that case.
-
Rob Swindell authored
-