- Dec 21, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
Thanks to TRMB for being the guinea pig, I see now that REP packets can't be opened in append mode because we write and then seek back and write some more in msgtoqwk(). Oops.
-
Rob Swindell authored
length... for WitNik.
-
Rob Swindell authored
18 years, 10 months ago I introduced a bug whereby .MSG files in outgoing REP packets were *always* truncated before newly-exported messages were added. Even though the log message would say "Updating /path/to/HUBID.REP" (rather than the usual "Creating ...") it was actually truncating the .MSG file, thus discarding any existing messages that were not previously successfully sent (!). I'm not sure what the problem was I was trying to solve at the time (some "Unix .rep creation bug") - but the change I made at the time was most definitely was not the correct fix. :-( How I noticed this problem was the HEADERS.DAT Conference Number check I added to qwk_parse_header_list() back in August of 2019. I've been catching/logging those errors here on Vertrauen and collecting *.rep.bad files from occasional QWKnet node-submitted REP packets, but I didn't look into the cause until today: the HEADERS.DAT and VOTING.DAT files were being correctly appended even though the .MSG file was being truncated, so the files would be out-of-sync and this was the root-cause of the crossed-up message bodies/headers seen on DOVE-Net a year or more ago and apparently also the cause of occasionally lost messages from QWKnet (e.g. DOVE-Net) nodes. To trigger this bug from the node side, you'd have to create a REP packet with one or more message in it and then fail to send it to your hub (e.g. VERT), for any reason. And then when you attempt another pack/call-out, the previously packed messages would be lost and the HEADERS.DAT file would contain stale/out-of-sync information. To simplify things, I'm now just using fopen(..., "ab") (append, binary) - fnopen() should not be needed when opening files in the temp_dir. In append mode, no subsequent fseek(..., SEEK_END) should be needed, so don't do that. And use fprintf() for its intended purpose.
-
Rob Swindell authored
-
Rob Swindell authored
The errno (global error number) information is not relevant for any sbbs "checking" type errors. Also, use safe_strerror() for thread-safe errno descriptions.
-
- Dec 20, 2020
-
-
Rob Swindell authored
Defaults to K_EDIT.
-
Rob Swindell authored
Technically, forward_msg() can work on any message base but really should only be used in the 'mail' base.
-
Rob Swindell authored
-
- Dec 19, 2020
-
-
Rob Swindell authored
I wanted to get this accomplished with a change to conio.props but couldn't figure out how to make that work (the .rc file has to be compiled first, so it can't be just linked).
-
Deucе authored
-
- Dec 18, 2020
-
-
Rob Swindell authored
We can always reference the old revisions if needed for something, but for now, it just serves to confuse and distract others.
-
- Dec 17, 2020
-
-
The hardcoded external.bat file has been moved to a templated /exec/external.bat which can be modified by the sysop. ENV vars are in there to be able to customize as needed. emusetup.bat is no longer needed, but still supported. The actual dosemu command line is now stored in /exec/dosemulaunch.ini and can be customized for fossil or i/o command lines. the keystroke is now only sent for i/o, and only sent as \n instead of \r which would trigger undesired behavior in certain programs. The above 2 files can also be placed in door dirs to override. ansi.com has been removed as it was not needed. default external.bat includes cmd lines for share, x00, etc. (user will still need to provide these in xtrn/dosutils).
-
Rob Swindell authored
Uses the git_branch and git_hash files created in sbbs3 (first).
-
Rob Swindell authored
-
Rob Swindell authored
Message Markup seems to be working well, so just enable by default on newly created subs (existing sub-boards aren't impacted). A sysop can always disable this option on a per sub-board basis if its a problem.
-
- Dec 14, 2020
-
-
Rob Swindell authored
This reduces the number of unnecessary recompiles of ver.cpp -> ver.o.
-
- Dec 13, 2020
-
-
Rob Swindell authored
Might as well, could be useful to display in something like umonitor in the future.
-
Rob Swindell authored
when selecting a node (data comes from node#/client.ini). For Nelgin.
-
Rob Swindell authored
-
Rob Swindell authored
One weird thing is that client_t: - has just a const char* for the protocol, so that's strdup/free'd here (consider making this a char array to simplify this API) - does not have a socket descriptor, so that value is returned - does not have local addr/port info
-
Rob Swindell authored
Was using <data_dir>/temp to check for free space. data/temp is not a normally created directory, so usually this check would fail and just report 0 bytes free space. Instead, lets check the data directory itself.
-
Rob Swindell authored
Paves the way for utilities like umonitor to show client details for node connections (e.g. IP address, hostname, connection duration, etc.)
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Recompiling ver.cpp only now, so need link ver.obj/o with the various targets now. I'll need to update the objects.mk for the *nix builds, next.
-
- Dec 12, 2020
-
-
Rob Swindell authored
Fixes the scrolled/selected position when the sysop has more than screen-full of xtrn program sections. As reported by mlong.
-
Rob Swindell authored
-
Rob Swindell authored
These are only used if you don't have a ctrl/text.dat file (it's 0-bytes in size), so I do delay committing these changes some times, nobody notices.
-
Rob Swindell authored
New @-codes: GIT_HASH and GIT_BRANCH New JS system properties: git_hash and git_branch
-
Rob Swindell authored
-
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()
-