- Nov 20, 2020
-
-
Rob Swindell authored
Parse single-quoted "name" portion of email-addr header fields. I don't think this is going to fully solve the issue with FTN netmail gated to SMTP and replied via Outlook, but it's a start. Try that Nelgin.
-
Deucе authored
This is because it includes js_version.h if JAVASCRIPT is defined, and JAVASCRIPT is defined for everything using CFLAGS. It may be worth re-working the JAVASCRIPT define, but that's a bunch of extra work. This is the first (and easiest) step in getting parallel builds working.
-
- Nov 19, 2020
-
-
Stephen Hurd authored
-
Stephen Hurd authored
-
Deucе authored
Then, add JSDOC support to crypto class constant objects. Also, since crypto stuff is almost half of all the docs, move all the crypto classes and objects to the end. It would be nice if these massive lists were hidden by default line the menu tree at the start.
-
- Nov 18, 2020
-
-
Stephen Hurd authored
Previously, properties were only supported via the TinyID mechanism in the JS API. This limited the properties to have a unique signed 8-bit integer ID, which prevented more than 256 properties from existing in a built-in object. The id value can be a name however, a TinyID is not required. For property descriptions with an ID outside the range of 8 bits, define them using just the name. When this is done, the getter and setter functions will need to convert the names to an ID themself. This isn't ideal... ideally, each would have a unique getter and setter, but doing it this way puts of requiring an internal JS API refactor and allows the CryptCert class to have all the defined properties. As implied... CryptCert now supports all properties, and JS Docs will be created for them. This section is yuge!
-
Deucе authored
-
Deucе authored
Copy/paste without the update required a single character to have seven different values... which is unlikely to actually happen.
-
Rob Swindell authored
This behavior was cut/pasted from xtrn_sec.js but doesn't play well with logon events (e.g. SBBSIMSG list) that should pause before a following CLS. As reported by altere on the I, the R, and the C.
-
Rob Swindell authored
-
Rob Swindell authored
Count the read mail-waiting and compare to the total mail-waiting and if they're the same, then default to "No" for the "Read Your Mail Now" prompt during logon. Also, pass the difference (the unread mail) to the LiMailWaiting logon-info line. As requested by altere via I.R.C.
-
- Nov 17, 2020
-
-
Deucе authored
QUERY_STRING is defined (even if blank). Always define it.
-
- Nov 14, 2020
-
-
Rob Swindell authored
Previously, the console would be left in "raw" mode after invoking 'jsexec -d <module>'.
-
Rob Swindell authored
Added options -A[filename] and -S[filename] to allow more control over which output streams go where (for mlong and his troubles with running ircd via systemd). -A controls "all messages" either sending all to stdout or the specified filename. This override the automatic suppression of the console output stream when run without a controlling TTY. -S controls "status message" (includes non-error level log messages), either sending the status messages to stdout or the specified filename. This also overrides the automatic suppression of the console output stream when run without a controlling TTY.
-
- Nov 13, 2020
-
-
Rob Swindell authored
If an .ini file is read by either the iniGetObject() or iniGetAllObjects() methods and contains a key with a blank value, that property would be created with an "undefined" value. Both the iniGetObject() and iniGetAllObjects() methods now accept an additional Boolean argument (which defaults to false), to specify that "blanks" are acceptable. When the "blanks" argument is true, then keys with empty values in the .ini file are created as properties with empty string values (length of 0). This is going to be useful for modopts.js to read potentially-blank strings from modopts.ini and differentiate between a blank string key and a missing key.
-
Rob Swindell authored
When a preexisting node.log file is found, a terminal server crash is suspected. Include the timestamp of the node.log in the message appended to the system log (data/logs/*.log) to help identify the likely time of the crash.
-
- Nov 12, 2020
-
-
Rob Swindell authored
when there is no "template directory" selected/configured.
-
Rob Swindell authored
When posting to "All" or replying to a message that was posted by networked (not local) user, don't attempt to search for that username in the local user base to inform them of the posted message to them. savemsg() is the underlying C function for saving a new message (mail or post) to a message base from several places, including JS modules. If there was no "charset" specified in the passed message header, check to see if the message body text is non-ASCII but valid UTF-8, and if it is, set the FIDO_CHARSET header field to the appropriate UTF-8 charset identifier string. This would *also* address Issue #177 reported by Michael J. Ryan. It's possible, but unlikely, that a message text would contain valid CP437 that *also* happened to be valid UTF-8. If that does happen to occur (e.g. in posted ANSI art?), we might want to revert this enhancement to savemsg() and leave to the caller's to detect/specify the charset, always.
-
- Nov 11, 2020
-
-
Rob Swindell authored
For Windows release (CI) builds.
-
Rob Swindell authored
Caused error: exec.cpp line 805 (sbbs_t::exec_bin) opening "s:\sbbs\exec\ÿÿÿÿÿÿÿÿ.bin" access=0 As reported by Nelgin via IRC at 3AM Texas-time.
-
Rob Swindell authored
Debugging why textgen is failing during Windows/CI build.
-
This introduces pre/post execution modules for bbs.exec_xtrn. The logic previously in xtrn_sec.js for those functions is now in prextrn.js and postxtrn.js. These handle screen clear, evals, fonts, etc. Now everywhere that launches an external program will support these features
-
Stephen Hurd authored
-
- Nov 08, 2020
-
-
Rob Swindell authored
This allows us to ignore markup codes in a string like: "/sbbs/ctrl/*cnf*"
-
Rob Swindell authored
Addresses false-positive matches in URLs (e.g. https://minftn.net/) where the second slash was being interpreted as a the beginning of an italic markup.
-
- Nov 07, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
In preparation for node-spy applications that can support multiple terminal sizes/types (none exist yet). The file is updated whenever there is new/updated information about the client's terminal. Exposed as JS method: console.term_updated().
-
Rob Swindell authored
The "MAIL FROM" command argument must always be enclosed in angle-brackets. Some mail servers (e.g. gmail, aol) would reject messages not delivered in this manner, e.g.: mx-aol.mail.gm0.yahoodns.net replied with: "501 Syntax error in parameters or arguments tnmpmscs" instead of the expected reply: "250 ..." gmail-smtp-in.l.google.com replied with: "555 5.5.2 Syntax error. o6si11103060plk.317 - gsmtp" instead of the expected reply: "250 ..."
-
- Nov 06, 2020
-
-
Rob Swindell authored
I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values. This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service). The new macros names are bit more descriptive as well.
-
- Nov 05, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
The "insert key into keybuf" log line could contain garbage. Apparently in a release build, the nested scope stack variable is actually invalid after the end of the scope. Weird.
-
Rob Swindell authored
As reported by WitNik, on 32-bit rPi builds, the loop would not terminate and display transfer count down values after hitting 'H' to hang-up.
-
Rob Swindell authored
This reverts commit 9fd06985.
-
Rob Swindell authored
ERROR 2 (No such file or directory) in logout.cpp line 189 (backout) opening "/sbbs/node1/backout.dab"
-
Rob Swindell authored
format '%ld' expects argument of type 'long int', but argument 7 has type '__off64_t'
-
Rob Swindell authored
'%lu' expects argument of type 'long unsigned int', but argument 5 has type 'off_t
-
Rob Swindell authored
For non-authenticated SMTP clients, if the "From:" header field contains a "name" which appears to be an email address (i.e. it has an '@' in it), and that address does not match the *actual* address in the "From:" field, reject the mail with an error message about the forged/mismatched address.
-
- Nov 04, 2020
-
-
Rob Swindell authored
I noticed that when executing an external JS with the new "Use Shell / New Context" option set to "Yes", that any expressions (strings) installed via js.on_exit() were not being executed upon exit from the script. These on-exit strings are important for restoring global state information (e.g. control key pass-through, console mode) to the original state before the JS mod made any changes. I'm not sure why the special treatment of "scope == NULL" is through-out this function. Going back to v3.16, it appears this was special treatment for JS mods invoked via global hot key event (when scope != NULL). When invoking an xtrn JS mod with the new Context option, the scope argument is not NULL, so this check was defeating the parsing of the "exit_code" and the evaluation of any js.on_exit() installed expressions for no apparent reason. I can't think why global hot key events should be excluded from this logic either.
-
Rob Swindell authored
Originally, the "pause on exit" was implemented in the C++ version of sbbs_t::xtrn_sec() and not sbbs_t::exec_xtrn(). This meant that the pause option was only implemented when the prgoram was invoked from the menu and not when invoked directly (e.g. via Baja or JS exec_xtrn function). When sbbs_t::xtrn_sec() was ported to JS, that functionality was also moved to JS. But it really should have been implemented in exec_xtrn() to begin with so that regardless of how the program is invoked, that SCFG setting takes effect. Thanks to Michael Long for pointing this out.
-