Přemysl Eric Janouch
23cd9521d4
kike: shuffle things around
...
Pseudorandomly. There are more than one way the program could be laid out.
Some of them make more sense than others.
2014-08-09 23:51:27 +02:00
Přemysl Eric Janouch
9927956104
kike: fix leaking of channels
2014-08-09 23:20:21 +02:00
Přemysl Eric Janouch
266626584d
kike: fix `struct channel_user'
...
Storing the nickname instead of a reference to `struct client' didn't play well
with nickname changes. The client needs to be unlinked from any channels before
his object can be deleted, anyway.
2014-08-09 23:10:35 +02:00
Přemysl Eric Janouch
9d86d81851
kike: hackplement channel MODE changes
2014-08-09 22:43:18 +02:00
Přemysl Eric Janouch
8645f12f9f
kike: fix checking against channel masks
2014-08-09 22:42:26 +02:00
Přemysl Eric Janouch
e9491ca85b
kike: implement a useless ADMIN command
2014-08-09 03:58:37 +02:00
Přemysl Eric Janouch
4b3af280fa
kike: channel user limit is also secret
2014-08-09 01:36:21 +02:00
Přemysl Eric Janouch
a7ba1eb15f
kike: preparation for multiple listening sockets
...
It should be only a matter of modifying irc_setup_listen_fds() now.
2014-08-09 00:14:14 +02:00
Přemysl Eric Janouch
e3010f2d6d
kike: fix fingerprint generation and checking
2014-08-08 22:24:34 +02:00
Přemysl Eric Janouch
38887df202
kike: fix client unregistration
2014-08-08 02:34:46 +02:00
Přemysl Eric Janouch
34967973aa
kike: implement SSL client cert. auth.
2014-08-08 02:34:45 +02:00
Přemysl Eric Janouch
6382ecb016
kike: allow changing user mode
2014-08-08 02:34:45 +02:00
Přemysl Eric Janouch
f53fa42ac3
kike: implement DIE and KILL
2014-08-08 02:34:41 +02:00
Přemysl Eric Janouch
c00ca0d29a
kike: also tell about +b, +e and +I in 004
2014-08-08 01:29:56 +02:00
Přemysl Eric Janouch
5ed4e632a3
kike: don't send channel messages back
2014-08-05 23:26:30 +02:00
Přemysl Eric Janouch
eab2d1765a
kike: implement the WHOIS command
...
The code is starting to stink a bit, refactor imminent.
2014-08-05 23:15:06 +02:00
Přemysl Eric Janouch
ad7d17d2d8
kike: implement the ISON command
2014-08-05 23:10:59 +02:00
Přemysl Eric Janouch
cf700a5a86
kike: users also match their servers
2014-08-05 23:09:36 +02:00
Přemysl Eric Janouch
68303ed788
kike: fix wildcard matching
...
It wasn't IRC case-insensitive.
2014-08-05 23:08:29 +02:00
Přemysl Eric Janouch
9b2b3844e2
kike: set the OpenSSL's session ID context
...
Fixes handshake failure on session reuse attempts.
2014-08-05 21:15:24 +02:00
Přemysl Eric Janouch
08b93c3a71
kike: implement the KICK command
2014-08-05 01:38:49 +02:00
Přemysl Eric Janouch
c386592d70
kike: implement NOTICE
2014-08-05 01:04:21 +02:00
Přemysl Eric Janouch
17fdf0d4bf
kike: fix the NAMES reply upon JOIN'ing
...
Now Pidgin seems to be relatively happy with our server.
2014-08-04 23:53:25 +02:00
Přemysl Eric Janouch
ca72259b12
kike: implement the WHO command
2014-08-04 23:52:49 +02:00
Přemysl Eric Janouch
3b69dfb583
kike: remember to send back AWAY messages
2014-08-04 08:17:34 +02:00
Přemysl Eric Janouch
a5953147c3
kike: shuffle things around
...
No functional change, I hope.
2014-08-04 01:50:25 +02:00
Přemysl Eric Janouch
9bfdc741fe
kike: stuff
...
Implemented a lot of the channel stuff and other stuff as well.
2014-08-04 01:24:10 +02:00
Přemysl Eric Janouch
884c434947
kike: don't disclose secret channels in LUSERS
2014-08-03 02:14:15 +02:00
Přemysl Eric Janouch
96f4b81182
kike: implement LIST
2014-08-03 00:57:25 +02:00
Přemysl Eric Janouch
97f35bedfd
kike: implement USERHOST
2014-08-02 23:00:51 +02:00
Přemysl Eric Janouch
559bedad65
kike: update the poller properly
...
Now we can send PRIVMSG's between users and all that jazz.
2014-08-02 21:33:55 +02:00
Přemysl Eric Janouch
5e6def5bb0
kike: implement PRIVMSG to user
2014-08-02 21:33:55 +02:00
Přemysl Eric Janouch
facd810548
kike: implement clean shutdown
2014-08-02 21:33:55 +02:00
Přemysl Eric Janouch
5bedd3918c
kike: implement connection limit
...
Somehow I'm not sure whether this thing is useful in any sense.
2014-08-02 21:33:49 +02:00
Přemysl Eric Janouch
2fe3c7ed45
kike: implement the ping-pong and QUIT
2014-08-02 21:32:26 +02:00
Přemysl Eric Janouch
9720e30c8b
kike: add a `ping_interval' config. value
2014-08-02 20:36:40 +02:00
Přemysl Eric Janouch
027333e56a
Fix some compiler warnings
...
`-Weverything' seems to have found a few problems.
Also enabled clang sanitizers by default.
2014-07-19 17:44:49 +02:00
Přemysl Eric Janouch
43d34d2473
Add a LIST_HEADER macro
...
To save us from specifying the `next' and `prev' pointers all the time.
It's not perfect, just a tiny bit better.
2014-07-18 19:51:15 +02:00
Přemysl Eric Janouch
353230b18b
Cleanup
2014-07-18 01:03:21 +02:00
Přemysl Eric Janouch
b2a4d38e8c
Implement TIME, VERSION, MOTD, LUSERS
2014-07-17 23:51:34 +02:00
Přemysl Eric Janouch
86e3ae951e
Fix the ERR_NOTREGISTERED message
2014-07-17 23:48:38 +02:00
Přemysl Eric Janouch
057a01e2e5
Send LUSERS output upon registration
2014-07-17 23:48:38 +02:00
Přemysl Eric Janouch
081b9f6bd2
Fix handling of multiple NICK's before a USER
...
We have to release the old nickname _first_, so that we can register the
same one again (albeit with a slight race condition).
2014-07-17 23:48:38 +02:00
Přemysl Eric Janouch
b1780e3efb
Send the user's mode after registration
2014-07-17 23:48:38 +02:00
Přemysl Eric Janouch
531b1c71bf
Return `struct error' from irc_initialize_ssl()
2014-07-17 08:43:21 +02:00
Přemysl Eric Janouch
a508f85bea
Implement daemonization
...
Now we're a real daemon, yay.
2014-07-16 23:56:42 +02:00
Přemysl Eric Janouch
1842fa90dd
Revise usage of print_{error,fatal}()
...
Let's limit print_fatal() to unexpected conditions.
Also added exit_fatal() to save a few lines of code.
2014-07-16 23:56:42 +02:00
Přemysl Eric Janouch
e00d2079b5
Only print the first OpenSSL error
...
Otherwise TLS autodetection and TLS communication itself seem to work, yay!
2014-07-16 23:56:09 +02:00
Přemysl Eric Janouch
d28b722489
str_map::key_cmp -> str_map::key_xfrm
...
It seemed to be almost too easy to be true, and it actually was.
Now it should work.
2014-07-16 21:23:30 +02:00
Přemysl Eric Janouch
996e0912c2
First bugfixes
...
Now we can at least successfully register.
2014-07-16 00:57:55 +02:00