Commit Graph

143 Commits

Author SHA1 Message Date
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
Přemysl Eric Janouch 2201becca4
Mark some issues 2020-10-10 04:29:41 +02:00
Přemysl Eric Janouch 7023c51347
Get rid of CMake dev warnings 2020-10-02 06:47:34 +02:00
Přemysl Eric Janouch d21f8466b5
Bump copyright years 2020-10-02 06:43:16 +02:00
Přemysl Eric Janouch 7f919025ee
Add iscntrl_ascii()
It's too easy to miss the DEL character.
2020-10-02 06:31:46 +02:00
Přemysl Eric Janouch 1a76b2032e
Add a slogan of sorts 2020-08-01 14:03:23 +02:00
Přemysl Eric Janouch 722ef65c1f
Name change 2020-08-01 14:02:25 +02:00
Přemysl Eric Janouch 317dfcb6e2
Improve setjmp safety in config parser 2020-04-19 07:02:13 +02:00
Přemysl Eric Janouch bca7167d03
Fix the SCGI parser and tests 2018-10-18 06:34:16 +02:00
Přemysl Eric Janouch 3e4e4e5103
Allow aborting the FastCGI protocol parser 2018-10-18 04:08:47 +02:00
Přemysl Eric Janouch 9494e8e2af
Add some comments 2018-10-11 21:02:45 +02:00
Přemysl Eric Janouch 8ffe20c0e8
Add missing include for "struct iovec" 2018-06-24 06:09:40 +02:00
Přemysl Eric Janouch bb30c7d86e
Remove .travis.yml
We don't depend on any proprietary services no longer.  I'll have to
make my own replacements with blackjack and hookers.  Until then,
the file stays in the commit log as an example.
2018-06-21 23:58:24 +02:00
Přemysl Eric Janouch 47ef2ae5bd
Update README 2018-06-21 23:58:03 +02:00
Přemysl Eric Janouch 69800a6afb
Relicense to 0BSD, update mail address
I've come to the conclusion that copyright mostly just stands in the way
of software development.  In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.

The updated mail address, also used in my author/committer lines,
is shorter and looks nicer.  People rarely interact anyway.
2018-06-21 23:57:25 +02:00
Přemysl Eric Janouch fe1035633a
Describe syntax of advanced configuration w/ PEG 2018-04-19 00:09:46 +02:00
Přemysl Eric Janouch da75b6f735
siphash: silence fall-through warnings 2017-09-26 19:08:13 +02:00
Přemysl Eric Janouch 199c56e141
Little improvements 2017-07-24 03:46:06 +02:00
Přemysl Eric Janouch 6e9217e5d0
MPD client: +mpd_client_send_command_raw() 2017-06-26 03:35:05 +02:00
Přemysl Eric Janouch 3835b6e499
Improve simple_config_update_from_file()
- considerably shorter
 - catch file read errors as we should
 - better error messages, now including the filename
 - disallow empty keys as they are never used
 - allow whitespace before start of comment

NUL characters stop processing now, though.  If anyone cares.
2017-06-22 20:42:44 +02:00
Přemysl Eric Janouch bf534010cb
_init() -> _make() where possible 2017-06-22 20:42:44 +02:00
Přemysl Eric Janouch 7b0d7a19e5
Cleanup 2017-06-14 23:28:44 +02:00
Přemysl Eric Janouch 1dcd259d05
Make config_item_clone() static 2017-06-12 08:33:59 +02:00
Přemysl Eric Janouch 03894cae45
Add VIM syntax highlight for "config" 2017-06-12 02:48:42 +02:00
Přemysl Eric Janouch 412100289e
Improve read_line()
One less useless boolean variable.
2017-06-12 02:48:42 +02:00
Přemysl Eric Janouch ec128558a4
MPD client: abort pending tasks 2017-06-04 04:27:10 +02:00
Přemysl Eric Janouch 7f7606008d
Update README 2017-06-04 00:49:15 +02:00
Přemysl Eric Janouch 17322a3686
Make socket_io_try_*() actually use read/write
So that they can be used with pipes.
2017-05-07 09:24:03 +02:00
Přemysl Eric Janouch 22edb6d489
Add a warning comment to "poller_fd::closed" 2017-05-06 21:15:03 +02:00