mirror of
https://github.com/apache/httpd.git
synced 2025-08-16 16:17:23 +00:00
mod_proxy_uwsgi: Remove duplicate slashes at the beginning of PATH_INFO.
To accommodate for configs like: ProxyPass /uwsgi-pp uwsgi://localhost:8001/ which before r1892805 did not produce a leading double-slash in PATH_INFO. Submitted by: rpluem git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894074 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
2
changes-entries/uwsgi-path_info.txt
Normal file
2
changes-entries/uwsgi-path_info.txt
Normal file
@ -0,0 +1,2 @@
|
||||
*) mod_proxy_uwsgi: Remove duplicate slashes at the beginning of PATH_INFO.
|
||||
PR 65616. [Ruediger Pluem]
|
@ -476,14 +476,22 @@ static int uwsgi_handler(request_rec *r, proxy_worker * worker,
|
||||
|
||||
/* ADD PATH_INFO (unescaped) */
|
||||
u_path_info = ap_strchr(url + sizeof(UWSGI_SCHEME) + 2, '/');
|
||||
if (!u_path_info || ap_unescape_url(u_path_info) != OK) {
|
||||
if (!u_path_info) {
|
||||
u_path_info = apr_pstrdup(r->pool, "/");
|
||||
}
|
||||
else if (ap_unescape_url(u_path_info) != OK) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(10100)
|
||||
"unable to decode uwsgi uri: %s", url);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
else {
|
||||
/* Remove duplicate slashes at the beginning of PATH_INFO */
|
||||
while (u_path_info[1] == '/') {
|
||||
u_path_info++;
|
||||
}
|
||||
}
|
||||
apr_table_add(r->subprocess_env, "PATH_INFO", u_path_info);
|
||||
|
||||
|
||||
/* Create space for state information */
|
||||
status = ap_proxy_acquire_connection(UWSGI_SCHEME, &backend, worker,
|
||||
r->server);
|
||||
|
Reference in New Issue
Block a user