From bccbf282498881e182b4e7e8a69a779b38cdb98a Mon Sep 17 00:00:00 2001 From: Artem Boldariev Date: Thu, 22 Dec 2022 20:04:22 +0200 Subject: [PATCH] tlsctx_client_session_cache_new() -> tlsctx_client_session_create() Additionally to renaming, it changes the function definition so that it accepts a pointer to pointer instead of returning a pointer to the new object. It is mostly done to make it in line with other functions in the module. (cherry picked from commit 7962e7f5757f77366bbcc4350ae43e5c0e4044c0) --- bin/dig/dighost.c | 6 +++--- lib/dns/xfrin.c | 5 +++-- lib/isc/include/isc/tls.h | 8 +++++--- lib/isc/tls.c | 10 ++++++---- tests/isc/doh_test.c | 5 +++-- tests/isc/netmgr_test.c | 5 +++-- 6 files changed, 23 insertions(+), 16 deletions(-) diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index ce5f8292d0..f52cdd6d71 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -2908,9 +2908,9 @@ get_create_tls_context(dig_query_t *query, const bool is_https, } #endif /* HAVE_LIBNGHTTP2 */ - sess_cache = isc_tlsctx_client_session_cache_new( - mctx, ctx, - ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE); + isc_tlsctx_client_session_cache_create( + mctx, ctx, ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE, + &sess_cache); result = isc_tlsctx_cache_add( query->lookup->tls_ctx_cache, tlsctxname, transport, diff --git a/lib/dns/xfrin.c b/lib/dns/xfrin.c index 08d8f28ea0..0167421cd7 100644 --- a/lib/dns/xfrin.c +++ b/lib/dns/xfrin.c @@ -1072,9 +1072,10 @@ get_create_tlsctx(const dns_xfrin_ctx_t *xfr, isc_tlsctx_t **pctx, isc_tlsctx_enable_dot_client_alpn(tlsctx); - sess_cache = isc_tlsctx_client_session_cache_new( + isc_tlsctx_client_session_cache_create( xfr->mctx, tlsctx, - ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE); + ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE, + &sess_cache); found_store = NULL; result = isc_tlsctx_cache_add(xfr->tlsctx_cache, tlsname, diff --git a/lib/isc/include/isc/tls.h b/lib/isc/include/isc/tls.h index a732c20b20..efffffb097 100644 --- a/lib/isc/include/isc/tls.h +++ b/lib/isc/include/isc/tls.h @@ -320,9 +320,10 @@ typedef struct isc_tlsctx_client_session_cache isc_tlsctx_client_session_cache_t * comparable to or surpass the size of a typical DNS message. */ -isc_tlsctx_client_session_cache_t * -isc_tlsctx_client_session_cache_new(isc_mem_t *mctx, isc_tlsctx_t *ctx, - const size_t max_entries); +void +isc_tlsctx_client_session_cache_create( + isc_mem_t *mctx, isc_tlsctx_t *ctx, const size_t max_entries, + isc_tlsctx_client_session_cache_t **cachep); /*%< * Create a new TLS client session cache object. * @@ -330,6 +331,7 @@ isc_tlsctx_client_session_cache_new(isc_mem_t *mctx, isc_tlsctx_t *ctx, *\li 'mctx' is a valid memory context object; *\li 'ctx' is a valid TLS context object; *\li 'max_entries' is a positive number; + *\li 'cachep' is a valid pointer to a pointer which must be equal to NULL. */ void diff --git a/lib/isc/tls.c b/lib/isc/tls.c index f2b597454f..9be787e9d7 100644 --- a/lib/isc/tls.c +++ b/lib/isc/tls.c @@ -1391,13 +1391,15 @@ struct isc_tlsctx_client_session_cache { isc_mutex_t lock; }; -isc_tlsctx_client_session_cache_t * -isc_tlsctx_client_session_cache_new(isc_mem_t *mctx, isc_tlsctx_t *ctx, - const size_t max_entries) { +void +isc_tlsctx_client_session_cache_create( + isc_mem_t *mctx, isc_tlsctx_t *ctx, const size_t max_entries, + isc_tlsctx_client_session_cache_t **cachep) { isc_tlsctx_client_session_cache_t *nc; REQUIRE(ctx != NULL); REQUIRE(max_entries > 0); + REQUIRE(cachep != NULL && *cachep == NULL); nc = isc_mem_get(mctx, sizeof(*nc)); @@ -1412,7 +1414,7 @@ isc_tlsctx_client_session_cache_new(isc_mem_t *mctx, isc_tlsctx_t *ctx, nc->magic = TLSCTX_CLIENT_SESSION_CACHE_MAGIC; - return (nc); + *cachep = nc; } void diff --git a/tests/isc/doh_test.c b/tests/isc/doh_test.c index ce3854cfca..9f19b4e31b 100644 --- a/tests/isc/doh_test.c +++ b/tests/isc/doh_test.c @@ -323,9 +323,10 @@ setup_test(void **state) { client_tlsctx = NULL; isc_tlsctx_createclient(&client_tlsctx); isc_tlsctx_enable_http2client_alpn(client_tlsctx); - client_sess_cache = isc_tlsctx_client_session_cache_new( + isc_tlsctx_client_session_cache_create( mctx, client_tlsctx, - ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE); + ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE, + &client_sess_cache); isc_quota_init(&listener_quota, 0); atomic_store(&check_listener_quota, false); diff --git a/tests/isc/netmgr_test.c b/tests/isc/netmgr_test.c index ceed931851..cb2c1debab 100644 --- a/tests/isc/netmgr_test.c +++ b/tests/isc/netmgr_test.c @@ -336,9 +336,10 @@ setup_test(void **state __attribute__((unused))) { isc_tlsctx_enable_dot_client_alpn(tcp_connect_tlsctx); - tcp_tlsctx_client_sess_cache = isc_tlsctx_client_session_cache_new( + isc_tlsctx_client_session_cache_create( mctx, tcp_connect_tlsctx, - ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE); + ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE, + &tcp_tlsctx_client_sess_cache); return (0); }