From: Nick Kew Date: Mon, 5 Jul 2010 19:59:13 +0000 (+0000) Subject: Undo accidental commit of code in r960674 X-Git-Tag: 2.2.16~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2fad942310101602b7536f0a58f835f74374287;p=thirdparty%2Fapache%2Fhttpd.git Undo accidental commit of code in r960674 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@960677 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/metadata/mod_headers.c b/modules/metadata/mod_headers.c index 4836cd0e4e7..b65fbfd0771 100644 --- a/modules/metadata/mod_headers.c +++ b/modules/metadata/mod_headers.c @@ -94,8 +94,7 @@ typedef enum { hdr_merge = 'g', /* merge (merge, but avoid duplicates) */ hdr_unset = 'u', /* unset header */ hdr_echo = 'e', /* echo headers from request to response */ - hdr_edit = 'r', /* change value by regexp, match once */ - hdr_edit_r = 'R' /* change value by regexp, everymatch */ + hdr_edit = 'r' /* change value by regexp */ } hdr_actions; /* @@ -365,7 +364,6 @@ static char *parse_format_string(apr_pool_t *p, header_entry *hdr, const char *s /* No string to parse with unset and echo commands */ if (hdr->action == hdr_unset || hdr->action == hdr_edit || - hdr->action == hdr_edit_r || hdr->action == hdr_echo) { return NULL; } @@ -415,13 +413,11 @@ static APR_INLINE const char *header_inout_cmd(cmd_parms *cmd, new->action = hdr_echo; else if (!strcasecmp(action, "edit")) new->action = hdr_edit; - else if (!strcasecmp(action, "edit*")) - new->action = hdr_edit_r; else return "first argument must be 'add', 'set', 'append', 'merge', " - "'unset', 'echo', 'edit', or 'edit*'."; + "'unset', 'echo', or 'edit'."; - if (new->action == hdr_edit || new->action == hdr_edit_r) { + if (new->action == hdr_edit) { if (subs == NULL) { return "Header edit requires a match and a substitution"; } @@ -562,7 +558,6 @@ static const char *process_regexp(header_entry *hdr, const char *value, unsigned int nmatch = 10; ap_regmatch_t pmatch[10]; const char *subs; - const char *remainder; char *ret; int diffsz; if (ap_regexec(hdr->regex, value, nmatch, pmatch, 0)) { @@ -571,13 +566,6 @@ static const char *process_regexp(header_entry *hdr, const char *value, } subs = ap_pregsub(pool, hdr->subs, value, nmatch, pmatch); diffsz = strlen(subs) - (pmatch[0].rm_eo - pmatch[0].rm_so); - if (hdr->action == hdr_edit) { - remainder = value + pmatch[0].rm_eo; - } - else { /* recurse to edit multiple matches if applicable */ - remainder = process_regexp(hdr, value + pmatch[0].rm_eo, pool); - diffsz += strlen(remainder) - strlen(value + pmatch[0].rm_eo); - } ret = apr_palloc(pool, strlen(value) + 1 + diffsz); memcpy(ret, value, pmatch[0].rm_so); strcpy(ret + pmatch[0].rm_so, subs); @@ -707,7 +695,6 @@ static void do_headers_fixup(request_rec *r, apr_table_t *headers, echo_header, (void *) &v, r->headers_in, NULL); break; case hdr_edit: - case hdr_edit_r: if (apr_table_get(headers, hdr->header)) { edit_do ed;