Mercurial > hg > nginx-vendor-current
comparison src/event/ngx_event_openssl.c @ 634:23ef0645ea57 NGINX_1_1_1
nginx 1.1.1
*) Change: now cache loader processes either as many files as specified
by "loader_files" parameter or works no more than time specified by
"loader_threshold" parameter during each iteration.
*) Change: now SIGWINCH signal works only in deamon mode.
*) Feature: now shared zones and caches use POSIX semaphores on
Solaris.
Thanks to Den Ivanov.
*) Feature: accept filters are now supported on NetBSD.
*) Bugfix: nginx could not be build on Linux 3.0.
*) Bugfix: nginx did not use gzipping in some cases; the bug had
appeared in 1.1.0.
*) Bugfix: request body might be incorrectly processed if client used
pipelining.
*) Bugfix: in the "request_body_in_single_buf" directive.
*) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
if SSL connection to backend was used.
*) Bugfix: nginx hogged CPU if all servers in an upstream were marked
as "down".
*) Bugfix: a segmentation fault might occur during reconfiguration if
ssl_session_cache was defined but not used in a previous
configuration.
*) Bugfix: a segmentation fault might occur in a worker process if many
backup servers were used in an upstream.
*) Bugfix: a segmentation fault might occur in a worker process if
"fastcgi/scgi/uwsgi_param" directives were used with values starting
with "HTTP_"; the bug had appeared in 0.8.40.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 22 Aug 2011 00:00:00 +0400 |
parents | 5b73504dd4ba |
children | 943566b4d82e |
comparison
equal
deleted
inserted
replaced
633:561a37709f6d | 634:23ef0645ea57 |
---|---|
24 static void ngx_ssl_shutdown_handler(ngx_event_t *ev); | 24 static void ngx_ssl_shutdown_handler(ngx_event_t *ev); |
25 static void ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, | 25 static void ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, |
26 ngx_err_t err, char *text); | 26 ngx_err_t err, char *text); |
27 static void ngx_ssl_clear_error(ngx_log_t *log); | 27 static void ngx_ssl_clear_error(ngx_log_t *log); |
28 | 28 |
29 static ngx_int_t ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone, | 29 ngx_int_t ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone, void *data); |
30 void *data); | |
31 static int ngx_ssl_new_session(ngx_ssl_conn_t *ssl_conn, | 30 static int ngx_ssl_new_session(ngx_ssl_conn_t *ssl_conn, |
32 ngx_ssl_session_t *sess); | 31 ngx_ssl_session_t *sess); |
33 static ngx_ssl_session_t *ngx_ssl_get_cached_session(ngx_ssl_conn_t *ssl_conn, | 32 static ngx_ssl_session_t *ngx_ssl_get_cached_session(ngx_ssl_conn_t *ssl_conn, |
34 u_char *id, int len, int *copy); | 33 u_char *id, int len, int *copy); |
35 static void ngx_ssl_remove_session(SSL_CTX *ssl, ngx_ssl_session_t *sess); | 34 static void ngx_ssl_remove_session(SSL_CTX *ssl, ngx_ssl_session_t *sess); |
1503 } | 1502 } |
1504 | 1503 |
1505 SSL_CTX_set_timeout(ssl->ctx, (long) timeout); | 1504 SSL_CTX_set_timeout(ssl->ctx, (long) timeout); |
1506 | 1505 |
1507 if (shm_zone) { | 1506 if (shm_zone) { |
1508 shm_zone->init = ngx_ssl_session_cache_init; | |
1509 | |
1510 SSL_CTX_sess_set_new_cb(ssl->ctx, ngx_ssl_new_session); | 1507 SSL_CTX_sess_set_new_cb(ssl->ctx, ngx_ssl_new_session); |
1511 SSL_CTX_sess_set_get_cb(ssl->ctx, ngx_ssl_get_cached_session); | 1508 SSL_CTX_sess_set_get_cb(ssl->ctx, ngx_ssl_get_cached_session); |
1512 SSL_CTX_sess_set_remove_cb(ssl->ctx, ngx_ssl_remove_session); | 1509 SSL_CTX_sess_set_remove_cb(ssl->ctx, ngx_ssl_remove_session); |
1513 | 1510 |
1514 if (SSL_CTX_set_ex_data(ssl->ctx, ngx_ssl_session_cache_index, shm_zone) | 1511 if (SSL_CTX_set_ex_data(ssl->ctx, ngx_ssl_session_cache_index, shm_zone) |
1522 | 1519 |
1523 return NGX_OK; | 1520 return NGX_OK; |
1524 } | 1521 } |
1525 | 1522 |
1526 | 1523 |
1527 static ngx_int_t | 1524 ngx_int_t |
1528 ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone, void *data) | 1525 ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone, void *data) |
1529 { | 1526 { |
1530 size_t len; | 1527 size_t len; |
1531 ngx_slab_pool_t *shpool; | 1528 ngx_slab_pool_t *shpool; |
1532 ngx_ssl_session_cache_t *cache; | 1529 ngx_ssl_session_cache_t *cache; |