fielding    97/05/12 21:01:51

  Modified:    src       CHANGES mod_dir.c
  Log:
  If the lookup for a DirectoryIndex name with content negotiation
  has found matching variants, but none are acceptable, return the
  negotiation result if there are no more DirectoryIndex names to lookup.
  
  Submitted by: Petr Lampa and Roy Fielding
  Reviewed by: Randy Terbush, Dean Gaudet
  
  Revision  Changes    Path
  1.274     +5 -0      apache/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.273
  retrieving revision 1.274
  diff -C3 -r1.273 -r1.274
  *** CHANGES   1997/05/13 03:44:22     1.273
  --- CHANGES   1997/05/13 04:01:49     1.274
  ***************
  *** 1,5 ****
  --- 1,10 ----
    Changes with Apache 1.2
    
  +   *) If the lookup for a DirectoryIndex name with content negotiation
  +      has found matching variants, but none are acceptable, return the
  +      negotiation result if there are no more DirectoryIndex names lookup.
  +      [Petr Lampa and Roy Fielding]
  + 
      *) If a soft_timeout occurs after keepalive is set, then the main child
         loop would try to read another request even though the connection
         has been aborted.  [Roy Fielding]
  
  
  
  1.26      +5 -3      apache/src/mod_dir.c
  
  Index: mod_dir.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_dir.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -C3 -r1.25 -r1.26
  *** mod_dir.c 1997/04/18 02:56:14     1.25
  --- mod_dir.c 1997/05/13 04:01:50     1.26
  ***************
  *** 807,813 ****
        char *name_ptr = getword_conf (r->pool, &names_ptr);
        request_rec *rr = sub_req_lookup_uri (name_ptr, r);
               
  !     if (rr->status == 200 && rr->finfo.st_mode != 0) {
            char* new_uri = escape_uri(r->pool, rr->uri);
    
            if (rr->args != NULL)
  --- 807,813 ----
        char *name_ptr = getword_conf (r->pool, &names_ptr);
        request_rec *rr = sub_req_lookup_uri (name_ptr, r);
               
  !     if (rr->status == HTTP_OK && rr->finfo.st_mode != 0) {
            char* new_uri = escape_uri(r->pool, rr->uri);
    
            if (rr->args != NULL)
  ***************
  *** 822,828 ****
    
        /* If the request returned a redirect, propagate it to the client */
    
  !     if (is_HTTP_REDIRECT(rr->status)) {
            error_notfound = rr->status;
            r->notes = overlay_tables(r->pool, r->notes, rr->notes);
            r->headers_out = overlay_tables(r->pool, r->headers_out,
  --- 822,830 ----
    
        /* If the request returned a redirect, propagate it to the client */
    
  !     if (is_HTTP_REDIRECT(rr->status) ||
  !         (rr->status == HTTP_NOT_ACCEPTABLE && *names_ptr == '\0')) {
  ! 
            error_notfound = rr->status;
            r->notes = overlay_tables(r->pool, r->notes, rr->notes);
            r->headers_out = overlay_tables(r->pool, r->headers_out,
  ***************
  *** 842,848 ****
         * exist, we return the last error response we got, instead
         * of a directory listing.
         */
  !     if (rr->status && rr->status != 404 && rr->status != 200)
            error_notfound = rr->status;
    
            destroy_sub_req (rr);
  --- 844,850 ----
         * exist, we return the last error response we got, instead
         * of a directory listing.
         */
  !     if (rr->status && rr->status != HTTP_NOT_FOUND && rr->status != HTTP_OK)
            error_notfound = rr->status;
    
            destroy_sub_req (rr);
  
  
  

Reply via email to