Subtext: a multi-user BBS server for Macintosh Written by joshua stein - http://jcs.org/subtext Subtext is free software; see the LICENSE file for copyright/licensing. Introduction ================================================================== Subtext is a multi-user BBS server that is developed and runs on Macintosh System 6 and above. It supports dialin access through a serial modem and Telnet access through MacTCP. For full documentation, see the GUIDE file. Support ================================================================== Updates to Subtext are published on the Kludge BBS and can be downloaded on the World Wide Web at http://jcs.org/subtext For questions and support running a Subtext BBS, connect to the Kludge BBS by Telnet/Web at klud.ge, or modem at +1-312-654-0090. The source code for Subtext can also be found on AmendHub at http://amendhub.com/jcs/subtext Release History ================================================================== 4.0 - 2024-02-19 - Move views out of database to flat files in a "views" directory, allowing them to be edited by other text editors and backed up; views are cached at startup and can be reloaded through the sysop menu - Speed up telnet IAC negotiation to avoid delay after connect, avoid doing NEWENV unless talking to the trusted proxy - Add BSD Syslog (RFC3164) support, sending all logged events to a configured syslog server - When opening the last-opened database at startup, if the Command key is held down, do not open it and prompt for a different one - Add support for {{center_XX}} template variable - Remove ATQ0 from default modem init string to be able to handle when the modem responds to init with an error - When tossing FTN packets, log failures and move files to the "bad" directory, then send local mail to sysop - Add page number to prompt in boards menus - Prevent running daily pruning jobs if system clock year is less than 2024, to avoid pruning all mail and sessions if the clock gets reset - Fix 'new'/'signup' logins not going directly to the signup menu - Fix bug in modem handling where a session wasn't properly disassociated when the session was forcefully closed - Fix location lookup when connecting through the trusted proxy 3.1 - 2023-11-21 - In "who" command, show which area of the BBS each user is currently in - Add a "logged_in_time" template variable, helpful for signoff template showing how long the user was logged in for - Find proper per-message originating and destination net/zone numbers from FTN messages when different than FTN packet header - Properly handle skip commands received from binkp servers to end the session and retry later - Abort idle binkp connections in case of server issues - Set the software major version in outgoing FTN packets and use the proper code for software that has not been assigned an id such as Subtext - Include the actual timestamp of FTN packet files when sending through binkp - Fix a bug encoding FTN packets with the wrong termination - Fix a bug where tossing FTN packets was adding messages for areas not subscribed to into the previously used board - Fix a bug in the console where an assertion was erroneously triggered when the cursor was at the far corner but in bounds 3.0 - 2023-11-11 - Add support for using an IP geolocation database to lookup connecting telnet IP addresses and log their location, storing it in the session log and making it available in 'who' and 'last' menus - Dynamically apply config changes made from the sysop menu without requiring a restart - Add a config setting to change the number of rings to wait before answering the modem, possibly to allow for caller ID information to come through after the first ring which will get logged - Add '&D2' (hangup on DTR flash) to default modem initialization string to make it clear we need it for proper hangup - Do faster sorting in many places - Allow "guest", "new", and "signup" logins to be made in mixed-case - Add 'l' key in post view in boards to list posts, and 's' to show the post again - In sysop settings menu, make 'q' stop pagination at the 'more' prompt - Fix a bug in sysop settings editor that could have caused config corruption if the sesion was disconnected before exiting/saving the editor - Do more TCP connection status checks during binkp connections to detect dropped connections - Fix a bug in pagination that caused extra newlines to be shown in certain terminals, and a bug that caused incorrect wrapping when the first character of a post was a newline - Fix a bug in boards that was causing '>' not to work in some cases - Fix text selection and copying in the logger window 2.0.1 - 2023-05-02 - Fix corrupted default menu options that prevented first launch - Minor telnet and ZMODEM compatibility fixes 2.0 - 2023-05-01 - Add support for FTN (FidoNet) EchoMail and NetMail, with support for fetching from and sending to a Binkp hub, including PKZIP archives of packets - Move mail to a separate database file for easier backup and less chance of corrupting the user database - Implement sysop paging/answering, which displays the user's message on the screen with a beep - Implement custom "NoModem" protocol for file transfers, used when a host is connecting through the trusted host assuming this is a web gateway - List more items per screen in boards, files, and sysop, and change input handler to collect multiple digits - List newest mail first and a global setting to automatically prune mail after a configurable amount of days - Add option to sysop menu to forcefully hangup/reset the modem, and an option to reboot the system - Add timezone UTC offset setting, use to convert timestamps in FTN messages to local timezone, and add a "timezone" template variable - Add setting for separate maximum idle time for sysops (which can be set to 0 to disable idling out sysop sessions) - Mask password fields in sysop settings menu - Add BOARD_LIST_BOARDS command for main menu, which lists all local boards - Faster session log pruning, and fix a bug where failed logins were still being written to the session log - Fix SHA1 checksum calculation for uploaded files and show occasional progress during calculation - Implement folder file description/notes editing and add an option for sysop to recalculate SHA1 checksum before saving - Try to handle malloc failures gracefully everywhere rather than exiting 1.1 - 2022-12-01 - Fix crash that could occur when more than one user is in chat, one user quits chat, and then remaining users continue to chat - Fix problem when running under non-MultiFinder where subsequent runs would fail with errors opening board and folder databases because they were not properly closed on the first run 1.0 - 2022-11-22 - Initial release!