AmendHub

Download: |

jcs

/

subtext

 

(View History)


BBS server for classic Mac OS

jcs   telnet: Speed up initial IAC negotiation to avoid delay after connect

Name Last Commit Last Modified
AddressXlation.h *: Lots of little cleanup 1 year ago
GUIDE session: Add support for {{center_XX}} template variable 9 days ago
LICENSE LICENSE: Add 1 year ago
MacTCP.h *: Lots of little cleanup 1 year ago
README README: Fix 3.1 release date 16 days ago
ansi.c ansi: Fix panic message 8 months ago
ansi.h session: Don't run all session_printf formats through expand_template 1 year ago
bile.c bile: Sync with upstream 2 months ago
bile.h bile: Cope with malloc/realloc failures gracefully when possible 9 months ago
binkp.c binkp: Handle packet tossing better 10 days ago
binkp.h binkp: Remember when we failed connecting and delay next poll 21 days ago
board.c board: For new FTN messages posted locally, just toss them 16 days ago
board.h board: For new FTN messages posted locally, just toss them 16 days ago
chat.c session+chat: Finally implement sysop paging/answering 7 months ago
chat.h session+chat: Finally implement sysop paging/answering 7 months ago
console.c user: Add user_first_sysop_id() 10 days ago
console.h focusable: Introduce focusable objects 1 year ago
crc.c crc: Fix UpdateCRC32 macro, move tables into C file 1 year ago
crc.h crc: Add explicit casting to UpdateCRC like UpdateCRC32 1 year ago
db.c *: Move views out of database to flat files 9 days ago
db.h *: Move views out of database to flat files 9 days ago
dnr.c dnr: Don't require a pointer to a pointer for DNSResolveName 7 months ago
fidopkt.c fidopkt: Fix return value when aborting parse early 5 days ago
fidopkt.h fidopkt: A single packet can have multiple messages in it 8 months ago
focusable.c focusable: Allow add_focusable to fail 9 months ago
focusable.h focusable: Allow add_focusable to fail 9 months ago
folder.c folder: Faster sort 2 months ago
folder.h binkp: Import unseen messages into boards with matching fidonet_area 9 months ago
ipdb.c ipdb: Log when the database has been loaded 16 days ago
ipdb.h ipdb: Add IP geolocation database lookup module 5 months ago
logger.c logger: Fix text selection and copying 29 days ago
logger.h logger: There will only be one, stop passing object around 1 year ago
mail.c mail: Add mail_to_sysop() 10 days ago
mail.h mail: Add mail_to_sysop() 10 days ago
main.c main: Remove redundant uthread_yield in periodic job thread 5 days ago
main_menu.c *: Move views out of database to flat files 9 days ago
main_menu.h *: Move views out of database to flat files 9 days ago
nomodem.c nomodem: Read upload data from ibuf in chunks to speed it up a little 7 months ago
nomodem.h nomodem: Read upload data from ibuf in chunks to speed it up a little 7 months ago
puff.c puff: Add small inflate module from zlib 9 months ago
puff.h puff: Add small inflate module from zlib 9 months ago
serial.c serial: Nullify session on init, catch init string errors 10 days ago
serial_local.h *: Do config changes on the fly, restarting modules as needed 28 days ago
session.c session: Add support for {{center_XX}} template variable 9 days ago
session.h session: Note each session's current area, show it in 'who' menu 20 days ago
settings.c *: Move views out of database to flat files 9 days ago
settings.h *: Move views out of database to flat files 9 days ago
sha1.c *: Move some big char buffers from the stack to the heap 1 year ago
sha1.h sha1: Import from OpenBSD 1 year ago
sha2.c sha1: Import from OpenBSD 1 year ago
sha2.h sha1: Import from OpenBSD 1 year ago
signup.c *: Move views out of database to flat files 9 days ago
signup.h signup: Add interactive user account creation 1 year ago
strcasecmp.c strcasecmp: Add from OpenBSD 1 year ago
subtext.h *: Move views out of database to flat files 9 days ago
subtext.π.r Rez: Remove views menu, this will be 3.2 9 days ago
sysop.c *: Move views out of database to flat files 9 days ago
sysop.h session: Add session_menu, use it everywhere 1 year ago
tcp.c tcp: Add copyright header 8 months ago
tcp.h dnr: Don't require a pointer to a pointer for DNSResolveName 7 months ago
telnet.c telnet: Speed up initial IAC negotiation to avoid delay after connect 5 days ago
telnet.h *: Do config changes on the fly, restarting modules as needed 28 days ago
tetab.c tetab: Remove, no longer needed 9 days ago
tetab.h tetab: Remove, no longer needed 9 days ago
user.c user: Add user_first_sysop_id() 10 days ago
user.h user: Add user_first_sysop_id() 10 days ago
user_settings.c *: Add more prompt help strings 8 months ago
user_settings.h session: Don't set default terminal type, if node doesn't, prompt user 1 year ago
uthread.c uthread: Add uthread_wakeup 9 months ago
uthread.h uthread: Add uthread_wakeup 9 months ago
util.c util: In progress, if string looks like it will wrap, move text up 7 months ago
util.h util: Add Unix/Mac timestamp conversion macros 23 days ago
zip.c zip: Make zip_read_file return an error code depending on failure 8 months ago
zip.h zip: Make zip_read_file return an error code depending on failure 8 months ago
zmodem.c zmodem: Set ZP0 to something in ZRINIT 7 months ago
zmodem.h *: Move some big char buffers from the stack to the heap 1 year ago

README
Subtext: a multi-user BBS server for Macintosh
Written by joshua stein <jcs@jcs.org> - 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
==================================================================
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!