Commit Graph

340 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 1eb38fa5ec degesch: implement /buffer clear
At least somehow.
2015-06-21 03:35:35 +02:00
Přemysl Eric Janouch 3c982c7077 degesch: make buffer_send_*() accept a NULL buffer 2015-06-20 23:30:05 +02:00
Přemysl Eric Janouch 7bd0eefea8 degesch: fix display of RPL_INVITING 2015-06-20 22:50:28 +02:00
Přemysl Eric Janouch 193dd36112 degesch: reset server info on disconnect 2015-06-20 22:42:38 +02:00
Přemysl Eric Janouch 974ce75a59 degesch: add support for IRCv3.2 echo-message 2015-06-20 21:38:04 +02:00
Přemysl Eric Janouch 935d671a57 degesch: shuffle some code 2015-06-20 21:10:50 +02:00
Přemysl Eric Janouch 4970929f1d degesch: fix trivial user command handlers 2015-06-20 20:23:14 +02:00
Přemysl Eric Janouch 0875bbfba7 degesch: further cleanups 2015-06-20 20:13:37 +02:00
Přemysl Eric Janouch eaecdda614 degesch: fix invalid free() 2015-06-20 19:53:18 +02:00
Přemysl Eric Janouch 390b283233 degesch: refactor user command handling
This was long overdue.
2015-06-20 19:51:14 +02:00
Přemysl Eric Janouch b55494c68f degesch: further cleanups 2015-06-19 23:09:46 +02:00
Přemysl Eric Janouch 5be1cad4da degesch: get rid of some repeating code 2015-06-19 22:54:10 +02:00
Přemysl Eric Janouch 690e29c78e degesch: fix /join, /part, /cycle
Cycle now remembers the channel key.
2015-06-19 22:26:54 +02:00
Přemysl Eric Janouch 86f4578d12 degesch: allow specifying server in /disconnect 2015-06-19 20:47:37 +02:00
Přemysl Eric Janouch 1c1cffa6eb degesch: update user command usages and comments 2015-06-18 22:47:56 +02:00
Přemysl Eric Janouch 8eb31ad2e1 degesch: fix /invite 2015-06-18 22:35:14 +02:00
Přemysl Eric Janouch bdad7bd7c2 degesch: fix /whois, /whowas 2015-06-18 22:05:32 +02:00
Přemysl Eric Janouch 088009d16b degesch: fix /mode after breaking it
The clean up was a bit thoughtless.
2015-06-18 22:02:51 +02:00
Přemysl Eric Janouch 27ef5c2ea3 degesch: fix /ban, add /unban 2015-06-18 21:21:49 +02:00
Přemysl Eric Janouch 782bc85336 degesch: fix /kickban 2015-06-18 08:47:52 +02:00
Přemysl Eric Janouch 5a3b8f8eee degesch: fix sending the reason in /kick 2015-06-18 08:40:44 +02:00
Přemysl Eric Janouch 87a44fb807 degesch: cleanup 2015-06-18 08:34:37 +02:00
Přemysl Eric Janouch 2261db4caa degesch: fix /mode to work for user modes 2015-06-18 08:07:25 +02:00
Přemysl Eric Janouch a0b98720b9 degesch: fix /mode on servers with +channels 2015-06-17 23:16:44 +02:00
Přemysl Eric Janouch 9027889002 degesch: add /op, /deop, /voice, /devoice 2015-06-17 21:34:56 +02:00
Přemysl Eric Janouch 178c1b072a degesch: parse MODES from RPL_ISUPPORT 2015-06-17 21:34:56 +02:00
Přemysl Eric Janouch e2a3b48114 degesch: add /stats 2015-06-17 20:29:17 +02:00
Přemysl Eric Janouch 7dbec0d273 degesch: fix highlights 2015-06-16 21:48:35 +02:00
Přemysl Eric Janouch e43ffb538e degesch: fix SOCKS failure handling 2015-06-14 19:21:13 +02:00
Přemysl Eric Janouch cd394a1f6e degesch: ask for CAP multi-prefix, invite-notify 2015-06-14 18:33:55 +02:00
Přemysl Eric Janouch ee1f4174fd degesch: process INVITE 2015-06-10 22:37:29 +02:00
Přemysl Eric Janouch c673882670 degesch: handle RPL_UMODEIS 2015-06-10 22:15:58 +02:00
Přemysl Eric Janouch 0ddc0458ef degesch: show channel prefixes in PRIVMSG lines 2015-06-07 06:15:31 +02:00
Přemysl Eric Janouch 62845876d5 degesch: shuffle code around 2015-06-07 05:28:57 +02:00
Přemysl Eric Janouch 5bc259e388 degesch: sort modes on change 2015-06-07 05:23:31 +02:00
Přemysl Eric Janouch de2eff7399 degesch: further refactor MODE processing 2015-06-07 05:21:19 +02:00
Přemysl Eric Janouch 2b258007f0 degesch: refactor MODE processing 2015-06-07 04:48:02 +02:00
Přemysl Eric Janouch 9816805ee8 degesch: process user mode changes 2015-06-07 04:20:39 +02:00
Přemysl Eric Janouch 0553ef857f degesch: enable NAMESX if supported by server 2015-06-07 03:43:42 +02:00
Přemysl Eric Janouch 3552b9e1fb degesch: fix memory leak 2015-06-07 01:28:06 +02:00
Přemysl Eric Janouch 394b549926 degesch: print server name in debug output 2015-06-07 01:23:52 +02:00
Přemysl Eric Janouch f8d26c2f18 degesch: fix memory leak 2015-06-07 01:23:52 +02:00
Přemysl Eric Janouch 6d16dbb16d degesch: process RPL_TOPICWHOTIME 2015-06-07 01:23:52 +02:00
Přemysl Eric Janouch 6d720e7a1a degesch: process RPL_CREATIONTIME 2015-06-07 01:23:51 +02:00
Přemysl Eric Janouch e1aa27c90b degesch: parse RPL_CHANNELMODEIS 2015-06-07 00:15:38 +02:00
Přemysl Eric Janouch 7c2fe522ba degesch: fix logging empty QUIT/PART reasons 2015-06-06 23:56:43 +02:00
Přemysl Eric Janouch 671536bfca degesch: request channel mode after joining 2015-06-06 01:24:44 +02:00
Přemysl Eric Janouch a8dc6ad141 degesch: show our own channel modes in prompt 2015-06-06 01:21:27 +02:00
Přemysl Eric Janouch ab15ec0a9a degesch: save the topic from RPL_TOPIC 2015-06-06 01:18:59 +02:00
Přemysl Eric Janouch ac6ee9ea80 degesch: refactor irc_process_names() 2015-06-06 00:44:09 +02:00
Přemysl Eric Janouch f9eddb8ee2 degesch: fix adding user by RPL_NAMREPLY
We didn't create a matching user_channel entry.
2015-06-06 00:29:01 +02:00
Přemysl Eric Janouch 2fe17ae79b degesch: remove users missing from RPL_NAMREPLY 2015-06-06 00:10:20 +02:00
Přemysl Eric Janouch 4bac248c50 degesch: refactoring 2015-06-05 01:17:32 +02:00
Přemysl Eric Janouch 7f57bed563 degesch: correctly update user prefixes 2015-06-05 01:17:32 +02:00
Přemysl Eric Janouch c8aff23ab2 degesch: hack together preliminary MODE parsing 2015-06-05 00:01:05 +02:00
Přemysl Eric Janouch 9b1664f968 degesch: store channel modes differently 2015-06-04 22:19:32 +02:00
Přemysl Eric Janouch b0753438c4 degesch: parse CHANMODES in RPL_ISUPPORT
We're going to need that to parse MODE changes.
2015-06-03 23:17:10 +02:00
Přemysl Eric Janouch 103831e274 degesch: process RPL_NAMREPLY modes properly
Updating information in "channel_user" when needed.
2015-06-03 22:32:18 +02:00
Přemysl Eric Janouch f6da19d5b0 degesch: fix processing RPL_NAMREPLY 2015-06-03 21:53:20 +02:00
Přemysl Eric Janouch f53d1adba8 degesch: show RPL_NAMREPLY contents 2015-06-03 21:53:14 +02:00
Přemysl Eric Janouch 5e4f94c38c degesch: log the channel topic after joining 2015-06-02 23:42:04 +02:00
Přemysl Eric Janouch 458ac8b7c4 degesch: try to log lines in more specific buffers 2015-06-02 23:31:44 +02:00
Přemysl Eric Janouch 4dd2a80ba2 degesch: cleanup wrt. quitting 2015-06-02 22:36:22 +02:00
Přemysl Eric Janouch 897bb00af1 degesch: add & use strncasecmp_ascii() 2015-06-02 21:28:41 +02:00
Přemysl Eric Janouch a6782e5e60 degesch: clean up complete_nicknames()
Using new irc_server_strncmp() instead of fnmatch().
2015-06-02 21:05:27 +02:00
Přemysl Eric Janouch 00a8b6616f degesch: add & use irc_server_strcmp() 2015-06-02 20:46:40 +02:00
Přemysl Eric Janouch 57413d53a4 degesch: fix typo 2015-06-01 21:48:31 +02:00
Přemysl Eric Janouch 0757ce424c degesch: make use of values from RPL_ISUPPORT 2015-06-01 21:48:30 +02:00
Přemysl Eric Janouch 328ffd024a degesch: don't compare buffer names using rfc1459 2015-06-01 21:48:30 +02:00
Přemysl Eric Janouch 2242724c34 degesch: parse more of RPL_ISUPPORT 2015-06-01 21:48:30 +02:00
Přemysl Eric Janouch 3c32558a42 degesch: properly unescape RPL_ISUPPORT values 2015-05-30 22:34:09 +02:00
Přemysl Eric Janouch 0b91604acd degesch: some basic RPL_ISUPPORT parsing 2015-05-25 22:54:04 +02:00
Přemysl Eric Janouch 36185ddeee degesch: actually update the list of channel users 2015-05-25 08:23:08 +02:00
Přemysl Eric Janouch 11977cb0b0 degesch: halfplement RPL_NAMES processing 2015-05-24 21:56:46 +02:00
Přemysl Eric Janouch 3ed519c1c5 degesch: fix crash in the logger
Invalid arguments for the format string.
2015-05-23 19:41:44 +02:00
Přemysl Eric Janouch ca36726bf7 degesch: parse and use RPL_USERHOST 2015-05-22 22:13:28 +02:00
Přemysl Eric Janouch b0dbc34f9a degesch: show mode changes 2015-05-21 19:59:37 +02:00
Přemysl Eric Janouch 0260fcd02e degesch: add support for server passwords 2015-05-20 21:18:15 +02:00
Přemysl Eric Janouch 4016c387f8 degesch: naively implement the unimplemented 2015-05-19 21:03:45 +02:00
Přemysl Eric Janouch 310b9c31d3 degesch: naively implement a few user commands
/mode, /topic, /kick, /kickban, /ban, /invite

It's all a bit messy and needs some rewriting.
2015-05-18 22:04:35 +02:00
Přemysl Eric Janouch f2ab9f3937 degesch: implement /cycle 2015-05-17 16:43:58 +02:00
Přemysl Eric Janouch 02160c897a degesch: fix sending the reason in /part 2015-05-17 16:23:32 +02:00
Přemysl Eric Janouch 87352b33d0 degesch: don't cache reconnect configuration
Also make sure the delay isn't negative.
2015-05-16 12:45:39 +02:00
Přemysl Eric Janouch c2c82d20dd degesch: avoid crashing on null user info 2015-05-16 12:39:30 +02:00
Přemysl Eric Janouch ca8540e217 degesch: more multiserver preparations
Almost done now.
2015-05-16 12:33:59 +02:00
Přemysl Eric Janouch bedbadd396 degesch: fix typo 2015-05-16 09:48:57 +02:00
Přemysl Eric Janouch 634d960c8d degesch: unindent some code 2015-05-16 09:40:02 +02:00
Přemysl Eric Janouch 25d3f6e44a degesch: prepare buffers for multiserver
By making them unique among all servers.
2015-05-15 20:05:27 +02:00
Přemysl Eric Janouch 76b0c13adc degesch: actually use buffer_add() 2015-05-15 19:49:25 +02:00
Přemysl Eric Janouch 14df801f53 degesch: allow /quote when not registered 2015-05-15 07:17:08 +02:00
Přemysl Eric Janouch 30191c76c8 degesch: rework registration
Also fixed the annoying reconnect bug.
2015-05-15 05:54:03 +02:00
Přemysl Eric Janouch ebf9403872 degesch: send PINGs with a timestamp
Instead of a username which is of no use to us.

Maybe some servers require the argument to be a target but the purpose of this
message is mainly to detect a failed connection at all, and that happens way
faster when you send some data.
2015-05-15 05:45:07 +02:00
Přemysl Eric Janouch 489a5fa552 degesch: factor out irc_get_or_make_user() 2015-05-15 05:43:59 +02:00
Přemysl Eric Janouch d41e3499c9 degesch: prevent playing with unknown options 2015-05-14 06:45:24 +02:00
Přemysl Eric Janouch a77ab689eb degesch: irc_{host,port} -> addresses
Now you can finally specify multiple addresses to connect to.
2015-05-14 06:25:34 +02:00
Přemysl Eric Janouch c5b38842bf degesch: input_set_prompt() can be called whenever 2015-05-12 07:09:20 +02:00
Přemysl Eric Janouch 24546dd724 degesch: refresh prompt on dis/connection 2015-05-12 07:02:14 +02:00
Přemysl Eric Janouch ec52850c7c degesch: remove an outdated TODO comment 2015-05-12 06:53:45 +02:00
Přemysl Eric Janouch 5b4513ba65 Silence GCC 2015-05-12 05:45:20 +02:00
Přemysl Eric Janouch e4cbd6cf3f degesch: now we do formatting with M-m 2015-05-12 03:51:37 +02:00