Commit d32834f3 authored by William A. Rowe Jr's avatar William A. Rowe Jr
Browse files

  This will probably fix recent breakage to mod_negotation and httpd.test,
  as well as the /manual/ returning docroot/index.  Need to look for another
  solution.  I'm suspecting path_info is possibly broken.

  Reverts 1.68, as suggested by Brian Havard.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91479 13f79535-47bb-0310-9956-ffa450edef68
parent e903ef6e
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1366,6 +1366,7 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent,
    request_rec *rnew;
    int res;
    char *fdir;
    char *udir;

    rnew = make_sub_request(r);
    fill_in_sub_req_vars(rnew, r, next_filter);
@@ -1383,12 +1384,15 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent,
     * not even have to redo access checks.
     */

    udir = ap_make_dirstr_parent(rnew->pool, r->uri);

    /* This is 100% safe, since dirent->name just came from the filesystem */
    rnew->uri = ap_make_full_path(rnew->pool, udir, dirent->name);
    rnew->filename = ap_make_full_path(rnew->pool, fdir, dirent->name);
    if (r->canonical_filename == r->filename)
        rnew->canonical_filename = rnew->filename;
    
    rnew->uri = apr_pstrdup(rnew->pool, "");
    ap_parse_uri(rnew, rnew->uri);    /* fill in parsed_uri values */

    /* Preserve the apr_stat results, and perhaps we also tag that
     * symlinks were tested and/or found for r->filename.