Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Functions | Variables
ngx_event_openssl.h File Reference
#include <ngx_config.h>
#include <ngx_core.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <openssl/conf.h>
#include <openssl/engine.h>
#include <openssl/evp.h>
#include <openssl/ocsp.h>
Include dependency graph for ngx_event_openssl.h:

Go to the source code of this file.

Data Structures

struct  ngx_ssl_t
struct  ngx_ssl_connection_t
struct  ngx_ssl_sess_id_s
struct  ngx_ssl_session_cache_t

Macros

#define NGX_SSL_NAME   "OpenSSL"
#define ngx_ssl_session_t   SSL_SESSION
#define ngx_ssl_conn_t   SSL
#define NGX_SSL_NO_SCACHE   -2
#define NGX_SSL_NONE_SCACHE   -3
#define NGX_SSL_NO_BUILTIN_SCACHE   -4
#define NGX_SSL_DFLT_BUILTIN_SCACHE   -5
#define NGX_SSL_MAX_SESSION_SIZE   4096
#define NGX_SSL_SSLv2   0x0002
#define NGX_SSL_SSLv3   0x0004
#define NGX_SSL_TLSv1   0x0008
#define NGX_SSL_TLSv1_1   0x0010
#define NGX_SSL_TLSv1_2   0x0020
#define NGX_SSL_BUFFER   1
#define NGX_SSL_CLIENT   2
#define NGX_SSL_BUFSIZE   16384
#define ngx_ssl_get_session(c)   SSL_get1_session(c->ssl->connection)
#define ngx_ssl_free_session   SSL_SESSION_free
#define ngx_ssl_get_connection(ssl_conn)   SSL_get_ex_data(ssl_conn, ngx_ssl_connection_index)
#define ngx_ssl_get_server_conf(ssl_ctx)   SSL_CTX_get_ex_data(ssl_ctx, ngx_ssl_server_conf_index)
#define ngx_ssl_verify_error_optional(n)

Typedefs

typedef struct ngx_ssl_sess_id_s ngx_ssl_sess_id_t

Functions

ngx_int_t ngx_ssl_init (ngx_log_t *log)
ngx_int_t ngx_ssl_create (ngx_ssl_t *ssl, ngx_uint_t protocols, void *data)
ngx_int_t ngx_ssl_certificate (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_str_t *key)
ngx_int_t ngx_ssl_client_certificate (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_int_t depth)
ngx_int_t ngx_ssl_trusted_certificate (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_int_t depth)
ngx_int_t ngx_ssl_crl (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *crl)
ngx_int_t ngx_ssl_stapling (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *file, ngx_str_t *responder, ngx_uint_t verify)
ngx_int_t ngx_ssl_stapling_resolver (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_resolver_t *resolver, ngx_msec_t resolver_timeout)
RSA * ngx_ssl_rsa512_key_callback (SSL *ssl, int is_export, int key_length)
ngx_int_t ngx_ssl_dhparam (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *file)
ngx_int_t ngx_ssl_ecdh_curve (ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name)
ngx_int_t ngx_ssl_session_cache (ngx_ssl_t *ssl, ngx_str_t *sess_ctx, ssize_t builtin_session_cache, ngx_shm_zone_t *shm_zone, time_t timeout)
ngx_int_t ngx_ssl_session_cache_init (ngx_shm_zone_t *shm_zone, void *data)
ngx_int_t ngx_ssl_create_connection (ngx_ssl_t *ssl, ngx_connection_t *c, ngx_uint_t flags)
void ngx_ssl_remove_cached_session (SSL_CTX *ssl, ngx_ssl_session_t *sess)
ngx_int_t ngx_ssl_set_session (ngx_connection_t *c, ngx_ssl_session_t *session)
ngx_int_t ngx_ssl_get_protocol (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_cipher_name (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_session_id (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_raw_certificate (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_certificate (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_subject_dn (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_issuer_dn (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_serial_number (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_get_client_verify (ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
ngx_int_t ngx_ssl_handshake (ngx_connection_t *c)
ssize_t ngx_ssl_recv (ngx_connection_t *c, u_char *buf, size_t size)
ssize_t ngx_ssl_write (ngx_connection_t *c, u_char *data, size_t size)
ssize_t ngx_ssl_recv_chain (ngx_connection_t *c, ngx_chain_t *cl)
ngx_chain_tngx_ssl_send_chain (ngx_connection_t *c, ngx_chain_t *in, off_t limit)
void ngx_ssl_free_buffer (ngx_connection_t *c)
ngx_int_t ngx_ssl_shutdown (ngx_connection_t *c)
void ngx_cdecl ngx_ssl_error (ngx_uint_t level, ngx_log_t *log, ngx_err_t err, char *fmt,...)
void ngx_ssl_cleanup_ctx (void *data)

Variables

int ngx_ssl_connection_index
int ngx_ssl_server_conf_index
int ngx_ssl_session_cache_index
int ngx_ssl_certificate_index
int ngx_ssl_stapling_index

Macro Definition Documentation

#define NGX_SSL_BUFFER   1

Definition at line 93 of file ngx_event_openssl.h.

#define NGX_SSL_BUFSIZE   16384

Definition at line 96 of file ngx_event_openssl.h.

#define NGX_SSL_CLIENT   2

Definition at line 94 of file ngx_event_openssl.h.

#define ngx_ssl_conn_t   SSL

Definition at line 26 of file ngx_event_openssl.h.

#define NGX_SSL_DFLT_BUILTIN_SCACHE   -5

Definition at line 57 of file ngx_event_openssl.h.

#define ngx_ssl_free_session   SSL_SESSION_free

Definition at line 124 of file ngx_event_openssl.h.

#define ngx_ssl_get_connection (   ssl_conn)    SSL_get_ex_data(ssl_conn, ngx_ssl_connection_index)

Definition at line 125 of file ngx_event_openssl.h.

#define ngx_ssl_get_server_conf (   ssl_ctx)    SSL_CTX_get_ex_data(ssl_ctx, ngx_ssl_server_conf_index)

Definition at line 127 of file ngx_event_openssl.h.

#define ngx_ssl_get_session (   c)    SSL_get1_session(c->ssl->connection)

Definition at line 123 of file ngx_event_openssl.h.

#define NGX_SSL_MAX_SESSION_SIZE   4096

Definition at line 60 of file ngx_event_openssl.h.

#define NGX_SSL_NAME   "OpenSSL"

Definition at line 22 of file ngx_event_openssl.h.

#define NGX_SSL_NO_BUILTIN_SCACHE   -4

Definition at line 56 of file ngx_event_openssl.h.

#define NGX_SSL_NO_SCACHE   -2

Definition at line 54 of file ngx_event_openssl.h.

#define NGX_SSL_NONE_SCACHE   -3

Definition at line 55 of file ngx_event_openssl.h.

#define ngx_ssl_session_t   SSL_SESSION

Definition at line 25 of file ngx_event_openssl.h.

#define NGX_SSL_SSLv2   0x0002

Definition at line 86 of file ngx_event_openssl.h.

#define NGX_SSL_SSLv3   0x0004

Definition at line 87 of file ngx_event_openssl.h.

#define NGX_SSL_TLSv1   0x0008

Definition at line 88 of file ngx_event_openssl.h.

#define NGX_SSL_TLSv1_1   0x0010

Definition at line 89 of file ngx_event_openssl.h.

#define NGX_SSL_TLSv1_2   0x0020

Definition at line 90 of file ngx_event_openssl.h.

#define ngx_ssl_verify_error_optional (   n)
Value:
(n == X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT \
|| n == X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN \
|| n == X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY \
|| n == X509_V_ERR_CERT_UNTRUSTED \
|| n == X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE)

Definition at line 130 of file ngx_event_openssl.h.

Typedef Documentation

Definition at line 62 of file ngx_event_openssl.h.

Function Documentation

ngx_int_t ngx_ssl_certificate ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_str_t cert,
ngx_str_t key 
)

Definition at line 236 of file ngx_event_openssl.c.

Here is the call graph for this function:

void ngx_ssl_cleanup_ctx ( void *  data)

Definition at line 2199 of file ngx_event_openssl.c.

ngx_int_t ngx_ssl_client_certificate ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_str_t cert,
ngx_int_t  depth 
)

Definition at line 340 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_create ( ngx_ssl_t ssl,
ngx_uint_t  protocols,
void *  data 
)

Definition at line 163 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_create_connection ( ngx_ssl_t ssl,
ngx_connection_t c,
ngx_uint_t  flags 
)

Definition at line 659 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_crl ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_str_t crl 
)

Definition at line 415 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_dhparam ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_str_t file 
)

Definition at line 535 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_ecdh_curve ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_str_t name 
)

Definition at line 618 of file ngx_event_openssl.c.

Here is the call graph for this function:

void ngx_cdecl ngx_ssl_error ( ngx_uint_t  level,
ngx_log_t log,
ngx_err_t  err,
char *  fmt,
  ... 
)

Definition at line 1605 of file ngx_event_openssl.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void ngx_ssl_free_buffer ( ngx_connection_t c)

Definition at line 1359 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_get_certificate ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2308 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_get_cipher_name ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2216 of file ngx_event_openssl.c.

ngx_int_t ngx_ssl_get_client_verify ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2475 of file ngx_event_openssl.c.

ngx_int_t ngx_ssl_get_issuer_dn ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2394 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_get_protocol ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2208 of file ngx_event_openssl.c.

ngx_int_t ngx_ssl_get_raw_certificate ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2258 of file ngx_event_openssl.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ngx_int_t ngx_ssl_get_serial_number ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2436 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_get_session_id ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2224 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_get_subject_dn ( ngx_connection_t c,
ngx_pool_t pool,
ngx_str_t s 
)

Definition at line 2352 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_handshake ( ngx_connection_t c)

Definition at line 715 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_init ( ngx_log_t log)

Definition at line 90 of file ngx_event_openssl.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ssize_t ngx_ssl_recv ( ngx_connection_t c,
u_char *  buf,
size_t  size 
)

Definition at line 927 of file ngx_event_openssl.c.

Here is the caller graph for this function:

ssize_t ngx_ssl_recv_chain ( ngx_connection_t c,
ngx_chain_t cl 
)

Definition at line 879 of file ngx_event_openssl.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void ngx_ssl_remove_cached_session ( SSL_CTX *  ssl,
ngx_ssl_session_t sess 
)

Definition at line 2030 of file ngx_event_openssl.c.

Here is the caller graph for this function:

RSA* ngx_ssl_rsa512_key_callback ( SSL *  ssl,
int  is_export,
int  key_length 
)

Definition at line 520 of file ngx_event_openssl.c.

ngx_chain_t* ngx_ssl_send_chain ( ngx_connection_t c,
ngx_chain_t in,
off_t  limit 
)

Definition at line 1114 of file ngx_event_openssl.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ngx_int_t ngx_ssl_session_cache ( ngx_ssl_t ssl,
ngx_str_t sess_ctx,
ssize_t  builtin_session_cache,
ngx_shm_zone_t shm_zone,
time_t  timeout 
)

Definition at line 1657 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_session_cache_init ( ngx_shm_zone_t shm_zone,
void *  data 
)

Definition at line 1728 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_set_session ( ngx_connection_t c,
ngx_ssl_session_t session 
)

Definition at line 701 of file ngx_event_openssl.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_shutdown ( ngx_connection_t c)

Definition at line 1370 of file ngx_event_openssl.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ngx_int_t ngx_ssl_stapling ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_str_t file,
ngx_str_t responder,
ngx_uint_t  verify 
)

Definition at line 1731 of file ngx_event_openssl_stapling.c.

Here is the call graph for this function:

ngx_int_t ngx_ssl_stapling_resolver ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_resolver_t resolver,
ngx_msec_t  resolver_timeout 
)

Definition at line 1741 of file ngx_event_openssl_stapling.c.

ngx_int_t ngx_ssl_trusted_certificate ( ngx_conf_t cf,
ngx_ssl_t ssl,
ngx_str_t cert,
ngx_int_t  depth 
)

Definition at line 388 of file ngx_event_openssl.c.

Here is the call graph for this function:

ssize_t ngx_ssl_write ( ngx_connection_t c,
u_char *  data,
size_t  size 
)

Definition at line 1271 of file ngx_event_openssl.c.

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

int ngx_ssl_certificate_index

Definition at line 85 of file ngx_event_openssl.c.

int ngx_ssl_connection_index

Definition at line 82 of file ngx_event_openssl.c.

int ngx_ssl_server_conf_index

Definition at line 83 of file ngx_event_openssl.c.

int ngx_ssl_session_cache_index

Definition at line 84 of file ngx_event_openssl.c.

int ngx_ssl_stapling_index

Definition at line 86 of file ngx_event_openssl.c.