Mailing List Archive

cvs commit: apache/src CHANGES mod_include.c
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) {