- Dec 12, 2020
-
-
Rob Swindell authored
Allows reporting of branch/commit that was used to build the code. If for some reason building without 'git', you'll need these 2 files to already exist somehow - still need to work that out (e.g. for daily built-source archives). Need to update the Windows build to generate these files now.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
This fixes issue #194 reported by mlong.
-
- Dec 11, 2020
-
-
Rob Swindell authored
Always use the return value of term_supports(), which correctly supports pre-logon and auto-terminal-capability-detection, rather than useron.misc for all door drop file generation. This should resolve the issue recently discussed in #synchronet with regards to a user getting non-ANSI output from door games even when using an ANSI-capable terminal.
-
Rob Swindell authored
When forwarding a single-part MIME-encoded HTML email, the preamble (original message header info) and any user comments, need to be HTML-encoded. Add the commonly-used "Fwd: " prefix to the default message subject, when forwarding. This required that smb_getplaintext() no longer always-NULLify the message's text_subtype (e.g. "html"). For single-part messages, this element was getting freed and NULLed. Add/use a new SMBLIB convenience function to add a string header field, but only if non-NULL: smb_hfield_string()
-
- Dec 10, 2020
-
-
Rob Swindell authored
Since we're calling smb_getplaintext() manually here, and its not going to return the comment headers as part of the plain-text (the way smb_getmsgtxt() can), so we need to display find/display the comment headers first.
-
Rob Swindell authored
The new messages subject may be passed into forwardmail(). If it isn't, it'll be prompted for (defaulting to the original message subject). Also, fix forwarding to QWKnet (look-up full-route/to-user-number).
-
Rob Swindell authored
‘%s’ directive writing up to 255 bytes into a region of size between 103 and 128 reported by Nelgin.
-
Rob Swindell authored
smb_getmsgtxt() returns any "comment" headers as part of the message body text, and has since 2003. When I added mail->netmail (stored message) export support to SBBSecho v3, I duplicated this logic, so comment headers were added *twice* to exported netmail messages. Oops. I didn't notice until today when playing with forwarding-to-netmail (FTN). Also noticed and fixed: any comment headers in posted messages (unlikely/uncommon) would not be exported to EchoMail messages. Use the correct smb_getmsgtxt() mode flags ("NO_TAILS" instead of "BODY_ONLY") - I know, not great names.
-
Rob Swindell authored
No longer derive the new message header from the original - too many problems. Simplified the forwarding support smblib (multiple SENDER* and RECIPIENT* header fields no longer expected/supported). Technically, the FORWARDED header field really serves no important purpose now. A comment can be passed into forwardmail() or (if NULL), will be prompted for. There is an issue where the added comment can be obscured by the receiving mail program if the original message is a multi-part MIME message. Not sure the best solution for that. Still a WIP in that regard.
-
- Dec 09, 2020
-
-
Rob Swindell authored
Only do the local user notification when appropriate. Signal the FTN netmail semaphore when appropriate.
-
Rob Swindell authored
Closes #83, #108, #141. Still to do: expose via JS (e.g. for use in msglist.js).
-
Rob Swindell authored
Copy some code from atcodes.cpp to show all the aux and network attributes. Also, the MsgAttr text.dat string only contains 17 %s's but we were passing 18, so the last attribute (KillSent) would never be shown. Instead, split this into 3 strings and just pass those 3 strings to the MsgAttr format string along with a ton of blank strings. So we don't have to keep updating the MsgAttr text.dat string every time we add more attribute flags (that was kind of ridiculous).
-
Rob Swindell authored
New JS User.stats properties: - read_mail_waiting - unread_mail_waiting - spam_waiting New @-codes: - MAILR (read mail waiting) - MAILU (unread mail waiting) And the corresponding MAILR# and MAILU# codes (for non-current user's stats). Addresses feature request #191.
-
- Dec 08, 2020
-
-
Rob Swindell authored
... as pointed out by Nelgin. You can toggle more than one sub-board/directory's "template" option to "Yes". But only the first such sub/dir is actually the template, so only indicate the first such sub with a splat ('*').
-
- Dec 07, 2020
-
-
Rob Swindell authored
There is no actual TCP-client when a timed event is executing, so don't create one in the JS context when the socket is invalid.
-
- Dec 06, 2020
-
-
Rob Swindell authored
- FREESPACEM - Mebibytes - FREESPACEG - Gibibytes - FREESPACET - Tebibytes Mr. Millionaire's request.
-
Rob Swindell authored
printfile() assumes you want the file displayed starting in column 0, so will send a CRLF to insure that it does (unless the P_NOCRLF mode flag is specified). But this CRLF printing was happening before the file was opened and when the P_NOERROR mode flag is specified, this should be a silent failure with no print output. So move the CRLF printing to *after* the file is opened. This expose an issue in the latest xtrn_sec.js where it makes several calls to bbs.menu() with the P_NOERROR mode flag set, expecting nothing to happen if/when the optional display files (e.g. xtrn*_tail.*) don't exist. Reported by JC via IRC.
-
Rob Swindell authored
When system.new_user() was called but the current "client" object is uninitialized (e.g. has NULL protocol, host or IP address fields because there is no active client, e.g. because is was called from a timed event with active user online) - this code would dereference a NULL pointer and crash the b0rad. Reported by Mortifis.
-
Rob Swindell authored
- MSG_THREAD_ID - MSG_THREAD_BACK - MSG_THREAD_NEXT - MSG_THREAD_FIRST for John (JCBBS). Not sure what you're going to use these for, but there you have them. <shrug> :-)
-
- Dec 04, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
The default is still full-streaming mode. The default can be changed by setting [ZMODEM] MaxWindowSize in sexyz.ini to a maximum window size to use by default (e.g. "100K"). Additionally, a [ZMODDEM] TargetWindowSize can be set to a duration (e.g. 60s) to dynamically adjust the maximum window size to match the through-put rate while keeping the outstanding data in-flight to an estimated "duration". When TargetWindowSize is used, the MaxWindowSize only specifies the *initial* maximum window size. The new '-w' command-line option can be used to control Window Management support (e.g. over-riding the .ini set default) - by using '-w' or '-w0', Window Management won't be used or by using '-w<max-size>', a maximum window size will be imposed (subject to the TargetWindowSize setting mentioned above). <max-size> can be specified in bytes or multiples (e.g. "-w100K"). Ths option is similar to the [l]sz '-w' option except no space is expected between '-w' and the (optional) max-size value. Also new, when receiving [ZMODEM] FullDuplex can be set to FALSE to disable streaming mode: if the RecvBufSize is not set (0), the sender should use the subpacket data length (block size, e.g. 1K) as the segment size. Otherwise, setting FullDuplex=FALSE should produce the same behavior as setting the RecvBufSize would before (the result being the use of "segmented ZMODEM" instead of "streaming ZMODEM"). All sexyz command-line options are case-sensitive now (not just the 'cmds'). A lot of code clean-up in zmodem.c. Incremented zmodem.c rev to 2.0. Incremented sexyz version to 3.0.
-
Rob Swindell authored
-
- Dec 03, 2020
-
-
Rob Swindell authored
If no description is given, just make the default/short description, literally, "No description given" - rather than refusing to add the file.
-
- Dec 02, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
I don't think the function xtrn_access() *ever* existed, but this prototype seems to have been around forever.
-
Rob Swindell authored
Like bbs.text(), except the "system" object is more widely available (e.g. in JSexec, mail server, web server, services) - in case any text.dat strings are useful in those execution environments tool. Requested by mlong. Also cleaned up the argument validation in some of these other system methods (throw useful error exceptions rather than just returning false).
-
Rob Swindell authored
It enables the keyboard insert mode by default (for Nelgin).
-
Rob Swindell authored
The "DOS" ARS keyword was always evaluating to false, on all platforms, for the C version of chk_ar(), which is used for populating JS *_area objects and for the User.compare_ars() implementation. Unfortunately, the startup (sbbs.ini) "NO_DOS" option is not recognized here (yet), so it'll report true (e.g. for Win64 or Linux systems with DOSemu) even if/when the NO_DOS option is set.
-
Rob Swindell authored
e.g. don't log the error "term !ERROR resolve_ip example.com failed with error -2", just let the script deal with the failure and log an error if it wishes.
-
- Dec 01, 2020
-
-
Rob Swindell authored
Pre-increment would've worked too.
-
Rob Swindell authored
... or when passed an invalid external program code or number, rather just just returning false. The underlying exec_xtrn() C++ function may return false (failure) for other reasons, so let's not obfuscate the other potential failure causes.
-
Rob Swindell authored
cmdstr() is often called for non-executable command-lines (e.g. for @include: file name/path arguments), so don't default to native unless a mode value was specified. Hopefully addresses issue reported by bobrob without breaking anything else (again).
-
Rob Swindell authored
This reverts commit 1597e9a9.
-
- Nov 30, 2020
-
-
Rob Swindell authored
Always check the command-line for a '*' or '?' prefix and compare the executed filename against the native program list. For DOSEMU magic drive/path name command-line specifier substitution, but only when invoking DOS programs. Reported by bobrob via IRC.
-
Rob Swindell authored
xmodem_cancel() would return an error if putcom() failed, *before* setting the "cancelled" [sic] flag. xmodem_cancel() in response to the receipt of a remote cancel request (^X character).
-
- Nov 29, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
Don't do the DOSEMU drive-letter dance for xtrn startup directory if the xtrn's command line is implicitly native (e.g. Baja or JS). Also, recognize Baja command-lines as native in cmdstr() - for %n, %!, etc. DOSemu expansion hack.
-