From db86ab2f84f0c8694e9cc7e8f21c9e5ea720212d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Malo?= Date: Tue, 13 Jan 2004 20:51:26 +0000 Subject: [PATCH] with the new general status stuff, F and G are just shortcuts -> simplify. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102325 13f79535-47bb-0310-9956-ffa450edef68 --- modules/mappers/mod_rewrite.c | 66 ++++++----------------------------- 1 file changed, 10 insertions(+), 56 deletions(-) diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index 4de64ea062..f4dc514c31 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -180,13 +180,11 @@ #define RULEFLAG_NOTMATCH 1<<6 #define RULEFLAG_PROXY 1<<7 #define RULEFLAG_PASSTHROUGH 1<<8 -#define RULEFLAG_FORBIDDEN 1<<9 -#define RULEFLAG_GONE 1<<10 -#define RULEFLAG_QSAPPEND 1<<11 -#define RULEFLAG_NOCASE 1<<12 -#define RULEFLAG_NOESCAPE 1<<13 -#define RULEFLAG_NOSUB 1<<14 -#define RULEFLAG_STATUS 1<<15 +#define RULEFLAG_QSAPPEND 1<<9 +#define RULEFLAG_NOCASE 1<<10 +#define RULEFLAG_NOESCAPE 1<<11 +#define RULEFLAG_NOSUB 1<<12 +#define RULEFLAG_STATUS 1<<13 /* return code of the rewrite rule * the result may be escaped - or not @@ -3141,14 +3139,16 @@ static const char *cmd_rewriterule_setflag(apr_pool_t *p, void *_cfg, case 'f': case 'F': if (!*key || !strcasecmp(key, "orbidden")) { /* forbidden */ - cfg->flags |= RULEFLAG_FORBIDDEN; + cfg->flags |= (RULEFLAG_STATUS | RULEFLAG_NOSUB); + cfg->forced_responsecode = HTTP_FORBIDDEN; } break; case 'g': case 'G': if (!*key || !strcasecmp(key, "one")) { /* gone */ - cfg->flags |= RULEFLAG_GONE; + cfg->flags |= (RULEFLAG_STATUS | RULEFLAG_NOSUB); + cfg->forced_responsecode = HTTP_GONE; } break; @@ -3804,41 +3804,11 @@ static int apply_rewrite_list(request_rec *r, apr_array_header_t *rewriterules, break; } - /* - * Rule has the "forbidden" flag set which means that - * we stop processing and indicate this to the caller. - */ - if (p->flags & RULEFLAG_FORBIDDEN) { - rewritelog((r, 2, perdir, "forcing '%s' to be forbidden", - r->filename)); - - r->filename = apr_pstrcat(r->pool, "forbidden:", - r->filename, NULL); - changed = ACTION_NORMAL; - break; - } - - /* - * Rule has the "gone" flag set which means that - * we stop processing and indicate this to the caller. - */ - if (p->flags & RULEFLAG_GONE) { - rewritelog((r, 2, perdir, "forcing '%s' to be gone", - r->filename)); - - r->filename = apr_pstrcat(r->pool, "gone:", r->filename, NULL); - changed = ACTION_NORMAL; - break; - } - /* * Stop processing also on proxy pass-through and * last-rule and new-round flags. */ - if (p->flags & RULEFLAG_PROXY) { - break; - } - if (p->flags & RULEFLAG_LASTRULE) { + if (p->flags & (RULEFLAG_PROXY | RULEFLAG_LASTRULE)) { break; } @@ -4202,14 +4172,6 @@ static int hook_uri2file(request_rec *r) return n; } - else if (flen > 10 && strncmp(r->filename, "forbidden:", 10) == 0) { - /* This URLs is forced to be forbidden for the requester */ - return HTTP_FORBIDDEN; - } - else if (flen > 5 && strncmp(r->filename, "gone:", 5) == 0) { - /* This URLs is forced to be gone */ - return HTTP_GONE; - } else if (flen > 12 && strncmp(r->filename, "passthrough:", 12) == 0) { /* * Hack because of underpowered API: passing the current @@ -4479,14 +4441,6 @@ static int hook_fixup(request_rec *r) r->filename, n)); return n; } - else if (l > 10 && strncmp(r->filename, "forbidden:", 10) == 0) { - /* This URL is forced to be forbidden for the requester */ - return HTTP_FORBIDDEN; - } - else if (l > 5 && strncmp(r->filename, "gone:", 5) == 0) { - /* This URL is forced to be gone */ - return HTTP_GONE; - } else { /* it was finally rewritten to a local path */ -- 2.50.1