summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* degesch: make a second SIGINT force-quitPřemysl Eric Janouch2020-11-011-10/+15
| | | | | | 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.
* Bump version, update NEWSv1.1.0Přemysl Eric Janouch2020-10-312-1/+10
|
* degesch: buffer creation cleanupPřemysl Eric Janouch2020-10-311-17/+24
|
* degesch: sanitize IRC nicknames/channel namesPřemysl Eric Janouch2020-10-311-4/+6
| | | | Don't trust the IRCd to have them in a subset of UTF-8.
* degesch: implement autocompletion for /setPřemysl Eric Janouch2020-10-311-28/+82
| | | | | | | 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.
* README.adoc: improve backlog helper invocationPřemysl Eric Janouch2020-10-311-1/+1
| | | | | | | | 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.
* kike: avoid crash with a wildcard addressPřemysl Eric Janouch2020-10-311-9/+20
| | | | | A most unfortunate 06d3b3b regression, mostly stemming from forgetting why the `break` was in place and not documenting it.
* README.adoc: minor documentation updatePřemysl Eric Janouch2020-10-311-4/+5
|
* degesch: mark some issues for later resolutionPřemysl Eric Janouch2020-10-311-0/+3
|
* fancy-prompt.lua: allow non-ASCII buffer namesPřemysl Eric Janouch2020-10-311-4/+5
| | | | | It may theoretically bite us in the ass with non-UTF-8-compliant IRC servers, and certainly with double-width characters.
* degesch: fix fancy-prompt.lua with libeditPřemysl Eric Janouch2020-10-311-0/+14
| | | | Partly by unifying the interface for prompt hooks to match GNU Readline.
* degesch: make PageUp actually scroll a page upPřemysl Eric Janouch2020-10-311-1/+1
| | | | | | | 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.
* Minor rebrandingPřemysl Eric Janouch2020-10-318-12/+12
| | | | | | There's nothing experimental about this project anymore. It's stable. Maybe we should add a photo of Hitler or something.
* CMakeLists.txt: clean up OpenBSD supportPřemysl Eric Janouch2020-10-291-3/+1
| | | | A few things might have changed.
* Bump version, update NEWSv1.0.0Přemysl Eric Janouch2020-10-292-1/+32
|
* Add real manual pagesPřemysl Eric Janouch2020-10-295-8/+294
| | | | To some extent they duplicate the README but from a different angle.
* degesch: fix Lua 5.3 buildPřemysl Eric Janouch2020-10-291-1/+1
| | | | Regression from the last release.
* kike: ensure NULL binds to both IPv4 and IPv6Přemysl Eric Janouch2020-10-291-2/+9
|
* kike: document the "operators" setting usefullyPřemysl Eric Janouch2020-10-281-1/+1
| | | | Now our user just needs to be able to guess that it's a hex string.
* ZyklonB: don't look for plugins in /usr/libPřemysl Eric Janouch2020-10-282-2/+0
| | | | It's quite unlikely that this project will ever see compiled plugins.
* ZyklonB: use XDG paths by defaultPřemysl Eric Janouch2020-10-283-12/+33
| | | | | | | | | | | | 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.
* README.adoc: fix GPL noticePřemysl Eric Janouch2020-10-281-2/+2
|
* CMakeLists.txt: omit end{if,foreach} expressionsPřemysl Eric Janouch2020-10-281-20/+20
| | | | Their usefulness was almost negative.
* CMakeLists.txt: clean up and fix build rulesPřemysl Eric Janouch2020-10-281-34/+18
| | | | The multiple-output custom command ran separately for each binary.
* Bump minimum CMake version to 3.0Přemysl Eric Janouch2020-10-271-3/+3
| | | | A nice, round number.
* Bump copyright yearsPřemysl Eric Janouch2020-10-271-1/+1
|
* Bump libertyPřemysl Eric Janouch2020-10-241-0/+0
| | | | Testing in production is discouraged.
* Bump liberty, test UTF-8 sanitizationPřemysl Eric Janouch2020-10-212-6/+14
|
* degesch: add a hidden LOMEM compile optionPřemysl Eric Janouch2020-10-201-1/+21
|
* Improve OpenSSL integrationPřemysl Eric Janouch2020-10-204-15/+37
| | | | | | | | | 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.
* degesch: comment about improving word wrapperPřemysl Eric Janouch2020-10-191-0/+8
|
* degesch: slightly cut down memory usagePřemysl Eric Janouch2020-10-191-16/+25
| | | | | | | | | | | | | | | | | | | 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.
* degesch: silence the compilerPřemysl Eric Janouch2020-10-191-2/+4
|
* degesch: fix processing WHO repliesPřemysl Eric Janouch2020-10-191-4/+4
| | | | | We don't want to print the reply for ourselves nor for unknown or PM-only users.
* degesch: update an outdated commentPřemysl Eric Janouch2020-10-161-1/+1
|
* degesch: cleanupPřemysl Eric Janouch2020-10-161-25/+25
| | | | | Channels now need a reference to the server, so don't pass it to functions.
* degesch: watch away statuses with away-notify/WHOPřemysl Eric Janouch2020-10-161-19/+106
| | | | | We're not going to implement polling. Polling is complex. Freenode supports away-notify.
* degesch: don't eat NAMES for unknown channelsPřemysl Eric Janouch2020-10-161-0/+3
|
* degesch: stubplement TAGMSGPřemysl Eric Janouch2020-10-161-0/+9
|
* degesch: clarify handling of unexpected JOINsPřemysl Eric Janouch2020-10-161-5/+5
| | | | I got confused about safety.
* degesch: improve a function namePřemysl Eric Janouch2020-10-161-2/+2
| | | | 3_3_3_3_4 looks awful and it wasn't even precise.
* Tolerate cut-off UTF-8 messagesPřemysl Eric Janouch2020-10-121-1/+22
| | | | | | | | I've had this happen to me on Russian channels and it's highly annoying because you lose the entire message. On the contrary, this at worst screws up the last few characters of it. Closes #2
* Bump libertyPřemysl Eric Janouch2020-10-122-2/+2
|
* kike: fix up debug messagesPřemysl Eric Janouch2020-10-121-2/+2
|
* Bump libertyPřemysl Eric Janouch2020-10-122-44/+10
| | | | We've moved most of our configuration test in there.
* kike: use read/write rather than recv/sendPřemysl Eric Janouch2020-10-121-3/+3
| | | | | | read/write support non-sockets, otherwise they're the same here. This is in preparation for fuzzing.
* degesch: add support for crossed-out textPřemysl Eric Janouch2020-10-111-10/+21
| | | | Assuming that sgr0 includes rmxx behaviour, which should be true.
* degesch: support more coloursPřemysl Eric Janouch2020-10-111-4/+21
|
* degesch: prefer British spelling in commentsPřemysl Eric Janouch2020-10-111-23/+23
| | | | Let's say the rest is in Oxford spelling, not sure about it.
* prime.lua: skip colour sequences, add configPřemysl Eric Janouch2020-10-111-16/+34
| | | | | | | | | Colour sequence skipping is somewhat involved, we might want to add a helper generator to the "degesch" Lua library, in the form of {substring, is_formatting}. formatter_parse_mirc() isn't useful, a pure Lua implementation would be more appropriate (where do we put that?)