Apache HTTPD
Macros | Functions | Variables
ssl_engine_kernel.c File Reference
#include "ssl_private.h"
#include "mod_ssl.h"
#include "util_md5.h"
#include "scoreboard.h"

Go to the source code of this file.

Macros

#define SWITCH_STATUS_LINE   "HTTP/1.1 101 Switching Protocols"
 
#define UPGRADE_HEADER   "Upgrade: TLS/1.0, HTTP/1.1"
 
#define CONNECTION_HEADER   "Connection: Upgrade"
 
#define MODSSL_CFG_CA_NE(f, sc1, sc2)
 
#define SSLPROXY_CERT_CB_LOG_FMT    "Proxy client certificate callback: (%s) "
 
#define modssl_set_cert_info(info, cert, pkey)
 

Functions

static void ssl_configure_env (request_rec *r, SSLConnRec *sslconn)
 
static apr_status_t upgrade_connection (request_rec *r)
 
static int has_buffered_data (request_rec *r)
 
static int fill_reneg_buffer (request_rec *r, SSLDirConfigRec *dc)
 
int ssl_hook_ReadReq (request_rec *r)
 
static int ssl_check_post_client_verify (request_rec *r, SSLSrvConfigRec *sc, SSLDirConfigRec *dc, SSLConnRec *sslconn, SSL *ssl)
 
static int ssl_hook_Access_classic (request_rec *r, SSLSrvConfigRec *sc, SSLDirConfigRec *dc, SSLConnRec *sslconn, SSL *ssl)
 
int ssl_hook_Access (request_rec *r)
 
int ssl_hook_UserCheck (request_rec *r)
 
int ssl_hook_Auth (request_rec *r)
 
int ssl_hook_Fixup (request_rec *r)
 
static authz_status ssl_authz_require_ssl_check (request_rec *r, const char *require_line, const void *parsed)
 
static const charssl_authz_require_ssl_parse (cmd_parms *cmd, const char *require_line, const void **parsed)
 
static authz_status ssl_authz_verify_client_check (request_rec *r, const char *require_line, const void *parsed)
 
static const charssl_authz_verify_client_parse (cmd_parms *cmd, const char *require_line, const void **parsed)
 
DHssl_callback_TmpDH (SSL *ssl, int export, int keylen)
 
int ssl_callback_SSLVerify (int ok, X509_STORE_CTX *ctx)
 
static void modssl_proxy_info_log (conn_rec *c, X509_INFO *info, const char *msg)
 
int ssl_callback_proxy_cert (SSL *ssl, X509 **x509, EVP_PKEY **pkey)
 
static void ssl_session_log (server_rec *s, const char *request, unsigned char *id, unsigned int idlen, const char *status, const char *result, long timeout)
 
int ssl_callback_NewSessionCacheEntry (SSL *ssl, SSL_SESSION *session)
 
SSL_SESSIONssl_callback_GetSessionCacheEntry (SSL *ssl, unsigned char *id, int idlen, int *do_copy)
 
void ssl_callback_DelSessionCacheEntry (SSL_CTX *ctx, SSL_SESSION *session)
 
static void log_tracing_state (const SSL *ssl, conn_rec *c, server_rec *s, int where, int rc)
 
void ssl_callback_Info (const SSL *ssl, int where, int rc)
 

Variables

static const char *const ssl_hook_Fixup_vars []
 
const authz_provider ssl_authz_provider_require_ssl
 
const authz_provider ssl_authz_provider_verify_client
 

Macro Definition Documentation

◆ CONNECTION_HEADER

#define CONNECTION_HEADER   "Connection: Upgrade"

Definition at line 43 of file ssl_engine_kernel.c.

◆ MODSSL_CFG_CA_NE

#define MODSSL_CFG_CA_NE (   f,
  sc1,
  sc2 
)
Value:
(sc1->server->auth.f && \
(!sc2->server->auth.f || \
strNE(sc1->server->auth.f, sc2->server->auth.f)))
apr_size_t size

◆ modssl_set_cert_info

#define modssl_set_cert_info (   info,
  cert,
  pkey 
)
Value:
*cert = info->x509; \
CRYPTO_add(&(*cert)->references, +1, CRYPTO_LOCK_X509); \
*pkey = info->x_pkey->dec_pkey; \
CRYPTO_add(&(*pkey)->references, +1, CRYPTO_LOCK_EVP_PKEY)
apr_datum_t * pkey
Definition apr_dbm.h:158
INT info

Definition at line 1933 of file ssl_engine_kernel.c.

◆ SSLPROXY_CERT_CB_LOG_FMT

#define SSLPROXY_CERT_CB_LOG_FMT    "Proxy client certificate callback: (%s) "

Definition at line 1915 of file ssl_engine_kernel.c.

◆ SWITCH_STATUS_LINE

#define SWITCH_STATUS_LINE   "HTTP/1.1 101 Switching Protocols"

Definition at line 41 of file ssl_engine_kernel.c.

◆ UPGRADE_HEADER

#define UPGRADE_HEADER   "Upgrade: TLS/1.0, HTTP/1.1"

Definition at line 42 of file ssl_engine_kernel.c.

Function Documentation

◆ fill_reneg_buffer()

static int fill_reneg_buffer ( request_rec r,
SSLDirConfigRec dc 
)
static

Definition at line 133 of file ssl_engine_kernel.c.

◆ has_buffered_data()

static int has_buffered_data ( request_rec r)
static

Definition at line 97 of file ssl_engine_kernel.c.

◆ log_tracing_state()

static void log_tracing_state ( const SSL ssl,
conn_rec c,
server_rec s,
int  where,
int  rc 
)
static

Definition at line 2195 of file ssl_engine_kernel.c.

◆ modssl_proxy_info_log()

static void modssl_proxy_info_log ( conn_rec c,
X509_INFO info,
const char msg 
)
static

Definition at line 1918 of file ssl_engine_kernel.c.

◆ ssl_authz_require_ssl_check()

static authz_status ssl_authz_require_ssl_check ( request_rec r,
const char require_line,
const void *  parsed 
)
static

Definition at line 1607 of file ssl_engine_kernel.c.

◆ ssl_authz_require_ssl_parse()

static const char * ssl_authz_require_ssl_parse ( cmd_parms cmd,
const char require_line,
const void **  parsed 
)
static

Definition at line 1617 of file ssl_engine_kernel.c.

◆ ssl_authz_verify_client_check()

static authz_status ssl_authz_verify_client_check ( request_rec r,
const char require_line,
const void *  parsed 
)
static

Definition at line 1633 of file ssl_engine_kernel.c.

◆ ssl_authz_verify_client_parse()

static const char * ssl_authz_verify_client_parse ( cmd_parms cmd,
const char require_line,
const void **  parsed 
)
static

Definition at line 1661 of file ssl_engine_kernel.c.

◆ ssl_check_post_client_verify()

static int ssl_check_post_client_verify ( request_rec r,
SSLSrvConfigRec sc,
SSLDirConfigRec dc,
SSLConnRec sslconn,
SSL ssl 
)
static

< Module has handled this stage.

Definition at line 472 of file ssl_engine_kernel.c.

◆ ssl_configure_env()

static void ssl_configure_env ( request_rec r,
SSLConnRec sslconn 
)
static

Definition at line 440 of file ssl_engine_kernel.c.

◆ ssl_hook_Access_classic()

static int ssl_hook_Access_classic ( request_rec r,
SSLSrvConfigRec sc,
SSLDirConfigRec dc,
SSLConnRec sslconn,
SSL ssl 
)
static

< Module has handled this stage.

< Module declines to handle

Definition at line 522 of file ssl_engine_kernel.c.

◆ ssl_session_log()

static void ssl_session_log ( server_rec s,
const char request,
unsigned char id,
unsigned int  idlen,
const char status,
const char result,
long  timeout 
)
static

Definition at line 2038 of file ssl_engine_kernel.c.

◆ upgrade_connection()

static apr_status_t upgrade_connection ( request_rec r)
static

Definition at line 46 of file ssl_engine_kernel.c.

Variable Documentation

◆ ssl_hook_Fixup_vars

const char* const ssl_hook_Fixup_vars[]
static

Definition at line 1483 of file ssl_engine_kernel.c.