3 - * [*cgi] Use physical base dir (alias, userdir) as DOCUMENT_ROOT in cgi environments (fixes #2216)
6 https://github.com/lighttpd/lighttpd1.4/commit/7fa5bfc9381764d6c35ac29674bd830e8e5fee33
8 --- lighttpd-1.4.36/src/mod_fastcgi.c~ 2015-07-26 18:30:29.000000000 +0300
9 +++ lighttpd-1.4.36/src/mod_fastcgi.c 2015-07-26 18:31:50.285226477 +0300
11 if (!buffer_string_is_empty(host->docroot)) {
12 buffer_copy_buffer(p->path, host->docroot);
14 - buffer_copy_buffer(p->path, con->physical.basedir);
15 + buffer_copy_buffer(p->path, con->physical.doc_root);
17 buffer_append_string_buffer(p->path, con->request.pathinfo);
18 FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("PATH_TRANSLATED"), CONST_BUF_LEN(p->path)),con)
22 FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SCRIPT_FILENAME"), CONST_BUF_LEN(p->path)),con)
23 - FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.basedir)),con)
24 + FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.doc_root)),con)
27 if (host->strip_request_uri->used > 1) {
31 buffer_copy_buffer(con->physical.doc_root, host->docroot);
32 - buffer_copy_buffer(con->physical.basedir, host->docroot);
34 buffer_copy_buffer(con->physical.path, host->docroot);
35 buffer_append_string_buffer(con->physical.path, con->uri.path);
36 --- lighttpd-1.4.36/src/mod_scgi.c~ 2015-07-26 18:30:29.000000000 +0300
37 +++ lighttpd-1.4.36/src/mod_scgi.c 2015-07-26 18:33:12.406160926 +0300
39 if (!buffer_string_is_empty(host->docroot)) {
40 buffer_copy_buffer(p->path, host->docroot);
42 - buffer_copy_buffer(p->path, con->physical.basedir);
43 + buffer_copy_buffer(p->path, con->physical.doc_root);
45 buffer_append_string_buffer(p->path, con->request.pathinfo);
46 scgi_env_add(p->scgi_env, CONST_STR_LEN("PATH_TRANSLATED"), CONST_BUF_LEN(p->path));
48 buffer_copy_string_buffer(p->path, con->physical.path);
50 scgi_env_add(p->scgi_env, CONST_STR_LEN("SCRIPT_FILENAME"), CONST_BUF_LEN(p->path));
51 - scgi_env_add(p->scgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.basedir));
52 + scgi_env_add(p->scgi_env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.doc_root));
54 scgi_env_add(p->scgi_env, CONST_STR_LEN("REQUEST_URI"), CONST_BUF_LEN(con->request.orig_uri));
55 if (!buffer_is_equal(con->request.uri, con->request.orig_uri)) {
57 ===================================================================
58 --- ./src/mod_cgi.c (revision 2794)
59 +++ ./src/mod_cgi.c (revision 2793)
61 cgi_env_add(&env, CONST_STR_LEN("CONTENT_LENGTH"), buf, strlen(buf));
62 cgi_env_add(&env, CONST_STR_LEN("SCRIPT_FILENAME"), CONST_BUF_LEN(con->physical.path));
63 cgi_env_add(&env, CONST_STR_LEN("SCRIPT_NAME"), CONST_BUF_LEN(con->uri.path));
64 - cgi_env_add(&env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.basedir));
65 + cgi_env_add(&env, CONST_STR_LEN("DOCUMENT_ROOT"), CONST_BUF_LEN(con->physical.doc_root));
68 if (NULL != (s = getenv("LD_PRELOAD"))) {