AmendHub

jcs

/

subtext

/

amendments

/

session.c

Amendments on June 17, 2022

session: Don't run all session_printf formats through expand_template

session_expand_template is only needed for actual template views and
is pretty expensive. We only really need support for bolding and
resetting in session_printf.
This had the side effect of converting all bare \r's in session_printf
to \r\n, which screwed up ANSI output that was trying to just jump
back to the beginning of the line, like chat output.
jcs made amendment 155 about 1 year ago

Amendments on June 16, 2022

telnet: Make listening more resilient, add IP banning

MacTCP doesn't make it easy to detect when a listening socket has a
valid connection, or when it doesn't. Sometimes the connection is
accepted but then closed, sometimes TCPStatus returns a
connectionDoesntExist error, sometimes an open connection lingers in
TCP Wait. All of these were contributing to us no longer opening a
listening socket after some period of time accepting and closing
connections.
When bots try to login with a banned username, add their IP to a
ring buffer of IPs that we won't service. Unfortunately there is no
way to actually block these connections before they are accepted, so
we have to accept them, check the IP, and then close them right away.
jcs made amendment 150 about 1 year ago

Amendments on June 15, 2022

session: Do session close log from each node type

jcs made amendment 143 about 1 year ago

Amendments on June 13, 2022

session: Remove session_output_string, enforce login timeout

jcs made amendment 142 about 1 year ago

Amendments on June 12, 2022

session: Cleanup after banned username login

jcs made amendment 138 about 1 year ago

session: Close on banned username login attempt, track logged-in status

Ignore sessions that haven't logged in yet, and don't show guest
username in 'who' and logs.
Also show whether a user is a sysop in 'who'.
jcs made amendment 137 about 1 year ago

session: Turn sessions array into a static array of pointers

This doesn't need to keep moving around and resizing, walking it is
easy
jcs made amendment 136 about 1 year ago

Amendments on June 9, 2022

session: Fix newline handling in session_field_input

We may only get \r, but we need to send \r\n and add it to the buffer
as well.
jcs made amendment 132 about 1 year ago

Amendments on June 7, 2022

db: Fix IDs for views

jcs made amendment 126 about 1 year ago

session: Implement persistent days-per-call tallying

Stub out file area response in main menu for now
jcs made amendment 124 about 1 year ago

sysop: Add user management

Also wire up new/signup login to direct there upon login, adding a
setting to the global config to allow it.
jcs made amendment 123 about 1 year ago

Amendments on June 6, 2022

session: Touch user last_seen_at upon login

jcs made amendment 121 about 1 year ago

Amendments on June 2, 2022

*: Minor bug fixes, better NULL checks

jcs made amendment 114 about 1 year ago

Amendments on May 24, 2022

mail: Rewrite, yet again

Implement pagination, move message actions to a sub-menu when viewing
a message by its index on the current page
jcs made amendment 110 about 1 year ago

Amendments on May 20, 2022

session_field_input: Add multiline support

Remove session_multiline_input since session_field_input just gets a
multiline flag. Also support backspacing at the beginning of a line
to jump back up to the end of the previous line.
jcs made amendment 103 about 1 year ago

Amendments on May 15, 2022

*: Lots of little cleanup

Remove unused variables and fix some returns
Found by compiling with Clang
jcs made amendment 101 about 1 year ago

session: Add session_menu, use it everywhere

Start on sysop board management
jcs made amendment 100 about 1 year ago

Amendments on May 12, 2022

settings: Move to interactive text-based menu for sysops

This will allow remote administration and have a reusable component
for editing structs for users, boards, etc.
jcs made amendment 99 about 1 year ago

Amendments on April 28, 2022

user_settings: Add user settings menu

Currently allows changing passwords and renegotiating the terminal
jcs made amendment 97 over 2 years ago