ben 99/08/14 16:46:50
Modified: mpm/src/include http_config.h http_request.h mpm/src/main http_config.c http_core.c http_request.c mpm/src/modules/mpm/prefork prefork.c mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_dir.c mod_echo.c mod_env.c mod_imap.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c Log: Access checker hook. Revision Changes Path 1.15 +0 -2 apache-2.0/mpm/src/include/http_config.h Index: http_config.h =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/include/http_config.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- http_config.h 1999/08/01 14:43:22 1.14 +++ http_config.h 1999/08/14 23:46:37 1.15 @@ -236,7 +236,6 @@ */ int (*auth_checker) (request_rec *); - int (*access_checker) (request_rec *); void (*register_hooks) (void); } module; @@ -356,7 +355,6 @@ /* Module-method dispatchers, also for http_request.c */ int ap_translate_name(request_rec *); -int ap_check_access(request_rec *); /* check access on non-auth basis */ int ap_check_user_id(request_rec *); /* obtain valid username from client auth */ int ap_check_auth(request_rec *); /* check (validated) user is authorized here */ int ap_invoke_handler(request_rec *); 1.6 +1 -0 apache-2.0/mpm/src/include/http_request.h Index: http_request.h =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/include/http_request.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- http_request.h 1999/07/24 18:38:38 1.5 +++ http_request.h 1999/08/14 23:46:38 1.6 @@ -117,6 +117,7 @@ DECLARE_HOOK(int,check_user_id,(request_rec *)) DECLARE_HOOK(int,fixups,(request_rec *)) DECLARE_HOOK(int,type_checker,(request_rec *)) +DECLARE_HOOK(int,access_checker,(request_rec *)) #ifdef __cplusplus } 1.19 +0 -7 apache-2.0/mpm/src/main/http_config.c Index: http_config.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_config.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- http_config.c 1999/08/01 14:43:23 1.18 +++ http_config.c 1999/08/14 23:46:39 1.19 @@ -286,13 +286,11 @@ static const int method_offsets[] = { XtOffsetOf(module, auth_checker), - XtOffsetOf(module, access_checker), }; #define NMETHODS (sizeof (method_offsets)/sizeof (method_offsets[0])) static struct { int auth_checker; - int access_checker; } offsets_into_method_ptrs; /* @@ -368,11 +366,6 @@ } return run_all ? OK : DECLINED; -} - -int ap_check_access(request_rec *r) -{ - return run_method(r, offsets_into_method_ptrs.access_checker, 1); } /* Auth stuff --- anything that defines one of these will presumably 1.18 +1 -1 apache-2.0/mpm/src/main/http_core.c Index: http_core.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_core.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- http_core.c 1999/08/06 00:54:30 1.17 +++ http_core.c 1999/08/14 23:46:40 1.18 @@ -2670,6 +2670,7 @@ ap_hook_open_logs(core_open_logs,NULL,NULL,HOOK_MIDDLE); /* FIXME: I suspect we can eliminate the need for these - Ben */ ap_hook_type_checker(do_nothing,NULL,NULL,HOOK_REALLY_LAST); + ap_hook_access_checker(do_nothing,NULL,NULL,HOOK_REALLY_LAST); } API_VAR_EXPORT module core_module = { @@ -2682,6 +2683,5 @@ core_cmds, /* command table */ core_handlers, /* handlers */ NULL, /* check auth */ - do_nothing, /* check access */ register_hooks /* register hooks */ }; 1.16 +8 -6 apache-2.0/mpm/src/main/http_request.c Index: http_request.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_request.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- http_request.c 1999/07/31 09:31:23 1.15 +++ http_request.c 1999/08/14 23:46:40 1.16 @@ -83,12 +83,14 @@ HOOK_LINK(check_user_id) HOOK_LINK(fixups) HOOK_LINK(type_checker) + HOOK_LINK(access_checker) ) IMPLEMENT_HOOK_RUN_FIRST(int,translate_name,(request_rec *r),(r),DECLINED) IMPLEMENT_HOOK_RUN_FIRST(int,check_user_id,(request_rec *r),(r),DECLINED) IMPLEMENT_HOOK_RUN_ALL(int,fixups,(request_rec *r),(r),OK,DECLINED) IMPLEMENT_HOOK_RUN_FIRST(int,type_checker,(request_rec *r),(r),DECLINED) +IMPLEMENT_HOOK_RUN_ALL(int,access_checker,(request_rec *r),(r),OK,DECLINED) /***************************************************************** * @@ -806,11 +808,11 @@ || (res = location_walk(rnew)) || ((ap_satisfies(rnew) == SATISFY_ALL || ap_satisfies(rnew) == SATISFY_NOSPEC) - ? ((res = ap_check_access(rnew)) + ? ((res = ap_run_access_checker(rnew)) || (ap_some_auth_required(rnew) && ((res = ap_run_check_user_id(rnew)) || (res = ap_check_auth(rnew))))) - : ((res = ap_check_access(rnew)) + : ((res = ap_run_access_checker(rnew)) && (!ap_some_auth_required(rnew) || ((res = ap_run_check_user_id(rnew)) || (res = ap_check_auth(rnew))))) @@ -929,11 +931,11 @@ if (res || ((ap_satisfies(rnew) == SATISFY_ALL || ap_satisfies(rnew) == SATISFY_NOSPEC) - ? ((res = ap_check_access(rnew)) + ? ((res = ap_run_access_checker(rnew)) || (ap_some_auth_required(rnew) && ((res = ap_run_check_user_id(rnew)) || (res = ap_check_auth(rnew))))) - : ((res = ap_check_access(rnew)) + : ((res = ap_run_access_checker(rnew)) && (!ap_some_auth_required(rnew) || ((res = ap_run_check_user_id(rnew)) || (res = ap_check_auth(rnew))))) @@ -1177,7 +1179,7 @@ switch (ap_satisfies(r)) { case SATISFY_ALL: case SATISFY_NOSPEC: - if ((access_status = ap_check_access(r)) != 0) { + if ((access_status = ap_run_access_checker(r)) != 0) { decl_die(access_status, "check access", r); return; } @@ -1197,7 +1199,7 @@ } break; case SATISFY_ANY: - if (((access_status = ap_check_access(r)) != 0) || !ap_auth_type(r)) { + if (((access_status = ap_run_access_checker(r)) != 0) || !ap_auth_type(r)) { if (!ap_some_auth_required(r)) { decl_die(access_status, ap_auth_type(r) ? "check access" 1.28 +0 -1 apache-2.0/mpm/src/modules/mpm/prefork/prefork.c Index: prefork.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/mpm/prefork/prefork.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- prefork.c 1999/08/13 21:52:56 1.27 +++ prefork.c 1999/08/14 23:46:41 1.28 @@ -2985,6 +2985,5 @@ prefork_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ prefork_hooks, /* register hooks */ }; 1.13 +5 -2 apache-2.0/mpm/src/modules/standard/mod_access.c Index: mod_access.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_access.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- mod_access.c 1999/08/01 14:43:26 1.12 +++ mod_access.c 1999/08/14 23:46:42 1.13 @@ -384,6 +384,10 @@ return ret; } +static void register_hooks() +{ + ap_hook_access_checker(check_dir_access,NULL,NULL,HOOK_MIDDLE); +} module MODULE_VAR_EXPORT access_module = @@ -397,6 +401,5 @@ access_cmds, NULL, /* handlers */ NULL, /* check auth */ - check_dir_access, /* check access */ - NULL /* register hooks */ + register_hooks /* register hooks */ }; 1.12 +0 -1 apache-2.0/mpm/src/modules/standard/mod_actions.c Index: mod_actions.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_actions.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- mod_actions.c 1999/08/01 14:43:27 1.11 +++ mod_actions.c 1999/08/14 23:46:43 1.12 @@ -219,6 +219,5 @@ action_cmds, /* command table */ action_handlers, /* handlers */ NULL, /* "check auth */ - NULL, /* check access */ NULL /* register hooks */ }; 1.14 +0 -1 apache-2.0/mpm/src/modules/standard/mod_alias.c Index: mod_alias.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_alias.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_alias.c 1999/08/01 14:43:27 1.13 +++ mod_alias.c 1999/08/14 23:46:43 1.14 @@ -414,6 +414,5 @@ alias_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.13 +0 -1 apache-2.0/mpm/src/modules/standard/mod_asis.c Index: mod_asis.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_asis.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- mod_asis.c 1999/08/01 14:43:28 1.12 +++ mod_asis.c 1999/08/14 23:46:43 1.13 @@ -134,6 +134,5 @@ NULL, /* command table */ asis_handlers, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ NULL /* register hooks */ }; 1.14 +0 -1 apache-2.0/mpm/src/modules/standard/mod_auth.c Index: mod_auth.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_auth.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_auth.c 1999/08/06 00:54:52 1.13 +++ mod_auth.c 1999/08/14 23:46:43 1.14 @@ -325,6 +325,5 @@ auth_cmds, /* command table */ NULL, /* handlers */ check_user_access, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.13 +0 -1 apache-2.0/mpm/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_autoindex.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- mod_autoindex.c 1999/08/01 14:43:28 1.12 +++ mod_autoindex.c 1999/08/14 23:46:43 1.13 @@ -1658,6 +1658,5 @@ autoindex_cmds, /* command table */ autoindex_handlers, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ NULL /* register hooks */ }; 1.12 +0 -1 apache-2.0/mpm/src/modules/standard/mod_dir.c Index: mod_dir.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_dir.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- mod_dir.c 1999/08/01 14:43:28 1.11 +++ mod_dir.c 1999/08/14 23:46:44 1.12 @@ -232,6 +232,5 @@ dir_cmds, /* command table */ dir_handlers, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ NULL /* register hooks */ }; 1.7 +0 -1 apache-2.0/mpm/src/modules/standard/mod_echo.c Index: mod_echo.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_echo.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- mod_echo.c 1999/08/01 14:43:28 1.6 +++ mod_echo.c 1999/08/14 23:46:44 1.7 @@ -71,6 +71,5 @@ echo_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.14 +0 -1 apache-2.0/mpm/src/modules/standard/mod_env.c Index: mod_env.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_env.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_env.c 1999/08/01 14:43:28 1.13 +++ mod_env.c 1999/08/14 23:46:44 1.14 @@ -264,6 +264,5 @@ env_module_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.13 +0 -1 apache-2.0/mpm/src/modules/standard/mod_imap.c Index: mod_imap.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_imap.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- mod_imap.c 1999/08/01 14:43:28 1.12 +++ mod_imap.c 1999/08/14 23:46:44 1.13 @@ -905,6 +905,5 @@ imap_cmds, /* command table */ imap_handlers, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ NULL /* register hooks */ }; 1.14 +0 -1 apache-2.0/mpm/src/modules/standard/mod_log_config.c Index: mod_log_config.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_log_config.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_log_config.c 1999/08/06 00:55:00 1.13 +++ mod_log_config.c 1999/08/14 23:46:44 1.14 @@ -1131,6 +1131,5 @@ config_log_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.12 +0 -1 apache-2.0/mpm/src/modules/standard/mod_mime.c Index: mod_mime.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_mime.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- mod_mime.c 1999/08/01 14:43:29 1.11 +++ mod_mime.c 1999/08/14 23:46:45 1.12 @@ -395,6 +395,5 @@ mime_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.13 +0 -1 apache-2.0/mpm/src/modules/standard/mod_negotiation.c Index: mod_negotiation.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_negotiation.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- mod_negotiation.c 1999/08/01 14:43:29 1.12 +++ mod_negotiation.c 1999/08/14 23:46:45 1.13 @@ -2741,6 +2741,5 @@ negotiation_cmds, /* command table */ negotiation_handlers, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.14 +0 -1 apache-2.0/mpm/src/modules/standard/mod_setenvif.c Index: mod_setenvif.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_setenvif.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_setenvif.c 1999/08/01 14:43:29 1.13 +++ mod_setenvif.c 1999/08/14 23:46:45 1.14 @@ -416,7 +416,6 @@ setenvif_module_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ }; 1.14 +0 -1 apache-2.0/mpm/src/modules/standard/mod_userdir.c Index: mod_userdir.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_userdir.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_userdir.c 1999/08/01 14:43:29 1.13 +++ mod_userdir.c 1999/08/14 23:46:45 1.14 @@ -344,6 +344,5 @@ userdir_cmds, /* command table */ NULL, /* handlers */ NULL, /* check auth */ - NULL, /* check access */ register_hooks /* register hooks */ };