Session cache interface redesign, Part 4:
Move provider-specific configuration handling down into the provider code. Eliminate all use of SSLModConfigRec within provider code. * modules/ssl/ssl_private.h (modssl_sesscache_provider): Add 'create' function which creates and configures the cache provider, before initialisation. Change 'init' function to take the context pointer as an input parameter, and reorder to be first. * modules/ssl/ssl_scache.c (ssl_scache_init): Adjust accordingly. * modules/ssl/ssl_scache_memcache.c (struct context): Add servers field. (ssl_scache_mc_create): New function. (ssl_scache_mc_init): Use servers from context not SSLModConfigRec. * modules/ssl/ssl_scache_dbm.c (struct context): Define. (ssl_scache_dbm_create): New function. (ssl_scache_dbm_init, ssl_scache_dbm_kill): Adjust to use filename and pool from context. (ssl_scache_dbm_store, ssl_scache_dbm_retrieve, ssl_scache_dbm_status): Use filename from context. Use context pool for temp storage of the DBM object, and clear before use. (ssl_scache_dbm_expire): Remove static tLast; use last_expiry from context. Use context pool for temp storage and clear before use. * modules/ssl/ssl_scache_dc.c (struct context): Add target field. (ssl_scache_dc_init, ssl_scache_dc_status): Use target from context. * modules/ssl/ssl_scache_shmcb.c (struct context): Add data_file, shm_size fields. (ssl_scache_shmcb_create): New function; moved argument parsing logic from ssl_cmd_SSLSessionCache (ssl_scache_shmcb_init, ssl_scache_shmcb_status): Use config from context. * modules/ssl/ssl_engine_config.c (ssl_config_global_create): Remove handling of old provider-specific fields. (ssl_cmd_SSLSessionCache): Call provider ->create function to parse the argument and create provider-specific context structure. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@630974 13f79535-47bb-0310-9956-ffa450edef68
parent
27c24cf2
Please register or sign in to comment