You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ruediger Pluem <rp...@apache.org> on 2008/02/23 11:44:23 UTC
Re: svn commit: r630163 - in /httpd/httpd/trunk/modules/ssl: ssl_engine_config.c
ssl_engine_init.c ssl_private.h ssl_scache.c ssl_scache_dbm.c ssl_scache_dc.c
ssl_scache_memcache.c ssl_scache_shmcb.c
On 02/22/2008 12:37 PM, jorton@apache.org wrote:
> Author: jorton
> Date: Fri Feb 22 03:36:51 2008
> New Revision: 630163
>
> URL: http://svn.apache.org/viewvc?rev=630163&view=rev
> Log:
> Re-implement the SSL session cache abstraction using a vtable; first
> step towards use of the ap_provider interface:
>
> * modules/ssl/ssl_private.h (modssl_sesscache_provider): Add new
> vtable type.
> (SSLModConfigRec): Reference the vtable here.
> Replace all the ssl_scache_* prototypes with provider vtable objects.
>
> * modules/ssl/ssl_scache.c (ssl_scache_init, ssl_scache_kill,
> ssl_scache_retrieve, ssl_scache_store, ssl_scache_remove,
> ssl_ext_status_hook): Use callbacks from vtable rather than ifdef
> spaghetti.
>
> * modules/ssl/ssl_engine_init.c (ssl_init_ctx_session_cache):
> Only install the OpenSSL callbacks if a vtable is configured.
>
> * modules/ssl/ssl_engine_config.c (ssl_cmd_SSLSessionCache): Set up
> vtable pointer.
>
> * modules/ssl/ssl_scache_dc.c, modules/ssl_scache_mc.c: Adjust to make
> implementations static, and add vtable definition.
>
> * modules/ssl_scache_shmcb.c: Likewise; also move the init
> one-per-process requirement down here.
>
> * modules/ssl_scache_dbm.c: Likewise; also (temporarily) use a local
> subpool in the store callback.
>
> Modified:
> httpd/httpd/trunk/modules/ssl/ssl_engine_config.c
> httpd/httpd/trunk/modules/ssl/ssl_engine_init.c
> httpd/httpd/trunk/modules/ssl/ssl_private.h
> httpd/httpd/trunk/modules/ssl/ssl_scache.c
> httpd/httpd/trunk/modules/ssl/ssl_scache_dbm.c
> httpd/httpd/trunk/modules/ssl/ssl_scache_dc.c
> httpd/httpd/trunk/modules/ssl/ssl_scache_memcache.c
> httpd/httpd/trunk/modules/ssl/ssl_scache_shmcb.c
>
> Modified: httpd/httpd/trunk/modules/ssl/ssl_private.h
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_private.h?rev=630163&r1=630162&r2=630163&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/ssl/ssl_private.h (original)
> +++ httpd/httpd/trunk/modules/ssl/ssl_private.h Fri Feb 22 03:36:51 2008
> @@ -595,38 +611,15 @@
> void ssl_scache_remove(server_rec *, UCHAR *, int,
> apr_pool_t *);
>
> -char *ssl_scache_id2sz(UCHAR *, int);
> -void ssl_scache_dbm_init(server_rec *, apr_pool_t *);
> -void ssl_scache_dbm_kill(server_rec *);
> -BOOL ssl_scache_dbm_store(server_rec *, UCHAR *, int,
> - time_t, SSL_SESSION *, apr_pool_t *);
> -SSL_SESSION *ssl_scache_dbm_retrieve(server_rec *, UCHAR *, int,
> - apr_pool_t *);
> -void ssl_scache_dbm_remove(server_rec *, UCHAR *, int,
> - apr_pool_t *);
> -void ssl_scache_dbm_status(request_rec *r, int flags, apr_pool_t *);
> -
> -void ssl_scache_shmcb_init(server_rec *, apr_pool_t *);
> -void ssl_scache_shmcb_kill(server_rec *);
> -BOOL ssl_scache_shmcb_store(server_rec *, UCHAR *, int, time_t, SSL_SESSION *);
> -SSL_SESSION *ssl_scache_shmcb_retrieve(server_rec *, UCHAR *, int);
> -void ssl_scache_shmcb_remove(server_rec *, UCHAR *, int);
> -void ssl_scache_shmcb_status(request_rec *r, int flags, apr_pool_t *pool);
> -
> -void ssl_scache_dc_init(server_rec *, apr_pool_t *);
> -void ssl_scache_dc_kill(server_rec *);
> -BOOL ssl_scache_dc_store(server_rec *, UCHAR *, int, time_t, SSL_SESSION *);
> -SSL_SESSION *ssl_scache_dc_retrieve(server_rec *, UCHAR *, int);
> -void ssl_scache_dc_remove(server_rec *, UCHAR *, int);
> -void ssl_scache_dc_status(request_rec *r, int flags, apr_pool_t *pool);
> +const modssl_sesscache_provider modssl_sesscache_shmcb;
> +const modssl_sesscache_provider modssl_sesscache_dbm;
> +
> +#ifdef HAVE_DISTCACHE
> +const modssl_sesscache_provider modssl_sesscache_dc;
> +#endif
Shouldn't this be
extern const modssl_sesscache_provider modssl_sesscache_shmcb;
extern const modssl_sesscache_provider modssl_sesscache_dbm;
#ifdef HAVE_DISTCACHE
extern const modssl_sesscache_provider modssl_sesscache_dc;
#endif
?
>
> #ifdef HAVE_SSL_CACHE_MEMCACHE
> -void ssl_scache_mc_init(server_rec *, apr_pool_t *);
> -void ssl_scache_mc_kill(server_rec *);
> -BOOL ssl_scache_mc_store(server_rec *, UCHAR *, int, time_t, SSL_SESSION *);
> -SSL_SESSION *ssl_scache_mc_retrieve(server_rec *, UCHAR *, int, apr_pool_t *);
> -void ssl_scache_mc_remove(server_rec *, UCHAR *, int);
> -void ssl_scache_mc_status(request_rec *r, int flags, apr_pool_t *pool);
> +const modssl_sesscache_provider modssl_sesscache_mc;
Shouldn't this be
extern const modssl_sesscache_provider modssl_sesscache_mc;
?
Regards
RĂ¼diger