Commit ada5da0f authored by Graham Leggett's avatar Graham Leggett
Browse files

mod_proxy_fcgi: Avoid passing a filename of proxy:fcgi:// as

SCRIPT_FILENAME to a FastCGI server. PR59618.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1748324 13f79535-47bb-0310-9956-ffa450edef68
parent 28bc93c5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2,6 +2,10 @@

Changes with Apache 2.4.21

  *) mod_proxy_fcgi: Avoid passing a filename of proxy:fcgi:// as
     SCRIPT_FILENAME to a FastCGI server. PR59618.
     [Jacob Champion <champion.pxi gmail.com>]

  *) mod_dav: Add dav_get_provider_name() function to obtain the name
     of the provider from mod_dav.
     [Jari Urpalainen <jari.urpalainen nokia.com>]
+15 −5
Original line number Diff line number Diff line
@@ -262,12 +262,22 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
       }
    }

    /* Strip balancer prefix */
    if (r->filename && !strncmp(r->filename, "proxy:balancer://", 17)) { 
        char *newfname = apr_pstrdup(r->pool, r->filename+17);
    /* Strip proxy: prefixes */
    if (r->filename) {
        char *newfname = NULL;

        if (!strncmp(r->filename, "proxy:balancer://", 17)) {
            newfname = apr_pstrdup(r->pool, r->filename+17);
        }
        else if (!strncmp(r->filename, "proxy:fcgi://", 13)) {
            newfname = apr_pstrdup(r->pool, r->filename+13);
        }

        if (newfname) {
            newfname = ap_strchr(newfname, '/');
            r->filename = newfname;
        }
    }

    ap_add_common_vars(r);
    ap_add_cgi_vars(r);