diff src/http/modules/ngx_http_ssl_module.h @ 973:e1ede83911ef

ssl_session_cache
author Igor Sysoev <igor@sysoev.ru>
date Tue, 02 Jan 2007 23:55:05 +0000
parents 95d7da23ea53
children 8dfb3aa75de2
line wrap: on
line diff
--- a/src/http/modules/ngx_http_ssl_module.h
+++ b/src/http/modules/ngx_http_ssl_module.h
@@ -13,25 +13,56 @@
 #include <ngx_http.h>
 
 
+typedef struct ngx_http_ssl_cached_sess_s  ngx_http_ssl_cached_sess_t;
+
+
 typedef struct {
-    ngx_flag_t      enable;
+    ngx_rbtree_node_t               node;
+    u_char                         *id;
+    size_t                          len;
+    ngx_http_ssl_cached_sess_t     *session;
+} ngx_http_ssl_sess_id_t;
 
-    ngx_ssl_t       ssl;
 
-    ngx_flag_t      prefer_server_ciphers;
+struct ngx_http_ssl_cached_sess_s {
+    ngx_http_ssl_cached_sess_t     *prev;
+    ngx_http_ssl_cached_sess_t     *next;
+    time_t                          expire;
+    ngx_http_ssl_sess_id_t         *sess_id;
+    u_char                          asn1[1];
+};
 
-    ngx_uint_t      protocols;
 
-    ngx_int_t       verify;
-    ngx_int_t       verify_depth;
+typedef struct {
+    ngx_rbtree_t                   *session_rbtree;
+    ngx_http_ssl_cached_sess_t      session_cache_head;
+    ngx_http_ssl_cached_sess_t      session_cache_tail;
+} ngx_http_ssl_sesssion_cache_t;
+
 
-    time_t          session_timeout;
+typedef struct {
+    ngx_flag_t                      enable;
+
+    ngx_ssl_t                       ssl;
+
+    ngx_flag_t                      prefer_server_ciphers;
 
-    ngx_str_t       certificate;
-    ngx_str_t       certificate_key;
-    ngx_str_t       client_certificate;
+    ngx_uint_t                      protocols;
+
+    ngx_int_t                       verify;
+    ngx_int_t                       verify_depth;
+
+    ssize_t                         builtin_session_cache;
 
-    ngx_str_t       ciphers;
+    time_t                          session_timeout;
+
+    ngx_str_t                       certificate;
+    ngx_str_t                       certificate_key;
+    ngx_str_t                       client_certificate;
+
+    ngx_str_t                       ciphers;
+
+    ngx_shm_zone_t                 *shm_zone;
 } ngx_http_ssl_srv_conf_t;