Mercurial > hg > nginx-quic
diff src/event/ngx_event_openssl.h @ 974:8dfb3aa75de2
move the session cache callbacks to the ngx_openssl_module
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 03 Jan 2007 15:25:40 +0000 |
parents | 065b39794fff |
children | 5ffd76a9ccf3 |
line wrap: on
line diff
--- a/src/event/ngx_event_openssl.h +++ b/src/event/ngx_event_openssl.h @@ -51,6 +51,41 @@ typedef struct { } ngx_ssl_connection_t; +#define NGX_SSL_DFLT_BUILTIN_SCACHE -2 +#define NGX_SSL_NO_BUILTIN_SCACHE -3 + + +typedef struct ngx_ssl_cached_sess_s ngx_ssl_cached_sess_t; + + +#define NGX_SSL_MAX_SESSION_SIZE (4096 - offsetof(ngx_ssl_cached_sess_t, asn1)) + + +typedef struct { + ngx_rbtree_node_t node; + u_char *id; + size_t len; + ngx_ssl_cached_sess_t *session; +} ngx_ssl_sess_id_t; + + +struct ngx_ssl_cached_sess_s { + ngx_ssl_cached_sess_t *prev; + ngx_ssl_cached_sess_t *next; + time_t expire; + ngx_ssl_sess_id_t *sess_id; + u_char asn1[1]; +}; + + +typedef struct { + ngx_rbtree_t *session_rbtree; + ngx_ssl_cached_sess_t session_cache_head; + ngx_ssl_cached_sess_t session_cache_tail; +} ngx_ssl_session_cache_t; + + + #define NGX_SSL_SSLv2 2 #define NGX_SSL_SSLv3 4 #define NGX_SSL_TLSv1 8 @@ -69,6 +104,8 @@ ngx_int_t ngx_ssl_certificate(ngx_conf_t 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_generate_rsa512_key(ngx_ssl_t *ssl); +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_create_connection(ngx_ssl_t *ssl, ngx_connection_t *c, ngx_uint_t flags); @@ -93,8 +130,6 @@ ngx_int_t ngx_ssl_get_serial_number(ngx_ 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); @@ -109,6 +144,7 @@ void ngx_ssl_cleanup_ctx(void *data); extern int ngx_ssl_connection_index; extern int ngx_ssl_server_conf_index; +extern int ngx_ssl_session_cache_index; #endif /* _NGX_EVENT_OPENSSL_H_INCLUDED_ */