From 63821193a8a6cb6665390d19ccbc172349893349 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Thu, 20 Mar 2014 18:02:05 +0200 Subject: [PATCH] revert to before 1.4.29 behaviour what DOCUMENT_ROOT is in aliases and userdirs revert: [*cgi] Use physical base dir (alias, userdir) as DOCUMENT_ROOT in cgi environments (fixes #2216) --- env-documentroot.patch | 69 ++++++++++++++++++++++++++++++++++++++++++ lighttpd.spec | 4 ++- 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 env-documentroot.patch diff --git a/env-documentroot.patch b/env-documentroot.patch new file mode 100644 index 0000000..eea738e --- /dev/null +++ b/env-documentroot.patch @@ -0,0 +1,69 @@ +revert: + +- * [*cgi] Use physical base dir (alias, userdir) as DOCUMENT_ROOT in cgi environments (fixes #2216) + +Index: src/mod_fastcgi.c +=================================================================== +--- src/mod_fastcgi.c (revision 2794) ++++ src/mod_fastcgi.c (revision 2793) +@@ -1968,7 +1968,7 @@ + if (!buffer_is_empty(host->docroot)) { + buffer_copy_string_buffer(p->path, host->docroot); + } else { +- buffer_copy_string_buffer(p->path, con->physical.basedir); ++ buffer_copy_string_buffer(p->path, con->physical.doc_root); + } + buffer_append_string_buffer(p->path, con->request.pathinfo); + FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("PATH_TRANSLATED"), CONST_BUF_LEN(p->path)),con) +@@ -2008,7 +2008,7 @@ + } + + FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SCRIPT_FILENAME"), CONST_BUF_LEN(p->path)),con) +- FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.basedir)),con) ++ FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.doc_root)),con) + } + + if (host->strip_request_uri->used > 1) { +@@ -3273,7 +3273,6 @@ + */ + + buffer_copy_string_buffer(con->physical.doc_root, host->docroot); +- buffer_copy_string_buffer(con->physical.basedir, host->docroot); + + buffer_copy_string_buffer(con->physical.path, host->docroot); + buffer_append_string_buffer(con->physical.path, con->uri.path); +Index: src/mod_scgi.c +=================================================================== +--- src/mod_scgi.c (revision 2794) ++++ src/mod_scgi.c (revision 2793) +@@ -1558,7 +1558,7 @@ + if (!buffer_is_empty(host->docroot)) { + buffer_copy_string_buffer(p->path, host->docroot); + } else { +- buffer_copy_string_buffer(p->path, con->physical.basedir); ++ buffer_copy_string_buffer(p->path, con->physical.doc_root); + } + buffer_append_string_buffer(p->path, con->request.pathinfo); + scgi_env_add(p->scgi_env, CONST_STR_LEN("PATH_TRANSLATED"), CONST_BUF_LEN(p->path)); +@@ -1589,7 +1589,7 @@ + buffer_copy_string_buffer(p->path, con->physical.path); + + scgi_env_add(p->scgi_env, CONST_STR_LEN("SCRIPT_FILENAME"), CONST_BUF_LEN(p->path)); +- scgi_env_add(p->scgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.basedir)); ++ scgi_env_add(p->scgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.doc_root)); + } + scgi_env_add(p->scgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri)); + if (!buffer_is_equal(con->request.uri, con->request.orig_uri)) { +Index: src/mod_cgi.c +=================================================================== +--- src/mod_cgi.c (revision 2794) ++++ src/mod_cgi.c (revision 2793) +@@ -928,7 +928,7 @@ + cgi_env_add(&env, CONST_STR_LEN("CONTENT_LENGTH"), buf, strlen(buf)); + cgi_env_add(&env, CONST_STR_LEN("SCRIPT_FILENAME"), CONST_BUF_LEN(con->physical.path)); + cgi_env_add(&env, CONST_STR_LEN("SCRIPT_NAME"), CONST_BUF_LEN(con->uri.path)); +- cgi_env_add(&env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.basedir)); ++ cgi_env_add(&env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.doc_root)); + + /* for valgrind */ + if (NULL != (s = getenv("LD_PRELOAD"))) { diff --git a/lighttpd.spec b/lighttpd.spec index 44bcfaf..11bd0d1 100644 --- a/lighttpd.spec +++ b/lighttpd.spec @@ -30,7 +30,7 @@ Summary: Fast and light HTTP server Summary(pl.UTF-8): Szybki i lekki serwer HTTP Name: lighttpd Version: 1.4.35 -Release: 1 +Release: 2 License: BSD Group: Networking/Daemons/HTTP Source0: http://download.lighttpd.net/lighttpd/releases-1.4.x/%{name}-%{version}.tar.bz2 @@ -102,6 +102,7 @@ Patch2: %{name}-mod_h264_streaming.patch Patch3: %{name}-branding.patch Patch5: %{name}-mod_deflate.patch Patch6: test-port-setup.patch +Patch7: env-documentroot.patch #Patch: %{name}-modinit-before-fork.patch #Patch: %{name}-errorlog-before-fork.patch URL: http://www.lighttpd.net/ @@ -838,6 +839,7 @@ Plik monitrc do monitorowania serwera www lighttpd. %patch3 -p1 %{?with_deflate:%patch5 -p1} %patch6 -p1 +%patch7 -p0 rm -f src/mod_ssi_exprparser.h # bad patching: should be removed by is emptied instead -- 2.44.0