summaryrefslogtreecommitdiffstats
path: root/modules/filters
diff options
context:
space:
mode:
authorAndré Malo <nd@apache.org>2004-01-13 23:12:02 +0100
committerAndré Malo <nd@apache.org>2004-01-13 23:12:02 +0100
commita77c4456727de7dd0156669ed7c9df8ba85d7bb6 (patch)
tree745ae5b96cf7ec5fb17b867319e9df227d60ac86 /modules/filters
parentallow proxying and rules in .htaccess in subrequests (diff)
downloadapache2-a77c4456727de7dd0156669ed7c9df8ba85d7bb6.tar.xz
apache2-a77c4456727de7dd0156669ed7c9df8ba85d7bb6.zip
bust the "recursive include" test. It's no longer necessary and prevents
users from careful use of the feature. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102328 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/filters')
-rw-r--r--modules/filters/mod_include.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/modules/filters/mod_include.c b/modules/filters/mod_include.c
index 62d92baa45..995f8768be 100644
--- a/modules/filters/mod_include.c
+++ b/modules/filters/mod_include.c
@@ -1731,50 +1731,6 @@ static apr_status_t handle_include(include_ctx_t *ctx, ap_filter_t *f,
"file %s";
}
- if (!error_fmt) {
- int founddupe = 0;
- request_rec *p, *q;
-
- /* try to avoid recursive includes. We do this by walking
- * up the r->main list of subrequests, and at each level
- * walking back through any internal redirects. At each
- * step, we compare the filenames and the URIs.
- *
- * The filename comparison catches a recursive include
- * with an ever-changing URL, eg.
- * <!--#include virtual=
- * "$REQUEST_URI/$QUERY_STRING?$QUERY_STRING/x" -->
- * which, although they would eventually be caught because
- * we have a limit on the length of files, etc., can
- * recurse for a while.
- *
- * The URI comparison catches the case where the filename
- * is changed while processing the request, so the
- * current name is never the same as any previous one.
- * This can happen with "DocumentRoot /foo" when you
- * request "/" on the server and it includes "/".
- * This only applies to modules such as mod_dir that
- * (somewhat improperly) mess with r->filename outside
- * of a filename translation phase.
- */
- for (p = r; p && !founddupe; p = p->main) {
- for (q = p; q; q = q->prev) {
- if ((q->filename && rr->filename &&
- (strcmp(q->filename, rr->filename) == 0)) ||
- ((*q->uri == '/') &&
- (strcmp(q->uri, rr->uri) == 0))) {
-
- founddupe = 1;
- break;
- }
- }
- }
-
- if (p) {
- error_fmt = "Recursive include of \"%s\" in parsed file %s";
- }
- }
-
/* See the Kludge in includes_filter for why.
* Basically, it puts a bread crumb in here, then looks
* for the crumb later to see if its been here.