aboutsummaryrefslogtreecommitdiff
path: root/src/kike.c
Commit message (Collapse)AuthorAgeFilesLines
* kike: implement a useless ADMIN commandPřemysl Janouch2014-08-091-0/+11
|
* kike: channel user limit is also secretPřemysl Janouch2014-08-091-6/+8
|
* kike: preparation for multiple listening socketsPřemysl Janouch2014-08-091-52/+66
| | | | It should be only a matter of modifying irc_setup_listen_fds() now.
* kike: fix fingerprint generation and checkingPřemysl Janouch2014-08-081-2/+2
|
* kike: fix client unregistrationPřemysl Janouch2014-08-081-2/+3
|
* kike: implement SSL client cert. auth.Přemysl Janouch2014-08-081-2/+77
|
* kike: allow changing user modePřemysl Janouch2014-08-081-14/+100
|
* kike: implement DIE and KILLPřemysl Janouch2014-08-081-17/+55
|
* kike: also tell about +b, +e and +I in 004Přemysl Janouch2014-08-081-1/+1
|
* kike: don't send channel messages backPřemysl Janouch2014-08-051-7/+9
|
* kike: implement the WHOIS commandPřemysl Janouch2014-08-051-0/+99
| | | | The code is starting to stink a bit, refactor imminent.
* kike: implement the ISON commandPřemysl Janouch2014-08-051-0/+23
|
* kike: users also match their serversPřemysl Janouch2014-08-051-1/+3
|
* kike: fix wildcard matchingPřemysl Janouch2014-08-051-11/+18
| | | | It wasn't IRC case-insensitive.
* kike: set the OpenSSL's session ID contextPřemysl Janouch2014-08-051-0/+5
| | | | Fixes handshake failure on session reuse attempts.
* kike: implement the KICK commandPřemysl Janouch2014-08-051-1/+63
|
* kike: implement NOTICEPřemysl Janouch2014-08-051-7/+20
|
* kike: fix the NAMES reply upon JOIN'ingPřemysl Janouch2014-08-041-0/+1
| | | | Now Pidgin seems to be relatively happy with our server.
* kike: implement the WHO commandPřemysl Janouch2014-08-041-0/+108
|
* kike: remember to send back AWAY messagesPřemysl Janouch2014-08-041-0/+2
|
* kike: shuffle things aroundPřemysl Janouch2014-08-041-163/+170
| | | | No functional change, I hope.
* kike: stuffPřemysl Janouch2014-08-041-102/+682
| | | | Implemented a lot of the channel stuff and other stuff as well.
* kike: don't disclose secret channels in LUSERSPřemysl Janouch2014-08-031-1/+17
|
* kike: implement LISTPřemysl Janouch2014-08-031-0/+53
|
* kike: implement USERHOSTPřemysl Janouch2014-08-021-13/+47
|
* kike: update the poller properlyPřemysl Janouch2014-08-021-19/+24
| | | | Now we can send PRIVMSG's between users and all that jazz.
* kike: implement PRIVMSG to userPřemysl Janouch2014-08-021-0/+32
|
* kike: implement clean shutdownPřemysl Janouch2014-08-021-8/+25
|
* kike: implement connection limitPřemysl Janouch2014-08-021-21/+36
| | | | Somehow I'm not sure whether this thing is useful in any sense.
* kike: implement the ping-pong and QUITPřemysl Janouch2014-08-021-10/+135
|
* kike: add a `ping_interval' config. valuePřemysl Janouch2014-08-021-3/+25
|
* Fix some compiler warningsPřemysl Janouch2014-07-191-4/+4
| | | | | | `-Weverything' seems to have found a few problems. Also enabled clang sanitizers by default.
* Add a LIST_HEADER macroPřemysl Janouch2014-07-181-5/+2
| | | | | | To save us from specifying the `next' and `prev' pointers all the time. It's not perfect, just a tiny bit better.
* CleanupPřemysl Janouch2014-07-181-9/+1
|
* Implement TIME, VERSION, MOTD, LUSERSPřemysl Janouch2014-07-171-6/+72
|
* Fix the ERR_NOTREGISTERED messagePřemysl Janouch2014-07-171-1/+1
|
* Send LUSERS output upon registrationPřemysl Janouch2014-07-171-1/+45
|
* Fix handling of multiple NICK's before a USERPřemysl Janouch2014-07-171-5/+5
| | | | | We have to release the old nickname _first_, so that we can register the same one again (albeit with a slight race condition).
* Send the user's mode after registrationPřemysl Janouch2014-07-171-2/+30
|
* Return `struct error' from irc_initialize_ssl()Přemysl Janouch2014-07-171-14/+12
|
* Implement daemonizationPřemysl Janouch2014-07-161-5/+36
| | | | Now we're a real daemon, yay.
* Revise usage of print_{error,fatal}()Přemysl Janouch2014-07-161-13/+5
| | | | | | Let's limit print_fatal() to unexpected conditions. Also added exit_fatal() to save a few lines of code.
* Only print the first OpenSSL errorPřemysl Janouch2014-07-161-4/+6
| | | | Otherwise TLS autodetection and TLS communication itself seem to work, yay!
* str_map::key_cmp -> str_map::key_xfrmPřemysl Janouch2014-07-161-3/+3
| | | | | | It seemed to be almost too easy to be true, and it actually was. Now it should work.
* First bugfixesPřemysl Janouch2014-07-161-7/+9
| | | | Now we can at least successfully register.
* Rip out error codesPřemysl Janouch2014-07-161-24/+11
| | | | | | | | | | | | | | | As it turns out, they're rather annoying to maintain, and we don't even need them. They also clutter the code unnecessarily in their current form. If it ever comes to having to have them, let's make another version of error_set(), maybe error_set_with_code(), that makes it possible to also set an integer within `struct error'. The only problem with the above solution is when we aggregate errors from multiple functions (be it by calling one after another, or through nesting of functions that may return an error). But let's care about that when the time comes for it.
* Make it possible to route messages to syslogPřemysl Janouch2014-07-151-1/+5
|
* Resolve paths relative to XDG config. pathsPřemysl Janouch2014-07-141-31/+35
| | | | This should make the programs an awful lot less painful to set up.
* Rename `struct connection' to `struct client'Přemysl Janouch2014-07-141-148/+144
| | | | | It is shorter and makes more sense. Also replaced "conn" with "c" to keep it even more concise, and thus clearer.
* Implement client registrationPřemysl Janouch2014-07-141-80/+381
| | | | | And shuffle around some functions so that they form logical blocks (at least I've tried; it's not that easy when you try to avoid forward declarations).