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) {
  
  
  

Reply via email to