summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2019-05-11Add the ability to replay messages from a replay log file. (No replay log ↵Luke Bratch
file writing yet.)
2019-05-11Implement a configuration file reader, an example configuration file, and ↵Luke Bratch
start reading nick/username/realname from it instead of being statically defined.
2019-05-11Use our real client hostname provided by the IRCd dynamically instead of ↵Luke Bratch
hardcoding one ourselves when relaying our own PRIVMSGs to other bouncer clients.
2019-05-08Keep track of users JOINing channels we're already in, not just if they were ↵Luke Bratch
in the channel when we JOINed.
2019-05-08Don't PART channels when another user PARTs.Luke Bratch
2019-05-08Add some STDIN based debugging commands.Luke Bratch
2019-05-08Make 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-05-08Remove PARTed channels from channel array so new clients don't JOIN ↵Luke Bratch
previously PARTed channels
2019-05-08Close and clear up disconnecting clients promptlyLuke Bratch
2019-04-21Fix appendcrlf() to strip both CR and LF, fixes mysterious newlines in PRIVMSGsLuke Bratch
2019-04-21Make already connected clients join channels when JOINingLuke Bratch
2019-04-21Not using time.hLuke Bratch
2019-04-20We 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-19Lots and lots of refactoring and comments work in preparation for more ↵Luke Bratch
actual IRC/bouncer functionality
2019-04-18First actual "bouncer" features - self connects and registers (NICK/USER) ↵Luke Bratch
and automatically handles PING/PONG response/requests
2019-04-18Add a MakefileLuke Bratch
2019-04-18Split functions into different filesLuke Bratch
2019-04-18Move multiple (duplicated) relaying to all clients stuff to a functionLuke Bratch
2019-04-17More or less the same functionality, but now stable with clients ↵Luke Bratch
connecting/disconnecting and lots more debug output
2018-04-01It's now actually a semi-bouncer! It doesn't tell new clients which ↵Luke Bratch
channels to join or anything, but it does relay everything to each client.
2018-03-31Client listener in place, not functional yet except for ability to accept ↵Luke Bratch
connections
2018-03-30Change some code styleLuke Bratch
2018-03-30Initial commit - currently just a very manual IRC clientLuke Bratch