mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
mod_ssl: Update the ssl_var_lookup() API:
a) constify return value and variable name passed-in b) require that pool argument is non-NULL c) add gcc warning attributes for NULL arguments or ignored result. This allows removal of inefficient internal duplication of constant strings which was necessary only to allow non-const char *, and removal of unsafe casts to/from const in various places. * modules/ssl/ssl_engine_vars.c (ssl_var_lookup): Assume pool is non-NULL; return constant and remove apr_pstrdup of constant result string. Also constify variable name. (ssl_var_lookup_*): Update to return const char * and avoid duplication where now possible. * modules/ssl/mod_ssl.h: Update ssl_var_lookup() optional function API description and add GCC warning attributes as per private API. * modules/ssl/ssl_engine_init.c (ssl_add_version_components): Adjust for const return value. * modules/ssl/ssl_engine_io.c (ssl_io_filter_handshake): Pass c->pool to ssl_var_lookup. * modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Pass r->pool to ssl_var_lookup, expect const return and dup the string since r->user is char *. (log_tracing_state): Pass c->pool to ssl_var_lookup. * modules/http2/h2_h2.c (h2_is_acceptable_connection): Assume return value of ssl_var_lookup is const. Github: closes #120 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1877475 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -176,10 +176,12 @@ DH *modssl_get_dh_params(unsigned keylen)
|
||||
static void ssl_add_version_components(apr_pool_t *ptemp, apr_pool_t *pconf,
|
||||
server_rec *s)
|
||||
{
|
||||
char *modver = ssl_var_lookup(ptemp, s, NULL, NULL, "SSL_VERSION_INTERFACE");
|
||||
char *libver = ssl_var_lookup(ptemp, s, NULL, NULL, "SSL_VERSION_LIBRARY");
|
||||
char *incver = ssl_var_lookup(ptemp, s, NULL, NULL,
|
||||
"SSL_VERSION_LIBRARY_INTERFACE");
|
||||
const char *modver = ssl_var_lookup(ptemp, s, NULL, NULL,
|
||||
"SSL_VERSION_INTERFACE");
|
||||
const char *libver = ssl_var_lookup(ptemp, s, NULL, NULL,
|
||||
"SSL_VERSION_LIBRARY");
|
||||
const char *incver = ssl_var_lookup(ptemp, s, NULL, NULL,
|
||||
"SSL_VERSION_LIBRARY_INTERFACE");
|
||||
|
||||
ap_add_version_component(pconf, libver);
|
||||
|
||||
|
Reference in New Issue
Block a user