summaryrefslogtreecommitdiff
path: root/src/configparser.y
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2022-04-27 00:10:10 -0400
committerGlenn Strauss <gstrauss@gluelogic.com>2022-05-07 04:02:38 -0400
commit14bfa016f120c3a49ea8695d8ab72f5ab88a7448 (patch)
treebe4f24a5ea7fd94e29e56ba945f5da18f780ea7e /src/configparser.y
parent609f9209c8a5c54b0c9882e6f6460906a487b2ae (diff)
downloadlighttpd-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.y3
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;