dgaudet 97/06/28 15:01:44
Modified: src Tag: APACHE_1_2_X CHANGES mod_include.c Log: PR#644: mod_include trampled on r->args when it shouldn't Revision Changes Path No revision No revision 1.286.2.16 +3 -0 apache/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.286.2.15 retrieving revision 1.286.2.16 diff -C3 -r1.286.2.15 -r1.286.2.16 *** CHANGES 1997/06/28 22:00:15 1.286.2.15 --- CHANGES 1997/06/28 22:01:41 1.286.2.16 *************** *** 20,25 **** --- 20,28 ---- for the net if we require people that actually need this data to enable it. [Linus Torvalds] + *) QUERY_STRING was unescaped in mod_include, it shouldn't be. + [Dean Gaudet] PR#644 + *) mod_include was not properly changing the current directory. [Marc Slemko] PR#742 1.33.2.3 +12 -6 apache/src/mod_include.c Index: mod_include.c =================================================================== RCS file: /export/home/cvs/apache/src/mod_include.c,v retrieving revision 1.33.2.2 retrieving revision 1.33.2.3 diff -C3 -r1.33.2.2 -r1.33.2.3 *** mod_include.c 1997/06/28 19:50:15 1.33.2.2 --- mod_include.c 1997/06/28 22:01:42 1.33.2.3 *************** *** 128,136 **** else table_set (e, "DOCUMENT_NAME", r->uri); if (r->args) { ! unescape_url (r->args); table_set (e, "QUERY_STRING_UNESCAPED", ! escape_shell_cmd (r->pool, r->args)); } } --- 128,138 ---- else table_set (e, "DOCUMENT_NAME", r->uri); if (r->args) { ! char *arg_copy = pstrdup (r->pool, r->args); ! ! unescape_url (arg_copy); table_set (e, "QUERY_STRING_UNESCAPED", ! escape_shell_cmd (r->pool, arg_copy)); } } *************** *** 625,634 **** } if (r->args) { table_set (env, "QUERY_STRING", r->args); ! unescape_url (r->args); table_set (env, "QUERY_STRING_UNESCAPED", ! escape_shell_cmd (r->pool, r->args)); } error_log2stderr (r->server); --- 627,638 ---- } if (r->args) { + char *arg_copy = pstrdup (r->pool, r->args); + table_set (env, "QUERY_STRING", r->args); ! unescape_url (arg_copy); table_set (env, "QUERY_STRING_UNESCAPED", ! escape_shell_cmd (r->pool, arg_copy)); } error_log2stderr (r->server); *************** *** 1666,1675 **** chdir_file (r->filename); if (r->args) { /* add QUERY stuff to env cause it ain't yet */ table_set (r->subprocess_env, "QUERY_STRING", r->args); ! unescape_url (r->args); table_set (r->subprocess_env, "QUERY_STRING_UNESCAPED", ! escape_shell_cmd (r->pool, r->args)); } while(1) { --- 1670,1681 ---- chdir_file (r->filename); if (r->args) { /* add QUERY stuff to env cause it ain't yet */ + char *arg_copy = pstrdup (r->pool, r->args); + table_set (r->subprocess_env, "QUERY_STRING", r->args); ! unescape_url (arg_copy); table_set (r->subprocess_env, "QUERY_STRING_UNESCAPED", ! escape_shell_cmd (r->pool, arg_copy)); } while(1) {