Přemysl Eric Janouch
e3c47c33fa
degesch: implement -=/+= for multiple values
...
It didn't make sense to have these unimplemented,
though perhaps += shouldn't enforce a set.
Sadly, autocomplete is fairly difficult for -= of multiple items.
2021-06-14 09:06:38 +02:00
Přemysl Eric Janouch
80c1e8f8eb
degesch: make /deop and /devoice default to self
...
It's pretty annoying to type `/mode -o <user>`, for little reason.
2021-06-03 00:12:22 +02:00
Přemysl Eric Janouch
c5f49ab1e6
censor.lua: strip colours, configurable formatting
...
Colour parsing code taken from prime.lua, and modified to strip.
2021-06-03 00:12:22 +02:00
Přemysl Eric Janouch
6f62b9c0c7
degesch: make CHGHOST update our own userhost info
...
I've almost forgotten that we use this for message spliting.
2021-05-30 08:23:23 +02:00
Přemysl Eric Janouch
c1d69e3630
degesch: add support for IRCv3 chghost
...
This is somewhat similar to a nick change.
2021-05-30 08:06:38 +02:00
Přemysl Eric Janouch
c75ef167f2
degesch: document the SASL EXTERNAL support
...
So far it's only been mentioned in the NEWS file,
which is definitely not sufficient.
It would be good to move this kind of stuff out from README.adoc.
2021-05-29 06:38:33 +02:00
Přemysl Eric Janouch
ddffc71abe
degesch: factor out irc_try_finish_cap_negotiation()
...
Too much repeated, non-obvious code.
2021-05-28 04:59:21 +02:00
Přemysl Eric Janouch
5a0b2d1c57
degesch: add trivial SASL EXTERNAL support
...
Just set `tls_cert`, and add `sasl` to `capabilities`.
2021-05-28 04:59:20 +02:00
Přemysl Eric Janouch
bb451a5050
degesch: support CAP DEL, request cap-notify
...
It doesn't require much effort to cancel capabilities, plus with
the newer version we get the respective notification anyway.
2021-05-28 04:59:20 +02:00
Přemysl Eric Janouch
61f15ead8a
degesch: don't CAP REQ when already registered
...
The list may later be requested manually, which shouldn't have
an unexpected side-effect.
2021-05-28 04:59:20 +02:00
Přemysl Eric Janouch
17f430043a
degesch: IRCv3.2 capability negotiation
...
We can receive and display capability values now.
2021-05-28 04:59:20 +02:00
Přemysl Eric Janouch
735096d76d
degesch: add a /squery command for IRCnet
2021-05-28 04:06:27 +02:00
Přemysl Eric Janouch
1ba59e6ee0
degesch: fix back-parsing outgoing CAP REQ
...
The bug has apparently been there since the beginning.
2021-05-28 04:04:44 +02:00
Přemysl Eric Janouch
f9ba682c0e
degesch: reset away-notify on disconnect
...
Forgotten to do it when adding the support for it.
2021-05-28 04:04:23 +02:00
Přemysl Eric Janouch
8e8ffe2c73
degesch: don't switch to channels while typing
...
We might just always set the highlighted bit on,
it would be consistent with PMs.
2021-04-10 05:11:46 +02:00
Přemysl Eric Janouch
d05c85833d
degesch: make a second SIGINT force-quit
...
Also fixed the possibility of eating a sequence of signals
as we reset the indicators /after/ we took action,
which creates a time window for races.
2020-11-01 15:33:16 +01:00
Přemysl Eric Janouch
2336340ad8
Bump version, update NEWS
2020-10-31 23:50:32 +01:00
Přemysl Eric Janouch
8f5dec0456
degesch: buffer creation cleanup
2020-10-31 23:44:18 +01:00
Přemysl Eric Janouch
3dc6ee9a5b
degesch: sanitize IRC nicknames/channel names
...
Don't trust the IRCd to have them in a subset of UTF-8.
2020-10-31 23:25:08 +01:00
Přemysl Eric Janouch
821ce04915
degesch: implement autocompletion for /set
...
It was super annoying to just slightly modify strings and
string arrays, now you can have existing values filled in.
complete_word() looks a bit cleaner now as well.
2020-10-31 23:18:31 +01:00
Přemysl Eric Janouch
2fe3b95ecd
README.adoc: improve backlog helper invocation
...
When fancy-prompt.lua is enabled, tho prompt is two-lined
and a simple PageUp would skip one line of content.
It works slightly better than it should: when there's under
a page of content to scroll, there is no shift at all.
2020-10-31 20:00:23 +01:00
Přemysl Eric Janouch
32c99c9d66
kike: avoid crash with a wildcard address
...
A most unfortunate 06d3b3b
regression, mostly stemming from
forgetting why the `break` was in place and not documenting it.
2020-10-31 17:34:32 +01:00
Přemysl Eric Janouch
cd7133e173
README.adoc: minor documentation update
2020-10-31 16:06:13 +01:00
Přemysl Eric Janouch
b4ed52015a
degesch: mark some issues for later resolution
2020-10-31 16:06:12 +01:00
Přemysl Eric Janouch
271689da99
fancy-prompt.lua: allow non-ASCII buffer names
...
It may theoretically bite us in the ass with non-UTF-8-compliant
IRC servers, and certainly with double-width characters.
2020-10-31 16:05:15 +01:00
Přemysl Eric Janouch
38c23d0d38
degesch: fix fancy-prompt.lua with libedit
...
Partly by unifying the interface for prompt hooks to match GNU Readline.
2020-10-31 16:04:30 +01:00
Přemysl Eric Janouch
439af8884c
degesch: make PageUp actually scroll a page up
...
Now that the input to the backlog helper is wrapped the same way
as what we display. There's a slight issue always triggered by
fancy-prompt.lua where a multiline prompt/command line makes less(1)
go too high up but it's nothing too important.
2020-10-31 16:00:55 +01:00
Přemysl Eric Janouch
8ccf38ad76
Minor rebranding
...
There's nothing experimental about this project anymore. It's stable.
Maybe we should add a photo of Hitler or something.
2020-10-31 13:42:56 +01:00
Přemysl Eric Janouch
47a4c8beca
CMakeLists.txt: clean up OpenBSD support
...
A few things might have changed.
2020-10-29 15:27:09 +01:00
Přemysl Eric Janouch
1de4a2ae34
Bump version, update NEWS
2020-10-29 03:03:07 +01:00
Přemysl Eric Janouch
53cc52e320
Add real manual pages
...
To some extent they duplicate the README but from a different angle.
2020-10-29 02:46:40 +01:00
Přemysl Eric Janouch
cbe4009308
degesch: fix Lua 5.3 build
...
Regression from the last release.
2020-10-29 02:44:40 +01:00
Přemysl Eric Janouch
06d3b3bd2b
kike: ensure NULL binds to both IPv4 and IPv6
2020-10-29 00:39:57 +01:00
Přemysl Eric Janouch
132e4a38b8
kike: document the "operators" setting usefully
...
Now our user just needs to be able to guess that it's a hex string.
2020-10-28 23:53:03 +01:00
Přemysl Eric Janouch
8429995cb6
ZyklonB: don't look for plugins in /usr/lib
...
It's quite unlikely that this project will ever see compiled plugins.
2020-10-28 17:17:48 +01:00
Přemysl Eric Janouch
03ed097353
ZyklonB: use XDG paths by default
...
Install plugins to /usr/share rather than /usr/lib since they're
arch-independent. Many precedents can be found for scripted plugins
in /usr/share and fewer for /usr/lib.
Look for plugins in all XDG data directories and repurpose
the "plugin_dir" setting to override this behaviour.
This adds some complexity to the bot but unifies the project.
It might make sense to remove the "plugin_dir" setting.
2020-10-28 17:17:34 +01:00
Přemysl Eric Janouch
b68e5ceedc
README.adoc: fix GPL notice
2020-10-28 13:11:46 +01:00
Přemysl Eric Janouch
0d0d0b6863
CMakeLists.txt: omit end{if,foreach} expressions
...
Their usefulness was almost negative.
2020-10-28 11:30:37 +01:00
Přemysl Eric Janouch
577fd1b446
CMakeLists.txt: clean up and fix build rules
...
The multiple-output custom command ran separately for each binary.
2020-10-28 11:23:39 +01:00
Přemysl Eric Janouch
500c83231f
Bump minimum CMake version to 3.0
...
A nice, round number.
2020-10-27 12:02:47 +01:00
Přemysl Eric Janouch
4b7649211a
Bump copyright years
2020-10-27 12:02:46 +01:00
Přemysl Eric Janouch
9afa4944b6
Bump liberty
...
Testing in production is discouraged.
2020-10-24 19:10:55 +02:00
Přemysl Eric Janouch
e58ce1f02e
Bump liberty, test UTF-8 sanitization
2020-10-21 05:44:27 +02:00
Přemysl Eric Janouch
98e95de90e
degesch: add a hidden LOMEM compile option
2020-10-20 02:02:09 +02:00
Přemysl Eric Janouch
383f6af344
Improve OpenSSL integration
...
Ensure the error stack is cleared after errors are processed.
Also handle NULL returns safely.
Makes the debug mode spew more data, though almost none of
the contexts is in reaction to network peer data.
2020-10-20 01:55:46 +02:00
Přemysl Eric Janouch
13c85aa361
degesch: comment about improving word wrapper
2020-10-19 23:37:19 +02:00
Přemysl Eric Janouch
419b02e9f7
degesch: slightly cut down memory usage
...
The worst offenders are actually OpenSSL and Lua, this is
mostly about a preventable surprise.
This is more correct because we mix escape sequences for
attributes with text, however in practice no one will use
shit-jizz with degesch.
It is also a clean-up: "struct line_char" has been almost
halved in size. We used to use it as a cache and now we
recompute the multibyte sequence.
Of course, it'd be best to get rid of the linked list but
it would take a very long time to rewrite the algorithm.
Plus, it's not certain that it could be improved by much.
The change in "struct line_char_attrs" is merely cosmetical.
2020-10-19 06:38:31 +02:00
Přemysl Eric Janouch
c89032e4e0
degesch: silence the compiler
2020-10-19 05:17:41 +02:00
Přemysl Eric Janouch
474657c7b3
degesch: fix processing WHO replies
...
We don't want to print the reply for ourselves
nor for unknown or PM-only users.
2020-10-19 04:21:52 +02:00
Přemysl Eric Janouch
323a372389
degesch: update an outdated comment
2020-10-16 23:29:05 +02:00