- Sep 13, 2020
-
-
Rob Swindell authored
Throw an exception if no filename is specified (rather than just abort the script by returning JS_FALSE). The return value is supposed to be a bool, not an int (JS_TRUE != JSVAL_TRUE).
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Fix reported and observed crash in cleanup() (in ftp, mail, websrvr) when failing to create the temp directory. This was due to cleanup() being called before the protected integer "active_clients" was initialized. Also, md() needs to return the errno value (not a BOOL) since the caller may be in another DLL with a different errno (which likely has a value of 0/no error).
-
Rob Swindell authored
-
Rob Swindell authored
... in other non sbbs.dll modules (e.g. *srvr.dll). So now log error messages elsewhere where appropriate. DLL-exported and optimized md() a bit.
-
Rob Swindell authored
Extended node status can (and often does) contain Ctrl-A sequences. Strip those characters/sequences before putting into the NodeForm->ListView lines here.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
If the user's terminal was auto-detected as being ANSI, yet they had their account settings manually-overridden to use PETSCII, automatically switch back to auto-terminal mode (e.g. with ANSI).
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Read and write the Log fonts when importing/exporting sbbsctrl.ini. Use sbbsctrl*.ini as the default Import Settings file mask.
-
- Sep 12, 2020
-
-
Rob Swindell authored
This was done in the default/classic command shell, but no others. The termsetup module handles terminal setup tasks that should correspond with the user's configuration of their terminal preferences (e.g. iCE colors, alternative fonts). If escape sequences need to be sent to the terminal server (the BBS) to coordinate the settings, this is the module that does that.
-
Rob Swindell authored
Script errors-out if a user selected it and there was no such directory.
-
Rob Swindell authored
find_startup_dir() returns an index, not a bool.
-
Rob Swindell authored
Create a default server.ini pointing to localhost:10088 (same behavior as if the file is absent) and allow the installer to modify it to point to the Executive Chiggun's B.B.S. if the sysop opts-in.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Don't prompt a new user to forward email to their netmail address if they provided an invalid netmail address (not supported by the system). If a sysop has an invalid netmail address setup for forwarding, don't try to forward email (or new user feedback) to that address. Re-ordered the new user terminal questions a little bit (ask for the backspace key first, to get earlier manual PETSCII detection). I'm not sure why I was enabling AUTOTERM along with PETSCII before. Removed that as PETSCII cannot be auto-detected.
-
Rob Swindell authored
I noticed on one particular system that Canceling or Completing the configuration wizard on a fresh install, sbbsctrl.exe would just shut down (no error dialog or anything, likely a crash of some kind). Instrumenting StartupTimerTick() didn't reveal anything useful (it ran to completion). By changing the method of launching the Configuration Wizard, I was able to eliminate this observed problem. Now, the StartupTimer runs twice on a fresh install (just once for a normal startup), and the second run of the StartupTimerTick starts the configuration wizard. I also reverted to the previous behavior of dynamically creating and destroying the wizard for each use. There's just too much state information to restore if the config wizard is run a second time. Also, removed a bunch of old Registry settings readings (v3.10/11 upgrade support) and commented out code.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
- Sep 11, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
For Alpha (Robbie) for use with an RLogin game door server, apparently.
-
- Sep 10, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Going backwards (negative) in the BBS list while using the 'C' (preview capture) command would trigger this exception. Also, don't enable spinning cursor while waiting for a key-press after displaying a preview.
-
Rob Swindell authored
-
Rob Swindell authored
A message header's from_net_type can be undefined And apparently undefined != NET_NONE even though NET_NONE is 0. JavaScript is weird.
-
- Sep 09, 2020
-
-
Rob Swindell authored
Thanks to Wilfred van Velzen (2:280/464) for the tip. CopyFile() reduced the 1GB file copy test (from and to CIFS/SMB) duration from 37 seconds to 5 seconds with very low CPU utilization! Created a wrapper for non-Windows OSes in xpdev/dirwrap. This is where non-Windows-OS-specific optimized versions may appear in the future, but for now it's just the previous fcopy() implementation (using a 256KB stack buffer). sbbs doesn't actually copy files very often, so this isn't as big of a deal as one might assume. The JavaScript global method: file_copy() also benefits from these improvements, so any scripts that use it (e.g. tickit.js) will also benefit. binkit.js has its own file-copy logic (using a 2MB buffer), so no change there.
-
Rob Swindell authored
Returns a list of publicly accessible JSON db's from ctrl/json-service.ini (assumes the JSON service is not just listening on localhost). Sysop can opt-out by setting json_db=false in the [fingerservice] section of modopts.ini Now mcmlxxix has a reason to expose his BBS to the world's fingers.
-
Rob Swindell authored
Using a 256KB read buffer for copying files (rather than one byte at a time). Apparently calling fread() is not the same as a bunch of calls to fgetc() after all. Or maybe it was the many calls to fputc() being replaced with fwrite(). Or maybe it was both. Anyway, decreased the time to copy a 1GB file from and to a Samba share over a Gb Ethernet network from 13 minutes to less than a minute. This matters when sbbs is backing up your data/mail base and the files are big. The mail base is locked while being backed up and the longer it takes to back up, the longer the mail base is locked and no mail can be received, read or sent during that time.
-
Rob Swindell authored
Define SPINNING_CURSOR_OVER_HARDWARE_CURSOR to enable this experimental feature. I'm not sure I like it better than the way the spinning cursor has been displayed for decades (to the left of the hardware cursor).
-
Rob Swindell authored
-