diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2022-04-27 00:10:10 -0400 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2022-05-07 04:02:38 -0400 |
commit | 14bfa016f120c3a49ea8695d8ab72f5ab88a7448 (patch) | |
tree | be4f24a5ea7fd94e29e56ba945f5da18f780ea7e /src/configparser.y | |
parent | 609f9209c8a5c54b0c9882e6f6460906a487b2ae (diff) | |
download | lighttpd-git-14bfa016f120c3a49ea8695d8ab72f5ab88a7448.tar.gz |
[core] sketch support for abstract sockets
(experimental; untested)
Note: abstract sockets do not require filesystem access and can not be
protected using filesystem permissions; abstract sockets are accessible
by any process in the same network namespace on the same machine.
Abstract sockets can be passed to lighttpd via systemd socket activation
mechanism, via xinetd, or any other process which creates an abstract
socket and passes it to lighttpd. Abstract sockets can also be
configured in lighttpd.conf using a backslash-escaped double-quoted
string, where CTL and chars with high bit set are backslash-escaped into
"\\xFF", with "\\x" followed by two-byte hex encoding (e.g. "FF") for
each escaped char, e.g. "\\x00abstract-socket"
Diffstat (limited to 'src/configparser.y')
-rw-r--r-- | src/configparser.y | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/configparser.y b/src/configparser.y index 396084b1..a1d1c689 100644 --- a/src/configparser.y +++ b/src/configparser.y @@ -292,7 +292,8 @@ configparser_parse_condition(config_t * const ctx, const buffer * const obj_tag, else if (COMP_SERVER_SOCKET == dc->comp) { /*(redundant with parsing in network.c; not actually required here)*/ if (rvalue->ptr[0] != ':' /*(network.c special-cases ":" and "[]")*/ - && !(rvalue->ptr[0] == '[' && rvalue->ptr[1] == ']')) { + && !(rvalue->ptr[0] == '[' && rvalue->ptr[1] == ']') + && !(rvalue->ptr[0] == '/' || rvalue->ptr[0] == '\\')) { /*(UDS)*/ if (http_request_host_normalize(rvalue, 0)) { fprintf(stderr, "invalid IP addr: %s\n", rvalue->ptr); ctx->ok = 0; |