ben         98/02/08 10:16:05

  Modified:    src      CHANGES
               src/main http_main.c http_request.c
  Log:
  Make sure we use the canonical filename where we need to.
  
  Revision  Changes    Path
  1.621     +3 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.620
  retrieving revision 1.621
  diff -u -r1.620 -r1.621
  --- CHANGES   1998/02/08 15:06:53     1.620
  +++ CHANGES   1998/02/08 18:15:58     1.621
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b5
   
  +  *) Sort out problems with canonical filename handling happening too late.
  +     [Dean Gaudet, Ben Laurie]
  +
   Changes with Apache 1.3b4
   
     *) The module structure was modified to include a *dynamic_load_handle
  
  
  
  1.284     +5 -0      apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.283
  retrieving revision 1.284
  diff -u -r1.283 -r1.284
  --- http_main.c       1998/02/07 10:27:52     1.283
  +++ http_main.c       1998/02/08 18:16:01     1.284
  @@ -112,6 +112,9 @@
   #ifdef MULTITHREAD
   /* special debug stuff -- PCS */
   
  +/* Set this non-zero if you are prepared to put up with more than one log 
entry per second */
  +#define SEVERELY_VERBOSE         0
  +
     /* APD1() to APD5() are macros to help us debug. Then can either
      * log to the screen or the error_log file. In release builds, this
      * macros do nothing. In debug builds, they send messages at priority
  @@ -4376,8 +4379,10 @@
       }
   
       while (1) {
  +#if SEVERELY_VERBOSE
        APD4("child PID %d: thread_main total_jobs=%d start_exit=%d",
                my_pid, total_jobs, start_exit);
  +#endif
        if ((max_jobs_per_exe && (total_jobs > max_jobs_per_exe) && 
!start_exit)) {
            start_exit = 1;
            wait_time = 1;
  
  
  
  1.106     +6 -6      apache-1.3/src/main/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_request.c,v
  retrieving revision 1.105
  retrieving revision 1.106
  diff -u -r1.105 -r1.106
  --- http_request.c    1998/02/03 07:32:16     1.105
  +++ http_request.c    1998/02/08 18:16:03     1.106
  @@ -291,8 +291,6 @@
           return OK;
       }
   
  -    test_filename = pstrdup(r->pool, r->filename);
  -
       /*
        * Go down the directory hierarchy.  Where we have to check for symlinks,
        * do so.  Where a .htaccess file has permission to override anything,
  @@ -304,7 +302,7 @@
        * Fake filenames (i.e. proxy:) only match Directory sections.
        */
   
  -    if (!os_is_path_absolute(test_filename))
  +    if (!os_is_path_absolute(r->filename))
       {
           void *this_conf, *entry_config;
           core_dir_config *entry_core;
  @@ -320,14 +318,14 @@
   
               this_conf = NULL;
               if (entry_core->r) {
  -                if (!regexec(entry_core->r, test_filename, 0, NULL, 0))
  +                if (!regexec(entry_core->r, r->filename, 0, NULL, 0))
                       this_conf = entry_config;
               }
               else if (entry_core->d_is_fnmatch) {
  -                if (!fnmatch(entry_dir, test_filename, 0))
  +                if (!fnmatch(entry_dir, r->filename, 0))
                       this_conf = entry_config;
               }
  -            else if (!strncmp(test_filename, entry_dir, strlen(entry_dir)))
  +            else if (!strncmp(r->filename, entry_dir, strlen(entry_dir)))
                   this_conf = entry_config;
   
               if (this_conf)
  @@ -342,6 +340,8 @@
       }
   
       r->filename   = os_canonical_filename(r->pool, r->filename);
  +    test_filename = pstrdup(r->pool, r->filename);
  +
       no2slash(test_filename);
       num_dirs = count_dirs(test_filename);
   
  
  
  

Reply via email to