summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-17Print VERSION in debug.txt at startup.Luke Bratch
2024-07-17Don't write any CTCP responses to the replay log file, and encourage bug ↵Luke Bratch
reporting if the replay log file cannot be read.
2024-07-17Correct logline() return value comment in logging.c and logging.h.Luke Bratch
2024-07-17Correct replay comment in message.c.Luke Bratch
2024-07-17Ensure file and socket descriptors are valid in config.c and sockets.c.Luke Bratch
2024-07-17Return -1 if lastspokelinenumber() fails to find a timestamp.Luke Bratch
2024-07-17Update TODO.Luke Bratch
2024-04-01Release version 0.3.v0.3Luke Bratch
Please see the NEWS file for a highlight of changes in this release.
2024-03-31Don't bother trying to do removenickfromchannel() after a PART or a KICK if ↵Luke Bratch
we just did removechannel() because the PARTing/KICKed nick was ours.
2024-03-31Handle server KICK commands.Luke Bratch
2024-03-31Include nicks in stdin debug command listchannels.Luke Bratch
2024-03-30Correct/improve signal handling logging.Luke Bratch
2024-03-30Implement changing client-side TLS certificate and key paths, and reloading ↵Luke Bratch
certificate/key at runtime when doing a REHASH (BLABOUNCER command or SIGHUP).
2024-03-30Update TODO.Luke Bratch
2024-03-30Pass VERSION at compile time based on "git describe". Add fallback VERSION ↵Luke Bratch
file for if Git isn't installed.
2024-03-30Make Makefile pay attention to header files, and add a make clean.Luke Bratch
2024-03-29Update TODO.Luke Bratch
2024-03-29Implement BLABOUNCER commands LISTCLIENTS and DISCONNECT.Luke Bratch
BLABOUNCER LISTCLIENTS: List all connected clients and their authentication status. BLABOUNCER DISCONNECT [FD]: Disconnect a client with file descriptor number [FD] (see LISTCLIENTS output).
2024-03-29Sanity check that the requested fd is greater than zero in arrindex().Luke Bratch
2023-08-01Always close() the replay log file if it's been opened.Luke Bratch
2023-08-01Correctly handle too many clients by doing accept() and close() immediately ↵Luke Bratch
rather than trying to add to clients[] struct.
2023-07-24Add some extra debugging for truncated messages.Luke Bratch
2023-07-24Fix incorrectly printed debug message.Luke Bratch
2023-07-24Include 437 (ERR_UNAVAILRESOURCE) as part of "nick in use" resolution upon ↵Luke Bratch
connecting.
2023-04-09Fix ban list request handling - support both "MODE #channel b" and "MODE ↵Luke Bratch
#channel +b".
2023-04-09Don't write CTCP VERSION messages to replay log. CTCP VERSION replay/relay ↵Luke Bratch
behaviour is now as follows: Replaying: PRIVMSG VERSION - requests - from other people - don't replay (only valid when originally sent). PRIVMSG VERSION - requests - from us - don't replay (we shouldn't receive our own requests). NOTICE VERSION - responses - from other people - don't replay (only valid when originally sent). NOTICE VERSION - responses - from us - don't replay (we shouldn't receive our own responses). Relaying (to non-requesting Blabouncer clients): PRIVMSG VERSION - requests - from other people - do relay (responses are valid from all our clients). PRIVMSG VERSION - requests - from us - don't relay (we shouldn't receive our own requests). NOTICE VERSION - responses - from other people - do relay (can't know number of responses in advance, might get unsolicited messages). NOTICE VERSION - responses - from us - don't relay (we shouldn't receive our own responses).
2023-04-09Update TODO.Luke Bratch
2023-04-08Add/correct description for writereplayline().Luke Bratch
2023-04-08Improve stdin handling (only available when running in foreground mode) - ↵Luke Bratch
don't get stuck in a loop when handling EOF/^D/Ctrl+D, improve debug output, improve comments, initialise variables more safely, exit main loop on errors.
2023-03-23Update TODO.Luke Bratch
2023-03-23Don't try to sockread() or socksend() if the file descriptor is NULL, assume ↵Luke Bratch
all socksend() return values of <0 are errors, correct (currently unused) return values in sendtoserver().
2023-03-21Don't try to close log file if the pointer was NULL.Luke Bratch
2022-12-20Ignore messages rather than exiting if the client that sent a message no ↵Luke Bratch
longer exists.
2022-11-25Fix broken debugprint() call in isnickinanychannel() which was referencing a ↵Luke Bratch
non-existent printf string.
2022-11-25Implement fake QUIT handling via a NOTICE when doing a replay.Luke Bratch
Since user QUIT messages don't contain channel names, clients that didn't know which channels a nick was in when receiving a quit message for that nick can't show a per-channel QUIT notification. Some clients just display the QUIT message in the server status window, others silently ignore it. Cater for those clients by sending a NOTICE about the QUIT rather than replaying it - assuming the nick isn't still in any of our channels.
2022-11-24Fix replaymode = "lastspoke" by using line numbers rather than time to ↵Luke Bratch
calculate replay start point. Introduce new function doreplaylastspoke() to achieve this, move doreplay() into replay.c as doreplaytime() and refactor common things into sanitisereplay().
2022-11-23Update TODO.Luke Bratch
2022-11-23Correct comments in functions.c.Luke Bratch
2022-09-02Deal with servers only sending a nick rather than nick!user@host as the last ↵Luke Bratch
token of greeting 001.
2022-09-02Improve comment/debug clarity.Luke Bratch
2022-02-10Relay server PINGs to all clients in case they rely on PINGs to stay alive.Luke Bratch
2022-01-03Increase maximum auto join channels from 10 to 40, correctly check for ↵Luke Bratch
maximum configuration array length, correct configuration array debug output text.
2022-01-03Fix PRIVMSG logging going to the wrong log file.Luke Bratch
2021-01-25Use a space followed by a colon to determine the final parameter in ↵Luke Bratch
extractfinalparameter(). This fixes the topic being stored incorrectly when the setter's host is a raw IPv6 address.
2021-01-19Fix various issues where strncmp was only comparing a substring.Luke Bratch
This fixes issues such as when JOINing a channel whose name is a substring of another channel, things like PARTing don't work properly.
2021-01-18Make the "channels" configuration file entry an array.Luke Bratch
2020-10-24Create INSTALL file for dependencies/compilation/installation/uninstallation ↵Luke Bratch
and move compilation out of README file.
2020-10-24Add install and uninstall recipes to Makefile.Luke Bratch
2020-10-24Use $ instead of # to show shell examples in README.Luke Bratch
2020-10-22Send fully formed PONG responses to client PINGs, particularly relevant ↵Luke Bratch
after server timeouts/reconnects e.g. for XChat.