Přemysl Eric Janouch
5ca07656a1
degesch: fix handling of status messages
...
That is, messages using the STATUSMSG feature.
2015-09-24 15:41:39 +02:00
Přemysl Eric Janouch
f20c6fb28e
degesch: fix logging of RPL_INVITING
2015-09-24 15:41:39 +02:00
Přemysl Eric Janouch
1613e75a48
mv 'struct config_item'{_,}
...
Finally we can get rid of the trailing underscore.
2015-08-17 00:13:05 +02:00
Přemysl Eric Janouch
4ae95be9db
degesch: add self to completion in server buffers
2015-08-13 00:23:56 +02:00
Přemysl Eric Janouch
328bf9af1e
degesch: display ERROR messages
...
So that the user knows he was killed.
2015-08-12 23:21:11 +02:00
Přemysl Eric Janouch
ce83f8244c
degesch: don't ignore data right before an EOF
2015-08-12 23:20:46 +02:00
Přemysl Eric Janouch
8a8ff11887
degesch: don't use black for nicks on 256-color
...
Except for self.
2015-08-11 21:38:28 +02:00
Přemysl Eric Janouch
131aee6f08
degesch: update comments
2015-08-10 23:24:57 +02:00
Přemysl Eric Janouch
07f6d0b350
degesch: enable bright backgrounds on 8-color terms
2015-08-10 23:07:05 +02:00
Přemysl Eric Janouch
1cc8656368
degesch: precompute the filtered color cube
2015-08-10 07:53:03 +02:00
Přemysl Eric Janouch
4c81112840
degesch: show CTCPs to channels as such
2015-08-10 07:39:43 +02:00
Přemysl Eric Janouch
5dda5661ae
degesch: send after-connect joins more cleverly
2015-08-10 07:35:42 +02:00
Přemysl Eric Janouch
628facf286
degesch: properly flush the read marker
2015-08-10 00:09:43 +02:00
Přemysl Eric Janouch
7225b68f74
degesch: safer defaults for backlog helper
2015-08-09 15:05:49 +02:00
Přemysl Eric Janouch
e188de5501
degesch: don't show joins etc. as new activity
...
It's mostly just spam that shouldn't get your attention.
2015-08-08 21:19:25 +02:00
Přemysl Eric Janouch
cdf6544c94
degesch: use formatting in the backlog
...
It's a rather crude solution to just pipe the raw terminfo strings
to less but hey, it works.
2015-08-08 20:44:24 +02:00
Přemysl Eric Janouch
a28528d260
degesch: add backlog/scrollback functionality
...
Finally! I went with possibly the simplest solution, which is to
run less, instead of badly reimplementing its functionality.
2015-08-08 20:44:24 +02:00
Přemysl Eric Janouch
d207c90577
degesch: properly flush formatting resets
2015-08-06 23:58:42 +02:00
Přemysl Eric Janouch
2afc9f99c3
degesch: better name resolution failure messages
2015-08-06 23:53:00 +02:00
Přemysl Eric Janouch
4ab247ead0
degesch: fix /server usage
2015-08-06 23:27:35 +02:00
Přemysl Eric Janouch
1dd464f35c
degesch; fix handling of CTCP requests
2015-08-06 23:23:56 +02:00
Přemysl Eric Janouch
955b3728a3
degesch: don't send PART on /close when not joined
2015-08-06 21:58:34 +02:00
Přemysl Eric Janouch
cfc78ffdf0
Fix OpenBSD build
2015-07-30 18:29:12 +02:00
Přemysl Eric Janouch
637a3d2bf7
More SSL -> TLS renaming
2015-07-28 20:31:42 +02:00
Přemysl Eric Janouch
a912b3f28c
degesch: use hopefully better colors for nicks
...
- exclude white from the 16-color range
- use colors from the 256-color cube when available
2015-07-27 01:29:44 +02:00
Přemysl Eric Janouch
27cd8b3a63
degesch: fix memory leak
2015-07-27 00:08:28 +02:00
Přemysl Eric Janouch
2bde385dc7
degesch: order the nicknames in /names
2015-07-26 23:27:39 +02:00
Přemysl Eric Janouch
74c9759932
degesch: make showing all prefixes optional
2015-07-26 22:44:34 +02:00
Přemysl Eric Janouch
f622107592
degesch: fix regression in alias expansion
2015-07-23 21:44:04 +02:00
Přemysl Eric Janouch
67b67cb171
Fix immediate connects
...
Apparently FreeBSD can do this while Linux can not.
2015-07-23 10:17:28 +02:00
Přemysl Eric Janouch
7be129b72c
degesch: fix one last SOCKS corner case
2015-07-23 04:56:40 +02:00
Přemysl Eric Janouch
4a89572089
SOCKS: various fixes to API and code
2015-07-23 04:26:59 +02:00
Přemysl Eric Janouch
318b7400d1
Rewrite socks to async
...
Not quite working yet, however it's a massive and important change.
2015-07-20 23:56:31 +02:00
Přemysl Eric Janouch
553f06d3ec
degesch: fix literal IPv6 server addresses
2015-07-19 23:30:28 +02:00
Přemysl Eric Janouch
b947a2e4bc
degesch: add a "command_delay" option to servers
...
E.g. for channels that are for registered users only.
2015-07-18 14:16:10 +02:00
Přemysl Eric Janouch
5c0a2975e8
degesch: refactor and fix reconnect delays
2015-07-18 13:39:30 +02:00
Přemysl Eric Janouch
baacb27d4b
degesch: allow executing a command when registered
...
To authenticate with NickServ or whatever.
2015-07-18 13:27:50 +02:00
Přemysl Eric Janouch
b3acc4904f
degesch: add exponential reconnect backoff
2015-07-17 21:23:01 +02:00
Přemysl Eric Janouch
403dbc83ab
degesch: allow multiple commands in aliases
...
Separated by ;, which can be escaped as $;
2015-07-16 22:12:59 +02:00
Přemysl Eric Janouch
1b56b4ee72
degesch: skip unrecognized config items in /set
2015-07-16 20:40:10 +02:00
Přemysl Eric Janouch
6f3b48e4eb
SSL -> TLS; fix error handling
2015-07-15 23:34:36 +02:00
Přemysl Eric Janouch
c8496a83d8
Unfuck OpenSSL error messages
...
We still take just the first error message in the queue, though.
2015-07-15 23:11:12 +02:00
Přemysl Eric Janouch
6351ff387e
degesch: set a limit on backlog entries
...
So that buffers don't grow indefinitely in memory.
2015-07-15 23:05:45 +02:00
Přemysl Eric Janouch
bcbbdbc4bc
degesch: fix some encoding issues
2015-07-15 22:59:55 +02:00
Přemysl Eric Janouch
b257340ad2
Fix compiler warning
2015-07-15 22:57:12 +02:00
Přemysl Eric Janouch
ad08545f8f
Bump liberty
2015-07-15 22:56:53 +02:00
Přemysl Eric Janouch
d6a4ca1434
Bump liberty, fix map iterators
2015-07-14 22:25:30 +02:00
Přemysl Eric Janouch
955552f4fa
degesch: implement /server rename
2015-07-14 21:16:35 +02:00
Přemysl Eric Janouch
0c5591fed2
degesch: fix server loading
2015-07-14 07:49:28 +02:00
Přemysl Eric Janouch
855a9d81ba
degesch: simplify check_server_name_for_addition()
2015-07-14 07:29:30 +02:00
Přemysl Eric Janouch
c573435996
degesch: implement /server remove
2015-07-14 06:50:39 +02:00
Přemysl Eric Janouch
880a8ef080
degesch: finally fix rearm_date_change_timer()
2015-07-14 06:43:15 +02:00
Přemysl Eric Janouch
6f966d4aee
degesch: factor out buffer_remove_safe()
2015-07-14 06:11:14 +02:00
Přemysl Eric Janouch
1285ba2d13
degesch: make "/server" alone list all servers
2015-07-13 20:51:23 +02:00
Přemysl Eric Janouch
a3074ef83d
degesch: fix the date change timer
2015-07-13 02:39:28 +02:00
Přemysl Eric Janouch
606f0b1faa
degesch: fix /server add
2015-07-13 00:13:14 +02:00
Přemysl Eric Janouch
e86dc2fbcd
Disable SSL 2 and 3
2015-07-13 00:13:14 +02:00
Přemysl Eric Janouch
de61f9ce5b
degesch: don't save on quit after a parse error
2015-07-13 00:13:14 +02:00
Přemysl Eric Janouch
efe5112a8f
degesch: force a TLS handshake
...
This is sort of a no-op.
2015-07-13 00:13:10 +02:00
Přemysl Eric Janouch
fc87d54649
Cleanup
2015-07-12 17:39:29 +02:00
Přemysl Eric Janouch
3c1bbbc513
degesch: add an "ssl_ciphers" option to servers
2015-07-12 17:15:33 +02:00
Přemysl Eric Janouch
88b2200051
degesch: log certificate verification errors
...
At last, there should be no more serious issues with TLS.
2015-07-12 06:03:28 +02:00
Přemysl Eric Janouch
d5a153bbe3
Call ERR_clear_error() where necessary
2015-07-12 05:30:13 +02:00
Přemysl Eric Janouch
4ead42f4e3
degesch: fix certificate verification
...
Also print some certificate information while connecting.
2015-07-12 01:58:38 +02:00
Přemysl Eric Janouch
20b317db30
degesch: fix failure handling in SSL_CTX creation
2015-07-12 00:43:52 +02:00
Přemysl Eric Janouch
fe95f97101
degesch: rejoin channels on reconnect
...
Unless we've left them and the buffer just stays open, that is.
2015-07-12 00:30:10 +02:00
Přemysl Eric Janouch
5b96f2ccb7
degesch: fix the date change timer
...
It used absolute time, while we need relative.
2015-07-12 00:08:56 +02:00
Přemysl Eric Janouch
0ce4872254
degesch: fix nick cycling
2015-07-11 18:04:07 +02:00
Přemysl Eric Janouch
b3876260b9
degesch: make /disconnect abort reconnect timer
2015-07-11 17:54:49 +02:00
Přemysl Eric Janouch
0c4b727961
Bump liberty
2015-07-11 17:54:38 +02:00
Přemysl Eric Janouch
5692da47be
Fix various issues reported by Coverity
2015-07-11 14:48:00 +02:00
Přemysl Eric Janouch
4865f91eb0
degesch: add "autoconnect" option for servers
2015-07-11 06:16:53 +02:00
Přemysl Eric Janouch
8ed93ae03e
degesch: write date change messages earlier
2015-07-11 06:10:46 +02:00
Přemysl Eric Janouch
ccc167d120
degesch: print a marker for unread messages
2015-07-11 05:41:39 +02:00
Přemysl Eric Janouch
d48adf4557
degesch: log CAP traffic
2015-07-11 05:04:17 +02:00
Přemysl Eric Janouch
f2a6c0f299
degesch: log disconnection in all buffers
2015-07-11 04:55:34 +02:00
Přemysl Eric Janouch
d27a23a7d6
degesch: sanitize terminal output
2015-07-11 04:55:34 +02:00
Přemysl Eric Janouch
e2c0240a84
degesch: move the -d option to configuration
2015-07-11 04:28:34 +02:00
Přemysl Eric Janouch
8f587117f7
degesch: add aliases to /help and autocomplete
2015-07-11 03:58:53 +02:00
Přemysl Eric Janouch
a24c068a3b
degesch: mostly finish /alias sans name checking
2015-07-11 03:29:52 +02:00
Přemysl Eric Janouch
b987b2cc64
degesch: add config_item_string_from_cstr()
2015-07-11 03:29:52 +02:00
Přemysl Eric Janouch
30252e069d
degesch: add an /unalias command
2015-07-11 03:29:52 +02:00
Přemysl Eric Janouch
8f1d81eefb
degesch: add an option to save config on quit
2015-07-11 03:29:52 +02:00
Přemysl Eric Janouch
0a657a0294
degesch: silence compiler warnings
2015-07-11 01:53:04 +02:00
Přemysl Eric Janouch
5ddf963e33
degesch: actually avoid recursive aliases
2015-07-11 01:46:11 +02:00
Přemysl Eric Janouch
dcb1d2f97b
degesch: fix argument checking
2015-07-11 01:44:58 +02:00
Přemysl Eric Janouch
5da45877d6
degesch: add /alias that only lists aliases
2015-07-10 01:45:39 +02:00
Přemysl Eric Janouch
0fd53af0d1
degesch: factor out get_aliases_config()
2015-07-10 01:44:02 +02:00
Přemysl Eric Janouch
c839649551
degesch: add some default aliases
2015-07-10 00:55:13 +02:00
Přemysl Eric Janouch
4ddded3512
degesch: print the logo in a buffer
2015-07-10 00:55:13 +02:00
Přemysl Eric Janouch
3e17bfb54c
degesch: add a first time help
2015-07-10 00:55:13 +02:00
Přemysl Eric Janouch
7a7192d327
degesch: unfuck debug logging
...
We can store most of the messages in buffers, which gives us the nice
possibility of using the formatter to fix encodings, as well as the
ability to redisplay the debug prints.
And we can also have some nice colors.
2015-07-10 00:55:13 +02:00
Přemysl Eric Janouch
445837007d
degesch: get rid of partial command name matching
2015-07-09 22:34:42 +02:00
Přemysl Eric Janouch
567ce62257
degesch: tiny miscellaneous fixes
2015-07-09 22:34:42 +02:00
Přemysl Eric Janouch
ba1ac58d9d
degesch: add backend support for aliases
2015-07-09 22:34:42 +02:00
Přemysl Eric Janouch
5e7f9882dd
degesch: "nickname" -> "nicks"
...
Now you can specify multiple nicknames to try.
2015-07-09 02:46:31 +02:00
Přemysl Eric Janouch
2b2da0beab
degesch: support CASEMAPPING=rfc1459-strict
2015-07-09 01:48:34 +02:00
Přemysl Eric Janouch
f57cc7923d
degesch: clean up irc_handle_irc_isupport()
2015-07-09 01:36:19 +02:00
Přemysl Eric Janouch
1ba6db50b6
degesch: split handle_command_help()
2015-07-09 00:10:46 +02:00
Přemysl Eric Janouch
f907f1e3dc
Add str_cut_until()
2015-07-09 00:10:06 +02:00
Přemysl Eric Janouch
d3b1754e14
degesch: introduce transform_str()
2015-07-08 23:15:48 +02:00
Přemysl Eric Janouch
aa39445afb
Miscellaneous, cleanup
...
Went through the entire source of degesch and made changes along the way.
2015-07-06 01:54:02 +02:00
Přemysl Eric Janouch
096a179e09
degesch: implement /server add
2015-07-05 20:32:48 +02:00
Přemysl Eric Janouch
15d3129ea3
degesch: mark all unrecognized config values
2015-07-05 18:26:46 +02:00
Přemysl Eric Janouch
ff20e74868
degesch: fix usage of "prompt_shown"
...
It can go very negative.
2015-07-05 17:29:44 +02:00
Přemysl Eric Janouch
550f8baa1a
degesch: add "on_change" for behaviour.logging
2015-07-05 17:02:11 +02:00
Přemysl Eric Janouch
8c2c0472cb
degesch: add some trivial "on_change" callbacks
2015-07-05 16:28:27 +02:00
Přemysl Eric Janouch
6de7ae9583
degesch: only apply relevant attributes on change
2015-07-05 16:15:30 +02:00
Přemysl Eric Janouch
3a922c3c1a
degesch: start using "on_change" notifications
...
Terminal attributes can be changed on the fly now.
2015-07-05 15:57:53 +02:00
Přemysl Eric Janouch
b1dd34a7ba
degesch: set "user_data" while loading config
...
It'd be quite wrong to call "on_change" on them without this.
2015-07-05 02:16:43 +02:00
Přemysl Eric Janouch
9b41256ebf
degesch: create servers from configuration
...
This means that as of now, the only way of creating a server is
to edit the configuration file by hand and add (at least) an empty
object under the server's name.
2015-07-05 02:16:43 +02:00
Přemysl Eric Janouch
0ecd297c6f
degesch: stubplement /server
2015-07-04 22:28:59 +02:00
Přemysl Eric Janouch
bda1239a33
degesch: /buffer close switches to previous buffer
...
buffer_next() proved too annoying.
2015-07-04 20:04:20 +02:00
Přemysl Eric Janouch
990e8d7d94
degesch: optimize buffer_print_backlog()
...
Apparently readline can be really, really slow at redrawing.
2015-07-04 16:58:25 +02:00
Přemysl Eric Janouch
ef2b4d9a01
degesch: flush I/O buffers on disconnect
...
Discovered thanks to weercd.
2015-07-04 16:37:31 +02:00
Přemysl Eric Janouch
4471e0c6cd
degesch: periodically flush logs to disk
2015-07-04 15:45:27 +02:00
Přemysl Eric Janouch
94d495fbfa
degesch: add logging to file
2015-07-04 15:45:27 +02:00
Přemysl Eric Janouch
3503b76015
degesch: fix unused variable
2015-07-04 01:46:35 +02:00
Přemysl Eric Janouch
6498690999
degesch: decode mIRC formatting in numerics
...
Just like... why not. Makes colors in the MOTD and in LIST work.
2015-07-04 01:45:22 +02:00
Přemysl Eric Janouch
8a75c2447f
degesch: fix memory issue in Readline
...
We didn't zero out the pointer for entries.
2015-07-04 01:11:27 +02:00
Přemysl Eric Janouch
7de1309421
degesch: clean up the async code a bit
2015-07-03 23:40:34 +02:00
Přemysl Eric Janouch
2357f1382a
degesch: rewrite to use asynchronous I/O
2015-07-03 22:19:12 +02:00
Přemysl Eric Janouch
15882dcdf9
degesch: part channel on /buffer close
2015-07-02 20:50:53 +02:00
Přemysl Eric Janouch
be10e61c90
degesch: fix /msg with CAP echo-message
2015-06-29 21:39:40 +02:00
Přemysl Eric Janouch
2b240b6631
degesch: add a #N format specifier
...
Fixes RPL_TOPICWHOTIME with some servers.
2015-06-29 08:56:43 +02:00
Přemysl Eric Janouch
134e19adf0
degesch: mark an issue with CAP echo-message
2015-06-28 23:01:38 +02:00
Přemysl Eric Janouch
fdff5f8c72
degesch: reclaim more memory with Readline
2015-06-28 23:00:46 +02:00
Přemysl Eric Janouch
b5d472f0df
degesch: clean up log_formatter()
2015-06-28 20:56:45 +02:00
Přemysl Eric Janouch
0074b1eda9
degesch: reorder code
2015-06-28 20:48:43 +02:00
Přemysl Eric Janouch
3f55693400
degesch: don't put dashes in listings
...
Just reflecting the behaviour of weechat.
2015-06-28 19:56:05 +02:00
Přemysl Eric Janouch
c9b33846cb
degesch: add an option to beep on highlight
2015-06-28 19:41:31 +02:00
Přemysl Eric Janouch
db6939bd60
degesch: fix /ctcp with CAP echo-message
2015-06-28 17:08:42 +02:00
Přemysl Eric Janouch
a1fa9d187e
degesch: log self nick changes in server buffer
2015-06-28 16:36:51 +02:00
Přemysl Eric Janouch
3e47abdfbb
degesch: further logging cleanup
2015-06-28 16:26:51 +02:00
Přemysl Eric Janouch
ed349cb1d3
degesch: logging cleanup
2015-06-28 16:16:19 +02:00
Přemysl Eric Janouch
02ab0f743b
degesch: remove "ctx" from command handler args
2015-06-28 03:00:19 +02:00
Přemysl Eric Janouch
335aeb599a
degesch: refactor logging
...
- everything coming from the server should be properly transcoded
- most nicknames should be highlighted
- some other minor changes here and there
2015-06-28 02:51:31 +02:00
Přemysl Eric Janouch
fafe1fde90
degesch: finish implementation of rehashing
...
I can only hope it works.
2015-06-23 23:20:03 +02:00
Přemysl Eric Janouch
e39bb976cb
degesch: partially implement rehashing
2015-06-23 22:10:16 +02:00
Přemysl Eric Janouch
63a65f9f7c
degesch: stubplement casemapping changes
2015-06-23 21:04:38 +02:00
Přemysl Eric Janouch
c3439175d7
degesch: NICK handling cleanup
2015-06-23 21:01:38 +02:00
Přemysl Eric Janouch
9603bae003
degesch: fix logging of NICK in PM buffers
2015-06-22 23:07:09 +02:00
Přemysl Eric Janouch
c8c1697e20
degesch: final fix for /query
...
rl_delete_text() didn't fix rl_point.
2015-06-22 23:07:09 +02:00
Přemysl Eric Janouch
de019e7832
degesch: fix handling of buffer collisions
2015-06-22 23:07:09 +02:00
Přemysl Eric Janouch
e276fe0022
degesch: fix /query
...
It changed the buffer, which saved the state, which saved the line
currently being processed (thanks Readline, so obvious).
2015-06-21 23:38:22 +02:00
Přemysl Eric Janouch
1e04fc24a7
degesch: fix /nick handling
...
When the new nickname was lexicographically identical (for example
User -> uSer), the whole thing broke down.
In addition to that, we used to check if the new nickname exists
and failed in that case. It _can_, however, exist. It just mustn't
be us.
2015-06-21 23:38:22 +02:00
Přemysl Eric Janouch
e85c98f315
degesch: implement the rest of buffer merging
2015-06-21 21:50:47 +02:00
Přemysl Eric Janouch
ce96be2d5e
degesch: show usage on /buffer move failure
2015-06-21 19:52:15 +02:00
Přemysl Eric Janouch
b56245cf5b
degesch: implement /buffer move
2015-06-21 19:35:35 +02:00
Přemysl Eric Janouch
b3a80630aa
degesch: change arguments to handle_buffer_close()
2015-06-21 18:39:32 +02:00
Přemysl Eric Janouch
85cebbcfa2
degesch: make highlights more obvious
...
Just the tiniest bit.
2015-06-21 04:00:20 +02:00
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
Přemysl Eric Janouch
06a24bd252
degesch: add a FIXME
2015-05-12 02:59:07 +02:00
Přemysl Eric Janouch
2ac685f2a6
degesch: actually support mIRC italics
2015-05-12 02:55:03 +02:00
Přemysl Eric Janouch
24159e0214
degesch: fix mIRC color parsing
2015-05-12 02:48:12 +02:00
Přemysl Eric Janouch
2d040cae73
degesch: color cleanup
2015-05-12 02:43:53 +02:00
Přemysl Eric Janouch
b5a7ea63c2
degesch: make mIRC formatting actually work
2015-05-11 19:09:42 +02:00
Přemysl Eric Janouch
1a24ab7085
degesch: fix a typical signed char problem
2015-05-10 23:11:43 +02:00
Přemysl Eric Janouch
502bb26f29
degesch: formatter: simplifications
2015-05-10 23:06:19 +02:00
Přemysl Eric Janouch
6deb471423
degesch: halfplement mIRC formatting
...
Now for the displaying part.
2015-05-10 09:55:44 +02:00
Přemysl Eric Janouch
095a2cc16a
degesch: fix a stupid segfault
2015-05-10 06:44:34 +02:00
Přemysl Eric Janouch
dce14b9961
degesch: preparations for mIRC formatting
...
We're gonna have to do it the hard way, it seems.
Prepared color mapping for mIRC colors which are totally different
from regular ANSI colors in your terminal.
What's missing now is a solid algorithm for outputting the 16-color
range using what we have (bold, blink, color 8--15, ...)
It also, naturally, has to respect any current attributes that are
in conflict with the colors.
2015-05-10 05:28:12 +02:00
Přemysl Eric Janouch
0a990ad6f7
degesch: add a way to output mIRC formatting
2015-05-10 02:12:39 +02:00
Přemysl Eric Janouch
00b91976b0
degesch: fix QUIT message on C-c
2015-05-10 01:49:26 +02:00
Přemysl Eric Janouch
1bbfcbe993
degesch: be a bit less leaky with readline
...
It spams valgrind.
2015-05-10 00:27:41 +02:00
Přemysl Eric Janouch
7c9a1f50da
degesch: add nickname autocompletion
2015-05-10 00:23:23 +02:00
Přemysl Eric Janouch
2ef7323f26
Fix completion_add_word()
2015-05-10 00:22:49 +02:00
Přemysl Eric Janouch
e859693bf2
degesch: review todo items
2015-05-10 00:09:05 +02:00
Přemysl Eric Janouch
d05b610636
degesch: remove people from channels when leaving
2015-05-09 23:50:44 +02:00
Přemysl Eric Janouch
c52f353894
degesch: implement /disconnect
...
One bug remaining to make it work.
2015-05-09 23:30:04 +02:00
Přemysl Eric Janouch
e3b14e7d36
degesch: fix irc_is_connected()
...
We've added a new state.
2015-05-09 23:15:24 +02:00
Přemysl Eric Janouch
0df9892391
degesch: /connect restarts if already connecting
2015-05-09 23:14:07 +02:00
Přemysl Eric Janouch
5b9e263ca7
degesch: improve /help display
2015-05-09 23:08:30 +02:00
Přemysl Eric Janouch
789db85915
degesch: add command placeholders
2015-05-09 23:07:48 +02:00
Přemysl Eric Janouch
ad4ebc2101
degesch: fix crash when idle
2015-05-09 23:06:19 +02:00
Přemysl Eric Janouch
2eda3110b3
degesch: asynchronous connecting etc.
...
I'm sorry, couldn't keep the diff small.
All the ZyklonB heritage code is shit anyway.
2015-05-09 22:14:02 +02:00
Přemysl Eric Janouch
19b2eda70e
degesch: more shuffling
2015-05-09 06:11:36 +02:00
Přemysl Eric Janouch
699636d9a2
degesch: shuffle some code
2015-05-09 06:00:40 +02:00
Přemysl Eric Janouch
29db258102
degesch: don't export schemas (make them static)
2015-05-08 23:27:21 +02:00
Přemysl Eric Janouch
9a02c90e3e
degesch: add server::state, rename stuff
...
This is in preparation of asynchronous connects.
2015-05-08 17:39:26 +02:00
Přemysl Eric Janouch
6414a73d62
degesch: factor out jump_to_buffer()
2015-05-08 07:46:32 +02:00
Přemysl Eric Janouch
0b1e4cc41d
degesch: better comment
2015-05-08 06:35:45 +02:00
Přemysl Eric Janouch
0bdf76edc5
degesch: clean up key binding initialization
2015-05-08 06:23:38 +02:00
Přemysl Eric Janouch
cc505090d4
degesch: customize C-l behaviour
...
Reprint the backlog.
2015-05-08 05:03:36 +02:00
Přemysl Eric Janouch
bdbc4b33f0
degesch: prevent segfault on exit with libedit
2015-05-08 04:31:14 +02:00
Přemysl Eric Janouch
7636ebb149
degesch: add a fancy logo
...
It's all about the looks, man.
2015-05-07 22:55:11 +02:00
Přemysl Eric Janouch
30c58eede9
degesch: bind F5/F6 to previous/next buffer
2015-05-07 19:48:10 +02:00
Přemysl Eric Janouch
2c95c406f4
degesch: colour the user@host part
2015-05-07 19:39:02 +02:00
Přemysl Eric Janouch
a15a48ac25
degesch: a bit of cleanup
2015-05-07 18:39:43 +02:00
Přemysl Eric Janouch
5271bfb1ee
degesch: fix utf8_common-prefix()
2015-05-07 18:27:02 +02:00
Přemysl Eric Janouch
772e0d0870
Bump liberty
2015-05-07 08:36:22 +02:00
Přemysl Eric Janouch
ae91f9047d
degesch: fix more libedit weirdness
2015-05-07 07:52:12 +02:00
Přemysl Eric Janouch
715def6555
degesch: fix option completion
2015-05-07 07:47:58 +02:00
Přemysl Eric Janouch
e3f1bcecae
degesch: further libedit cleanup
2015-05-07 07:40:58 +02:00
Přemysl Eric Janouch
85baf5ecec
degesch: little libedit details
2015-05-07 07:23:11 +02:00
Přemysl Eric Janouch
1d7903ae03
degesch: implement some autocompletion
2015-05-07 06:37:50 +02:00
Přemysl Eric Janouch
4ecf8d90da
degesch: halfplement word completion
...
This was a bit painful.
2015-05-07 05:19:13 +02:00
Přemysl Eric Janouch
4f5d171799
degesch: add constant for word breaking characters
2015-05-06 22:20:02 +02:00
Přemysl Eric Janouch
894c45bef4
degesch: fix readline initialization
2015-05-06 22:01:48 +02:00
Přemysl Eric Janouch
06ec2a1388
degesch: stub word completion
2015-05-06 17:32:29 +02:00
Přemysl Eric Janouch
99526126e4
degesch: fix libedit initialization
2015-05-05 22:35:51 +02:00