- Jan 05, 2021
-
-
Rob Swindell authored
For deon's use with Docker: When creating new nodes (after node 1), derive the new node directory from node 1's configured directory if possible (e.g. it has a '1' in it). So if Node 1's directory is /blah/bbsdir1, then node 2's directory will default to /blah/bbsdir2. When creating node 1 (the first node), it still defaults to "../node1".
-
Rob Swindell authored
(e.g. when run as a timed event) - this bug was introduced in the "Fix sub[] property setter" crash bug fix 2 commits ago. This fixes the "TypeError: sub.code is undefined" error.
-
- Jan 04, 2021
-
-
Rob Swindell authored
... even when there's no private data. Should fix "TypeError: sub.code is undefined"
-
Rob Swindell authored
The private data pointer is no longer a subscan_t*. This likely explains the reported crashes when using DDMsgReader and the most recent changes (fixes) to the msg_area object.
-
- Jan 03, 2021
-
-
Rob Swindell authored
-
- Jan 02, 2021
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
The following properties would only reflect the status at the time the file_area object was initialized: - can_access - can_upload - can_download - is_operator - is_exempt ... so if changes were made the user while online, for example, these property values would *not* also change to reflect the current state. The lib[] and lib_list[] 'can_access' properties still have this flaw. Also: Add a new "files" property to the dir[] and dir_list[] objects to report the current number of files in each directory database.
-
Rob Swindell authored
can_access/upload/download and is_operator similar to what we already had defined for sub-boards
-
- Jan 01, 2021
-
-
Rob Swindell authored
The following properties would only reflect the status at the time the msg_area object was initialized: - can_access - can_read - can_post - is_operator - is_moderated ... so if changes were made the user while online, for example, these property values would *not* also change to reflect the current state. The grp[] and grp_list[] 'can_access' properties still have this flaw. Also: Add a new "posts" property to the sub[] and sub_list[] objects to report the current number of posted messages (quicker than opening a MsgBase instance).
-
- Dec 31, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
Set the client protocol to "FTPS" upon successful TLS startup in the control connection (response to the AUTH TLS command from the client). Log some messages indicating FTPS was attempted or successful.
-
- Dec 30, 2020
-
-
Rob Swindell authored
This seems to be misguided and would only increase the chances of a DoS-type attack on TCP session resources. A second 3-second delay upon malloc failure is also removed.
-
Rob Swindell authored
Also, disable the QWK packet creation timeout edit when QWK packet download support is disabled.
-
Rob Swindell authored
Support optional limit on concurrent connections from the same IP address to the FTP server by setting MaxConcurrentConnections in the [ftp] section of sbbs.ini. Unlike the mail server and the terminal server, this concurrent-connection count is not discounted by the number of authenticated logins. The default value is 0 (unlimited). This closes issue #156
-
Rob Swindell authored
Each list mutex is destroyed in the call to listFree() in cleanup(). Without a call to listInit(), the mutex is not recreated and thus the lists are no longer mutex-protected after a recycle. No negative consequences were observed from this issue, but a potential issue it is (was).
-
- Dec 29, 2020
-
-
Rob Swindell authored
Don't search more than 1500 days in the future for a next-run date match. This handles erroneous or just bizarre timed event configurations such as February-29 (once ever leap year) or April-31 (never).
-
- Dec 28, 2020
-
-
Rob Swindell authored
Don't set to 0xff to begin with, in SCFG.
-
Deucе authored
-
- Dec 27, 2020
-
-
Rob Swindell authored
Print the Mbyte estimate.
-
Rob Swindell authored
.. when packing a QWK packet (on Win32, was always reported 0 messages per second).
-
Rob Swindell authored
A bit of redundant code cleanup, no expected functional change.
-
Rob Swindell authored
Leave it to new users to do weird stuff and define a mail-forward loop. Outsmart them and don't allow forwarding when the destination is a local address (QWKnet, FidoNet, or Internet).
-
- Dec 25, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
Exposes the FTN BBSID value from the message header (if there is one).
-
Rob Swindell authored
Update to previous commit.
-
Rob Swindell authored
Advertise the system's QWK-ID (a.k.a. BBS ID) in exported echomail messages. This will allow correlation of avatars that were imported via SYNCDATA carried via QWKnet (e.g. DOVE-Net) with messages imported from those same BBSes via FTN. The alternative was to have SYNCDATA Avatar messages include all the AKAs of each BBS (in the body text), but that was looking like a rather complicated solution. This approach (the BBSID kludge) seems a much simpler solution. I still need to implement the JS side of this solution however (for avatar lookups using the FTN BBSID), but this was the first important step.
-
- Dec 23, 2020
-
-
Rob Swindell authored
-
- Dec 22, 2020
-
-
Rob Swindell authored
The days of browsers rendering HTML served-up via FTP are over, so remove this feature. This also removes all JavaScript support from the FTP server and that is a bit odd as it was one of the first Synchronet components for which I added JS support. Removing this feature was pretty painless; much easier than adding it was. The main motivation was less cruft to port to the file base in the works. There should be no more references to 00index.html anywhere at this point. Bye bye cool feature, we'll miss you.
-
- Dec 21, 2020
-
-
Rob Swindell authored
Jump the time forward (in 24-hour chunks) to find the next date/time the event will run rather than just adding 24-hours and assuming it's an event that runs every day (of the week or month) at a specific time. Also, expose the next-run-date/time for an event as a new `next_run` property for `xtrn_area.event[]` (in `time_t` format) for easier debugging of these kinds of issues. Also expose the error log level as a new property: `error_level` while we're here.
-
Rob Swindell authored
-
Rob Swindell authored
We only use NSPR to build libmozjs, not to build sbbs. So define our own MIN and MAX macros if they're not already defined (e.g. from sys/param.h on *nix). Such a simple can o' worms, but wormful can it was.
-
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.
-