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 *);