AmendHub

jcs

/

subtext

/

amendments

/

user.c

Amendments on August 14, 2022

logger: Add buffered logging, support logging without updating window

During telnet negotiation, many lines are logged in quick succession
which means we spend a lot of time updating the log TextEdit. Just
buffer these logs and spit them out all at once upon login or
disconnection, so the user's login prompt is immediately responsive.
Rename session_log to session_logf while I'm in here, to reflect that
it's a format-string function.
jcs made amendment 245 about 1 month ago

Amendments on August 3, 2022

user: Rename user_find_username to user_username

This function isn't looking up something from bile that needs to be
freed, it's just checking its cache.
jcs made amendment 231 2 months ago

Amendments on July 31, 2022

*: Add malloc annotations

jcs made amendment 226 2 months ago

Amendments on July 21, 2022

*: Use NewPtr instead of malloc, add malloc and free debugging

Instead of free(ptr), use xfree(&ptr) and after it calls
DisposePtr(ptr), it will update ptr to point at NULL to catch
use-after-frees.
When MALLOC_DEBUG is defined, each allocation is added to a
list, and removed when freed. If it's not in the list at free
time, it's a double-free. Also, instead of pointing pointers at
NULL, point them to a pre-defined block of zeroes and in the
idle loop, periodically check that this block is still zero. This
will also catch use-after-frees in a more reliable (but costly)
way.
jcs made amendment 220 2 months ago

Amendments on July 19, 2022

*: Add session signoff view, remove session_output_template

All remaining uses of session_output_template can use session_printf
which still does {{B}} and {{/B}} parsing.
Change session_output_view to session_output_view_or_printf to make it
easier to print a view and fallback to a string, rather than having to
check the result of session_output_view everywhere.
jcs made amendment 218 2 months 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 3 months ago

Amendments on June 9, 2022

sysop: Add support for deleting users

jcs made amendment 133 3 months ago

Amendments on June 7, 2022

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 3 months ago

Amendments on June 3, 2022

user_settings: Support changing usernames

jcs made amendment 119 4 months ago

Amendments on June 2, 2022

*: Minor bug fixes, better NULL checks

jcs made amendment 114 4 months ago

Amendments on May 24, 2022


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 4 months 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 4 months ago

Amendments on April 21, 2022

signup: Add interactive user account creation

jcs made amendment 95 5 months ago

Amendments on January 29, 2022


Amendments on January 15, 2022

db: Adapt to new bile API

jcs made amendment 52 8 months ago

Amendments on January 5, 2022


Amendments on December 9, 2021

all: err(1, ...) -> panic()

jcs made amendment 21 9 months ago

Amendments on December 6, 2021

user+session: Implement user authentication

jcs made amendment 14 10 months ago

Amendments on December 5, 2021

db+user: Initial work on creating a database, creating users

Of note, 'C###' templates are a C string in ### bytes in hex, not dec
jcs made amendment 8 10 months ago