Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-03-30 | Implement 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-30 | Pass VERSION at compile time based on "git describe". Add fallback VERSION ↵ | Luke Bratch | |
file for if Git isn't installed. | |||
2023-04-08 | Improve 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. | |||
2022-11-25 | Implement 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-24 | Fix 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(). | |||
2020-10-21 | Don't have arrindex() return 0 on failure as 0 is a valid index. Instead ↵ | Luke Bratch | |
return -1 and change callers to check this. | |||
2019-12-23 | Add BLABOUNCER VERSION command and change version string to have -git suffix ↵ | Luke Bratch | |
between releases. | |||
2019-12-22 | Significantly reduce memory usage by only initialising channel struct ↵ | Luke Bratch | |
elements when they are used for the first time. | |||
2019-12-22 | Make full debug output optional for extractnickfromprefix() and ↵ | Luke Bratch | |
stripprefix() to avoid huge debug logs when using replaymode = "lastspoke" combined with DEBUG_FULL. | |||
2019-09-16 | Release version 0.2.v0.2 | Luke Bratch | |
Please see the NEWS file for a highlight of changes in this release. | |||
2019-09-16 | Make all log filenames lowercase - since IRC nicks and channel names are ↵ | Luke Bratch | |
case-insensitive, we can ensure a nick/channel with varying case always ends up in the same log file. | |||
2019-09-15 | Start tracking nicks in channels (upon JOIN/PART/QUIT/NICK) and use that to ↵ | Luke Bratch | |
correctly log QUITs in the replay log and normal log(s). | |||
2019-07-25 | Release version 0.1.1.v0.1.1 | Luke Bratch | |
This fixes a bug where messages would be logged to the wrong file if the bouncer's nick had changed whilst running. | |||
2019-07-18 | Release version 0.1!v0.1 | Luke Bratch | |
Also add version information (client welcome message, -v, and --version). | |||
2019-07-10 | Ensure log filenames are safe for writing. | Luke Bratch | |
2019-06-17 | Implement a per-client identifier so auto replay can replay everything a ↵ | Luke Bratch | |
given client has missed. | |||
2019-06-16 | Load all settings from configuration file at startup instead of reading it ↵ | Luke Bratch | |
for certain settings (password/nick/nick2/nick3). | |||
2019-06-12 | Allow reloading the configuration file at runtime using a BLABOUNCER command ↵ | Luke Bratch | |
or by issuing the SIGHUP signal. | |||
2019-06-11 | Implement configurable auto replay modes. So far there is "none", "time" ↵ | Luke Bratch | |
(auto replay the last X seconds), and "lastspoke" (auto replay everything since you last spoke). | |||
2019-06-11 | Refactoring - rename ircdstrings struct to ircdstate since it doesn't just ↵ | Luke Bratch | |
contain strings. | |||
2019-06-10 | Refactoring - split giant processircmessage() switch statement into separate ↵ | Luke Bratch | |
server and client functions in message.h/message.c. | |||
2019-06-10 | Refactoring - move most functions into functions.h/functions.c except ↵ | Luke Bratch | |
connect/exit functions only relevant in main.c. | |||
2019-06-10 | Add copyright and GPL 3 notices. | Luke Bratch | |
2019-05-30 | Convert debugprint() from being to file/screen/disabled to always being to ↵ | Luke Bratch | |
file with configurable verbosity. | |||
2019-05-28 | Implement debugging to file and set the default configuration file to be that. | Luke Bratch | |
2019-05-27 | Make debug output optional and disabled by default. | Luke Bratch | |
2019-05-27 | Make sure MAXTOKENS being exceeded can't cause a buffer overflow. | Luke Bratch | |
2019-05-21 | Support multiple nick prefixes in channels by storing/relaying server ↵ | Luke Bratch | |
005/RPL_ISUPPORT messages and implementing the start of IRCv3 CAP negotiations (multi-prefix only at the moment). | |||
2019-05-17 | Properly support changing our nick while connecting by updating it ↵ | Luke Bratch | |
everywhere including initial server welcome strings. Make sure channels are cleared when PARTing them. Ignore most commands from clients until they are registered with us. Send the correct current nick when sending NOTICEs. | |||
2019-05-16 | Correctly handle nicks changing and actually track users PARTing channels. | Luke Bratch | |
Also change nickuserhost to store the leading colon (:) since it's always needed (so far). | |||
2019-05-12 | Make configuration file path configurable on the command line. Also finish ↵ | Luke Bratch | |
removing the non-functional debug() stuff. | |||
2019-05-08 | Make TOPIC tracking/following/setting/etc. work for most/all scenarios and ↵ | Luke Bratch | |
ensure it's always given out to new clients correctly. Also misc other bug fixes. | |||
2019-04-20 | We are bouncing! You can now: | Luke Bratch | |
- connect the bouncer to a server - connect to the bouncer with a real client - join channels - have new clients connect and have the bouncer join those new clients to the channels - relay PRIVMSGs between all clients Some random current big bugs: - Joining channels whilst multiple clients are already connected doesn't join all clients properly - Parting channels doesn't work - No idea what will happen if the nick is in use, etc. Features missing: - Almost everything :) | |||
2019-04-18 | Split functions into different files | Luke Bratch | |