Latest update - 7353

This commit is contained in:
2018-09-11 08:44:35 +09:00
parent 248354095a
commit 27d60067fd
3 changed files with 42 additions and 6 deletions
+36 -4
View File
@@ -1676,14 +1676,28 @@ ngx_ssl_handle_recv(ngx_connection_t *c, int n)
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d", sslerr);
if (sslerr == SSL_ERROR_WANT_READ) {
if (c->ssl->saved_write_handler) {
c->write->handler = c->ssl->saved_write_handler;
c->ssl->saved_write_handler = NULL;
c->write->ready = 1;
if (ngx_handle_write_event(c->write, 0) != NGX_OK) {
return NGX_ERROR;
}
ngx_post_event(c->write, &ngx_posted_events);
}
c->read->ready = 0;
return NGX_AGAIN;
}
if (sslerr == SSL_ERROR_WANT_WRITE) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"peer started SSL renegotiation");
ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0,
"SSL_read: want write");
c->write->ready = 0;
@@ -1725,6 +1739,8 @@ ngx_ssl_write_handler(ngx_event_t *wev)
c = wev->data;
ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL write handler");
c->read->handler(c->read);
}
@@ -1971,14 +1987,28 @@ ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size)
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d", sslerr);
if (sslerr == SSL_ERROR_WANT_WRITE) {
if (c->ssl->saved_read_handler) {
c->read->handler = c->ssl->saved_read_handler;
c->ssl->saved_read_handler = NULL;
c->read->ready = 1;
if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
return NGX_ERROR;
}
ngx_post_event(c->read, &ngx_posted_events);
}
c->write->ready = 0;
return NGX_AGAIN;
}
if (sslerr == SSL_ERROR_WANT_READ) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"peer started SSL renegotiation");
ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0,
"SSL_write: want read");
c->read->ready = 0;
@@ -2016,6 +2046,8 @@ ngx_ssl_read_handler(ngx_event_t *rev)
c = rev->data;
ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL read handler");
c->write->handler(c->write);
}
+2 -2
View File
@@ -954,8 +954,8 @@ ngx_http_uwsgi_create_request(ngx_http_request_t *r)
#if 0
/* allow custom uwsgi packet */
if (len > 0 && len < 2) {
ngx_log_error (NGX_LOG_ALERT, r->connection->log, 0,
"uwsgi request is too little: %uz", len);
ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
"uwsgi request is too little: %uz", len);
return NGX_ERROR;
}
#endif
+4
View File
@@ -3313,6 +3313,10 @@ ngx_http_lingering_close_handler(ngx_event_t *rev)
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, "lingering read: %z", n);
if (n == NGX_AGAIN) {
break;
}
if (n == NGX_ERROR || n == 0) {
ngx_http_close_request(r, 0);
return;