You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Marc Slemko <ma...@hyperreal.com> on 1997/02/17 11:46:09 UTC

cvs commit: apache/src http_core.c http_request.c http_core.h

marc        97/02/17 02:46:09

  Modified:    src       http_core.c http_request.c http_core.h
  Log:
  Fix the hierarchical passing of satisfy modes; before a .htaccess
  file could make the satisfy mode revert back to Satisfy All
  even if there were no authentication directives in the directory.
  
  Submitted by: Ed Korthof
  Reviewed by: Paul Sutton, Dean Gaudet, Marc Slemko
  
  Revision  Changes    Path
  1.70      +2 -2      apache/src/http_core.c
  
  Index: http_core.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.69
  retrieving revision 1.70
  diff -C3 -r1.69 -r1.70
  *** http_core.c	1997/02/15 11:33:51	1.69
  --- http_core.c	1997/02/17 10:46:06	1.70
  ***************
  *** 94,100 ****
    
        conf->hostname_lookups = 2;/* binary, but will use 2 as an "unset = on" */
        conf->do_rfc1413 = DEFAULT_RFC1413 | 2;  /* set bit 1 to indicate default */
  !     conf->satisfy = SATISFY_ALL;
    
    #ifdef RLIMIT_CPU
        conf->limit_cpu = NULL;
  --- 94,100 ----
    
        conf->hostname_lookups = 2;/* binary, but will use 2 as an "unset = on" */
        conf->do_rfc1413 = DEFAULT_RFC1413 | 2;  /* set bit 1 to indicate default */
  !     conf->satisfy = SATISFY_NOSPEC;
    
    #ifdef RLIMIT_CPU
        conf->limit_cpu = NULL;
  ***************
  *** 165,171 ****
    
        conf->sec = append_arrays (a, base->sec, new->sec);
    
  !     conf->satisfy = new->satisfy;
        return (void*)conf;
    }
    
  --- 165,171 ----
    
        conf->sec = append_arrays (a, base->sec, new->sec);
    
  !     if (new->satisfy != SATISFY_NOSPEC) conf->satisfy = new->satisfy;
        return (void*)conf;
    }
    
  
  
  
  1.43      +3 -3      apache/src/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_request.c,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -C3 -r1.42 -r1.43
  *** http_request.c	1997/02/10 15:17:44	1.42
  --- http_request.c	1997/02/17 10:46:07	1.43
  ***************
  *** 658,664 ****
        if ((res = directory_walk (rnew))
    	|| (res = file_walk (rnew))
    	|| (res = location_walk (rnew))
  !         || (satisfies(rnew) == SATISFY_ALL?
    	    ((res = check_access (rnew))
    	     || (some_auth_required (rnew) &&
    		 ((res = check_user_id (rnew)) || (res = check_auth (rnew))))):
  --- 658,664 ----
        if ((res = directory_walk (rnew))
    	|| (res = file_walk (rnew))
    	|| (res = location_walk (rnew))
  !         || ((satisfies(rnew)==SATISFY_ALL || satisfies(rnew)==SATISFY_NOSPEC)?
    	    ((res = check_access (rnew))
    	     || (some_auth_required (rnew) &&
    		 ((res = check_user_id (rnew)) || (res = check_auth (rnew))))):
  ***************
  *** 707,713 ****
    	
        if ((res = directory_walk (rnew))
    	|| (res = file_walk (rnew))
  ! 	|| (satisfies(rnew) == SATISFY_ALL?
    	    ((res = check_access (rnew))
    	     || (some_auth_required (rnew) &&
    		 ((res = check_user_id (rnew)) || (res = check_auth (rnew))))):
  --- 707,713 ----
    	
        if ((res = directory_walk (rnew))
    	|| (res = file_walk (rnew))
  !         || ((satisfies(rnew)==SATISFY_ALL || satisfies(rnew)==SATISFY_NOSPEC)?
    	    ((res = check_access (rnew))
    	     || (some_auth_required (rnew) &&
    		 ((res = check_user_id (rnew)) || (res = check_auth (rnew))))):
  ***************
  *** 916,922 ****
        }
        
        switch (satisfies(r)) {
  !     case SATISFY_ALL:
    	if ((access_status = check_access (r)) != 0) {
    	    decl_die (access_status, "check access", r);
    	    return;
  --- 916,922 ----
        }
        
        switch (satisfies(r)) {
  !     case SATISFY_ALL: case SATISFY_NOSPEC:
    	if ((access_status = check_access (r)) != 0) {
    	    decl_die (access_status, "check access", r);
    	    return;
  
  
  
  1.20      +1 -0      apache/src/http_core.h
  
  Index: http_core.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_core.h,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -C3 -r1.19 -r1.20
  *** http_core.h	1997/02/10 15:17:43	1.19
  --- http_core.h	1997/02/17 10:46:07	1.20
  ***************
  *** 80,85 ****
  --- 80,86 ----
    
    #define SATISFY_ALL 0
    #define SATISFY_ANY 1
  + #define SATISFY_NOSPEC 2
    
    int allow_options (request_rec *);
    int allow_overrides (request_rec *);