Commit Graph

102 Commits

Author SHA1 Message Date
Přemysl Eric Janouch c5424e6992
Comment on write_file_safe()'s actual safety 2024-02-10 06:16:27 +01: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 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