AmendHub

jcs

/

subtext

/

amendments

/

session.h

Amendments on July 16, 2022

*: Move some big char buffers from the stack to the heap

Use FILENAME_MAX in place of 256 where appropriate.
jcs made amendment 209 about 1 year ago

Amendments on July 12, 2022

session: A few fixes and improvements

Make session_menu a bit more helpful and hide options with a null key
set, don't repeat "Invalid option" more than once
Add session_get_char for file transfers
jcs made amendment 191 about 1 year ago

Amendments on June 24, 2022

logger: Keep title updated with some call information

jcs made amendment 174 about 1 year ago

Amendments on June 23, 2022


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 13, 2022

session: Remove session_output_string, enforce login timeout

jcs made amendment 142 about 1 year ago

Amendments on June 12, 2022

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 7, 2022

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

Amendments on May 23, 2022

*: Lots of deck chair rearranging

Move things from db files to their respective areas
Make username map contain normal username, just do strcasecmp check
during user_find_by_username.
jcs made amendment 107 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 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

Amendments on April 26, 2022

session: Add session_log to log with a common prefix

jcs made amendment 96 over 2 years ago

Amendments on April 21, 2022

signup: Add interactive user account creation

jcs made amendment 95 over 2 years ago

Amendments on March 1, 2022

session: Persist session logs to a separate bile db, add recent command

This file will get a lot of activity, so put it in a separate file for
easy rotation and to avoid corruption of the important user database
jcs made amendment 83 over 2 years ago

Amendments on February 21, 2022

session: Handle arrow keys in session_field_input

Handle backspace and character insertion when cursor is not at the end
of a field.
Have session_input_char return a short so we can return custom codes
> 255 for keys or other events.
jcs made amendment 81 over 2 years ago

Amendments on January 29, 2022


Amendments on January 26, 2022

session: Add custom templating with {{ }}

{{B}} and {{/}} inline are much easier than using printf with ansi()
calls. Also allows some logic in templates like showing different
strings in the main menu depending on the user.
jcs made amendment 66 over 2 years ago