37extern module AP_MODULE_DECLARE_DATA tls_module;
55 return ctx->cc->tls_protocol_name;
60 return ctx->cc->tls_cipher_name;
65 return ctx->cc->sni_hostname;
97 if (!
ctx->cc->peer_certs || !
ctx->cc->peer_certs->nelts)
return NULL;
98 return "Not Implemented";
103 return ctx->cc->peer_certs?
"SUCCESS" :
"NONE";
108 return ctx->cc->session_id_cache_hit?
"Resumed" :
"Initial";
127 "Failed to create client certificate PEM");
139 if (!
ctx->cc->key)
return NULL;
144 "Failed to create server certificate PEM");
187 "SSL_CLIENT_S_DN_CN",
192 "SSL_VERSION_INTERFACE",
193 "SSL_VERSION_LIBRARY",
195 "SSL_COMPRESS_METHOD",
197 "SSL_CIPHER_USEKEYSIZE",
198 "SSL_CIPHER_ALGKEYSIZE",
200 "SSL_CLIENT_M_VERSION",
201 "SSL_CLIENT_M_SERIAL",
202 "SSL_CLIENT_V_START",
204 "SSL_CLIENT_V_REMAIN",
209 "SSL_CLIENT_CERT_RFC4523_CEA",
210 "SSL_SERVER_M_VERSION",
211 "SSL_SERVER_M_SERIAL",
212 "SSL_SERVER_V_START",
219 "SSL_SESSION_RESUMED",
225 "SSL_CLIENT_CHAIN_0",
226 "SSL_CLIENT_CHAIN_1",
227 "SSL_CLIENT_CHAIN_2",
228 "SSL_CLIENT_CHAIN_3",
229 "SSL_CLIENT_CHAIN_4",
230 "SSL_CLIENT_CHAIN_5",
231 "SSL_CLIENT_CHAIN_6",
232 "SSL_CLIENT_CHAIN_7",
233 "SSL_CLIENT_CHAIN_8",
234 "SSL_CLIENT_CHAIN_9",
253 const char *
val =
ctx->cc->subprocess_env?
Small object cache provider interface.
APR general purpose library routines.
#define APLOG_USE_MODULE(foo)
server_rec * ap_server_conf
apr_brigade_flush void * ctx
const char int apr_pool_t * pool
void const char apr_status_t(* cleanup)(void *))
#define APR_HASH_KEY_STRING
apr_vformatter_buff_t * c
char const *const char const *const ** env
#define APR_ARRAY_IDX(ary, i, type)
#define APR_OVERLAP_TABLES_SET
Apache connection library.
Structure to store things which are per connection.
A structure that represents the current request.
apr_table_t * subprocess_env
A structure to store information for each virtual server.
apr_array_header_t * peer_certs
apr_table_t * subprocess_env
const char * module_version
const char * crustls_version
const char * var_user_name
tls_conf_global_t * global
apr_status_t tls_cert_to_pem(const char **ppem, apr_pool_t *p, const rustls_certificate *cert)
tls_conf_server_t * tls_conf_server_get(server_rec *s)
tls_conf_dir_t * tls_conf_dir_get(request_rec *r)
tls_conf_dir_t * tls_conf_dir_server_get(server_rec *s)
tls_conf_conn_t * tls_conf_conn_get(conn_rec *c)
#define TLS_CONN_ST_IS_ENABLED(cc)
int tls_var_request_fixup(request_rec *r)
static const char * var_get_client_verify(const tls_var_lookup_ctx_t *ctx)
const char * tls_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, const char *name)
static const char * var_get_session_resumed(const tls_var_lookup_ctx_t *ctx)
static const char *const ExportCertVars[]
static const char * var_get_ssl_cipher(const tls_var_lookup_ctx_t *ctx)
static const char * var_get_false(const tls_var_lookup_ctx_t *ctx)
static const char * var_get_sni_hostname(const tls_var_lookup_ctx_t *ctx)
static void set_var(tls_var_lookup_ctx_t *ctx, apr_hash_t *lookups, apr_table_t *table)
static const var_def_t VAR_DEFS[]
static const char * invoke(var_def_t *def, tls_var_lookup_ctx_t *ctx)
static const char *const TlsAlwaysVars[]
apr_status_t tls_var_handshake_done(conn_rec *c)
static const char * var_get_server_cert(const tls_var_lookup_ctx_t *ctx)
static const char * var_get_client_s_dn_cn(const tls_var_lookup_ctx_t *ctx)
void tls_var_init_lookup_hash(apr_pool_t *pool, apr_hash_t *map)
static const char *const StdEnvVars[]
const char * var_lookup(const tls_var_lookup_ctx_t *ctx)
static void add_vars(apr_table_t *env, conn_rec *c, server_rec *s, request_rec *r)
static const char * var_get_version_interface(const tls_var_lookup_ctx_t *ctx)
static const char * var_get_null(const tls_var_lookup_ctx_t *ctx)
static const char * var_get_version_library(const tls_var_lookup_ctx_t *ctx)
static const char * var_get_client_cert(const tls_var_lookup_ctx_t *ctx)
static const char * var_get_ssl_protocol(const tls_var_lookup_ctx_t *ctx)