Mercurial > hg > nginx-vendor-0-8
comparison src/event/ngx_event_openssl.c @ 430:dac47e9ef0d5 NGINX_0_7_27
nginx 0.7.27
*) Feature: the "try_files" directive.
*) Feature: variables support in the "fastcgi_pass" directive.
*) Feature: now the $geo variable may get an address from a
variable.
Thanks to Andrei Nigmatulin.
*) Feature: now a location's modifier may be used without space before
name.
*) Feature: the $upstream_response_length variable.
*) Bugfix: now a "add_header" directive does not add an empty value.
*) Bugfix: if zero length static file was requested, then nginx just
closed connection; the bug had appeared in 0.7.25.
*) Bugfix: a MOVE method could not move file in non-existent directory.
*) Bugfix: a segmentation fault occurred in worker process, if no one
named location was defined in server, but some one was used in an
error_page directive.
Thanks to Sergey Bochenkov.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 15 Dec 2008 00:00:00 +0300 |
parents | ad0a34a8efa6 |
children | 15a022ee809b |
comparison
equal
deleted
inserted
replaced
429:3b8e9d1bc9bb | 430:dac47e9ef0d5 |
---|---|
496 | 496 |
497 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_do_handshake: %d", n); | 497 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_do_handshake: %d", n); |
498 | 498 |
499 if (n == 1) { | 499 if (n == 1) { |
500 | 500 |
501 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 501 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
502 return NGX_ERROR; | 502 return NGX_ERROR; |
503 } | 503 } |
504 | 504 |
505 if (ngx_handle_write_event(c->write, 0) == NGX_ERROR) { | 505 if (ngx_handle_write_event(c->write, 0) != NGX_OK) { |
506 return NGX_ERROR; | 506 return NGX_ERROR; |
507 } | 507 } |
508 | 508 |
509 #if (NGX_DEBUG) | 509 #if (NGX_DEBUG) |
510 { | 510 { |
567 if (sslerr == SSL_ERROR_WANT_READ) { | 567 if (sslerr == SSL_ERROR_WANT_READ) { |
568 c->read->ready = 0; | 568 c->read->ready = 0; |
569 c->read->handler = ngx_ssl_handshake_handler; | 569 c->read->handler = ngx_ssl_handshake_handler; |
570 c->write->handler = ngx_ssl_handshake_handler; | 570 c->write->handler = ngx_ssl_handshake_handler; |
571 | 571 |
572 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 572 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
573 return NGX_ERROR; | 573 return NGX_ERROR; |
574 } | 574 } |
575 | 575 |
576 return NGX_AGAIN; | 576 return NGX_AGAIN; |
577 } | 577 } |
579 if (sslerr == SSL_ERROR_WANT_WRITE) { | 579 if (sslerr == SSL_ERROR_WANT_WRITE) { |
580 c->write->ready = 0; | 580 c->write->ready = 0; |
581 c->read->handler = ngx_ssl_handshake_handler; | 581 c->read->handler = ngx_ssl_handshake_handler; |
582 c->write->handler = ngx_ssl_handshake_handler; | 582 c->write->handler = ngx_ssl_handshake_handler; |
583 | 583 |
584 if (ngx_handle_write_event(c->write, 0) == NGX_ERROR) { | 584 if (ngx_handle_write_event(c->write, 0) != NGX_OK) { |
585 return NGX_ERROR; | 585 return NGX_ERROR; |
586 } | 586 } |
587 | 587 |
588 return NGX_AGAIN; | 588 return NGX_AGAIN; |
589 } | 589 } |
765 | 765 |
766 c->write->handler = c->ssl->saved_write_handler; | 766 c->write->handler = c->ssl->saved_write_handler; |
767 c->ssl->saved_write_handler = NULL; | 767 c->ssl->saved_write_handler = NULL; |
768 c->write->ready = 1; | 768 c->write->ready = 1; |
769 | 769 |
770 if (ngx_handle_write_event(c->write, 0) == NGX_ERROR) { | 770 if (ngx_handle_write_event(c->write, 0) != NGX_OK) { |
771 return NGX_ERROR; | 771 return NGX_ERROR; |
772 } | 772 } |
773 | 773 |
774 ngx_post_event(c->write, &ngx_posted_events); | 774 ngx_post_event(c->write, &ngx_posted_events); |
775 } | 775 } |
793 ngx_log_error(NGX_LOG_INFO, c->log, 0, | 793 ngx_log_error(NGX_LOG_INFO, c->log, 0, |
794 "peer started SSL renegotiation"); | 794 "peer started SSL renegotiation"); |
795 | 795 |
796 c->write->ready = 0; | 796 c->write->ready = 0; |
797 | 797 |
798 if (ngx_handle_write_event(c->write, 0) == NGX_ERROR) { | 798 if (ngx_handle_write_event(c->write, 0) != NGX_OK) { |
799 return NGX_ERROR; | 799 return NGX_ERROR; |
800 } | 800 } |
801 | 801 |
802 /* | 802 /* |
803 * we do not set the timer because there is already the read event timer | 803 * we do not set the timer because there is already the read event timer |
1017 | 1017 |
1018 c->read->handler = c->ssl->saved_read_handler; | 1018 c->read->handler = c->ssl->saved_read_handler; |
1019 c->ssl->saved_read_handler = NULL; | 1019 c->ssl->saved_read_handler = NULL; |
1020 c->read->ready = 1; | 1020 c->read->ready = 1; |
1021 | 1021 |
1022 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 1022 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
1023 return NGX_ERROR; | 1023 return NGX_ERROR; |
1024 } | 1024 } |
1025 | 1025 |
1026 ngx_post_event(c->read, &ngx_posted_events); | 1026 ngx_post_event(c->read, &ngx_posted_events); |
1027 } | 1027 } |
1045 ngx_log_error(NGX_LOG_INFO, c->log, 0, | 1045 ngx_log_error(NGX_LOG_INFO, c->log, 0, |
1046 "peer started SSL renegotiation"); | 1046 "peer started SSL renegotiation"); |
1047 | 1047 |
1048 c->read->ready = 0; | 1048 c->read->ready = 0; |
1049 | 1049 |
1050 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 1050 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
1051 return NGX_ERROR; | 1051 return NGX_ERROR; |
1052 } | 1052 } |
1053 | 1053 |
1054 /* | 1054 /* |
1055 * we do not set the timer because there is already | 1055 * we do not set the timer because there is already |
1145 | 1145 |
1146 if (sslerr == SSL_ERROR_WANT_READ || sslerr == SSL_ERROR_WANT_WRITE) { | 1146 if (sslerr == SSL_ERROR_WANT_READ || sslerr == SSL_ERROR_WANT_WRITE) { |
1147 c->read->handler = ngx_ssl_shutdown_handler; | 1147 c->read->handler = ngx_ssl_shutdown_handler; |
1148 c->write->handler = ngx_ssl_shutdown_handler; | 1148 c->write->handler = ngx_ssl_shutdown_handler; |
1149 | 1149 |
1150 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 1150 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
1151 return NGX_ERROR; | 1151 return NGX_ERROR; |
1152 } | 1152 } |
1153 | 1153 |
1154 if (ngx_handle_write_event(c->write, 0) == NGX_ERROR) { | 1154 if (ngx_handle_write_event(c->write, 0) != NGX_OK) { |
1155 return NGX_ERROR; | 1155 return NGX_ERROR; |
1156 } | 1156 } |
1157 | 1157 |
1158 if (sslerr == SSL_ERROR_WANT_READ) { | 1158 if (sslerr == SSL_ERROR_WANT_READ) { |
1159 ngx_add_timer(c->read, 30000); | 1159 ngx_add_timer(c->read, 30000); |