- Nov 23, 2022
-
-
Rob Swindell authored
De-duplication wasn't working
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
A periodic (e.g. weekly) digest of high scores posted to SYNCDATA will allow BBSes to have an accurate list of global high scores without requiring the retention of several years of SYNCDATA messages. Also, made the necessary changes to allow: 'jsexec minesweeper.js export' (for testing, primarily) When posting an exception report, post from sysop if user.alias is undefined. Incremented revision to 2.15 (though there were no game-play changes).
-
- Nov 20, 2022
-
-
Rob Swindell authored
Fix issue #457 May as specify that .asc and .msg are text too, though no known reason why CRLF EOLs may be more desireable.
-
Rob Swindell authored
js_open() sets the rval for the context (e.g. to JSVAL_TRUE), so we need to set it back to JSVAL_FALSE for failure conditions. Otherwise, the methods always return true even upon (save-msg) failure.
-
- Nov 19, 2022
-
-
Rob Swindell authored
If nodeX/node.cnf has the wrong node number, the [R] flag would be cleared from the wrong node upon automatic configuration reload. This likely fixes the issue that Keyop is reporting in #synchronet
-
Rob Swindell authored
This is a new trivia door, Good Time Trivia, written in JavaScript See merge request !217
-
-
- Nov 15, 2022
-
-
Deucе authored
This is for weird embedded systems where RTS is not supported by the communications channel, but is actually controlling something else (TX, Bootloader update mode, etc).
-
- Nov 08, 2022
-
-
Rob Swindell authored
DD message area chooser only: Bug fixes for numeric input in lightbar mode and number of posts in traditional mode See merge request !216
-
DD message area chooser only: Bug fixes for numeric input in lightbar mode and number of posts in traditional mode
-
- Nov 07, 2022
-
-
Deucе authored
-
- Nov 06, 2022
-
-
Deucе authored
@anonymouspage reported it broken in !212.
-
Deucе authored
Reported by @anonymouspage, closes !211 Clean up formatting in the touched functions while we're here.
-
- Nov 05, 2022
-
-
Rob Swindell authored
Message area chooser only: Made use of the 'posts' property for the number of messages (without vote headers) See merge request !215
-
Message area chooser only: Made use of the 'posts' property for the number of messages (without vote headers)
-
- Nov 04, 2022
-
-
Rob Swindell authored
My hub (1:218/700) is currently having what appears to be a TCP/IP connectivity issue that was resulting in infinite "Send failure" log messages and "We got an M_EOB, but there are still N files pending M_GOT" log messages. I first added better socket-send failure detection (checking return value of sendCmd() and sendData() where needed) and then noticed that failure to send a file was not detected (the sending.file.position is advanced even if sendData() fails), so now handling that condition too. Also added more diagnostics around socket-send failures (is socket writable?) in this particular case, the socket is not writable and socket-send is returning 0.
-
- Oct 24, 2022
-
-
Rob Swindell authored
This adds a Ctrl-A code in the notification subject, so needs latest postmsg.cpp or that Ctrl-A code will end up in your email/inbox too (not really supported or stripped when sent over POP/SMTP).
-
Rob Swindell authored
We may want Ctrl-A sequences in the telegram subject, but not in the message subject
-
Randy Sommerfeld authored
-
- Oct 23, 2022
-
-
Rob Swindell authored
Will notify the sysop via email and telegram when a new user account has been created. For Morpheus (MORPHEUS)
-
Rob Swindell authored
... unless a comma is actually required.
-
Rob Swindell authored
Somehow, new users on Vertrauen *still* manage to answer "Yes" to both the QWK Networking account questions, accidentally creating a QWKnet account that's not useful for normal BBS user activities. So print a very clear "alert" style message making it even-more clear that the account they are creating will ONLY be useful for QWK Networking activities.
-
- Oct 22, 2022
-
-
Rob Swindell authored
This Coverity reported issue was previously resolved (incorrectly) with commit d02fc1a2 which also introduced a bug that ate all the unexpected cursor position report characters (causing issue #304). The correct fix was to compare the response length against the buffer size minus one, to leave room for the NUL terminator. While fixing this and issue #304, I noticed that this function was using the response length ('rsp') as both the state machine state and string length, which didn't work right if a nearly-matching report/response was received: the x/y values would have been stripped from the response before stuffing in the keyboard input buffer. So a bit of a refactor here using a proper state machine variable.
-
- Oct 21, 2022
-
-
Rob Swindell authored
Unexpected characters received (maybe typed by the user) were supposed to be stuffed in the keyboard input buffer using ungetstr(), but the input string was cleared rather than NUL-terminated before logging the expected character and calling ungetstr(), so nothing (a blank string) was logged and nothing was stuffed in the keyboard input-buffer in this case. Just an off-by-one bug. This should fix issue #304. Thanks to Keyop and Nelgin for their persistence in reporting and testing (in #synchronet at irc.synchro.net).
-
Rob Swindell authored
I didn't look closely enough at which write() call I was instrumenting. This is now more useful, though I think we already found the root-cause based on different log output ("Unexpected ansi_getxy response").
-
Rob Swindell authored
This just resulted in a lot of unhelpful noise in the log output
-
Rob Swindell authored
When reading and writing characters to chat files, log each with a debug-level log message. If a read or a write fails, log with an error-level log message. This will hopefully help root-cause and resolve issue #304.
-
- Oct 20, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
- Oct 19, 2022
-
-
Rob Swindell authored
-
- Oct 12, 2022
-
-
Deucе authored
-
- Oct 11, 2022
-
-
Rob Swindell authored
Untested, but matches implementation from https://github.com/veeso/termiWin/blob/master/src/termiWin.c and declare function in comio.h
-
- Oct 10, 2022
-
-
Rob Swindell authored
Rather than only matching exact zone numbers as a final "nearest" address search, use a "nearest zone" matching algorithm ("nearest" being the most mathematically near). This way, replying to netmail from a zone 2 address would always match a zone 1 source address, regardless of how many othernet addresses are configured and which order they are configured in SCFG. Fixes issue #447 reported by Charles Blackburn (FBOBBS)
-
- Oct 09, 2022
-
-
Rob Swindell authored
We no longer use/require the USE_DOSEMU definition anywhere else, so this was just a miss when the DOSEMU patch was perm-enabled.
-
- Oct 08, 2022
-
-
Deucе authored
sbbs3/../xpdev/netwrap.h:45:27: warning: 'parseIPv6Address' has C-linkage specified, but returns incomplete type 'struct in6_addr' which could be incompatible with C [-Wreturn-type-c-linkage] DLLEXPORT struct in6_addr parseIPv6Address(const char*); ^
-
Deucе authored
New Medium impact and a low impact issue still needs to be triaged.
-
Rob Swindell authored
Previously, when a user disconnected or ran out of time while running a stdio-based external program on *nix, if the program was still running, we'd send it a SIGHUP, wait up to 10 seconds for the process to terminate and if it did not, terminate it (ungracefully) with SIGKILL. Since some programs catch SIGTERM (and not SIGHUP) to indicate a termination request, we now will first attempt a SIGHUP, wait up to 5 seconds for the process to terminate and if it does not, then send a SIGTERM and wait up to another 5 seconds for it to terminate and if it doesn't, then finally send it a SIGKILL (which cannot be caught and always results in an ungraceful termination of the child process). This doesn't resolve any specific problem with any specific stdio-based external program, but I was playing around with ESR's port of Adventure (https://gitlab.com/esr/open-adventure) and a new auto-save/restore of game state and noticed that we weren't using SIGTERM for this situation, though we should have. Most modern programs, if they catch SIGHUP at all, use it to indicate a refresh of configuration or data files, not a termination request (or indication that a user has "hung up"). So SIGTERM is more reasonable to be expected to be caught and initiate the graceful termination of the child program that we're hoping for.
-
- Oct 07, 2022
-
-
Rob Swindell authored
Per Deon (ALTERANT) via DOVE-Net: Oct 7 09:47:16 d-11-1 synchronet: srvc 0060 BINKPS connection accepted from: 2402:1f00:8101:b3c:1000::2 port 55338 Oct 7 09:47:16 d-11-1 synchronet: srvc 0060 BINKPS TLS ERROR 'Server certificate has expired' (-3) setting private key Oct 7 09:47:16 d-11-1 synchronet: srvc 0060 BINKPS TLS ERROR 'Data has not been initialised' (-11) setting session active Which was odd, because my cert was renewed. I forced renewed it, and confirmed it was valid, but they were still failing. I noticed that letsyncrypt only recycles the web, which is probably the issue. Once I recycled everything, binkps connections started working again.
-