Changes with Apache 2.0.49
+ *) mod_rewrite: Catch an edge case, where strange subsequent RewriteRules
+ could lead to a 400 (Bad Request) response. [André Malo]
+
*) Keep focus of ITERATE and ITERATE2 on the current module when
the module chooses to return DECLINE_CMD for the directive.
PR 22299. [Geoffrey Young <geoff apache.org>]
APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2004/02/04 15:09:31 $]
+Last modified at [$Date: 2004/02/04 15:57:35 $]
Release:
PREREQ: Blow away of SSL_EXPERIMENTAL_ENGINE (see above)
+1: jwoolley, trawick, jim, jerenkrantz
- * Catch an edge case, where strange subsequent RewriteRules could lead to
- a 400 (Bad Request) response. (2.0 + 1.3)
- modules/mappers/mod_rewrite.c: r1.228
- +1: nd, jerenkrantz
-
* mod_include's expression tokenizer: don't skip the first character of
a string, it may be a backslash. (2.0 + 1.3)
(patch for 2.0: http://cvs.apache.org/~nd/ssi-escape.patch)
regmatch_t regmatch[AP_MAX_REG_MATCH];
backrefinfo *briRR = NULL;
backrefinfo *briRC = NULL;
- int prefixstrip;
int failed;
apr_array_header_t *rewriteconds;
rewritecond_entry *conds;
* the local part. Additionally indicate this special
* threatment in the logfile.
*/
- prefixstrip = 0;
- if (perdir != NULL) {
+ if (perdir) {
if ( strlen(uri) >= strlen(perdir)
&& strncmp(uri, perdir, strlen(perdir)) == 0) {
rewritelog(r, 3, "[per-dir %s] strip per-dir prefix: %s -> %s",
perdir, uri, uri+strlen(perdir));
uri = uri+strlen(perdir);
- prefixstrip = 1;
}
}
* location, i.e. if it's not an absolute URL (!) path nor
* a fully qualified URL scheme.
*/
- if (prefixstrip && *r->filename != '/'
- && !is_absolute_uri(r->filename)) {
+ if (perdir && *r->filename != '/' && !is_absolute_uri(r->filename)) {
rewritelog(r, 3, "[per-dir %s] add per-dir prefix: %s -> %s%s",
perdir, r->filename, perdir, r->filename);
r->filename = apr_pstrcat(r->pool, perdir, r->filename, NULL);