martin 99/09/23 12:29:18
Modified: src CHANGES src/modules/standard mod_speling.c Log: When generating the Location: header, mod_speling forgot to escape the spelling-fixed uri. (Forward-Port from 1.3) Revision Changes Path 1.9 +4 -0 apache-2.0/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-2.0/src/CHANGES,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- CHANGES 1999/09/01 22:48:10 1.8 +++ CHANGES 1999/09/23 19:29:10 1.9 @@ -1,5 +1,9 @@ Changes with Apache 2.0-dev + *) When generating the Location: header, mod_speling forgot + to escape the spelling-fixed uri. (Forw-Port from 1.3) + [Martin Kraemer] + *) Moved mod_auth_digest.c from experimental to standard. [Roy Fielding] *) Change all pools to APR contexts. This is the first step to 1.4 +5 -4 apache-2.0/src/modules/standard/mod_speling.c Index: mod_speling.c =================================================================== RCS file: /export/home/cvs/apache-2.0/src/modules/standard/mod_speling.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_speling.c 1999/08/31 05:34:02 1.3 +++ mod_speling.c 1999/09/23 19:29:13 1.4 @@ -408,10 +408,11 @@ && (candidates->nelts == 1 || variant[0].quality != variant[1].quality)) { - nuri = ap_pstrcat(r->pool, url, variant[0].name, r->path_info, - r->parsed_uri.query ? "?" : "", - r->parsed_uri.query ? r->parsed_uri.query : "", - NULL); + nuri = ap_escape_uri(r->pool, ap_pstrcat(r->pool, url, + variant[0].name, + r->path_info, NULL)); + if (r->parsed_uri.query) + nuri = ap_pstrcat(r->pool, nuri, "?", r->parsed_uri.query, NULL); ap_table_setn(r->headers_out, "Location", ap_construct_url(r->pool, nuri, r));