#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_log.h"
#include "http_main.h"
#include "http_connection.h"
#include "http_request.h"
#include "http_protocol.h"
#include "util_script.h"
#include "util_filter.h"
#include "util_ebcdic.h"
#include "mpm.h"
#include "apr.h"
#include "apr_strings.h"
#include "apr_want.h"
#include "apr_tables.h"
#include "apr_lib.h"
#include "apr_fnmatch.h"
#include "apr_dbm.h"
#include "apr_rmm.h"
#include "apr_shm.h"
#include "apr_global_mutex.h"
#include "apr_optional.h"
#include "ssl_toolkit_compat.h"
#include "ssl_expr.h"
#include "ssl_util_ssl.h"
#include <limits.h>
データ構造 | |
struct | ssl_require_t |
struct | ssl_randseed_t |
struct | ssl_asn1_t |
struct | SSLConnRec |
struct | SSLModConfigRec |
struct | modssl_pk_server_t |
struct | modssl_pk_proxy_t |
struct | modssl_auth_ctx_t |
struct | modssl_ctx_t |
struct | SSLSrvConfigRec |
struct | SSLDirConfigRec |
マクロ定義 | |
#define | APR_WANT_STRFUNC |
#define | MOD_SSL_VERSION AP_SERVER_BASEREVISION |
#define | PFALSE ((void *)FALSE) |
#define | PTRUE ((void *)TRUE) |
#define | UNSET (-1) |
#define | RAND_MAX INT_MAX |
#define | UCHAR unsigned char |
#define | strEQ(s1, s2) (strcmp(s1,s2) == 0) |
#define | strNE(s1, s2) (strcmp(s1,s2) != 0) |
#define | strEQn(s1, s2, n) (strncmp(s1,s2,n) == 0) |
#define | strNEn(s1, s2, n) (strncmp(s1,s2,n) != 0) |
#define | strcEQ(s1, s2) (strcasecmp(s1,s2) == 0) |
#define | strcNE(s1, s2) (strcasecmp(s1,s2) != 0) |
#define | strcEQn(s1, s2, n) (strncasecmp(s1,s2,n) == 0) |
#define | strcNEn(s1, s2, n) (strncasecmp(s1,s2,n) != 0) |
#define | strIsEmpty(s) (s == NULL || s[0] == NUL) |
#define | myConnConfig(c) (SSLConnRec *)ap_get_module_config(c->conn_config, &ssl_module) |
#define | myCtxConfig(sslconn, sc) (sslconn->is_proxy ? sc->proxy : sc->server) |
#define | myConnConfigSet(c, val) ap_set_module_config(c->conn_config, &ssl_module, val) |
#define | mySrvConfig(srv) (SSLSrvConfigRec *)ap_get_module_config(srv->module_config, &ssl_module) |
#define | myDirConfig(req) (SSLDirConfigRec *)ap_get_module_config(req->per_dir_config, &ssl_module) |
#define | myModConfig(srv) (mySrvConfig((srv)))->mc |
#define | myCtxVarSet(mc, num, val) mc->rCtx.pV##num = val |
#define | myCtxVarGet(mc, num, type) (type)(mc->rCtx.pV##num) |
#define | SSL_SESSION_CACHE_TIMEOUT 300 |
#define | SSL_MM_FILE_MODE ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD ) |
#define | SSL_DBM_FILE_MODE ( APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD ) |
#define | SSL_DBM_FILE_SUFFIX_DIR ".dir" |
#define | SSL_DBM_FILE_SUFFIX_PAG ".pag" |
#define | SSL_ALGO_UNKNOWN (0) |
#define | SSL_ALGO_RSA (1<<0) |
#define | SSL_ALGO_DSA (1<<1) |
#define | SSL_ALGO_ALL (SSL_ALGO_RSA|SSL_ALGO_DSA) |
#define | SSL_AIDX_RSA (0) |
#define | SSL_AIDX_DSA (1) |
#define | SSL_AIDX_MAX (2) |
#define | SSL_TMP_KEY_RSA_512 (0) |
#define | SSL_TMP_KEY_RSA_1024 (1) |
#define | SSL_TMP_KEY_DH_512 (2) |
#define | SSL_TMP_KEY_DH_1024 (3) |
#define | SSL_TMP_KEY_MAX (4) |
#define | SSL_OPT_NONE (0) |
#define | SSL_OPT_RELSET (1<<0) |
#define | SSL_OPT_STDENVVARS (1<<1) |
#define | SSL_OPT_EXPORTCERTDATA (1<<3) |
#define | SSL_OPT_FAKEBASICAUTH (1<<4) |
#define | SSL_OPT_STRICTREQUIRE (1<<5) |
#define | SSL_OPT_OPTRENEGOTIATE (1<<6) |
#define | SSL_OPT_ALL (SSL_OPT_STDENVVARS|SSL_OPT_EXPORTCERTDATA|SSL_OPT_FAKEBASICAUTH|SSL_OPT_STRICTREQUIRE|SSL_OPT_OPTRENEGOTIATE) |
#define | SSL_PROTOCOL_NONE (0) |
#define | SSL_PROTOCOL_SSLV2 (1<<0) |
#define | SSL_PROTOCOL_SSLV3 (1<<1) |
#define | SSL_PROTOCOL_TLSV1 (1<<2) |
#define | SSL_PROTOCOL_ALL (SSL_PROTOCOL_SSLV2|SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1) |
#define | SSL_VERIFY_PEER_STRICT (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT) |
#define | X509_V_ERR_CERT_UNTRUSTED 27 |
#define | ssl_verify_error_is_optional(errnum) |
#define | SSL_PCM_EXISTS 1 |
#define | SSL_PCM_ISREG 2 |
#define | SSL_PCM_ISDIR 4 |
#define | SSL_PCM_ISNONZERO 8 |
#define | APR_SHM_MAXSIZE (64 * 1024 * 1024) |
型定義 | |
typedef int | ssl_algo_t |
typedef int | ssl_opt_t |
typedef int | ssl_proto_t |
typedef unsigned int | ssl_pathcheck_t |
typedef SSLSrvConfigRec | SSLSrvConfigRec |
列挙型 | |
enum | ssl_verify_t { SSL_CVERIFY_UNSET = UNSET, SSL_CVERIFY_NONE = 0, SSL_CVERIFY_OPTIONAL = 1, SSL_CVERIFY_REQUIRE = 2, SSL_CVERIFY_OPTIONAL_NO_CA = 3 } |
enum | ssl_pphrase_t { SSL_PPTYPE_UNSET = UNSET, SSL_PPTYPE_BUILTIN = 0, SSL_PPTYPE_FILTER = 1, SSL_PPTYPE_PIPE = 2 } |
enum | ssl_scmode_t { SSL_SCMODE_UNSET = UNSET, SSL_SCMODE_NONE = 0, SSL_SCMODE_DBM = 1, SSL_SCMODE_SHMCB = 3, SSL_SCMODE_DC = 4, SSL_SCMODE_NONE_NOT_NULL = 5 } |
enum | ssl_mutexmode_t { SSL_MUTEXMODE_UNSET = UNSET, SSL_MUTEXMODE_NONE = 0, SSL_MUTEXMODE_USED = 1 } |
enum | ssl_enabled_t { SSL_ENABLED_UNSET = UNSET, SSL_ENABLED_FALSE = 0, SSL_ENABLED_TRUE = 1, SSL_ENABLED_OPTIONAL = 3 } |
enum | ssl_rsctx_t { SSL_RSCTX_STARTUP = 1, SSL_RSCTX_CONNECT = 2 } |
enum | ssl_rssrc_t { SSL_RSSRC_BUILTIN = 1, SSL_RSSRC_FILE = 2, SSL_RSSRC_EXEC = 3, SSL_RSSRC_EGD = 4 } |
enum | ssl_shutdown_type_e { SSL_SHUTDOWN_TYPE_UNSET, SSL_SHUTDOWN_TYPE_STANDARD, SSL_SHUTDOWN_TYPE_UNCLEAN, SSL_SHUTDOWN_TYPE_ACCURATE } |
関数 | |
SSLModConfigRec * | ssl_config_global_create (server_rec *) |
void | ssl_config_global_fix (SSLModConfigRec *) |
BOOL | ssl_config_global_isfixed (SSLModConfigRec *) |
void * | ssl_config_server_create (apr_pool_t *, server_rec *) |
void * | ssl_config_server_merge (apr_pool_t *, void *, void *) |
void * | ssl_config_perdir_create (apr_pool_t *, char *) |
void * | ssl_config_perdir_merge (apr_pool_t *, void *, void *) |
const char * | ssl_cmd_SSLMutex (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLPassPhraseDialog (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCryptoDevice (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLRandomSeed (cmd_parms *, void *, const char *, const char *, const char *) |
const char * | ssl_cmd_SSLEngine (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCipherSuite (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCertificateFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCertificateKeyFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCertificateChainFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCACertificatePath (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCACertificateFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCADNRequestPath (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCADNRequestFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCARevocationPath (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLCARevocationFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLHonorCipherOrder (cmd_parms *cmd, void *dcfg, int flag) |
const char * | ssl_cmd_SSLVerifyClient (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLVerifyDepth (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLSessionCache (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLSessionCacheTimeout (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProtocol (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLOptions (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLRequireSSL (cmd_parms *, void *) |
const char * | ssl_cmd_SSLRequire (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLUserName (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyEngine (cmd_parms *cmd, void *dcfg, int flag) |
const char * | ssl_cmd_SSLProxyProtocol (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyCipherSuite (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyVerify (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyVerifyDepth (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyCACertificatePath (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyCACertificateFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyCARevocationPath (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyCARevocationFile (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyMachineCertificatePath (cmd_parms *, void *, const char *) |
const char * | ssl_cmd_SSLProxyMachineCertificateFile (cmd_parms *, void *, const char *) |
int | ssl_init_Module (apr_pool_t *, apr_pool_t *, apr_pool_t *, server_rec *) |
void | ssl_init_Engine (server_rec *, apr_pool_t *) |
void | ssl_init_ConfigureServer (server_rec *, apr_pool_t *, apr_pool_t *, SSLSrvConfigRec *) |
void | ssl_init_CheckServers (server_rec *, apr_pool_t *) |
* | ssl_init_FindCAList (server_rec *, apr_pool_t *, const char *, const char *) |
void | ssl_init_Child (apr_pool_t *, server_rec *) |
apr_status_t | ssl_init_ModuleKill (void *data) |
int | ssl_hook_Auth (request_rec *) |
int | ssl_hook_UserCheck (request_rec *) |
int | ssl_hook_Access (request_rec *) |
int | ssl_hook_Fixup (request_rec *) |
int | ssl_hook_ReadReq (request_rec *) |
int | ssl_hook_Upgrade (request_rec *) |
void | ssl_hook_ConfigTest (apr_pool_t *pconf, server_rec *s) |
RSA * | ssl_callback_TmpRSA (SSL *, int, int) |
DH * | ssl_callback_TmpDH (SSL *, int, int) |
int | ssl_callback_SSLVerify (int, X509_STORE_CTX *) |
int | ssl_callback_SSLVerify_CRL (int, X509_STORE_CTX *, conn_rec *) |
int | ssl_callback_proxy_cert (SSL *ssl, MODSSL_CLIENT_CERT_CB_ARG_TYPE **x509, EVP_PKEY **pkey) |
int | ssl_callback_NewSessionCacheEntry (SSL *, SSL_SESSION *) |
SSL_SESSION * | ssl_callback_GetSessionCacheEntry (SSL *, unsigned char *, int, int *) |
void | ssl_callback_DelSessionCacheEntry (SSL_CTX *, SSL_SESSION *) |
void | ssl_callback_LogTracingState (MODSSL_INFO_CB_ARG_TYPE, int, int) |
void | ssl_scache_init (server_rec *, apr_pool_t *) |
void | ssl_scache_status_register (apr_pool_t *p) |
void | ssl_scache_kill (server_rec *) |
BOOL | ssl_scache_store (server_rec *, UCHAR *, int, time_t, SSL_SESSION *) |
SSL_SESSION * | ssl_scache_retrieve (server_rec *, UCHAR *, int) |
void | ssl_scache_remove (server_rec *, UCHAR *, int) |
char * | ssl_scache_id2sz (UCHAR *, int) |
void | ssl_scache_dbm_init (server_rec *, apr_pool_t *) |
void | ssl_scache_dbm_kill (server_rec *) |
BOOL | ssl_scache_dbm_store (server_rec *, UCHAR *, int, time_t, SSL_SESSION *) |
SSL_SESSION * | ssl_scache_dbm_retrieve (server_rec *, UCHAR *, int) |
void | ssl_scache_dbm_remove (server_rec *, UCHAR *, int) |
void | ssl_scache_dbm_status (request_rec *r, int flags, apr_pool_t *pool) |
void | ssl_scache_shmcb_init (server_rec *, apr_pool_t *) |
void | ssl_scache_shmcb_kill (server_rec *) |
BOOL | ssl_scache_shmcb_store (server_rec *, UCHAR *, int, time_t, SSL_SESSION *) |
SSL_SESSION * | ssl_scache_shmcb_retrieve (server_rec *, UCHAR *, int) |
void | ssl_scache_shmcb_remove (server_rec *, UCHAR *, int) |
void | ssl_scache_shmcb_status (request_rec *r, int flags, apr_pool_t *pool) |
void | ssl_scache_dc_init (server_rec *, apr_pool_t *) |
void | ssl_scache_dc_kill (server_rec *) |
BOOL | ssl_scache_dc_store (server_rec *, UCHAR *, int, time_t, SSL_SESSION *) |
SSL_SESSION * | ssl_scache_dc_retrieve (server_rec *, UCHAR *, int) |
void | ssl_scache_dc_remove (server_rec *, UCHAR *, int) |
void | ssl_scache_dc_status (request_rec *r, int flags, apr_pool_t *pool) |
int | ssl_proxy_enable (conn_rec *c) |
int | ssl_engine_disable (conn_rec *c) |
void | ssl_io_filter_init (conn_rec *, SSL *) |
void | ssl_io_filter_register (apr_pool_t *) |
long | ssl_io_data_cb (BIO *, int, MODSSL_BIO_CB_ARG_TYPE *, int, long, long) |
int | ssl_io_buffer_fill (request_rec *r) |
int | ssl_rand_seed (server_rec *, apr_pool_t *, ssl_rsctx_t, char *) |
char * | ssl_util_vhostid (apr_pool_t *, server_rec *) |
apr_file_t * | ssl_util_ppopen (server_rec *, apr_pool_t *, const char *, const char *const *) |
void | ssl_util_ppclose (server_rec *, apr_pool_t *, apr_file_t *) |
char * | ssl_util_readfilter (server_rec *, apr_pool_t *, const char *, const char *const *) |
BOOL | ssl_util_path_check (ssl_pathcheck_t, const char *, apr_pool_t *) |
ssl_algo_t | ssl_util_algotypeof (X509 *, EVP_PKEY *) |
char * | ssl_util_algotypestr (ssl_algo_t) |
void | ssl_util_thread_setup (apr_pool_t *) |
int | ssl_init_ssl_connection (conn_rec *c) |
void | ssl_pphrase_Handle (server_rec *, apr_pool_t *) |
DH * | ssl_dh_GetTmpParam (int) |
DH * | ssl_dh_GetParamFromFile (char *) |
unsigned char * | ssl_asn1_table_set (apr_hash_t *table, const char *key, long int length) |
ssl_asn1_t * | ssl_asn1_table_get (apr_hash_t *table, const char *key) |
void | ssl_asn1_table_unset (apr_hash_t *table, const char *key) |
const char * | ssl_asn1_keystr (int keytype) |
const char * | ssl_asn1_table_keyfmt (apr_pool_t *p, const char *id, int keytype) |
int | ssl_mutex_init (server_rec *, apr_pool_t *) |
int | ssl_mutex_reinit (server_rec *, apr_pool_t *) |
int | ssl_mutex_on (server_rec *) |
int | ssl_mutex_off (server_rec *) |
void | ssl_die (void) |
void | ssl_log_ssl_error (const char *, int, int, server_rec *) |
void | ssl_var_register (void) |
char * | ssl_var_lookup (apr_pool_t *, server_rec *, conn_rec *, request_rec *, char *) |
const char * | ssl_ext_lookup (apr_pool_t *p, conn_rec *c, int peer, const char *oid) |
apr_array_header_t * | ssl_extlist_by_oid (request_rec *r, const char *oidstr) |
void | ssl_var_log_config_register (apr_pool_t *p) |
変数 | |
module AP_MODULE_DECLARE_DATA | ssl_module |
const char | ssl_valid_ssl_mutex_string [] |