Synchronet merge requestshttps://gitlab.synchro.net/main/sbbs/-/merge_requests2024-03-22T07:20:24Zhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/228DDMsgReader v1.57: @-code expansion only when sender is a sysop (and only whe...2024-03-22T07:20:24ZEric OulashinDDMsgReader v1.57: @-code expansion only when sender is a sysop (and only when reading personal email)DDMsgReader v1.57: @-codes were only expanded when reading personal mail; now, DDMsgReader also checks to make sure the sender is a sysop. Also, used putmsg() in place of this script's own @-message parsing when displaying some of the c...DDMsgReader v1.57: @-codes were only expanded when reading personal mail; now, DDMsgReader also checks to make sure the sender is a sysop. Also, used putmsg() in place of this script's own @-message parsing when displaying some of the configured text strings.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/227SlyEdit v1.82: Added some safety checks when reading the configuration file (...2024-03-22T07:20:24ZEric OulashinSlyEdit v1.82: Added some safety checks when reading the configuration file (that section of code was refactored recently).SlyEdit v1.82: Added some safety checks when reading the configuration file (that section of code was refactored recently).SlyEdit v1.82: Added some safety checks when reading the configuration file (that section of code was refactored recently).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/226DDMsgReader: When replying to a message, @-codes are now expanded in the quot...2022-12-02T20:56:01ZEric OulashinDDMsgReader: When replying to a message, @-codes are now expanded in the quote file.DDMsgReader: When replying to a message, @-codes are now expanded in the quote file.DDMsgReader: When replying to a message, @-codes are now expanded in the quote file.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/225Resize fTelnet for msweeper to support level 52024-03-22T07:20:24ZRick ParrishResize fTelnet for msweeper to support level 5Resize the fTelnet window to 80x35 if msweeper is being launched, which is large enough to support a full level 5 gameResize the fTelnet window to 80x35 if msweeper is being launched, which is large enough to support a full level 5 gamehttps://gitlab.synchro.net/main/sbbs/-/merge_requests/224Updated the SlyEdit documentation for version 1.81 (forgot yesterday). Also ...2024-03-22T07:20:24ZEric OulashinUpdated the SlyEdit documentation for version 1.81 (forgot yesterday). Also updated the default SlyEdit.cfg to use the English dictionary (for spell check).Updated the SlyEdit documentation for version 1.81 (forgot yesterday). Also updated the default SlyEdit.cfg to use the English dictionary (for spell check).Updated the SlyEdit documentation for version 1.81 (forgot yesterday). Also updated the default SlyEdit.cfg to use the English dictionary (for spell check).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/223Display error if user can't read requested sub2024-03-22T07:20:24ZRick ParrishDisplay error if user can't read requested subI bookmarked a few subs, and when I loaded the bookmarks later I was unexpectedly shown the group list in one of the tabs. I realized this was because I wasn't signed in and so didn't have permission to read the one sub.
This change ...I bookmarked a few subs, and when I loaded the bookmarks later I was unexpectedly shown the group list in one of the tabs. I realized this was because I wasn't signed in and so didn't have permission to read the one sub.
This change adds a message to make it clear why the group list is being shown instead of the expected sub.https://gitlab.synchro.net/main/sbbs/-/merge_requests/222SlyEdit: No more control characters needed in the color configuration files2022-11-26T23:37:45ZEric OulashinSlyEdit: No more control characters needed in the color configuration filesSlyEdit v1.81: The color configuration files now can just specify attribute characters, without the control character. Also, refactored the ReadSlyEditConfigFile() function (in SlyEdit_Misc.js).SlyEdit v1.81: The color configuration files now can just specify attribute characters, without the control character. Also, refactored the ReadSlyEditConfigFile() function (in SlyEdit_Misc.js).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/221Good Time Trivia: Hosted inter-BBS user scores (via JSON DB) is now possible.2022-11-26T23:37:17ZEric OulashinGood Time Trivia: Hosted inter-BBS user scores (via JSON DB) is now possible.Good Time Trivia v1.01: Added the ability to store & retrieve scores to/from a server, so that scores from multiple BBSes can be displayed. There are also sysop functions to remove players and users from the hosted inter-BBS scores. Als...Good Time Trivia v1.01: Added the ability to store & retrieve scores to/from a server, so that scores from multiple BBSes can be displayed. There are also sysop functions to remove players and users from the hosted inter-BBS scores. Also, answer clues now don't mask spaces in the answer.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/220DD Message Reader: Fixed bug startup mode for scanning all groups for un-read...2022-11-26T00:41:19ZEric OulashinDD Message Reader: Fixed bug startup mode for scanning all groups for un-read messages to you where the reader was bringing up personal email instead.DD Message Reader: Fixed bug startup mode for scanning all groups for un-read messages to you where the reader was bringing up personal email instead.DD Message Reader: Fixed bug startup mode for scanning all groups for un-read messages to you where the reader was bringing up personal email instead.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/219Update registration page for closed and newuser password systems2022-11-26T07:53:53ZRick ParrishUpdate registration page for closed and newuser password systemsStyles the newuser password prompt the same as all the other text fields on the form, and also moves it to the top of the form (no point for a user to fill out the rest of the form once they realize they don't have the newuser password)....Styles the newuser password prompt the same as all the other text fields on the form, and also moves it to the top of the form (no point for a user to fill out the rest of the form once they realize they don't have the newuser password).
Also hides the form and rejects submission attempts for closed systems.echickenechickenhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/218Revert "Update GNUmakefile"2022-11-20T23:20:12ZRick ParrishRevert "Update GNUmakefile"This reverts commit 1887e589355a515ca30c651120b0ee6a13fd4e22This reverts commit 1887e589355a515ca30c651120b0ee6a13fd4e22https://gitlab.synchro.net/main/sbbs/-/merge_requests/217This is a new trivia door, Good Time Trivia, written in JavaScript2022-11-19T02:17:45ZEric OulashinThis is a new trivia door, Good Time Trivia, written in JavaScriptThis is a new trivia door, Good Time Trivia, written in JavaScript. This has a question-and-answer format and can give the user multiple tries to answer each question, with clues provided after incorrect answers (the clue will start off...This is a new trivia door, Good Time Trivia, written in JavaScript. This has a question-and-answer format and can give the user multiple tries to answer each question, with clues provided after incorrect answers (the clue will start off with a totally masked answer, and then reveal one letter at a time for each incorrect answer given).
This is currently a single-player game, but multiple users on different nodes can play it simultaneously.
Currently, this trivia game is local to the current BBS only. In the future, I think it would be good to add a feature for networked/inter-BBS games, or perhaps a question server so that systems can dynamically download new questions.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/216DD message area chooser only: Bug fixes for numeric input in lightbar mode an...2022-11-08T05:46:02ZEric OulashinDD message area chooser only: Bug fixes for numeric input in lightbar mode and number of posts in traditional modeDD message area chooser only: Bug fix for numeric input when choosing a sub-board. Bug fix for getting the number of posts with the traditional user interface.DD message area chooser only: Bug fix for numeric input when choosing a sub-board. Bug fix for getting the number of posts with the traditional user interface.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/215Message area chooser only: Made use of the 'posts' property for the number of...2022-11-05T05:34:45ZEric OulashinMessage area chooser only: Made use of the 'posts' property for the number of messages (without vote headers)Message area chooser only: Made use of the 'posts' property in msg_area.sub[sub-code] (or msg_area.grp_list.sub_list) for the number of posts without votes, if that property exists (it was added in Synchronet 3.18c)Message area chooser only: Made use of the 'posts' property in msg_area.sub[sub-code] (or msg_area.grp_list.sub_list) for the number of posts without votes, if that property exists (it was added in Synchronet 3.18c)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/214Do not define Darwin SDL entrypoints if SDL is disabled2022-11-06T18:02:42ZanonymouspageDo not define Darwin SDL entrypoints if SDL is disabledThe SDL related initialization functions should only be
compiled in if SDL has also been enabled in the build.
This was discovered after getting build errors on macOS
with SDL disabled.The SDL related initialization functions should only be
compiled in if SDL has also been enabled in the build.
This was discovered after getting build errors on macOS
with SDL disabled.DeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/213checkStamp: prevent array size promotion/truncation2022-11-06T17:59:15ZanonymouspagecheckStamp: prevent array size promotion/truncationCalls to checkStamp are passing literals that are not 20 bytes
in size. This causes a "promotion" of the size in the context
of checkStamp. We can quiet these warnings by just marking the
parameter as a pointer.
Note: a safer approach w...Calls to checkStamp are passing literals that are not 20 bytes
in size. This causes a "promotion" of the size in the context
of checkStamp. We can quiet these warnings by just marking the
parameter as a pointer.
Note: a safer approach would be to pass a pointer and length.
This was detected by gcc 11.2.0:
ooii.c:1018:9: error: 'checkStamp' accessing 20 bytes in a region of size 11 [-Werror=stringop-overflow=]
...DeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/212syncterm: use shutdown() ahead of close() for rlogin/ssh2022-11-06T17:56:16Zanonymouspagesyncterm: use shutdown() ahead of close() for rlogin/sshUsing only close() on a socket has a few issues:
(1) poll is not required to wake on such events leading to hangs
if infinite timeouts are used.
This can be observed in macOS:
(a) syncterm -iC
(b) connect via teln...Using only close() on a socket has a few issues:
(1) poll is not required to wake on such events leading to hangs
if infinite timeouts are used.
This can be observed in macOS:
(a) syncterm -iC
(b) connect via telnet to some system
(c) use the menu to disconnect from the system
Note: socket must be idle to reproduce.
(2) If a blocked recv/send receives an error in response to a close
from another thread, the context of the socket has been lost: the
descriptor is free to be reallocated under the thread performing
I/O by the system. Any retry logic that may be written in response
to the error condition could lead to operations being performed
on a valid but incorrect resource.
(3) Processes that inherited the socket via fork() will still have
a valid descriptor to the socket. i.e., the socket does not
globally shutdown via a call to close(); however, shutdown()
acts on the connection by triggering a TCP FIN. This will lead
to the actual shutdown of the socket by the remote connection
as well.
Solution:
Use shutdown() ahead of close(). This will initiate a proper shutdown
sequence on the socket while leaving the descriptor open. poll() will
wake, and a subsequent read or write will yield the desired EOF/EPIPE.DeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/211ciolib_movetext: Do not leak fill buffer2022-11-06T17:35:39Zanonymouspageciolib_movetext: Do not leak fill bufferThis fixes a memory leak in ciolib_movetext() which accumulates
memory very quickly in scroll heavy ncurses environments. The
problem was originally noticed while running syncterm, and
confirmed with valgrind.
valgrind confirmation:
1...This fixes a memory leak in ciolib_movetext() which accumulates
memory very quickly in scroll heavy ncurses environments. The
problem was originally noticed while running syncterm, and
confirmed with valgrind.
valgrind confirmation:
17,310,720 bytes in 368 blocks are definitely lost in loss record 128 of 128
at 0x8C82899: malloc
by 0x16E273: ciolib_movetext (ciolib.c:563)
<<snip>>DeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/210DDMsgReader: Added a mouse click hotspot for ? for message list mode2024-03-22T07:20:20ZEric OulashinDDMsgReader: Added a mouse click hotspot for ? for message list modeDDMsgReader: Added a mouse click hotspot for ? for message list modeDDMsgReader: Added a mouse click hotspot for ? for message list modeRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/209DDMsgReader: Refactored how email replies are done (passing the header to the...2024-03-22T07:20:20ZEric OulashinDDMsgReader: Refactored how email replies are done (passing the header to the appropriate functions, not using ungetstr() when prompting for the message subjectDDMsgReader v1.55: Refactored how email replies are done (passing the header to the appropriate functions, not using ungetstr() when prompting for the message subjectDDMsgReader v1.55: Refactored how email replies are done (passing the header to the appropriate functions, not using ungetstr() when prompting for the message subjectRob SwindellRob Swindell