Received: by taz.hyperreal.com (8.7.6/V2.0) id IAA14731; Sat, 19 Oct 1996 08:17:08 -0700 (PDT) Received: by taz.hyperreal.com (8.7.6/V2.0) id IAA14724; Sat, 19 Oct 1996 08:17:07 -0700 (PDT) Date: Sat, 19 Oct 1996 08:17:07 -0700 (PDT) From: Ben Laurie Message-Id: <199610191517.IAA14724@taz.hyperreal.com> To: apache-cvs@hyperreal.com Subject: cvs commit: apache/src http_request.c Sender: owner-apache-cvs@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com ben 96/10/19 08:17:07 Modified: src http_request.c Log: Apply sections before name translation. Revision Changes Path 1.22 +19 -2 apache/src/http_request.c Index: http_request.c =================================================================== RCS file: /export/home/cvs/apache/src/http_request.c,v retrieving revision 1.21 retrieving revision 1.22 diff -C3 -r1.21 -r1.22 *** http_request.c 1996/10/19 14:44:39 1.21 --- http_request.c 1996/10/19 15:17:06 1.22 *************** *** 50,56 **** * */ ! /* $Id: http_request.c,v 1.21 1996/10/19 14:44:39 ben Exp $ */ /* * http_request.c: functions to get and process requests --- 50,56 ---- * */ ! /* $Id: http_request.c,v 1.22 1996/10/19 15:17:06 ben Exp $ */ /* * http_request.c: functions to get and process requests *************** *** 567,572 **** --- 567,573 ---- rnew->server = r->server; rnew->request_config = create_request_config (rnew->pool); rnew->htaccess = r->htaccess; /* copy htaccess cache */ + rnew->per_dir_config=r->server->lookup_defaults; set_sub_req_protocol (rnew, r); if (new_file[0] == '/') *************** *** 587,592 **** --- 588,598 ---- getparents (rnew->uri); + if ((res = location_walk (rnew))) { + rnew->status=res; + return rnew; + } + res = translate_name(rnew); if (res) { *************** *** 600,605 **** --- 606,613 ---- * of translate_name. * Instead we rely on the cache of .htaccess results. */ + /* NB: directory_walk() clears the per_dir_config, so we don't inherit from + location_walk() above */ if ((res = directory_walk (rnew)) || (res = file_walk (rnew)) *************** *** 776,781 **** --- 784,790 ---- void process_request_internal (request_rec *r) { int access_status; + void *save_per_dir_config; /* Kludge to be reading the assbackwards field outside of protocol.c, * but we've got to check for this sort of nonsense somewhere... *************** *** 816,826 **** getparents(r->uri); /* OK --- shrinking transformations... */ } if ((access_status = translate_name (r))) { decl_die (access_status, "translate", r); return; } ! if ((access_status = directory_walk (r))) { die (access_status, r); return; --- 825,843 ---- getparents(r->uri); /* OK --- shrinking transformations... */ } + if ((access_status = location_walk (r))) { + die (access_status, r); + return; + } + if ((access_status = translate_name (r))) { decl_die (access_status, "translate", r); return; } ! ! /* NB: directory_walk() clears the per_dir_config, so we don't inherit from ! location_walk() above */ ! if ((access_status = directory_walk (r))) { die (access_status, r); return;