| 711 | */ |
| 712 | |
| 713 | static void ssl_register_hooks(apr_pool_t *p) |
| 714 | { |
| 715 | /* ssl_hook_ReadReq needs to use the BrowserMatch settings so must |
| 716 | * run after mod_setenvif's post_read_request hook. */ |
| 717 | static const char *pre_prr[] = { "mod_setenvif.c", NULL }; |
| 718 | /* The ssl_init_Module post_config hook should run before mod_proxy's |
| 719 | * for the ssl proxy main configs to be merged with vhosts' before being |
| 720 | * themselves merged with mod_proxy's in proxy_hook_section_post_config. |
| 721 | */ |
| 722 | static const char *b_pc[] = { "mod_proxy.c", NULL}; |
| 723 | |
| 724 | |
| 725 | ssl_io_filter_register(p); |
| 726 | |
| 727 | ap_hook_pre_connection(ssl_hook_pre_connection,NULL,NULL, APR_HOOK_MIDDLE); |
| 728 | ap_hook_process_connection(ssl_hook_process_connection, |
| 729 | NULL, NULL, APR_HOOK_MIDDLE); |
| 730 | ap_hook_test_config (ssl_hook_ConfigTest, NULL,NULL, APR_HOOK_MIDDLE); |
| 731 | ap_hook_post_config (ssl_init_Module, NULL,b_pc, APR_HOOK_MIDDLE); |
| 732 | ap_hook_http_scheme (ssl_hook_http_scheme, NULL,NULL, APR_HOOK_MIDDLE); |
| 733 | ap_hook_default_port (ssl_hook_default_port, NULL,NULL, APR_HOOK_MIDDLE); |
| 734 | ap_hook_pre_config (ssl_hook_pre_config, NULL,NULL, APR_HOOK_MIDDLE); |
| 735 | ap_hook_child_init (ssl_init_Child, NULL,NULL, APR_HOOK_MIDDLE); |
| 736 | ap_hook_check_authn (ssl_hook_UserCheck, NULL,NULL, APR_HOOK_FIRST, |
| 737 | AP_AUTH_INTERNAL_PER_CONF); |
| 738 | ap_hook_fixups (ssl_hook_Fixup, NULL,NULL, APR_HOOK_MIDDLE); |
| 739 | ap_hook_check_access (ssl_hook_Access, NULL,NULL, APR_HOOK_MIDDLE, |
| 740 | AP_AUTH_INTERNAL_PER_CONF); |
| 741 | ap_hook_check_authz (ssl_hook_Auth, NULL,NULL, APR_HOOK_MIDDLE, |
| 742 | AP_AUTH_INTERNAL_PER_CONF); |
| 743 | ap_hook_post_read_request(ssl_hook_ReadReq, pre_prr,NULL, APR_HOOK_MIDDLE); |
| 744 | |
| 745 | APR_OPTIONAL_HOOK(proxy, section_post_config, |
| 746 | ssl_proxy_section_post_config, NULL, NULL, |
| 747 | APR_HOOK_MIDDLE); |
| 748 | |
| 749 | ssl_var_register(p); |
| 750 | ap_hook_ssl_bind_outgoing (ssl_hook_ssl_bind_outgoing, NULL, NULL, APR_HOOK_MIDDLE); |
| 751 | |
| 752 | ap_register_auth_provider(p, AUTHZ_PROVIDER_GROUP, "ssl", |
| 753 | AUTHZ_PROVIDER_VERSION, |
| 754 | &ssl_authz_provider_require_ssl, |
| 755 | AP_AUTH_INTERNAL_PER_CONF); |
| 756 | |
| 757 | ap_register_auth_provider(p, AUTHZ_PROVIDER_GROUP, "ssl-verify-client", |
| 758 | AUTHZ_PROVIDER_VERSION, |
| 759 | &ssl_authz_provider_verify_client, |
| 760 | AP_AUTH_INTERNAL_PER_CONF); |
| 761 | } |
| 762 | |
| 763 | module AP_MODULE_DECLARE_DATA ssl_module = { |
| 764 | STANDARD20_MODULE_STUFF, |
nothing calls this directly
no test coverage detected