Commit Graph

171 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 2edc9c6fd1
Add a C++ backend for LibertyXDR
Also change the C backend so that it also de/serializes
unions without any other fields besides the tag.
2023-07-07 16:43:52 +02:00
Přemysl Eric Janouch f78f8a70f1
lxdrgen-swift: fix prefix handling
"Any prefix will work, so long as it's 'Relay'."
2023-07-06 11:01:51 +02:00
Přemysl Eric Janouch be9a3e693e
lxdrgen-swift: fix warnings with exhaustive unions 2023-07-06 06:54:23 +02:00
Přemysl Eric Janouch 53197b51e5
Add a Swift backend for LibertyXDR 2023-07-06 06:54:22 +02:00
Přemysl Eric Janouch 8466d0d850
CMakeLists.txt: link properly 2023-07-04 08:08:29 +02:00
Přemysl Eric Janouch 4c2874649d
liberty-xui: fix build on systems without A_ITALIC 2023-07-04 06:40:54 +02:00
Přemysl Eric Janouch 717c301207
lxdrgen: fix decapitalization
decapitalize() is typically called on snaketocamel() output,
which always makes the first letter uppercase.
2023-06-28 16:24:59 +02:00
Přemysl Eric Janouch 091f92bab3
liberty-xui: fix a build warning
On macOS, TIOCGWINSZ seems to be defined earlier.
2023-06-28 16:24:59 +02:00
Přemysl Eric Janouch 556c25855e
Fix a CMake warning 2023-06-20 01:24:29 +02:00
Přemysl Eric Janouch d01a1ff034
Turn liberty-tui into a terminal/X11 hybrid
Importing code from nncmpp, adjusting it to work with hex as well.
2023-06-19 13:06:12 +02:00
Přemysl Eric Janouch bd1013f16a
Parse block attribute list lines
This code is of strategic importance, but its output is so far unused.
2023-06-11 10:02:16 +02:00
Přemysl Eric Janouch 29bf109a51
asciiman: improve attribute handling 2022-10-09 18:43:37 +02:00
Přemysl Eric Janouch 0e86ffe7c3
asciiman: fixes, improve mandoc compatibility 2022-10-09 01:01:08 +02:00
Přemysl Eric Janouch cbeb4e3133
Improve documentation 2022-10-04 01:46:41 +02:00
Přemysl Eric Janouch 0f3ed14575
asciiman: support attribute passing 2022-09-30 18:13:01 +02:00
Přemysl Eric Janouch 089593bb0f
asciiman: render libertyxdr.adoc properly 2022-09-30 15:01:14 +02:00
Přemysl Eric Janouch 035bfe5e81
Document the recently added scripts 2022-09-30 03:09:04 +02:00
Přemysl Eric Janouch ebbe7a1672
Import protocol code generator from xK, add tests
Also add a VIM syntax highlighting file.

This also fixes some previously untriggered bugs.
2022-09-30 03:06:36 +02:00
Přemysl Eric Janouch 4c3837ae2c
cmake-parser: clean up 2022-09-28 00:06:51 +02:00
Přemysl Eric Janouch af2756ee01
Add a rudimentary CMake script parser 2022-09-27 23:27:06 +02:00
Přemysl Eric Janouch 688c458095
asciiman: fix the first line of output 2022-09-25 21:11:45 +02:00
Přemysl Eric Janouch 34460ca715
asciiman: improve command escaping 2022-09-25 20:55:51 +02:00
Přemysl Eric Janouch 9883caf849
Add a stupid AsciiDoc to manual page converter
Most of my projects that could need it make use of liberty.
2022-09-25 20:07:10 +02:00
Přemysl Eric Janouch 22a121383f
Allow for overriding feature test macros 2022-09-11 00:44:14 +02:00
Přemysl Eric Janouch 0e89bb9f46
Add some consts to function arguments 2022-09-01 12:44:58 +02:00
Přemysl Eric Janouch 63aed8f0fd
Fix up the PEG change from the last commit
This is not a regular expression.
2022-08-14 19:09:52 +02:00
Přemysl Eric Janouch f545be725d
Extend string syntax in config
And actually test the results of string parsing.
2022-08-14 18:14:21 +02:00
Přemysl Eric Janouch 7e8e085c97
Remove pointless, wrong constant
C99 allows trailing commas.
2021-12-18 00:25:13 +01:00
Přemysl Eric Janouch 782a9a5977
Import libpulse poller integration, add tests 2021-11-07 15:37:21 +01:00
Přemysl Eric Janouch 34f86651f6
Update .gitignore 2021-10-30 03:31:08 +02:00
Přemysl Eric Janouch 5dec46df2c
Add clang-format configuration, clean up 2021-10-30 03:10:17 +02:00
Přemysl Eric Janouch 1b9d89cab3
Use kqueue on Darwin as well
Since poll() is implemented in terms of kqueue() there,
it doesn't seem like this could have improved anything.

Besides man 3 ev, libevent code, and [1],
I haven't managed to find much relevant information.

[1] https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken/
2021-09-29 12:07:25 +02:00
Přemysl Eric Janouch a3ad5e7751
Ignore empty XDG_*_DIRS env. variables
As the specification says we should.  GLib does this as well.

It is still possible to achieve an empty set by using ":",
which are two non-absolute paths that should be ignored.
GLib doesn't implement this.  Thus, we're now better than GLib.
2021-09-26 08:49:51 +02:00
Přemysl Eric Janouch 960420df3e
Escape DEL character in config_item_write_string() 2020-10-31 21:28:29 +01:00
Přemysl Eric Janouch d71c47f8ce
CMakeLists.txt: omit end{if,foreach} expressions
Their usefulness was almost negative.
2020-10-29 15:32:26 +01:00
Přemysl Eric Janouch 425ea57b17
CMakeLists.txt: clean up OpenBSD support
A few things might have changed.
2020-10-29 15:31:05 +01:00
Přemysl Eric Janouch 8822d06091
Don't suppress -Wimplicit-fallthrough
Might have already been resolved by: 9494e8e da75b6f
2020-10-26 18:25:32 +01:00
Přemysl Eric Janouch 9639777814
Fix validation of overlong UTF-8
It was too strict and Egyptian dicks didn't want to pass,
so we'll do it half-arsedly for a subset.
2020-10-24 19:09:09 +02:00
Přemysl Eric Janouch 929229a1d7
Fix config PEG grammar to match strtoll() 2020-10-24 08:05:17 +02:00
Přemysl Eric Janouch 53bcebc2f0
Split out utf8_validate_cp(), adhere to RFC 3629 2020-10-21 05:20:20 +02:00
Přemysl Eric Janouch b08cf6c29f
Reject overlong UTF-8 sequences 2020-10-21 05:08:59 +02:00
Přemysl Eric Janouch 69101eb155
Fix optional arguments in --help output
An equals sign is necessary.
2020-10-13 21:27:46 +02:00
Přemysl Eric Janouch 9d14562f7e
Improve the UTF-8 API
We need to be able to detect partial sequences.
2020-10-12 22:56:22 +02:00
Přemysl Eric Janouch 9b72304963
Fix a memory leak in mpd_client_parse_line() 2020-10-12 02:07:15 +02:00
Přemysl Eric Janouch 1cd9ba8d97
Import configuration test from degesch 2020-10-12 02:07:15 +02:00
Přemysl Eric Janouch 7e5b6c5343
Fix crashes in the config parser
It had a duality between not requiring null-terminated input
and relying on it, depending on where you looked.
2020-10-12 02:07:14 +02:00
Přemysl Eric Janouch c2c5031538
Add remaining fuzzing entry points
Closes #1
2020-10-12 02:07:07 +02:00
Přemysl Eric Janouch df3f53bd5c
Add a basic fuzzing framework using libFuzzer
Updates #1
2020-10-11 20:04:34 +02:00
Přemysl Eric Janouch e029aae1d3
Import xwrite(), cstr_set(), resolve_..._template()
From degesch and json-rpc-shell.
2020-10-10 04:31:52 +02:00
Přemysl Eric Janouch b9457c321f
Rename cstr_transform() argument
It does not always have to be tolower().
2020-10-10 04:30:19 +02:00