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, '=')) {