Commit Graph

428 Commits

Author SHA1 Message Date
68303ed788 kike: fix wildcard matching
It wasn't IRC case-insensitive.
2014-08-05 23:08:29 +02:00
9b2b3844e2 kike: set the OpenSSL's session ID context
Fixes handshake failure on session reuse attempts.
2014-08-05 21:15:24 +02:00
08b93c3a71 kike: implement the KICK command 2014-08-05 01:38:49 +02:00
c386592d70 kike: implement NOTICE 2014-08-05 01:04:21 +02:00
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
ca72259b12 kike: implement the WHO command 2014-08-04 23:52:49 +02:00
3b69dfb583 kike: remember to send back AWAY messages 2014-08-04 08:17:34 +02:00
a5953147c3 kike: shuffle things around
No functional change, I hope.
2014-08-04 01:50:25 +02:00
9bfdc741fe kike: stuff
Implemented a lot of the channel stuff and other stuff as well.
2014-08-04 01:24:10 +02:00
3291fd5c7a Update the README 2014-08-04 00:33:06 +02:00
884c434947 kike: don't disclose secret channels in LUSERS 2014-08-03 02:14:15 +02:00
96f4b81182 kike: implement LIST 2014-08-03 00:57:25 +02:00
97f35bedfd kike: implement USERHOST 2014-08-02 23:00:51 +02:00
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
5e6def5bb0 kike: implement PRIVMSG to user 2014-08-02 21:33:55 +02:00
facd810548 kike: implement clean shutdown 2014-08-02 21:33:55 +02:00
e8ddf5e58c coin: wrap an if statement 2014-08-02 21:33:55 +02:00
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
2fe3c7ed45 kike: implement the ping-pong and QUIT 2014-08-02 21:32:26 +02:00
9720e30c8b kike: add a `ping_interval' config. value 2014-08-02 20:36:40 +02:00
16852048ed Don't forward messages while !irc_ready 2014-08-01 00:42:17 +02:00
a4e18d306e Fix plugin autoload
I was trying to be too smart about holding up IRC messages coming from
plugins while the bot is disconnected.
2014-08-01 00:29:17 +02:00
2b90aa097e ZyklonB: fix the `print' plugin command 2014-07-31 23:09:48 +02:00
8ece6a4f64 script: fix parse_word()
With the `c > ' '` requirement we can't have an assertion for length in there.
2014-07-31 23:07:37 +02:00
8fde2e72aa script: improvements
- fixed cons
 - added missing arithmetic operators
 - added min/max/xor/all?/any?/nip/curry/reverse/over
 - added a few functional tests
2014-07-31 22:56:18 +02:00
2735756dbd script: add length 2014-07-31 02:45:04 +02:00
ba3f4e620c script: add uncons/first/rest/>/>=/<=/!=/join 2014-07-31 02:34:02 +02:00
f62dbe9546 script: fix call/dip, add fold/each/unit/cons/cat 2014-07-31 01:17:09 +02:00
053359aaf1 Fix the `youtube' plugin
I hadn't read the docs throughly.
2014-07-30 23:17:31 +02:00
154163ea0a Add an experimental `script' plugin
Basically reimplemented the macro language from libxntd.

Lots of work to be done yet, even if we keep it as a stand-alone TCC plugin.
2014-07-30 21:03:15 +02:00
25f981e0b1 Didn't intend to commit the API key, too 2014-07-25 00:15:52 +02:00
6f065351d3 Added a `youtube' plugin
Written for Python 3, it just shows info about random YouTube links.
2014-07-25 00:12:37 +02:00
c2ddcc937e Some fixes for the `coin' plugin
Hey, I'm pretty new to Tcl, leave me alone.
2014-07-24 00:33:29 +02:00
9d0a276f93 Port the `coin' plugin from VitaminA 2014-07-24 00:01:00 +02:00
4bc674a559 Update the README 2014-07-21 05:10:25 +02:00
a87be6dfd2 Fix two Clang static analyzer issues
Overflowing memory allocations should crash or exit anyway.
2014-07-19 22:35:12 +02:00
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
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
353230b18b Cleanup 2014-07-18 01:03:21 +02:00
b2a4d38e8c Implement TIME, VERSION, MOTD, LUSERS 2014-07-17 23:51:34 +02:00
86e3ae951e Fix the ERR_NOTREGISTERED message 2014-07-17 23:48:38 +02:00
057a01e2e5 Send LUSERS output upon registration 2014-07-17 23:48:38 +02:00
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
b1780e3efb Send the user's mode after registration 2014-07-17 23:48:38 +02:00
531b1c71bf Return `struct error' from irc_initialize_ssl() 2014-07-17 08:43:21 +02:00
a508f85bea Implement daemonization
Now we're a real daemon, yay.
2014-07-16 23:56:42 +02:00
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
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
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
996e0912c2 First bugfixes
Now we can at least successfully register.
2014-07-16 00:57:55 +02:00