From: William A. Rowe Jr Date: Tue, 16 Oct 2001 02:23:42 +0000 (+0000) Subject: Fix the little bits o' breakage I introduced with the last two X-Git-Tag: 2.0.26~3 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=5e3b2442bfbc0c2bbdd38d5914f973670a180490;p=thirdparty%2Fapache%2Fhttpd.git Fix the little bits o' breakage I introduced with the last two 'theoretical' corrections. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91482 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/request.c b/server/request.c index ad590652473..d66c6ffcf86 100644 --- a/server/request.c +++ b/server/request.c @@ -548,6 +548,8 @@ AP_DECLARE(int) ap_directory_walk(request_rec *r) if (r->path_info) r->path_info = ap_make_full_path(r->pool, r->filename, r->path_info); + else + r->path_info = r->filename; rv = apr_filepath_root((const char **)&r->filename, (const char **)&r->path_info, APR_FILEPATH_TRUENAME, r->pool); @@ -1396,7 +1398,7 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent, * perhaps we also tag that symlinks were tested and/or found for * r->filename. */ - rnew->per_dir_config = r->per_dir_default; + rnew->per_dir_config = r->server->lookup_defaults; if ((dirent->valid & APR_FINFO_MIN) != APR_FINFO_MIN) { /* @@ -1427,8 +1429,8 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent, /* * Resolve this symlink. We should tie this back to dir_walk's cache */ - if (!(res = resolve_symlink(rnew->filename, &rnew->finfo, - ap_allow_options(rnew), rnew->pool)) { + if ((res = resolve_symlink(rnew->filename, &rnew->finfo, + ap_allow_options(rnew), rnew->pool)) != OK) { rnew->status = res; return rnew; } @@ -1439,9 +1441,9 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent, * the buffer by one character instead of a complete copy. */ rnew->filename = apr_pstrcat(rnew->pool, rnew->filename, "/", NULL); - rnew->uri = ap_make_full_path(rnew->pool, rnew->uri, "/", NULL); + rnew->uri = apr_pstrcat(rnew->pool, rnew->uri, "/", NULL); if (r->canonical_filename == r->filename) - r->canonical_filename = r->filename; + rnew->canonical_filename = rnew->filename; } ap_parse_uri(rnew, rnew->uri); /* fill in parsed_uri values */