MCPcopy Create free account
hub / github.com/apache/httpd / setupenv

Function setupenv

modules/aaa/mod_authnz_fcgi.c:139–166  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

137}
138
139static void setupenv(request_rec *r, const char *password, const char *apache_role)
140{
141 ap_add_common_vars(r);
142 ap_add_cgi_vars(r);
143 apr_table_setn(r->subprocess_env, "FCGI_ROLE", AP_FCGI_AUTHORIZER_STR);
144 if (apache_role) {
145 apr_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", apache_role);
146 }
147 if (password) {
148 apr_table_setn(r->subprocess_env, "REMOTE_PASSWD", password);
149 }
150 /* Drop the variables CONTENT_LENGTH, PATH_INFO, PATH_TRANSLATED,
151 * SCRIPT_NAME and most Hop-By-Hop headers - EXCEPT we will pass
152 * PROXY_AUTH to allow CGI to perform proxy auth for httpd
153 */
154 apr_table_unset(r->subprocess_env, "CONTENT_LENGTH");
155 apr_table_unset(r->subprocess_env, "PATH_INFO");
156 apr_table_unset(r->subprocess_env, "PATH_TRANSLATED");
157 apr_table_unset(r->subprocess_env, "SCRIPT_NAME");
158 apr_table_unset(r->subprocess_env, "HTTP_KEEP_ALIVE");
159 apr_table_unset(r->subprocess_env, "HTTP_TE");
160 apr_table_unset(r->subprocess_env, "HTTP_TRAILER");
161 apr_table_unset(r->subprocess_env, "HTTP_TRANSFER_ENCODING");
162 apr_table_unset(r->subprocess_env, "HTTP_UPGRADE");
163
164 /* Connection hop-by-hop header to prevent the CGI from hanging */
165 apr_table_setn(r->subprocess_env, "HTTP_CONNECTION", "close");
166}
167
168static apr_status_t recv_data(const fcgi_provider_conf *conf,
169 request_rec *r,

Callers 1

req_rspFunction · 0.85

Calls 2

ap_add_common_varsFunction · 0.85
ap_add_cgi_varsFunction · 0.85

Tested by

no test coverage detected