Amendments on July 19, 2022
bile: Fix unmarshalling of a dynamic field with zero length
Don't xmalloc(0), just set it to a NULL pointer.
Amendments on July 17, 2022
telnet: Remove local banning, just use UDP sending to trusted proxy
Since we can't reject connections from banned IPs before opening the
TCP connection and we can get the trusted proxy to block IPs with
UDP messages, just rip local banning out of here.
Amendments on July 16, 2022
board: Put the message index in the prompt, not the message id
It can be confusing when a user hits '1' to view the message in the
list showing "1 ..." but the prompt ends up showing "Boards:blah:4".
serial: If session_create fails, hang up
Maybe we should not put the modem in auto-answer and require manual
ATA, but then only do that if we can establish a session first. That
way we don't waste time negotiating the modem just to hang up.
*: Properly handle running out of sessions
Limit sessions to the number of uthreads we can handle, and then
reserve 1 session for the console.
In telnet, allocate one extra node so we can print a message to the
client that we have no free nodes, and then disconnect. Add a view
for this to make it editable.
In console, handle getting a null session back from session_create.
session+chat: Remove session_bar, implement simpler bar in chat
This is only used in chat and only to print a left-aligned bar.
*: Move some big char buffers from the stack to the heap
Use FILENAME_MAX in place of 256 where appropriate.
Amendments on July 15, 2022
chat: Use session_output instead of printf when printing a bar
These can be big and trigger an overflow panic in the printf buffer
board: Don't pre-alloc a bunch of ids in board_find_post_ids
If we return early or we return no ids, we shouldn't have a dangling
malloc(sizeof(long) * 16) that the caller might not know to free
since the count returned will be 0.
bile: Fix bogus free in bile_sorted_ids_by_type
ids was not being initialized to NULL, so when passed to EXPAND_TO_FIT,
realloc is doing a free of some junk pointer before malloc'ing a new
Amendments on July 14, 2022
telnet: When banning an IP, optionally send it via UDP to trusted proxy
If the new trusted_proxy_udp_port config option is set, send a UDP
packet containing the IP to the trusted_proxy_ip host so it can ban
it more aggressively.
Amendments on July 13, 2022
sysop: Write new config but don't apply it on the fly
There are things in the idle loop that check for config settings and
we can't assume they were there at startup
Amendments on July 12, 2022