You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2002/12/11 18:59:26 UTC
cvs commit: httpd-2.0/modules/generators mod_cgid.c mod_cgi.c
trawick 2002/12/11 09:59:26
Modified: . Tag: APACHE_2_0_BRANCH CHANGES STATUS
modules/generators Tag: APACHE_2_0_BRANCH mod_cgid.c
mod_cgi.c
Log:
merge these changes from 2.1:
*) Fix the building of cgi command lines when the query string
contains '='. PR 13914 [Ville Skytt� <vi...@iki.fi>,
Jeff Trawick]
PR: 13914
Submitted by: Ville Skytt� <vi...@iki.fi>, Jeff Trawick
Revision Changes Path
No revision
No revision
1.988.2.9 +6 -0 httpd-2.0/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.988.2.8
retrieving revision 1.988.2.9
diff -u -r1.988.2.8 -r1.988.2.9
--- CHANGES 3 Dec 2002 00:36:10 -0000 1.988.2.8
+++ CHANGES 11 Dec 2002 17:59:24 -0000 1.988.2.9
@@ -1,3 +1,9 @@
+Changes with Apache 2.0.45
+
+ *) Fix the building of cgi command lines when the query string
+ contains '='. PR 13914 [Ville Skytt� <vi...@iki.fi>,
+ Jeff Trawick]
+
Changes with Apache 2.0.44
*) Replace APU_HAS_LDAPSSL_CLIENT_INIT with APU_HAS_LDAP_NETSCAPE_SSL
1.751.2.18 +1 -6 httpd-2.0/STATUS
Index: STATUS
===================================================================
RCS file: /home/cvs/httpd-2.0/STATUS,v
retrieving revision 1.751.2.17
retrieving revision 1.751.2.18
diff -u -r1.751.2.17 -r1.751.2.18
--- STATUS 11 Dec 2002 16:48:08 -0000 1.751.2.17
+++ STATUS 11 Dec 2002 17:59:24 -0000 1.751.2.18
@@ -57,11 +57,6 @@
PATCHES TO PORT FROM 2.1
- * Fix the building of cgi command lines when the query string
- contains '='. PR 13914 [Ville Skytt� <vi...@iki.fi>,
- Jeff Trawick]
- +1: trawick, wrowe, stoddard
-
* Reorder the definitions for mod_ldap and mod_auth_ldap within
config.m4 to make sure the parent mod_ldap is defined first.
This ensures that mod_ldap comes before mod_auth_ldap in the
No revision
No revision
1.145.2.1 +13 -8 httpd-2.0/modules/generators/mod_cgid.c
Index: mod_cgid.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/generators/mod_cgid.c,v
retrieving revision 1.145
retrieving revision 1.145.2.1
diff -u -r1.145 -r1.145.2.1
--- mod_cgid.c 15 Nov 2002 02:49:29 -0000 1.145
+++ mod_cgid.c 11 Dec 2002 17:59:26 -0000 1.145.2.1
@@ -204,13 +204,13 @@
apr_size_t mod_userdir_user_len;
} cgid_req_t;
-/* If a request includes query info in the URL (stuff after "?"), and
- * the query info does not contain "=" (indicative of a FORM submission),
- * then this routine is called to create the argument list to be passed
+/* This routine is called to create the argument list to be passed
* to the CGI script. When suexec is enabled, the suexec path, user, and
* group are the first three arguments to be passed; if not, all three
* must be NULL. The query info is split into separate arguments, where
* "+" is the separator between keyword arguments.
+ *
+ * Do not process the args if they containing an '=' assignment.
*/
static char **create_argv(apr_pool_t *p, char *path, char *user, char *group,
char *av0, const char *args)
@@ -220,11 +220,16 @@
char *w;
int idx = 0;
- /* count the number of keywords */
-
- for (x = 0, numwords = 1; args[x]; x++) {
- if (args[x] == '+') {
- ++numwords;
+ if (ap_strchr_c(args, '=')) {
+ numwords = 0;
+ }
+ else {
+ /* count the number of keywords */
+
+ for (x = 0, numwords = 1; args[x]; x++) {
+ if (args[x] == '+') {
+ ++numwords;
+ }
}
}
1.148.2.1 +0 -1 httpd-2.0/modules/generators/mod_cgi.c
Index: mod_cgi.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/generators/mod_cgi.c,v
retrieving revision 1.148
retrieving revision 1.148.2.1
diff -u -r1.148 -r1.148.2.1
--- mod_cgi.c 31 Oct 2002 11:53:43 -0000 1.148
+++ mod_cgi.c 11 Dec 2002 17:59:26 -0000 1.148.2.1
@@ -514,7 +514,6 @@
if (e_info->process_cgi) {
*cmd = r->filename;
- args = r->args;
/* Do not process r->args if they contain an '=' assignment
*/
if (r->args && r->args[0] && !ap_strchr_c(r->args, '=')) {