- Dec 12, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
To be sure these buggers are always created for every build that includes the 'all' target. Perhaps these should be creatd in build or an output dir and maybe for all projects (not just sbbs3) - but will ponder tomorrow.
-
Rob Swindell authored
-
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
even when GETMSGTXT_PLAIN mode flag is used and the message contains a MIME-encoded plain-text portion. Obviously the GETMSGTXT_NO_HFIELDS exception still applies. The fixed problem was when forwarding a MIME-encoded email, the forwarding information (and user comment, if supplied) could be suppressed/lost.
-
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
Use ctime_r() to dump the forwarded date/time. Correct some other unsafe uses of ctime() here (replace with cime_r). Fix the accidental reference to the GPL license (it's actually LGPL for smblib).
-
Rob Swindell authored
The convenience pointers to_ext and to_net need to be invalidated (nullified) if we are going to allow forwarding from local email boxes to network mail and keep all the original message header fields in tact. The "Forwarded" field must now be added *before* any new recipient information (local user extension or network address of the forwarding destination). This is part of the solution to request #83, #108, and #141.
-
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
xp_inet_pton() now sets the socket errno value, doing as instructed by the TODO.
-
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 05, 2020
-
-
Rob Swindell authored
Rename the portable inet_pton() to xp_inet_pton() and define a wrapper macro (for all Widows builds) to use it instead of inet_pton() as not all supported Windows systems (e.g. WinXP) have an inet_pton() implementation. This allows the HAProxy mod to be re-enabled by default without preventing executing on WinXP.
-
Rob Swindell authored
This reverts commit 6a8a2b9b.
-
- Dec 04, 2020
-
-
Rob Swindell authored
This code does not currently work on WinXP: "The procedure entry point inet_pton could not be located in the dynamic link library WS2_32.dll" That could likely be addressed using GetProcAddress(), but for now, I want to get to the bottom of a *different* issue reported on a WinXP system, so need to this disabled. Define HAPROXY_SUPPORT in your build if you need this feature compiled in right now.
-
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).
-