diff options
author | André Malo <nd@apache.org> | 2004-01-13 23:12:02 +0100 |
---|---|---|
committer | André Malo <nd@apache.org> | 2004-01-13 23:12:02 +0100 |
commit | a77c4456727de7dd0156669ed7c9df8ba85d7bb6 (patch) | |
tree | 745ae5b96cf7ec5fb17b867319e9df227d60ac86 /modules/filters | |
parent | allow proxying and rules in .htaccess in subrequests (diff) | |
download | apache2-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.c | 44 |
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. |