summaryrefslogtreecommitdiff
path: root/src/network.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2022-03-03 20:46:33 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2022-03-03 20:46:33 -0500
commit0e404df2fb8340283bc3ec3d115bc9fa91f9b35d (patch)
treee4e911be9479e03745430e832d6900ae0d5dcee8 /src/network.c
parent1b56d7cf5bfe549bbc8683aac8dec5c751798d7d (diff)
downloadlighttpd-git-0e404df2fb8340283bc3ec3d115bc9fa91f9b35d.tar.gz
[core] fill in un.sun_path after accept() (fixes #3147)
(thx fstelzer) x-ref: "mod_proxy breaks X-Forwarded-For on requests via unix sockets" https://redmine.lighttpd.net/issues/3147
Diffstat (limited to 'src/network.c')
-rw-r--r--src/network.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c
index 6af5acf0..bb1ed2ed 100644
--- a/src/network.c
+++ b/src/network.c
@@ -74,6 +74,8 @@ static handler_t network_server_handle_fdevent(void *context, int revents) {
if (nagle_disable)
network_accept_tcp_nagle_disable(fd);
+ else if (addrlen <= 2) /*(AF_UNIX if !nagle_disable)*/
+ memcpy(addr.un.sun_path, BUF_PTR_LEN(srv_socket->srv_token)+1);
connection *con = connection_accepted(srv, srv_socket, &addr, fd);
if (__builtin_expect( (!con), 0)) return HANDLER_GO_ON;