@@ -54,7 +54,8 @@ static request_rec *oidc_test_request_init(apr_pool_t *pool) {
5454 const unsigned int kEls = kIdx + 1 ;
5555 request_rec * request = (request_rec * )apr_pcalloc (pool , sizeof (request_rec ));
5656
57- request -> pool = pool ;
57+ apr_pool_create (& request -> pool , pool );
58+
5859 request -> subprocess_env = apr_table_make (request -> pool , 0 );
5960
6061 request -> headers_in = apr_table_make (request -> pool , 0 );
@@ -68,13 +69,13 @@ static request_rec *oidc_test_request_init(apr_pool_t *pool) {
6869 "mod_auth_openidc_session"
6970 "=0123456789abcdef; baz=zot" );
7071
71- request -> server = apr_pcalloc (request -> pool , sizeof (struct server_rec ));
72- request -> server -> process = apr_pcalloc (request -> pool , sizeof (struct process_rec ));
73- request -> server -> process -> pool = request -> pool ;
74- request -> server -> process -> pconf = request -> pool ;
75- request -> connection = apr_pcalloc (request -> pool , sizeof (struct conn_rec ));
76- request -> connection -> bucket_alloc = apr_bucket_alloc_create (request -> pool );
77- request -> connection -> local_addr = apr_pcalloc (request -> pool , sizeof (apr_sockaddr_t ));
72+ request -> server = apr_pcalloc (pool , sizeof (struct server_rec ));
73+ request -> server -> process = apr_pcalloc (pool , sizeof (struct process_rec ));
74+ apr_pool_create ( & request -> server -> process -> pool , pool ) ;
75+ apr_pool_create ( & request -> server -> process -> pconf , pool ) ;
76+ request -> connection = apr_pcalloc (pool , sizeof (struct conn_rec ));
77+ request -> connection -> bucket_alloc = apr_bucket_alloc_create (pool );
78+ request -> connection -> local_addr = apr_pcalloc (pool , sizeof (apr_sockaddr_t ));
7879
7980 apr_pool_userdata_set ("https" , "scheme" , NULL , request -> pool );
8081 request -> server -> server_hostname = "www.example.com" ;
@@ -84,35 +85,36 @@ static request_rec *oidc_test_request_init(apr_pool_t *pool) {
8485 apr_uri_parse (request -> pool , "https://www.example.com/bla?foo=bar¶m1=value1" , & request -> parsed_uri );
8586
8687 auth_openidc_module .module_index = kIdx ;
87- oidc_cfg_t * cfg = oidc_cfg_server_create (request -> pool , request -> server );
88+ oidc_cfg_t * cfg = oidc_cfg_server_create (request -> server -> process -> pconf , request -> server );
8889
89- oidc_cfg_provider_issuer_set (pool , oidc_cfg_provider_get (cfg ), "https://idp.example.com" );
90- oidc_cfg_provider_authorization_endpoint_url_set (pool , oidc_cfg_provider_get (cfg ),
90+ oidc_cfg_provider_issuer_set (request -> server -> process -> pconf , oidc_cfg_provider_get (cfg ),
91+ "https://idp.example.com" );
92+ oidc_cfg_provider_authorization_endpoint_url_set (request -> server -> process -> pconf , oidc_cfg_provider_get (cfg ),
9193 "https://idp.example.com/authorize" );
92- oidc_cfg_provider_client_id_set (pool , oidc_cfg_provider_get (cfg ), "client_id" );
94+ oidc_cfg_provider_client_id_set (request -> server -> process -> pconf , oidc_cfg_provider_get (cfg ), "client_id" );
9395
9496 cfg -> redirect_uri = "https://www.example.com/protected/" ;
9597
96- oidc_dir_cfg_t * d_cfg = oidc_cfg_dir_config_create (request -> pool , NULL );
98+ oidc_dir_cfg_t * d_cfg = oidc_cfg_dir_config_create (request -> server -> process -> pconf , NULL );
9799
98100 // coverity[suspicious_sizeof]
99- request -> server -> module_config = apr_pcalloc (request -> pool , sizeof (void * ) * kEls );
101+ request -> server -> module_config = apr_pcalloc (request -> server -> process -> pconf , sizeof (void * ) * kEls );
100102 // coverity[suspicious_sizeof]
101- request -> per_dir_config = apr_pcalloc (request -> pool , sizeof (void * ) * kEls );
103+ request -> per_dir_config = apr_pcalloc (request -> server -> process -> pconf , sizeof (void * ) * kEls );
102104 ap_set_module_config (request -> server -> module_config , & auth_openidc_module , cfg );
103105 ap_set_module_config (request -> per_dir_config , & auth_openidc_module , d_cfg );
104106
105107 // TODO:
106- cfg -> public_keys = apr_array_make (pool , 1 , sizeof (const char * ));
107- cfg -> private_keys = apr_array_make (pool , 1 , sizeof (const char * ));
108+ cfg -> public_keys = apr_array_make (request -> server -> process -> pconf , 1 , sizeof (const char * ));
109+ cfg -> private_keys = apr_array_make (request -> server -> process -> pconf , 1 , sizeof (const char * ));
108110
109111 cfg -> crypto_passphrase .secret1 = "12345678901234567890123456789012" ;
110112 cfg -> cache .impl = & oidc_cache_shm ;
111113 cfg -> cache .cfg = NULL ;
112114 cfg -> cache .shm_size_max = 500 ;
113115 cfg -> cache .shm_entry_size_max = 16384 + 255 + 17 ;
114116 cfg -> cache .encrypt = 1 ;
115- if (cfg -> cache .impl -> post_config (pool , request -> server ) != OK ) {
117+ if (cfg -> cache .impl -> post_config (request -> server -> process -> pconf , request -> server ) != OK ) {
116118 fprintf (stderr , "cfg->cache.impl->post_config failed!\n" );
117119 exit (-1 );
118120 }
@@ -129,8 +131,6 @@ void oidc_test_setup(void) {
129131
130132void oidc_test_teardown (void ) {
131133 EVP_cleanup ();
132- oidc_test_cfg_get ()-> cache .impl -> destroy (pool , request -> server );
133- apr_pool_destroy (pool );
134134 apr_terminate ();
135135}
136136
0 commit comments