Apache HTTPD
Macros | Functions | Variables
ssl_engine_vars.c File Reference
#include "ssl_private.h"
#include "mod_ssl.h"
#include "ap_expr.h"
#include "apr_time.h"
#include "../../modules/loggers/mod_log_config.h"

Go to the source code of this file.

Macros

#define MKTIMESTR(format, tmfield)
 
#define DIGIT2NUM(x)   (((x)[0] - '0') * 10 + (x)[1] - '0')
 

Functions

static charssl_var_lookup_ssl (apr_pool_t *p, SSLConnRec *sslconn, request_rec *r, char *var)
 
static charssl_var_lookup_ssl_cert (apr_pool_t *p, request_rec *r, X509 *xs, char *var)
 
static charssl_var_lookup_ssl_cert_dn (apr_pool_t *p, X509_NAME *xsname, const char *var)
 
static charssl_var_lookup_ssl_cert_san (apr_pool_t *p, X509 *xs, char *var)
 
static charssl_var_lookup_ssl_cert_valid (apr_pool_t *p, ASN1_TIME *tm)
 
static charssl_var_lookup_ssl_cert_remain (apr_pool_t *p, ASN1_TIME *tm)
 
static charssl_var_lookup_ssl_cert_serial (apr_pool_t *p, X509 *xs)
 
static charssl_var_lookup_ssl_cert_chain (apr_pool_t *p, STACK_OF(X509) *sk, char *var)
 
static charssl_var_lookup_ssl_cert_rfc4523_cea (apr_pool_t *p, SSL *ssl)
 
static charssl_var_lookup_ssl_cert_PEM (apr_pool_t *p, X509 *xs)
 
static charssl_var_lookup_ssl_cert_verify (apr_pool_t *p, SSLConnRec *sslconn)
 
static charssl_var_lookup_ssl_cipher (apr_pool_t *p, SSLConnRec *sslconn, char *var)
 
static void ssl_var_lookup_ssl_cipher_bits (SSL *ssl, int *usekeysize, int *algkeysize)
 
static charssl_var_lookup_ssl_version (apr_pool_t *p, char *var)
 
static charssl_var_lookup_ssl_compress_meth (SSL *ssl)
 
static SSLConnRecssl_get_effective_config (conn_rec *c)
 
static int ssl_conn_is_ssl (conn_rec *c)
 
static apr_array_header_texpr_peer_ext_list_fn (ap_expr_eval_ctx_t *ctx, const void *dummy, const char *arg)
 
static const charexpr_var_fn (ap_expr_eval_ctx_t *ctx, const void *data)
 
static const charexpr_func_fn (ap_expr_eval_ctx_t *ctx, const void *data, const char *arg)
 
static int ssl_expr_lookup (ap_expr_lookup_parms *parms)
 
void ssl_var_register (apr_pool_t *p)
 
charssl_var_lookup (apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, char *var)
 
static charssl_var_lookup_ssl_cert_dn_oneline (apr_pool_t *p, request_rec *r, X509_NAME *xsname)
 
static void extract_dn (apr_table_t *t, apr_hash_t *nids, const char *pfx, X509_NAME *xn, apr_pool_t *p)
 
void modssl_var_extract_dns (apr_table_t *t, SSL *ssl, apr_pool_t *p)
 
static void extract_san_array (apr_table_t *t, const char *pfx, apr_array_header_t *entries, apr_pool_t *p)
 
void modssl_var_extract_san_entries (apr_table_t *t, SSL *ssl, apr_pool_t *p)
 
static int dump_extn_value (BIO *bio, ASN1_OCTET_STRING *str)
 
apr_array_header_tssl_ext_list (apr_pool_t *p, conn_rec *c, int peer, const char *extension)
 
static const charssl_var_log_handler_c (request_rec *r, char *a)
 
static const charssl_var_log_handler_x (request_rec *r, char *a)
 
void ssl_var_log_config_register (apr_pool_t *p)
 

Variables

static const char var_interface [] = "mod_ssl/" "2" "." "4" "." "62" ""
 
static char var_library_interface [] = OPENSSL_VERSION_TEXT
 
static charvar_library = NULL
 
struct { 
 
   char *   name 
 
   int   nid 
 
   int   extract 
 
ssl_var_lookup_ssl_cert_dn_rec [] 
 

Macro Definition Documentation

◆ DIGIT2NUM

#define DIGIT2NUM (   x)    (((x)[0] - '0') * 10 + (x)[1] - '0')

Definition at line 686 of file ssl_engine_vars.c.

◆ MKTIMESTR

#define MKTIMESTR (   format,
  tmfield 
)
Value:
result = apr_psprintf(p, format, tm.tmfield); \
#define FALSE
Definition abts.h:35
apr_size_t size
const char * format
apr_array_header_t ** result
apr_size_t apr_size_t const char apr_time_exp_t * tm
Definition apr_time.h:221
apr_pool_t * p
Definition md_event.c:32

Function Documentation

◆ dump_extn_value()

static int dump_extn_value ( BIO bio,
ASN1_OCTET_STRING str 
)
static

Definition at line 1029 of file ssl_engine_vars.c.

◆ expr_func_fn()

static const char * expr_func_fn ( ap_expr_eval_ctx_t ctx,
const void *  data,
const char arg 
)
static

Definition at line 93 of file ssl_engine_vars.c.

◆ expr_peer_ext_list_fn()

static apr_array_header_t * expr_peer_ext_list_fn ( ap_expr_eval_ctx_t ctx,
const void *  dummy,
const char arg 
)
static

Definition at line 78 of file ssl_engine_vars.c.

◆ expr_var_fn()

static const char * expr_var_fn ( ap_expr_eval_ctx_t ctx,
const void *  data 
)
static

Definition at line 85 of file ssl_engine_vars.c.

◆ extract_dn()

static void extract_dn ( apr_table_t t,
apr_hash_t nids,
const char pfx,
X509_NAME xn,
apr_pool_t p 
)
static

Definition at line 898 of file ssl_engine_vars.c.

◆ extract_san_array()

static void extract_san_array ( apr_table_t t,
const char pfx,
apr_array_header_t entries,
apr_pool_t p 
)
static

Definition at line 977 of file ssl_engine_vars.c.

◆ ssl_conn_is_ssl()

static int ssl_conn_is_ssl ( conn_rec c)
static

< Module has handled this stage.

< Module declines to handle

Definition at line 68 of file ssl_engine_vars.c.

◆ ssl_expr_lookup()

static int ssl_expr_lookup ( ap_expr_lookup_parms parms)
static

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module declines to handle

Definition at line 101 of file ssl_engine_vars.c.

◆ ssl_get_effective_config()

static SSLConnRec * ssl_get_effective_config ( conn_rec c)
static

Definition at line 58 of file ssl_engine_vars.c.

◆ ssl_var_log_handler_c()

static const char * ssl_var_log_handler_c ( request_rec r,
char a 
)
static

Definition at line 1191 of file ssl_engine_vars.c.

◆ ssl_var_log_handler_x()

static const char * ssl_var_log_handler_x ( request_rec r,
char a 
)
static

Definition at line 1220 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl()

static char * ssl_var_lookup_ssl ( apr_pool_t p,
SSLConnRec sslconn,
request_rec r,
char var 
)
static

Definition at line 346 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert()

static char * ssl_var_lookup_ssl_cert ( apr_pool_t p,
request_rec r,
X509 xs,
char var 
)
static

Definition at line 474 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_chain()

static char * ssl_var_lookup_ssl_cert_chain ( apr_pool_t p,
STACK_OF(X509) *  sk,
char var 
)
static

Definition at line 741 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_dn()

static char * ssl_var_lookup_ssl_cert_dn ( apr_pool_t p,
X509_NAME xsname,
const char var 
)
static

Definition at line 586 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_dn_oneline()

static char * ssl_var_lookup_ssl_cert_dn_oneline ( apr_pool_t p,
request_rec r,
X509_NAME xsname 
)
static

Definition at line 446 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_PEM()

static char * ssl_var_lookup_ssl_cert_PEM ( apr_pool_t p,
X509 xs 
)
static

Definition at line 791 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_remain()

static char * ssl_var_lookup_ssl_cert_remain ( apr_pool_t p,
ASN1_TIME tm 
)
static

Definition at line 690 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_rfc4523_cea()

static char * ssl_var_lookup_ssl_cert_rfc4523_cea ( apr_pool_t p,
SSL ssl 
)
static

Definition at line 760 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_san()

static char * ssl_var_lookup_ssl_cert_san ( apr_pool_t p,
X509 xs,
char var 
)
static

Definition at line 631 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_serial()

static char * ssl_var_lookup_ssl_cert_serial ( apr_pool_t p,
X509 xs 
)
static

Definition at line 730 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_valid()

static char * ssl_var_lookup_ssl_cert_valid ( apr_pool_t p,
ASN1_TIME tm 
)
static

Definition at line 675 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cert_verify()

static char * ssl_var_lookup_ssl_cert_verify ( apr_pool_t p,
SSLConnRec sslconn 
)
static

Definition at line 802 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cipher()

static char * ssl_var_lookup_ssl_cipher ( apr_pool_t p,
SSLConnRec sslconn,
char var 
)
static

Definition at line 837 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_cipher_bits()

static void ssl_var_lookup_ssl_cipher_bits ( SSL ssl,
int usekeysize,
int algkeysize 
)
static

Definition at line 870 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_compress_meth()

static char * ssl_var_lookup_ssl_compress_meth ( SSL ssl)
static

Definition at line 1124 of file ssl_engine_vars.c.

◆ ssl_var_lookup_ssl_version()

static char * ssl_var_lookup_ssl_version ( apr_pool_t p,
char var 
)
static

Definition at line 882 of file ssl_engine_vars.c.

Variable Documentation

◆ extract

int extract

Definition at line 565 of file ssl_engine_vars.c.

◆ name

char* name

Definition at line 563 of file ssl_engine_vars.c.

◆ nid

int nid

Definition at line 564 of file ssl_engine_vars.c.

◆ [struct]

const struct { ... } ssl_var_lookup_ssl_cert_dn_rec[]
Initial value:
= {
{ "C", NID_countryName, 1 },
{ "ST", NID_stateOrProvinceName, 1 },
{ "SP", NID_stateOrProvinceName, 0 },
{ "L", NID_localityName, 1 },
{ "O", NID_organizationName, 1 },
{ "CN", NID_commonName, 1 },
{ "T", NID_title, 1 },
{ "I", NID_initials, 1 },
{ "G", NID_givenName, 1 },
{ "S", NID_surname, 1 },
{ "D", NID_description, 1 },
{ "Email", NID_pkcs9_emailAddress, 1 },
{ NULL, 0, 0 }
}
return NULL
Definition mod_so.c:359

◆ var_interface

const char var_interface[] = "mod_ssl/" "2" "." "4" "." "62" ""
static

Definition at line 74 of file ssl_engine_vars.c.

◆ var_library

char* var_library = NULL
static

Definition at line 76 of file ssl_engine_vars.c.

◆ var_library_interface

char var_library_interface[] = OPENSSL_VERSION_TEXT
static

Definition at line 75 of file ssl_engine_vars.c.