You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Dean Gaudet <dg...@hyperreal.org> on 1997/07/15 09:33:32 UTC

cvs commit: apache/src mod_autoindex.c mod_dir.c

dgaudet     97/07/15 00:33:31

  Modified:    src       mod_autoindex.c mod_dir.c
  Log:
  Fix problem with directory indexes if mod_autoindex is invoked before mod_dir.
  Essentially one of them has to tack a trailing / on r->filename.
  
  Revision  Changes    Path
  1.36      +10 -2     apache/src/mod_autoindex.c
  
  Index: mod_autoindex.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_autoindex.c,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -C3 -r1.35 -r1.36
  *** mod_autoindex.c	1997/07/12 13:14:45	1.35
  --- mod_autoindex.c	1997/07/15 07:33:29	1.36
  ***************
  *** 861,869 ****
        
        /* OK, nothing easy.  Trot out the heavy artillery... */
    
  !     if (allow_opts & OPT_INDEXES) 
            return index_directory (r, d);
  !     else {
            log_reason ("Directory index forbidden by rule", r->filename, r);
            return HTTP_FORBIDDEN;
        }
  --- 861,877 ----
        
        /* OK, nothing easy.  Trot out the heavy artillery... */
    
  !     if (allow_opts & OPT_INDEXES) {
  ! 	/* KLUDGE --- make the sub_req lookups happen in the right directory.
  ! 	* Fixing this in the sub_req_lookup functions themselves is difficult,
  ! 	* and would probably break virtual includes...
  ! 	*/
  ! 
  ! 	if (r->filename[strlen (r->filename) - 1] != '/') {
  ! 	    r->filename = pstrcat (r->pool, r->filename, "/", NULL);
  ! 	}
            return index_directory (r, d);
  !     } else {
            log_reason ("Directory index forbidden by rule", r->filename, r);
            return HTTP_FORBIDDEN;
        }
  
  
  
  1.36      +3 -1      apache/src/mod_dir.c
  
  Index: mod_dir.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_dir.c,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -C3 -r1.35 -r1.36
  *** mod_dir.c	1997/07/12 12:33:13	1.35
  --- mod_dir.c	1997/07/15 07:33:29	1.36
  ***************
  *** 125,131 ****
         * and would probably break virtual includes...
         */
    
  !     r->filename = pstrcat (r->pool, r->filename, "/", NULL);
        
        while (*names_ptr) {
              
  --- 125,133 ----
         * and would probably break virtual includes...
         */
    
  !     if (r->filename[strlen (r->filename) - 1] != '/') {
  ! 	r->filename = pstrcat (r->pool, r->filename, "/", NULL);
  !     }
        
        while (*names_ptr) {