Main issueshttps://gitlab.synchro.net/groups/main/-/issues2023-09-28T02:14:36Zhttps://gitlab.synchro.net/main/sbbs/-/issues/649Still seeing odd character translations in IRC2023-09-28T02:14:36ZNigel ReedStill seeing odd character translations in IRC![image](/uploads/09cc960774b38542c15e0ad3d9997944/image.png)
[17:30] <martylake> I don’t remember my password for vert :disappointed:
~~~
root@bbs:/var/log/sbbs# echo "[17:30] <martylake> I don’t remember my password for vert :("|hex...![image](/uploads/09cc960774b38542c15e0ad3d9997944/image.png)
[17:30] <martylake> I don’t remember my password for vert :disappointed:
~~~
root@bbs:/var/log/sbbs# echo "[17:30] <martylake> I don’t remember my password for vert :("|hexdump -C
00000000 5b 31 37 3a 33 30 5d 20 3c 6d 61 72 74 79 6c 61 |[17:30] <martyla|
00000010 6b 65 3e 20 49 20 64 6f 6e e2 80 99 74 20 72 65 |ke> I don...t re|
00000020 6d 65 6d 62 65 72 20 6d 79 20 70 61 73 73 77 6f |member my passwo|
00000030 72 64 20 66 6f 72 20 76 65 72 74 20 3a 28 0a |rd for vert :(.|
~~~https://gitlab.synchro.net/main/sbbs/-/issues/648websocketservice should not be writing files to /tmp2023-11-24T14:26:30ZNigel Reedwebsocketservice should not be writing files to /tmpwebsocketservice.js: ipFile = new File(system.temp_path + 'sbbs-ws-' + FServerSocket.local_port + '.ip');
This is dumping files in /tmp even though I have TempDirectory=/sbbs/tmp in sbbs.ini. websocketservice.js should honor...websocketservice.js: ipFile = new File(system.temp_path + 'sbbs-ws-' + FServerSocket.local_port + '.ip');
This is dumping files in /tmp even though I have TempDirectory=/sbbs/tmp in sbbs.ini. websocketservice.js should honor the TempDirectory override.https://gitlab.synchro.net/main/sbbs/-/issues/647Switch hard coded RBL in ircd to use a sysop defined RBL list2023-11-09T03:06:37ZKeyop TroySwitch hard coded RBL in ircd to use a sysop defined RBL listCurrently ircd uses a hard coded rbl known as dronebl to reduce spam traffic to ircd.
Suggest that dronebl is moved to a sysop configurable file of rbl's and is included as default whilst allowing the sysop to experiment with additional...Currently ircd uses a hard coded rbl known as dronebl to reduce spam traffic to ircd.
Suggest that dronebl is moved to a sysop configurable file of rbl's and is included as default whilst allowing the sysop to experiment with additional rbl's as required.
When blocking an IP, ircd should log which rbl caused which IP to be blocked.https://gitlab.synchro.net/main/sbbs/-/issues/646When using -s<number> on the command line with umonitor, Configure BBS, Confi...2023-09-25T12:06:31ZKeyop TroyWhen using -s<number> on the command line with umonitor, Configure BBS, Configure FidoNet and Edit Users no longer load via umonitorWhen using -s<number> on the command line with umonitor, Configure BBS, Configure FidoNet and Edit Users no longer load via umonitor.
Maybe this problem occurs as -s<number> is being passed to the configure BBS etc utils?
-insert is de...When using -s<number> on the command line with umonitor, Configure BBS, Configure FidoNet and Edit Users no longer load via umonitor.
Maybe this problem occurs as -s<number> is being passed to the configure BBS etc utils?
-insert is definately is copied to other utilsRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/645user_settings: Q hot key doesn't work2023-09-24T12:09:40ZNigel Reeduser_settings: Q hot key doesn't workIt worked in testing. The console.hotspot got moved and now the Q hotspot doesn't work.It worked in testing. The console.hotspot got moved and now the Q hotspot doesn't work.https://gitlab.synchro.net/main/sbbs/-/issues/644Allow and use a text.dat.local override file2023-10-26T21:34:04ZNigel ReedAllow and use a text.dat.local override fileThe wiki suggests 4 methods to overwrite text.dat entries, all require the sysop to alter either text.dat or adding lines to existing files, therefore necessitating the creation of /sbbs/mods version. Once this is done, it's more difficu...The wiki suggests 4 methods to overwrite text.dat entries, all require the sysop to alter either text.dat or adding lines to existing files, therefore necessitating the creation of /sbbs/mods version. Once this is done, it's more difficult to maintain updates scripts.
Allow the sysop to create /sbbs/ctrl/text.dat.local or /sbbs/mods/text.dat.local that only includes overwrites for existing entries. This file can then be read when require("text.js"... is used and would require the user to do nothing more than add text to text.dat.local.https://gitlab.synchro.net/main/sbbs/-/issues/643system.temp_path doesn't return override directory2023-09-23T21:06:00ZNigel Reedsystem.temp_path doesn't return override directoryAccording to the wiki
~~~
TempDirectory
Default: ctrl/../temp
Override the default system “temp” directory (optional). If you do override this, do NOT use the system-wide temp dir (e.g.: /tmp or windows\temp),
~~~
In sbbs.ini I have
...According to the wiki
~~~
TempDirectory
Default: ctrl/../temp
Override the default system “temp” directory (optional). If you do override this, do NOT use the system-wide temp dir (e.g.: /tmp or windows\temp),
~~~
In sbbs.ini I have
~~~
# grep TempDirectory /sbbs/ctrl/sbbs.ini
TempDirectory = /sbbs/tmp/
~~~
However:
~~~
Time Used: 0:14:26 -> Main Menu -> ;
eval system.temp_path
Result (string): /tmp/
~~~
I feel this should return /sbbs/tmp since that is where I want sbbs to write temporary files. There seems no other way to access this TempDirectory assigned path.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/642Poll ballots seen with more than the allowed maximum number of answers2024-03-22T07:20:23ZRob SwindellPoll ballots seen with more than the allowed maximum number of answersPosting a poll and specifying a maximum number of answers per ballot (e.g. limiting to 1 answer out of 4 possible answers), when that poll message is subsequently imported into QWKnet nodes, it appears that user can cast ballots with mor...Posting a poll and specifying a maximum number of answers per ballot (e.g. limiting to 1 answer out of 4 possible answers), when that poll message is subsequently imported into QWKnet nodes, it appears that user can cast ballots with more the maximum number of votes per ballot (i.e. selecting more answers than the pollster desired).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/641umonitor for linux uses more than expected CPU2023-09-21T00:23:32ZKeyop Troyumonitor for linux uses more than expected CPUSeeing this in top on Magnum:
1735357 sbbs 20 0 99900 7072 1748 S 13.2 0.1 431:53.04 umonitor
So on my BBS, thats 13.2% of an Intel(R) Xeon(R) D-2141I CPU @ 2.20GHz
And on EOTL:
2303058 bbs 20 0 305076 17228...Seeing this in top on Magnum:
1735357 sbbs 20 0 99900 7072 1748 S 13.2 0.1 431:53.04 umonitor
So on my BBS, thats 13.2% of an Intel(R) Xeon(R) D-2141I CPU @ 2.20GHz
And on EOTL:
2303058 bbs 20 0 305076 17228 4184 S 17.3 0.4 0:04.06 umonitor
Should umonitor be using so much CPU?
Is there an opportunity to optimise umonitor when its just sat in monitor mode (default start up)?Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/640SBBSecho doesn't expand sole-LFs in body text to CRLF2023-09-20T21:06:30ZRob SwindellSBBSecho doesn't expand sole-LFs in body text to CRLFLinefeed characters are optional and should be ignored in FidoNet (per FTS-1), so messages stored in the message bases without carriage returns on new-lines don't necessarily view correctly on all FidoNet nodes/readers.
SBBSecho should ...Linefeed characters are optional and should be ignored in FidoNet (per FTS-1), so messages stored in the message bases without carriage returns on new-lines don't necessarily view correctly on all FidoNet nodes/readers.
SBBSecho should have the option to convert sole-LFs in exported message bodies to either CRLF or just CR.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/639Stop logon programs showing in xtrn menus2023-09-20T19:33:28ZNigel ReedStop logon programs showing in xtrn menusI don't like the fact that programs that run during logon have to be in an xtrn menu, for example, for bullseye to run during logon, it must be in one of the online program menus.
Also, the sysop doesn't seem to have any control over t...I don't like the fact that programs that run during logon have to be in an xtrn menu, for example, for bullseye to run during logon, it must be in one of the online program menus.
Also, the sysop doesn't seem to have any control over the order these programs are executed.
Maybe add a new scfg section for "logon/logoff programs" that are only to be run at those times, allow the user to specify the order in which they run, access levels, and the like, but keep them separate from the xtrn programs.https://gitlab.synchro.net/main/sbbs/-/issues/638Can't Control-C during a file search2023-11-11T21:39:25ZKeyop TroyCan't Control-C during a file searchScenario:
[T]ransfer menu, [S]earch for a file, [A]ll files, enter some random text and press enter.
The BBS then trawls through every file area looking for said file, but will not let a user break out via Control-C.
User has to wait ...Scenario:
[T]ransfer menu, [S]earch for a file, [A]ll files, enter some random text and press enter.
The BBS then trawls through every file area looking for said file, but will not let a user break out via Control-C.
User has to wait until 100% completion.
Desired outcome - allow the user to escape using Control-C during the file search activity.Eric OulashinEric Oulashinhttps://gitlab.synchro.net/main/sbbs/-/issues/637uselect in js returns 0 for 1 or cr2024-03-22T07:20:23ZNigel Reeduselect in js returns 0 for 1 or crAs per irc, please change the way uselect returns for numbers vs return.As per irc, please change the way uselect returns for numbers vs return.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/636ddfilearea chooser2023-10-09T19:55:21ZNigel Reedddfilearea chooserWhen I go to "J" to jump to new area
Select Fidonet
/NODELIST
to search for areas containing NODELIST
I get a list of 7 groups, however there is no navigation bar so I cannot select any of them.
This may (or may not) have to do with usi...When I go to "J" to jump to new area
Select Fidonet
/NODELIST
to search for areas containing NODELIST
I get a list of 7 groups, however there is no navigation bar so I cannot select any of them.
This may (or may not) have to do with using a : in the name to create levels.
if I go to CSCN and then do
/NODELIST
is shows my 4 groups whether it contains NODELIST or not.Eric OulashinEric Oulashinhttps://gitlab.synchro.net/main/sbbs/-/issues/635Using ddfilelister.js as loadable module with default.js command shell: When ...2023-09-17T01:39:33ZEric OulashinUsing ddfilelister.js as loadable module with default.js command shell: When quitting out of ddfilelister, the message "Empty directory." is shownIf ddfilelister.js is set up as a loadable module, then when doing a file list, when the user presses Q to quit out of ddfilelister, the message "Empty directory." is displayed. That appears to be one of the strings in text.dat, and ddf...If ddfilelister.js is set up as a loadable module, then when doing a file list, when the user presses Q to quit out of ddfilelister, the message "Empty directory." is displayed. That appears to be one of the strings in text.dat, and ddfilelister does not contain that string, nor does ddfilelister reference that string from text.dat.
This does not happen when using my own custom JS command shell. In my command shell, to list files, I'm calling bbs.list_files();
Output when quitting ddfilelister in this case (pressing Q to quit, or arrowing over to the Quit option and pressing enter):
~~~
░▒▓███████████████▌Info▐▌View▐▌Batch▐▌DL▐▌Move▐▌DEL▐▌?▐▌Quit▐██████████████▓▒░
Empty directory.
[Hit a key]
~~~
ddfilelister can be set up as a loadable module in SCFG:
~~~
Scan Dirs ../xtrn/ddfilelister/ddfilelister.js
List Files ../xtrn/ddfilelister/ddfilelister.js
~~~
I'm not sure I have enough information to know why this is happening. In default.js, line 247 seems to be what evaluates the JS (which in this case initiates the file list), and the "Empty directory" message appears after the command is evaluated:
~~~
if(menu_cmd.eval)
eval(menu_cmd.eval);
~~~
- "Empty Directory." message appears here, after ddfilelister runs and the user quits out of it
The JS comes from the file_menu object, and on line 124, it defines this for L:
~~~
'L': { eval: 'shell.list_files()' },
~~~Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/634Make new @code values available to user.2023-09-15T20:33:08ZNigel ReedMake new @code values available to user.In reference to 629 which created various @-codes, namely:
TERMTYPE
TERMCOLS
TERMROWS
SHELL
EDITOR
PROTNAME
Since the processing for these is already done, it should be easy to expose these to jsexec ? Again, it would mean not having t...In reference to 629 which created various @-codes, namely:
TERMTYPE
TERMCOLS
TERMROWS
SHELL
EDITOR
PROTNAME
Since the processing for these is already done, it should be easy to expose these to jsexec ? Again, it would mean not having to write routines for what already exists.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/633DD: Doesn't seem to be marking read mail as read2023-10-18T01:46:59ZNigel ReedDD: Doesn't seem to be marking read mail as readIn DDMsgReader I select an email and read it. All good.
I quit then go into view Unread messages and the message I read is showing.
I'm using this as my menu option.
~~~
case 'U': // Read your un-read mail
...In DDMsgReader I select an email and read it. All good.
I quit then go into view Unread messages and the message I read is showing.
I'm using this as my menu option.
~~~
case 'U': // Read your un-read mail
bbs.read_mail(MAIL_YOUR, user.number, LM_UNREAD|LM_REVERSE);
~~~
Let me know if I shoudl be calling it with a different set of parameters.Eric OulashinEric Oulashinhttps://gitlab.synchro.net/main/sbbs/-/issues/632DD: search personal email2023-10-18T01:44:40ZNigel ReedDD: search personal emailJust a niggly cosmetic thing.
![image](/uploads/a3b53eff01105509574be1c8c683e146/image.png)
The hit a key should be on the next line after aborted.
Also, when I hit a key, it tells me to hit a key again.
![image](/uploads/ec54409f9ab...Just a niggly cosmetic thing.
![image](/uploads/a3b53eff01105509574be1c8c683e146/image.png)
The hit a key should be on the next line after aborted.
Also, when I hit a key, it tells me to hit a key again.
![image](/uploads/ec54409f9abf74643c704c7461e93273/image.png)Eric OulashinEric Oulashinhttps://gitlab.synchro.net/main/sbbs/-/issues/631CTRL C in bbs.select_editor() returns "None"2024-03-22T07:20:23ZNigel ReedCTRL C in bbs.select_editor() returns "None"select_editor works in direct contast to how select_shell works.
If you're in the editor selector and press CTRL-C to abort, it returns as if you had not selected an edit (I guess returns 0) therefore the editor shows up as "None".
I b...select_editor works in direct contast to how select_shell works.
If you're in the editor selector and press CTRL-C to abort, it returns as if you had not selected an edit (I guess returns 0) therefore the editor shows up as "None".
I believe the correct result would be to return the current shell and only have "None" if the user should select no external editor.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/630core in term2024-03-22T07:20:23ZNigel Reedcore in termUnfortunately, this happened 3 days ago and couldn't tell you what I was trying to do at the time, if anything.
~~~
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1"....Unfortunately, this happened 3 days ago and couldn't tell you what I was trying to do at the time, if anything.
~~~
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--c
Core was generated by `/sbbs/exec/sbbs d'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 getnextevent (cfg=0x7f9577b58bc8, event=0x7f94ffbfd3b0) at data.cpp:153
153 if(!cfg->event[i]->node || cfg->event[i]->node>cfg->sys_nodes
[Current thread is 1 (Thread 0x7f94ffbff640 (LWP 1531491))]
(gdb) bt
#0 getnextevent (cfg=0x7f9577b58bc8, event=0x7f94ffbfd3b0) at data.cpp:153
#1 0x00007f958c837076 in sbbs_t::gettimeleft (this=0x7f9577b58800, handle_out_of_time=true) at data.cpp:190
#2 0x00007f958c861e5f in sbbs_t::getkey (this=0x7f9577b58800, mode=1) at getkey.cpp:110
#3 0x00007f958c845fe1 in sbbs_t::exec (this=0x7f9577b58800, csi=0x7f9577b6aad8) at exec.cpp:1855
#4 0x00007f958c96193c in node_thread (arg=0x7f9577b58800) at main.cpp:4305
#5 0x00007f958c4b9b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6 0x00007f958c54ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
~~~Rob SwindellRob Swindell