Přemysl Eric Janouch
333ad2c981
degesch: allow changing the list of used CAPs
...
Bump liberty.
2016-02-01 21:57:43 +01:00
Přemysl Eric Janouch
a850ee45f1
degesch: optimize buffer memory usage
...
We have approximately 5 formatter_items per buffer_line. Let's assume
we're on a 64-bit machine. Then there were (5 * 2) + 3 useless pointers
(104 bytes) as well as 5 * (4 + 4) = 40 bytes of wasted space because
of needless padding. That's 144 bytes already. Compared to that, this
change adds 16 bytes of overhead for an array sentinel, i.e. 128B less.
With a limit of 1000 lines per buffer, we've saved ~128kB per buffer
on completely useless data, and code complexity stays roughly the same.
All in all, memory usage for buffers should be about 50% lower.
2016-01-31 21:43:23 +01:00
Přemysl Eric Janouch
10a264ec3d
kike: add support for IRCv3.2 server-time
2016-01-31 21:43:23 +01:00
Přemysl Eric Janouch
f57664ddd0
degesch: add an assertion
...
It should never fail with current code.
2016-01-18 00:59:43 +01:00
Přemysl Eric Janouch
773d14e740
degesch: disable TLS compression
2016-01-18 00:45:20 +01:00
Přemysl Eric Janouch
221ae03b5c
degesch: Lua: fix memory leak on load failure
2016-01-17 22:57:16 +01:00
Přemysl Eric Janouch
588a696c68
degesch: lesser heap fragmentation
2016-01-17 22:15:48 +01:00
Přemysl Eric Janouch
fdeb550ee0
degesch: fix backlog limit
...
It was effectively infinite.
2016-01-15 22:11:05 +01:00
Přemysl Eric Janouch
c4a18ec8a7
degesch: fix and simplify screen handling
...
Now with less madness.
2016-01-15 05:40:20 +01:00
Přemysl Eric Janouch
d0db1a6cdc
degesch: enforce fullscreen buffers
...
Probably long overdue.
Now we actually look like something resembling a regular IRC client.
2016-01-15 05:12:03 +01:00
Přemysl Eric Janouch
9333081178
degesch: option for fullscreen buffers
2016-01-15 05:09:42 +01:00
Přemysl Eric Janouch
b7c9e8ca23
degesch: make backlog limit configurable
2016-01-15 05:09:42 +01:00
Přemysl Eric Janouch
f39e2a4bc8
degesch: Lua: add autocomplete hooks
2016-01-15 02:39:10 +01:00
Přemysl Eric Janouch
56858a97dd
degesch: Lua: allow simulating user input
...
Also added UTF-8 validation to buffer:log() while I'm at it.
2016-01-14 03:34:29 +01:00
Přemysl Eric Janouch
331d1842b9
Bump liberty, shuffle some code
2016-01-14 03:26:02 +01:00
Přemysl Eric Janouch
32f719dec7
degesch: Lua: pass hostname to on_connected
2016-01-09 06:19:54 +01:00
Přemysl Eric Janouch
0b92e9210c
degesch: Lua: set sockets to nonblocking
2016-01-09 05:47:24 +01:00
Přemysl Eric Janouch
092e9b5101
Bump liberty
2016-01-09 05:27:45 +01:00
Přemysl Eric Janouch
faa0c989f8
degesch: Lua: actually allow filtering out input
2016-01-09 05:05:46 +01:00
Přemysl Eric Janouch
53e72dd12d
degesch: Lua: provide a traceback on load error
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
83c14ba264
degesch: Lua: fix plugin configuration names
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
64143a5957
degesch: Lua: fix luaL_ref() usage
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
aca153f575
degesch: Lua: fix configuration loading
...
Not the cleanest solution but it has to do for now.
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch
79f46752d4
degesch: make sure newlines are output correctly
2016-01-08 08:40:40 +01:00
Přemysl Eric Janouch
2a180ee084
degesch: Lua: finish implementation of connection
2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch
6754c59890
degesch: Lua: avoid resource leak
...
If a connector's on_success callback fails, we need to destroy the connection.
2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch
376bbea249
Factor out socket_io_try_{read,write}()
...
To be reused in Lua connection API.
2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch
a5ac0d24b8
degesch: fix handling of input editor death
2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch
1d3910fd8e
degesch: fix switching of buffers by command
...
Readline used to erase the new buffer's contents.
Defer processing.
2016-01-07 22:49:49 +01:00
Přemysl Eric Janouch
a259e96405
degesch: Lua: fix a resource leak
2016-01-06 00:23:54 +01:00
Přemysl Eric Janouch
a7be2bf160
degesch: refactor Lua
...
And fix handling of nil returns from filter callbacks.
2016-01-05 23:19:28 +01:00
Přemysl Eric Janouch
e1c7b8dcaf
degesch: Lua: halfplement a connector wrapper
...
You can't do anything reasonable with the socket now.
2016-01-05 22:12:22 +01:00
Přemysl Eric Janouch
e9b39a1ef7
degesch: Lua: allow arbitrary userdata properties
2016-01-04 23:14:38 +01:00
Přemysl Eric Janouch
a227060383
degesch: Lua: use references for hook callbacks
...
Don't associate the callback with the full userdata object,
we'll need this for something else.
2016-01-04 22:24:05 +01:00
Přemysl Eric Janouch
4832a99461
degesch: add basic autocomplete for /topic
2016-01-04 22:06:29 +01:00
Přemysl Eric Janouch
aeb047260f
Bump liberty, enable TLS SNI
...
Involves some rewrites to fit the new APIs.
SNI has been implemented Mostly just because we can, I don't think it's
widely in use and kike doesn't support this feature of the protocol either.
2016-01-04 01:12:42 +01:00
Přemysl Eric Janouch
1a73f1f1d7
degesch: fix a memory leak under libedit
2016-01-01 02:00:02 +01:00
Přemysl Eric Janouch
8564297e2a
degesch: fix segfault on /quit under libedit
2015-12-31 23:42:43 +01:00
Přemysl Eric Janouch
74bed4bc02
degesch: Alt-Tab switch to the last buffer
2015-12-31 05:07:28 +01:00
Přemysl Eric Janouch
8f229f41e1
degesch: avoid fileno() after fork()
...
It's not guaranteed to be async-signal-safe, which may matter once
we start using threads. And it's also cleaner to just pass the FD.
2015-12-31 05:07:28 +01:00
Přemysl Eric Janouch
b4d6decc06
degesch: typos
2015-12-31 03:57:09 +01:00
Přemysl Eric Janouch
04f87b7587
degesch: enable configuration in Lua plugins
2015-12-28 04:08:45 +01:00
Přemysl Eric Janouch
b7dd384048
degesch: little step towards localisation
...
We don't use LC_MESSAGES, though, so it doesn't really matter as of now.
liberty currently isn't prepared for non-ASCII errors or filenames,
and just silently expects everything to be in the same all-compatible
encoding. degesch further expects the encoding to be UTF-8.
All strings should ideally be converted to UTF-8 as soon as possible.
2015-12-25 21:36:56 +01:00
Přemysl Eric Janouch
e101afab38
degesch: allow launching an editor for input
...
Useful for editing multiline text (such as making it single-line).
Some refactoring and cleanup.
2015-12-25 05:20:50 +01:00
Přemysl Eric Janouch
37e9165548
degesch: better handling of terminal suspension
2015-12-25 05:03:02 +01:00
Přemysl Eric Janouch
25bb7a978d
degesch: refactoring
2015-12-25 05:02:58 +01:00
Přemysl Eric Janouch
7d531a9bbf
Bump liberty
2015-12-13 22:44:27 +01:00
Přemysl Eric Janouch
1c009f394a
Bump liberty
2015-12-11 03:01:25 +01:00
Přemysl Eric Janouch
620418fa3b
degesch: add a test for configuration
2015-12-10 21:26:17 +01:00
Přemysl Eric Janouch
28e4bc1399
degesch: add more tests, bump liberty
...
The UTF-8 common prefix test discovered a bug in UTF-8 parsing.
Made $[1-9] in aliases insert nothing if there's no argument at that index.
2015-12-10 20:04:26 +01:00