Main issueshttps://gitlab.synchro.net/groups/main/-/issues2023-06-04T22:38:14Zhttps://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/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 Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/553The `_ (500 ms delay) guru.dat code causes pauses before any typing/response ...2023-04-21T02:42:08ZRob SwindellThe `_ (500 ms delay) guru.dat code causes pauses before any typing/response is given (instead of during/interspersed)These Guru delays are supposed to be expanded/take-effect in the middle of the response (like thinking time), not before.
Not sure how long this has been broken, but presumably for a very long time now. The logic that's parsing the ` co...These Guru delays are supposed to be expanded/take-effect in the middle of the response (like thinking time), not before.
Not sure how long this has been broken, but presumably for a very long time now. The logic that's parsing the ` codes is where the delay is taking place and this code is then stripped from the string that is then sent/typed back to the user as a response.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/549Make max message-draft age, configurable2023-04-14T01:56:45ZRob SwindellMake max message-draft age, configurableCurrently this max-age is hard-coded to 48 hours (2 days), after which any saved draft message is ignored. Make this duration configurable, in days.Currently this max-age is hard-coded to 48 hours (2 days), after which any saved draft message is ignored. Make this duration configurable, in days.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/540add ssh passphrase authentication2023-04-04T01:36:52ZNigel Reedadd ssh passphrase authenticationA couple of users have enquired about using passphrases for ssh login to the BBS. I could see how the editor could be used to create a xxxx.pub file in the /sbbs/data/user directory that'll be their public key.A couple of users have enquired about using passphrases for ssh login to the BBS. I could see how the editor could be used to create a xxxx.pub file in the /sbbs/data/user directory that'll be their public key.https://gitlab.synchro.net/main/sbbs/-/issues/539Updates fail when SBBSCTRL directory is a symlink2023-03-26T23:57:41ZMichael J. RyanUpdates fail when SBBSCTRL directory is a symlink/sbbs/exec (hard directory)
/sbbs/ctrl -> symlink to /other/ctrl
SBBSCTRL=/sbbs/ctrl
When trying to run the update js script, it complains that it cannot find ../exec/SOMEFILE
----
I suspect that it's either following the symlink whe.../sbbs/exec (hard directory)
/sbbs/ctrl -> symlink to /other/ctrl
SBBSCTRL=/sbbs/ctrl
When trying to run the update js script, it complains that it cannot find ../exec/SOMEFILE
----
I suspect that it's either following the symlink when it changes directory, or the JS engine for the working directory is using the symlink'd directory's path, not SBBSCTRL. In either case, updates completely fail trying to move from 3.19 to 3.20.https://gitlab.synchro.net/main/sbbs/-/issues/537"Prev" option when searching for extended info/descriptions of files doesn't ...2023-03-19T20:29:36ZRob Swindell"Prev" option when searching for extended info/descriptions of files doesn't move backwards through search resultsThe menu option was added in v3.19 but appears to only work when listing extended file descriptions, not searching.The menu option was added in v3.19 but appears to only work when listing extended file descriptions, not searching.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/533Feature request: Enhance netmail CRASH sending capability2023-03-11T02:49:15ZKeyop TroyFeature request: Enhance netmail CRASH sending capabilityPresently there are two ways to send a CRASH netmail to a destination:
1. Add a specific route to a destination via SCFG which uses CRASH and overrides any default routing (e.g. via a HUB).
2. Add "CR:" to the beginning of the subject l...Presently there are two ways to send a CRASH netmail to a destination:
1. Add a specific route to a destination via SCFG which uses CRASH and overrides any default routing (e.g. via a HUB).
2. Add "CR:" to the beginning of the subject line.
Proposed enhancement:
1. If a sender of a netmail has the necessary privileges to send CRASH netmail, prompt if CRASH is required as part of constructing a netmail. e.g. "Would you like to mark this netmail as CRASH? (y/n)"
2. If a recipient receives a CRASH netmail, and chooses to reply and that BBS user has CRASH privileges, then prompt the user if they want to use CRASH netmail, instead of having to add "CR:" to the beginning of each subject line in their reply. A similar prompt to the suggestion above could be used.https://gitlab.synchro.net/main/sbbs/-/issues/529[Feature] Screen Size Checks after login2023-03-21T00:23:00ZMichael J. Ryan[Feature] Screen Size Checks after loginWould be nice if the screen size were re-checked at a few locations, as well as having a JS method that can recheck/block.
For instance, if a user resizes their terminal while reading messages, it would be nice if before re-showing or s...Would be nice if the screen size were re-checked at a few locations, as well as having a JS method that can recheck/block.
For instance, if a user resizes their terminal while reading messages, it would be nice if before re-showing or showing the next message the system does a screen size check.
Similarly, it would be nice to have a JS function on the console object that does the same.https://gitlab.synchro.net/main/sbbs/-/issues/524TickIT doesn't use the Archive class2024-02-18T21:26:59ZFernando ToledoTickIT doesn't use the Archive classI try to setup a nodelist handler for amiganet, these come in lha format
I have added the archiver and it works ok with the files from the library
![imagen](/uploads/8f6f2659b773ef2ee4f413936f1a02c1/imagen.png)
I test on tickit.cfg wit...I try to setup a nodelist handler for amiganet, these come in lha format
I have added the archiver and it works ok with the files from the library
![imagen](/uploads/8f6f2659b773ef2ee4f413936f1a02c1/imagen.png)
I test on tickit.cfg with both nodelist_handler and file_handler with same results:
```
[AMYLIST]
Dir=amn_amylist
SourceAddress=39:943/1@amiganet
ForceReplace=true
Handler=tickit/nodelist_handler.js
HandlerArg={"domain":"amiganet", "match":"AmyList.l*", "nlmatch":"AmyList.*"}
;Handler = tickit/file_handler.js
;HandlerArg = { "match": "AmyList.l*", "files": [{ "source": "Amylist.*", "destination": "/sbbs/fido/NODELIST.AMIGANET" }]}
```
it seems that the part of code that tries to detect the archiver is not working for this case
```
Object.keys(ctx.sbbsecho.packer).forEach(function(key) {
var i;
var sig = '';
f.position = ctx.sbbsecho.packer[key].offset;
for (i=0; i<ctx.sbbsecho.packer[key].sig.length; i+=2) {
sig += format("%02X", f.readBin(1));
if (f.eof)
break;
}
if (sig === ctx.sbbsecho.packer[key].sig)
unpack = ctx.sbbsecho.packer[key].unpack;
});
f.close();
if (unpack == undefined) {
log(LOG_DEBUG, "Unable to identify packer for '"+tic.file+"'");
return false;
}
```
I attach a AmyList.l48 nodelist example that came from my boss.
[AmyList.l48](/uploads/4f200dfa9dbe27939d5e68a697ba0a74/AmyList.l48)https://gitlab.synchro.net/main/sbbs/-/issues/517Allow user/sysop to choose their own "from" name/address for Internet emails2023-03-05T01:25:08ZRob SwindellAllow user/sysop to choose their own "from" name/address for Internet emailsA system may have multiple mail domains, a sysop or special-exempt user may want to specify their own on a per-email basis or even choose their default (e.g. their configured netmail address).A system may have multiple mail domains, a sysop or special-exempt user may want to specify their own on a per-email basis or even choose their default (e.g. their configured netmail address).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/514Add ability for sexpots to run external program and pass cid parameters2023-02-18T22:04:05ZNigel ReedAdd ability for sexpots to run external program and pass cid parametersIn the [TCP] section, I would like to be able to run an external program rather use a telnet connection. I should be able to pass number. name, time and date from callerid and connect message, so may need to way to tell sexpots what to l...In the [TCP] section, I would like to be able to run an external program rather use a telnet connection. I should be able to pass number. name, time and date from callerid and connect message, so may need to way to tell sexpots what to look for before carrier detected.
Example
<code>
Feb 9 01:46:01 wibble sexpots-line1: Received from modem: 'NMBR=203'
Feb 9 01:46:01 wibble sexpots-line1: Modem Message: NMBR=203
Feb 9 01:46:01 wibble sexpots-line1: Received from modem: 'DATE=0209'
Feb 9 01:46:01 wibble sexpots-line1: Modem Message: DATE=0209
Feb 9 01:46:01 wibble sexpots-line1: Received from modem: 'TIME=0145'
Feb 9 01:46:01 wibble sexpots-line1: Modem Message: TIME=0145
Feb 9 01:46:01 wibble sexpots-line1: Received from modem: 'NAME=Line 3'
Feb 9 01:46:01 wibble sexpots-line1: Modem Message: NAME=Line 3
</code>
maybe have something like NUMBER="NMBR=" and DATE="Date=" etc. I don't know if all caller ids produce the same format.
Anyway, you get the idea, I'm sure. Thank you.https://gitlab.synchro.net/main/sbbs/-/issues/512Difficult to delete draft message without using it2023-02-09T01:04:54ZRob SwindellDifficult to delete draft message without using itOnce a draft message has been saved, it's exceedingly difficult for a user to get rid of it without creating a new message.Once a draft message has been saved, it's exceedingly difficult for a user to get rid of it without creating a new message.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/511Auto message as a messagebase2023-02-08T21:10:09ZRob SwindellAuto message as a messagebaseIf the auto message was a message base (i.e. display only the latest message), it'd enable:
- deleting the current message would auto revert to the previous (non-deleted) message
- meta data stored in (and displayed from) message header ...If the auto message was a message base (i.e. display only the latest message), it'd enable:
- deleting the current message would auto revert to the previous (non-deleted) message
- meta data stored in (and displayed from) message header rather than part of the message
- allow voting, replying, quoting (traditional message base functions)
- full message authoring tools (message editors)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/505msglist.js doesn't support (new) message-scans2023-01-30T00:51:11ZRob Swindellmsglist.js doesn't support (new) message-scansConsider if msglist.js how/can support being installed as a "Scan Msgs" module.Consider if msglist.js how/can support being installed as a "Scan Msgs" module.Rob SwindellRob Swindell