comparison src/event/ngx_event_openssl.h @ 274:052a7b1d40e5 NGINX_0_5_7

nginx 0.5.7 *) Feature: the ssl_session_cache storage optimization. *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives. *) Bugfix: the segmentation fault was occurred on start or while reconfiguration if the "ssl_session_cache" or "limit_zone" directives were used on 64-bit platforms. *) Bugfix: a segmentation fault occurred if the "add_before_body" or "add_after_body" directives were used and there was no "Content-Type" header line in response. *) Bugfix: the OpenSSL library was always built with the threads support. Thanks to Den Ivanov. *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility.
author Igor Sysoev <http://sysoev.ru>
date Mon, 15 Jan 2007 00:00:00 +0300
parents 29a6403156b0
children 9121a0a91f47
comparison
equal deleted inserted replaced
273:60df8db42ffb 274:052a7b1d40e5
53 53
54 #define NGX_SSL_DFLT_BUILTIN_SCACHE -2 54 #define NGX_SSL_DFLT_BUILTIN_SCACHE -2
55 #define NGX_SSL_NO_BUILTIN_SCACHE -3 55 #define NGX_SSL_NO_BUILTIN_SCACHE -3
56 56
57 57
58 typedef struct ngx_ssl_cached_sess_s ngx_ssl_cached_sess_t; 58 #define NGX_SSL_MAX_SESSION_SIZE (4096)
59 59
60 typedef struct ngx_ssl_sess_id_s ngx_ssl_sess_id_t;
60 61
61 #define NGX_SSL_MAX_SESSION_SIZE (4096 - offsetof(ngx_ssl_cached_sess_t, asn1)) 62 struct ngx_ssl_sess_id_s {
62
63
64 typedef struct {
65 ngx_rbtree_node_t node; 63 ngx_rbtree_node_t node;
66 u_char *id; 64 u_char *id;
67 size_t len; 65 size_t len;
68 ngx_ssl_cached_sess_t *session; 66 u_char *session;
69 } ngx_ssl_sess_id_t; 67 ngx_ssl_sess_id_t *prev;
70 68 ngx_ssl_sess_id_t *next;
71
72 struct ngx_ssl_cached_sess_s {
73 ngx_ssl_cached_sess_t *prev;
74 ngx_ssl_cached_sess_t *next;
75 time_t expire; 69 time_t expire;
76 ngx_ssl_sess_id_t *sess_id; 70 #if (NGX_PTR_SIZE == 8)
77 u_char asn1[1]; 71 void *stub;
72 u_char sess_id[32];
73 #endif
78 }; 74 };
79 75
80 76
81 typedef struct { 77 typedef struct {
82 ngx_rbtree_t *session_rbtree; 78 ngx_rbtree_t *session_rbtree;
83 ngx_ssl_cached_sess_t session_cache_head; 79 ngx_ssl_sess_id_t session_cache_head;
84 ngx_ssl_cached_sess_t session_cache_tail; 80 ngx_ssl_sess_id_t session_cache_tail;
85 } ngx_ssl_session_cache_t; 81 } ngx_ssl_session_cache_t;
86 82
87 83
88 84
89 #define NGX_SSL_SSLv2 2 85 #define NGX_SSL_SSLv2 2