Commit Graph

97 Commits

Author SHA1 Message Date
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 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 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 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 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 3e4e4e5103
Allow aborting the FastCGI protocol parser 2018-10-18 04:08:47 +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 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 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 1dcd259d05
Make config_item_clone() static 2017-06-12 08:33:59 +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 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
Přemysl Eric Janouch 9866675bb7
Fix broken toupper_ascii()
Update copyright years.
2017-05-06 10:55:10 +02:00
Přemysl Eric Janouch daa900e12f
Fix and update LICENSE 2017-02-03 23:03:32 +01:00
Přemysl Eric Janouch 084e964286
Fixes to the previous batch of commits 2017-01-23 23:14:04 +01:00
Přemysl Eric Janouch 0e08055d6d
Rename strv_add*() to strv_append*()
Consistency.
2017-01-23 23:07:24 +01:00
Přemysl Eric Janouch 6642bdf9cd
Rename str_ensure_space() to str_reserve()
Let's not invent our own terminology.
2017-01-23 23:05:42 +01:00
Přemysl Eric Janouch 349a0fc3b1
join_strv() -> strv_join(), take a string argument 2017-01-23 23:03:46 +01:00
Přemysl Eric Janouch 5552ce1dbe
Rename "struct str_vector" to "struct strv"
Short names for things used often.
2017-01-23 23:01:20 +01:00
Přemysl Eric Janouch 973a4b7656
Add ARRAY convenience macros
Because dynamically allocated arrays in C are a pain.
2017-01-23 22:47:39 +01:00
Přemysl Eric Janouch f53b717f3b
Add some consts to function arguments 2016-10-23 13:35:16 +02:00
Přemysl Eric Janouch dc54db9069
Make error_set() return NULL for convenience
This often eliminates the need for a block where one line is enough.
2016-10-10 07:43:57 +02:00
Přemysl Eric Janouch 0b77bdeaf9
Merge cstr_split() and cstr_split_ignore_empty() 2016-10-09 09:45:27 +02:00
Přemysl Eric Janouch ad143fd8c0
Add some constness to str_map methods 2016-10-05 05:31:39 +02:00
Přemysl Eric Janouch 296cc704a1
Fix a comment 2016-10-04 19:12:30 +02:00
Přemysl Eric Janouch c1c191717f
Use CLOCK_MONOTONIC_RAW for timers if available
Should make timers work more precisely on Linux.
2016-10-04 15:46:20 +02:00
Přemysl Eric Janouch 952cf985dc
Add config_read_from_file() 2016-10-01 04:36:59 +02:00
Přemysl Eric Janouch 6234f686e0
Add socket_io_*() functions 2016-10-01 04:35:12 +02:00
Přemysl Eric Janouch b07d9df5fc
Simplify resolve_relative_filename_generic() 2016-10-01 04:10:44 +02:00
Přemysl Eric Janouch 365aed456e Add poller_post_fork() for *BSD kqueue 2016-03-13 16:41:16 +01:00
Přemysl Eric Janouch 9bff16f5ec Fix config schema application 2016-02-01 21:51:45 +01:00
Přemysl Eric Janouch 052d2ffc9a Allow fsync() to fail on special files 2016-01-26 21:35:45 +01:00
Přemysl Eric Janouch ce8703cea0 Silence warning 2016-01-26 21:35:40 +01:00
Přemysl Eric Janouch f213a76ad4 Add lock_pid_file() 2016-01-17 04:39:19 +01:00