fielding    97/02/10 02:24:50

  Modified:    src       CHANGES http_core.c http_request.c
  Log:
  Fix condition where, if a bad directive occurs in .htaccess, and
  sub_request() goes first to this directory, then log_reason() will
  SIGSEGV because it doesn't have initialized r->per_dir_config.
  [reported in PR#162 by Petr Lampa]
  
  Submitted by: Marc Slemko and Dean Gaudet
  Reviewed by: Roy Fielding
  
  Revision  Changes    Path
  1.150     +6 -1      apache/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.149
  retrieving revision 1.150
  diff -C3 -r1.149 -r1.150
  *** CHANGES   1997/02/08 01:33:56     1.149
  --- CHANGES   1997/02/10 10:24:48     1.150
  ***************
  *** 2,12 ****
    
      *) Fix handling of unsigned ints in ap_snprintf() on some chips such
         as the DEC Alpha which is 64-bit but uses 32-bit ints. 
  !      [Dean Gaudet, Ken the Rodent]
    
      *) Return a 302 response code to the client when sending a redirect
         due to a missing trailing '/' on a directory instead of a 301; now
         it is cacheable. [Markus Gyger]
    
      *) Fix handling of lang_index in is_variant_better().  This was
         causing problems which resulted in the server sending the
  --- 2,17 ----
    
      *) Fix handling of unsigned ints in ap_snprintf() on some chips such
         as the DEC Alpha which is 64-bit but uses 32-bit ints. 
  !      [Dean Gaudet, Ken Coar]
    
      *) Return a 302 response code to the client when sending a redirect
         due to a missing trailing '/' on a directory instead of a 301; now
         it is cacheable. [Markus Gyger]
  + 
  +   *) Fix condition where, if a bad directive occurs in .htaccess, and
  +      sub_request() goes first to this directory, then log_reason() will
  +      SIGSEGV because it doesn't have initialized r->per_dir_config.
  +      [PR#162 from Petr Lampa, fix by Marc Slemko and Dean Gaudet]
    
      *) Fix handling of lang_index in is_variant_better().  This was
         causing problems which resulted in the server sending the
  
  
  
  1.66      +3 -2      apache/src/http_core.c
  
  Index: http_core.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -C3 -r1.65 -r1.66
  *** http_core.c       1997/02/10 09:40:33     1.65
  --- http_core.c       1997/02/10 10:24:48     1.66
  ***************
  *** 313,321 ****
        core_dir_config *dir_conf;
    
    /* If we haven't checked the host name, and we want to */
  !     dir_conf = (core_dir_config *)get_module_config(dir_config, 
&core_module);
    
  !    if (type != REMOTE_NOLOOKUP && conn->remote_host == NULL && 
dir_conf->hostname_lookups)
        {
    #ifdef STATUS
        int old_stat = update_child_status(conn->child_num,
  --- 313,322 ----
        core_dir_config *dir_conf;
    
    /* If we haven't checked the host name, and we want to */
  !     if (dir_config) 
  !     dir_conf = (core_dir_config *)get_module_config(dir_config, 
&core_module);
    
  !    if ((!dir_conf) || (type != REMOTE_NOLOOKUP && conn->remote_host == NULL 
&& dir_conf->hostname_lookups))
        {
    #ifdef STATUS
        int old_stat = update_child_status(conn->child_num,
  
  
  
  1.41      +1 -0      apache/src/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_request.c,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -C3 -r1.40 -r1.41
  *** http_request.c    1997/01/25 15:44:39     1.40
  --- http_request.c    1997/02/10 10:24:49     1.41
  ***************
  *** 697,702 ****
  --- 697,703 ----
        rnew->server = r->server;
        rnew->request_config = create_request_config (rnew->pool);
        rnew->htaccess = r->htaccess; /* copy htaccess cache */
  +     rnew->per_dir_config = r->server->lookup_defaults;
        set_sub_req_protocol (rnew, r);
        
        rnew->uri = "INTERNALLY GENERATED file-relative req";
  
  
  

Reply via email to