Main issueshttps://gitlab.synchro.net/groups/main/-/issues2023-08-21T14:21:30Zhttps://gitlab.synchro.net/main/sbbs/-/issues/605No QWK mail (and no error/warning) if call out node is invalid2023-08-21T14:21:30ZRick ParrishNo QWK mail (and no error/warning) if call out node is invalidI just noticed I haven't been receiving QWK mail since Aug 10th, and traced it back to the fact that I used to run with 10 nodes, but on Aug 10th I reduced that to 4 nodes.
The problem was that I stupidly set my QWK call out node to 10,...I just noticed I haven't been receiving QWK mail since Aug 10th, and traced it back to the fact that I used to run with 10 nodes, but on Aug 10th I reduced that to 4 nodes.
The problem was that I stupidly set my QWK call out node to 10, so after reducing the node count to 4 the call out node was invalid. As far as I can tell there were no errors or warnings displayed anywhere, so it took awhile until I finally noticed the call out node value and fixed it.
Assuming it's not already logged somewhere and I just missed it, could an error be logged when an invalid call out node is detected?Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/598mqtt: output topic not conducive to nodered/html output2023-08-15T02:05:23ZNigel Reedmqtt: output topic not conducive to nodered/html outputWhen using the output topic to spy on a node, it's not very readable due to ansi graphics codes and characters.
![image](/uploads/59e438e19ef75a0f577677d18f708131/image.png)
I can only think of pre-formatting the output by either
1: Re...When using the output topic to spy on a node, it's not very readable due to ansi graphics codes and characters.
![image](/uploads/59e438e19ef75a0f577677d18f708131/image.png)
I can only think of pre-formatting the output by either
1: Removing all escape codes, including color and graphics so it's readable
2: Convert colors and graphics, as much as possible, to html
It could be possible to change output to have something like
sbbs/+/node/+/output/raw (as it comes)
sbbs/+/node/+/output/html (preformatted html)
sbbs/+/node/+/output/stripped (plain old text with no color/graphics)
This would allow different users to pick whatever format works for them.
I considered the amount of data and it's not really a lot unless you've got 10 users bombarding each other!Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/599Publishing with MQTT QOS level 2 doesn't work2023-08-09T05:38:16ZRob SwindellPublishing with MQTT QOS level 2 doesn't workAt least when using the MQTT object (e.g. via mqtt_pub.js and -q 2 option), publishing with QOS level 2 doesn't actually publish anything. The same test with mosquitto_pub -q 2 seems to work fine.At least when using the MQTT object (e.g. via mqtt_pub.js and -q 2 option), publishing with QOS level 2 doesn't actually publish anything. The same test with mosquitto_pub -q 2 seems to work fine.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/588SCFG in X11 mode defaults to tiny font/size on 4K monitor2023-07-30T11:22:31ZRob SwindellSCFG in X11 mode defaults to tiny font/size on 4K monitorSee https://web.synchro.net/scfg%20small.png for exampleSee https://web.synchro.net/scfg%20small.png for exampleRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/596war crashes when game.save.json is 0 bytes2023-07-26T21:00:02ZNigel Reedwar crashes when game.save.json is 0 bytesWhen trying to run war or warupd, it'll cash with an error in line 135 of warcommon.js
As a workaround, change into the worlds directory and then look in each subdir for a 0 length game.save.json file and delete it. Run the game again a...When trying to run war or warupd, it'll cash with an error in line 135 of warcommon.js
As a workaround, change into the worlds directory and then look in each subdir for a 0 length game.save.json file and delete it. Run the game again and it should work.
Documenting this both as a fix and a workaround.DeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/issues/595Need workaround for possible broken tera term zmodem implimentation2023-07-26T07:05:50ZNigel ReedNeed workaround for possible broken tera term zmodem implimentationI tried to receive a file from my BBS using both ssh and telnet and received the same issue. Keyop also had a user with the same issue of hanging zmodem but wasn't able to determine the client:
~~~
Jul 26 01:56:41 bbs synchronet: term N...I tried to receive a file from my BBS using both ssh and telnet and received the same issue. Keyop also had a user with the same issue of hanging zmodem but wasn't able to determine the client:
~~~
Jul 26 01:56:41 bbs synchronet: term Node 1 <Nelgin> Executing external: /sbbs/exec/sexyz 129 -raw sz /sbbs/data/dirs/metronet/metronetmetronet/METLIST.Z21
Jul 26 01:56:41 bbs synchronet: term Node 1 <Nelgin> sexyz: Synchronet External X/Y/ZMODEM v3.0 master/f9a44f56e Copyright Rob Swindell
Jul 26 01:56:51 bbs synchronet: term Node 1 <Nelgin> sexyz: !Receive timeout (10 seconds)
Jul 26 01:56:51 bbs synchronet: term Node 1 <Nelgin> sexyz: !zmodem_send_file UNEXPECTED TIMEOUT received instead of ZRINIT
Jul 26 01:56:52 bbs synchronet: term Node 1 <Nelgin> sexyz: !zmodem_recv_hex_header HEX header not terminated with LF: 141 (8Dh)
Jul 26 01:56:52 bbs synchronet: term Node 1 <Nelgin> sexyz: !zmodem_recv_header detected an INVALID HEADER
~~~
in one case this apparently caused my user's connection to hang and didn't disconnect him when he dropped. He was told he was already logged in when attempting to login again.
All works fine with SyncTerm.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/594Feature Request - Add support for virtual ftp users and directories2023-07-19T00:12:07ZNigel ReedFeature Request - Add support for virtual ftp users and directoriesI would like to add users that can access their own directory space without having to create a BBS users.
I would create directories such as /sbbs/ftp/fred /sbbs/ftp/tom /sbbs/ftp/ethel
Then store their details in a .ini file
[fred]
d...I would like to add users that can access their own directory space without having to create a BBS users.
I would create directories such as /sbbs/ftp/fred /sbbs/ftp/tom /sbbs/ftp/ethel
Then store their details in a .ini file
[fred]
dir=/sbbs/ftp/fred
pw=fredspw
perms=pgdlco
p=put
g=get
d=delete
l=list directory
c=allowed to use cd
o = allow overwrite of existing files
The use of a .ini file would make changing passwords easier.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/593Feature Request - Add feature within SCFG to change Forward E-mail to NetMail...2023-07-15T22:13:06ZKeyop TroyFeature Request - Add feature within SCFG to change Forward E-mail to NetMail operation to allow sending to both local and internet email accountsPresently when selecting Forward E-mail to NetMail, there are two modes of operation.
1 - Send emails to the local BBS account ONLY
2 - Send emails to the user's internet email account ONLY
This feature request is to allow a third opti...Presently when selecting Forward E-mail to NetMail, there are two modes of operation.
1 - Send emails to the local BBS account ONLY
2 - Send emails to the user's internet email account ONLY
This feature request is to allow a third option of
3 - Send emails to both the local BBS account AND the user's internet email account
This could be achieved for example by:
Changing the SCFG-Message Options->Allow Forwarding to NetMail" from a toggle "Yes/No" to "Yes/No/Both".Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/591Feature Request - New user prompts, add "Should user be asked if local emails...2023-07-15T21:58:11ZKeyop TroyFeature Request - New user prompts, add "Should user be asked if local emails should be forwarded to netmails? Y/N"If SCFG->Message Options->Allow Forwarding to NetMail is enabled, then new users would be asked if they wanted this feature enabled or disabled during registration.
This request is to allow the Sysop to remove (or not as is now) this qu...If SCFG->Message Options->Allow Forwarding to NetMail is enabled, then new users would be asked if they wanted this feature enabled or disabled during registration.
This request is to allow the Sysop to remove (or not as is now) this question during new user registration.
Default (yes) should be set to retain current look & feel with option to select "No" in SCFG if required.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/586sprintf_s2023-07-09T21:57:32ZRob Swindellsprintf_sConsider a build option to use sprintf_s (C standard, but optional) instead of snprintf/safe_snprintf for build environments that support it.Consider a build option to use sprintf_s (C standard, but optional) instead of snprintf/safe_snprintf for build environments that support it.https://gitlab.synchro.net/main/sbbs/-/issues/582Named security levels2023-07-06T20:08:29ZRob SwindellNamed security levelsSimilar to how web-boards sometimes display a "title" along with a user's name (e.g. "admin", "new user", etc.), we could display a short description (e.g. in message headers, user profile viewers) that correlates with a user's security ...Similar to how web-boards sometimes display a "title" along with a user's name (e.g. "admin", "new user", etc.), we could display a short description (e.g. in message headers, user profile viewers) that correlates with a user's security level. e.g. in main.ini
```
[level:0]
desc=Nobody
[level:50]
desc=New user
[level:51]
desc=Validated user
[level:90]
desc=Co-Sysop
[level:99]
desc=Sysop
```
Fill-in/duplicate descriptions for ranges of levels?Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/574Enable address sanitizer in compilations on supported platforms/toolchains2023-06-05T17:01:32ZRob SwindellEnable address sanitizer in compilations on supported platforms/toolchainsPer https://twitter.com/JSAMcFarlane
> Whenever you see examples of 'cursed' C or C++, run it built on GCC/Clang with
-Werror -Wall -Wextra -fsanitize=undefined,address
> and see how far it gets. These flags should be enabled by ...Per https://twitter.com/JSAMcFarlane
> Whenever you see examples of 'cursed' C or C++, run it built on GCC/Clang with
-Werror -Wall -Wextra -fsanitize=undefined,address
> and see how far it gets. These flags should be enabled by default in IDEs, build systems and for testing and development.
I won't go for -Werror since that would be disruptive (compiler upgrade == broken build). -Wextra might be good, at least as an option.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/573gethostbyname is obsolete and deprecated2023-06-04T22:38:14ZRob Swindellgethostbyname is obsolete and deprecatedFrom the man page:
> The gethostbyname*(), gethostbyaddr*(), herror(), and hstrerror() functions are obsolete. Applications should use getaddrinfo(3), getnameinfo(3), and gai_strerror(3) instead.
Additionally, there was a recently-fixe...From the man page:
> The gethostbyname*(), gethostbyaddr*(), herror(), and hstrerror() functions are obsolete. Applications should use getaddrinfo(3), getnameinfo(3), and gai_strerror(3) instead.
Additionally, there was a recently-fixed bug (null-deref) in our historic use of gethostbyname() (in resolve_ip(), initially) that was copy/pasted to several other places. We should have a robust version of resolve_ip() in xpdev and reuse that everywhere we need that functionality (and add IPv6 support while we're at it).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/572Feature Request: ActivityPub Support2023-06-04T06:43:03ZChris CostakisFeature Request: ActivityPub SupportWith so much renewed interest around Mastodon, it's hard to look past the push (doesn't everything come full circle?) toward decentralization of Internet based services and the ActivityPub protocol. And now with the API changes to Twitt...With so much renewed interest around Mastodon, it's hard to look past the push (doesn't everything come full circle?) toward decentralization of Internet based services and the ActivityPub protocol. And now with the API changes to Twitter and Reddit, it feels like there's a movement back to the days of the BBS in a sense.
I don't know what specifically this would look like, but support for ActivityPub and ability to integrate with Mastodon via the SSH/Telnet and web interfaces would be pretty cool and maybe a good place to start? How about the ability to use Synchronet as a Mastodon server instance and get all of the BBS goodness that Sync offers along with the ability to have our own corner of the "Fediverse?"
Probably should have thought this through in more detail, but wanted to get the idea out there to see if there's any interest, other ideas, or reasons why this is a dumb idea! :smile:https://gitlab.synchro.net/main/sbbs/-/issues/571quotes.txt may contain Ctrl-A codes2023-06-01T20:20:47ZRob Swindellquotes.txt may contain Ctrl-A codesThese codes are unlikely to be correctly parsed/supported by most message editors.These codes are unlikely to be correctly parsed/supported by most message editors.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/203ftpsrvr: FTP LIST command with pathname does not work correctly in root direc...2023-05-31T23:09:21ZRob Swindellftpsrvr: FTP LIST command with pathname does not work correctly in root directory```
ftp> ls vert.qwk
200 PORT Command successful.
150 Opening ASCII mode data connection for /bin/ls.
450 No files
```
Similarly, wildcard pathnames don't work right when in a file library (or the root).```
ftp> ls vert.qwk
200 PORT Command successful.
150 Opening ASCII mode data connection for /bin/ls.
450 No files
```
Similarly, wildcard pathnames don't work right when in a file library (or the root).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/566Add 'Echolist' capability to Tickfix2023-05-19T15:28:04ZDaniel CloughAdd 'Echolist' capability to TickfixI'd like to be able to specify what FDN areas are visible/available to FTN downlinks. Currently a %LIST command to Tickfix will return a list of all defined file areas in tickit.ini. The problem with this is that multiple FTNs can be d...I'd like to be able to specify what FDN areas are visible/available to FTN downlinks. Currently a %LIST command to Tickfix will return a list of all defined file areas in tickit.ini. The problem with this is that multiple FTNs can be defined in that one file, and the downlink should not be able to see/connect to another FTN's file areas. With echomail (sbbsecho.ini) this is handled by using Echolists and Keys to separate out the lists of areas available to each downlink. Can that functionality be added to Tickfix?https://gitlab.synchro.net/main/sbbs/-/issues/563Replace hard-coded new user signup (sbbs_t::newuser()) with a loadable module...2023-05-08T01:51:05ZRob SwindellReplace hard-coded new user signup (sbbs_t::newuser()) with a loadable module (script)Sysops should have more freedom with new user registration ordering and logic. `exec/newuser_signup.js` is a proof of concept script created by Deuce but is now out of date/sync with newuser.cpp and incomplete.Sysops should have more freedom with new user registration ordering and logic. `exec/newuser_signup.js` is a proof of concept script created by Deuce but is now out of date/sync with newuser.cpp and incomplete.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/556Support natural sorting of filenames in file listings (e.g. rfc822.txt listed...2023-04-27T22:58:28ZRob SwindellSupport natural sorting of filenames in file listings (e.g. rfc822.txt listed before rfc2821.txt)Use this library maybe? https://github.com/sourcefrog/natsort/Use this library maybe? https://github.com/sourcefrog/natsort/Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/555User terminal config includes iCE cOLOURs, the xbin images don't work2023-04-27T17:00:39ZRob SwindellUser terminal config includes iCE cOLOURs, the xbin images don't workper Deuce: if ice colours are enabled, the xbin demo breaks and it's not clear why.per Deuce: if ice colours are enabled, the xbin demo breaks and it's not clear why.Rob SwindellRob Swindell