summaryrefslogtreecommitdiff
path: root/blabouncer.c
AgeCommit message (Collapse)Author
2019-05-19Include 313 (RPL_WHOISOPERATOR) and 320 (RPL_WHOISSPECIAL) in ↵Luke Bratch
pending-clients-only WHOIS responses.
2019-05-19Don't log replay TOPIC/JOIN/PART if we're not in that channel, and don't ↵Luke Bratch
ever replay them if they were from ourself.
2019-05-19Use case-insensitive string comparisons when reading client commands as we ↵Luke Bratch
can't trust them to be uppercase.
2019-05-19Send JOINs/PARTs to clients before the logging functions manipulate the line.Luke Bratch
2019-05-19Change defaults (including default and example configuration files) to look ↵Luke Bratch
for cert.pem and key.pem in ~/.blabouncer/.
2019-05-19Enable replay logging and replaying of JOINs, PARTs, and TOPIC sets.Luke Bratch
2019-05-19Enable logging of TOPIC changes.Luke Bratch
2019-05-19Rewrite logging function to enable logging JOINs/PARTs as well as PRIVMSGs.Luke Bratch
2019-05-19Announce the start and end of log replay. Also ensure log replay lines ↵Luke Bratch
finish with CRLF when writing.
2019-05-19Remove any old channel nicks/modes/prefix code that isn't needed any more ↵Luke Bratch
since we don't store channel nicks any more. Also fix a memory leak.
2019-05-19Add support for automatically JOINing channels specified in the ↵Luke Bratch
configuration file.
2019-05-19Add some help output if certificate or key files are missing.Luke Bratch
2019-05-19Only relay WHOIS and WHOWAS requests to the server and their responses to ↵Luke Bratch
the requesting client. Also fix flag for pending LIST responses.
2019-05-19Handle server MODEs more intelligently, in particular so we can relay our ↵Luke Bratch
user MODE to new clients correctly.
2019-05-19Rework all channel RPL_NAMREPLY code to properly relay user prefixes in ↵Luke Bratch
channels when clients connect. Do this by asking server for the latest NAMES whenever a client connects and relay that to new clients.
2019-05-18No need to store channel modes as clients ask for them when JOINing.Luke Bratch
2019-05-18Check authentication status of client as early as possible when receiving ↵Luke Bratch
its commands to avoid unnecessary processing.
2019-05-18Handle nick in use or invalid nick, add multiple nicks to configuration file ↵Luke Bratch
to automatically try.
2019-05-18Tell clients to go away if we're not registered with the real server yet.Luke Bratch
2019-05-18Alert other clients when clients connect, disconnect, authenticate, or fail ↵Luke Bratch
to authenticate.
2019-05-18Accurately track the number of connected clients.Luke Bratch
2019-05-18Fix another buffer overrun and numerous memory leaks.Luke Bratch
2019-05-18Only send certain known responses to the client that requested them. So far ↵Luke Bratch
implemented channel MODE requests, channel ban requests, WHO requests, and LIST requests.
2019-05-18Avoid some buffer overruns.Luke Bratch
2019-05-17Track and relay our user MODE correctly, including for new clients.Luke Bratch
2019-05-17Properly 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-17Condense multiple arrays being passed around into one nice big struct to be ↵Luke Bratch
passed around (huge change) and improve efficiency of sendtoallclients() loop.
2019-05-16Correctly 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-16Improve "listchannels" stdin debugging command.Luke Bratch
2019-05-16Make logging and replay logging optional.Luke Bratch
2019-05-16Move default configuration file location to $HOME/.blabouncer/ and create a ↵Luke Bratch
default file automatically if it doesn't exist.
2019-05-16Add a configurable base directory for things like logs, defaulting to ↵Luke Bratch
$HOME/.blabouncer/.
2019-05-16Implement normal logging (file per channel/user).Luke Bratch
2019-05-15Add a blabouncer welcome message to clients upon connection.Luke Bratch
2019-05-15Improve NOTICE output sent to client when no replay lines are available or ↵Luke Bratch
when getting the help message.
2019-05-15Add some help output for unrecognised BLABOUNCER commands.Luke Bratch
2019-05-15Add custom command to let a client request a replay of however many seconds ↵Luke Bratch
at any time.
2019-05-13Implement optional TLS for the server side.Luke Bratch
2019-05-12Make using TLS for clients connecting to the bouncer optional.Luke Bratch
2019-05-12Make certificate and key file paths configurable.Luke Bratch
2019-05-12Make configuration file path configurable on the command line. Also finish ↵Luke Bratch
removing the non-functional debug() stuff.
2019-05-12Move real IRC server and port specification to configuration file. Also ↵Luke Bratch
remove '-d' debug mode which doesn't do anything.
2019-05-12Completely rewrite configuration file reading to remove lots of duplicated ↵Luke Bratch
code and to simplify things. Alter everything that called the old functions.
2019-05-12Make client port configurable and move settings structure to be initialised ↵Luke Bratch
in main() instead of dochat().
2019-05-12Add a settings structure for passing around everywhere to store ↵Luke Bratch
config/settings. Also fix the insanely inconsistent spelling/naming of replay log related things.
2019-05-12Rename OpenSSL array structure to arr_ssl.Luke Bratch
2019-05-12Handle large raw strings from the server and properly track/rejoin long ↵Luke Bratch
split/truncated messages
2019-05-12Implement TLS using OpenSSL.Luke Bratch
2019-05-11Implement authentication in the form of the bouncer having a configurable ↵Luke Bratch
server password
2019-05-11Implement relay log writing.Luke Bratch