- Mar 24, 2025
-
-
Rob Swindell authored
When a timed event is configured to run "exclusively", all nodes need to not be in in-use. As it was, after waiting 60 minutes for the online user(s) to notice they'd run out of time and disconnect, we'd just (rather ungracefully) close the sockets used by such node(s) connections. This results in same logged errors about trying to send to bad socket descriptors and provides no feedback to the user about why they were disconnected. Since we have the node interrupt flag (which hopefully, all scripts are checking via node_sync) - use that to try to more gracefully terminate the user's session/connection after 30 minutes of waiting for the user to disconnect. If after 60 minutes of waiting, the node is still in-use, we still do the socket disconnection method.
-
Rob Swindell authored
Just caught during code review
-
Rob Swindell authored
This would've prevented some JS log functions from writing to the node.log file (which gets concatented onto the daily "system" log files). This just came up via code review while looking into Keyop's reported error: term Node 2 !ERROR 9 (Bad file descriptor) in main.cpp line 4606 (node_thread) truncating "logfile" access=0 This is likely unrelated since the "logfile" is immediately re-opened after executing the external program/script.
-
- Mar 23, 2025
-
-
Deucе authored
Not sure this makes any difference, but this matches LORD2 behaviour.
-
Deucе authored
Should make issue #392 go away, but the underlying CNW bug which will cause the player that runs maint to see all NPCs remains. For CNW, maintenance should absolutely be ran as a timed event, with a real name that never gets an account. Luckily, if there's no dropfile, real name defaults to SYSOP, which should meet that criteria.
-
Rob Swindell authored
-
Deucе authored
Maybe something will end up being useful, nobody actaully seems to notice it happening though.
-
Deucе authored
Reported by Digitalman
-
- Mar 22, 2025
-
-
Rob Swindell authored
-
- Mar 21, 2025
-
-
m j authored
-
Deucе authored
Since this doesn't work, we're clearly not relying on it, so remove it. Reported by: jrtc27 via IRC
-
Rob Swindell authored
This returns bug-compatibility with attrstr(), at least for Ctrl-A chars, so that if someone is for example, assigning a Ctrl-A sequence to JS console.attributes, that'll work (again) as it did in SBBS v3.19. Any other invalid chars in the string will stop the parsing, still, even though that's not how attrstr() worked. For Kirkman's doorgame/script backward compatibility.
-
- Mar 19, 2025
-
-
Rob Swindell authored
For Wildcat (N)ewsletter command and PCBoard "NEWS" command, display "No news is good news." instead. :-)
-
- Mar 18, 2025
-
-
Rob Swindell authored
DD file & message area choosers: Name collapsing now supports an arbitrary number of levels See merge request !520
-
Eric Oulashin authored
-
Rob Swindell authored
... when using the -mail option, which probably no sysop is. Just needed to set the 'can_read' property. As reported via IRC by Accession
-
- Mar 15, 2025
-
-
Rob Swindell authored
Log errors if/when comWriteBuf() fails. This is to hopefully help to root-cause or even possibly resolve the issue reported in #synchronet by PyRoDrAkE: "It all works well until the Dialup connection runs slower than 4800 baud using SexPots. I connect from my XT at either 1200 baud or 2400 baud and it would just stop drawing midway." There shouldn't be any write timeout in comWriteBuf(), so I don't know why this would help, but it's worth a try. Logging any comWriteBuf() errors is also a good idea in general.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
and if the message is UTF-8, encode the origin line as UTF-8 too. If the message is straight ASCII (e.g. the sub-board is configured as ASCII only), convert the configured origin line to ASCII, before appending. At this time, only ASCII and CP437 encodings of originlines are supported in Synchronet (imported and exported origin lines can contain UTF-8). This should address the issue raise by Sergey Dorofeev (2:5020/12000) in the FidoNet UTF-8 echo whereby messages exported from Synchronet systems (presumably using SBBSecho) could contain a mixture of CP437 and UTF-8 encodings (!) when the sysop had CP437 chars in their configured origin line.
-
- Mar 13, 2025
-
-
Rob Swindell authored
I sent an update ("add" email), but it was rejected with "No LSM entries were found" - whatever that means.
-
Rob Swindell authored
... so yeah, most *nix sysops will get a warning about running something newer than the latest release.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
... for a version number comparison (e.g. by chksetup.js)
-
Rob Swindell authored
This file hasn't been updated in 20 years and nobody noticed. :-) I at least made a new submission (sent email) one last time before we (might) just remove this file since the the LSM database doesn't appear to be of any real use/value these days.
-
- Mar 12, 2025
-
-
Rob Swindell authored
This fixes the bug whereby if the user ever hit Ctrl-C or hit 'N' at a pause prompt, they could never see another menu / display file.
-
Rob Swindell authored
-
Rob Swindell authored
When displaying this node vstatus, the user's alias shouldn't be appended to the node status, else you get something like this: 16 Logging out Digital ManDigital Man
-
- Mar 10, 2025
-
-
Rob Swindell authored
It was possibly before for fgets() failures to be pretty hard to diagnose.
-
Rob Swindell authored
But set the error string to hopefully be printed as a warning
-
Rob Swindell authored
A sysop could hit 'q' to quit (sbbs, console mode) while the binding is taking place.
-
- Mar 09, 2025
-
-
Deucе authored
Fixes assertion on failed connects.
-
Deucе authored
Try for 16 seconds (14 loops) to load the SSL certificate. On the first time through the loop, create self-signed certificate if configured to do so. This also splits the generation of the self-signed certificate into a separate function. While we're here, split the new SSL epoch out into a separate function as well, and explicitly call it when we create a new self-signed cert. This at least partially fixes the epoch thing, but there's still the possibility of creating it multiple times in the same second... the file date isn't really enough.
-
Rob Swindell authored
For quick open/write/close log files (e.g. error.log), go back to using nopen() to insure exclusive access while writing to prevent any accidental corruption from concurrent writes from multiple threads or processes.
-
Rob Swindell authored
-
Rob Swindell authored
Default to false / No. Maybe this should default to true / Yes until a certificate (e.g. from Let's Encrypt) is successfully provisioned? Anyway, this is just a quick-hack to address the issue where a sysop's CA-sigend certificate may be overwritten with a self-signed certificate if for some reason Synchronet can't find/read the ssl.cert file. See issue #881.
-
Rob Swindell authored
-
Rob Swindell authored
-