comparison src/event/ngx_event_openssl.c @ 5487:a297b7ad6f94

SSL: ssl_buffer_size directive.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 20 Dec 2013 16:18:25 +0400
parents 9868c72f6f43
children 97e3769637a7
comparison
equal deleted inserted replaced
5486:741aa3fde496 5487:a297b7ad6f94
188 ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, 188 ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0,
189 "SSL_CTX_set_ex_data() failed"); 189 "SSL_CTX_set_ex_data() failed");
190 return NGX_ERROR; 190 return NGX_ERROR;
191 } 191 }
192 192
193 ssl->buffer_size = NGX_SSL_BUFSIZE;
194
193 /* client side options */ 195 /* client side options */
194 196
195 SSL_CTX_set_options(ssl->ctx, SSL_OP_MICROSOFT_SESS_ID_BUG); 197 SSL_CTX_set_options(ssl->ctx, SSL_OP_MICROSOFT_SESS_ID_BUG);
196 SSL_CTX_set_options(ssl->ctx, SSL_OP_NETSCAPE_CHALLENGE_BUG); 198 SSL_CTX_set_options(ssl->ctx, SSL_OP_NETSCAPE_CHALLENGE_BUG);
197 199
724 if (sc == NULL) { 726 if (sc == NULL) {
725 return NGX_ERROR; 727 return NGX_ERROR;
726 } 728 }
727 729
728 sc->buffer = ((flags & NGX_SSL_BUFFER) != 0); 730 sc->buffer = ((flags & NGX_SSL_BUFFER) != 0);
731 sc->buffer_size = ssl->buffer_size;
729 732
730 sc->connection = SSL_new(ssl->ctx); 733 sc->connection = SSL_new(ssl->ctx);
731 734
732 if (sc->connection == NULL) { 735 if (sc->connection == NULL) {
733 ngx_ssl_error(NGX_LOG_ALERT, c->log, 0, "SSL_new() failed"); 736 ngx_ssl_error(NGX_LOG_ALERT, c->log, 0, "SSL_new() failed");
1220 } 1223 }
1221 1224
1222 buf = c->ssl->buf; 1225 buf = c->ssl->buf;
1223 1226
1224 if (buf == NULL) { 1227 if (buf == NULL) {
1225 buf = ngx_create_temp_buf(c->pool, NGX_SSL_BUFSIZE); 1228 buf = ngx_create_temp_buf(c->pool, c->ssl->buffer_size);
1226 if (buf == NULL) { 1229 if (buf == NULL) {
1227 return NGX_CHAIN_ERROR; 1230 return NGX_CHAIN_ERROR;
1228 } 1231 }
1229 1232
1230 c->ssl->buf = buf; 1233 c->ssl->buf = buf;
1231 } 1234 }
1232 1235
1233 if (buf->start == NULL) { 1236 if (buf->start == NULL) {
1234 buf->start = ngx_palloc(c->pool, NGX_SSL_BUFSIZE); 1237 buf->start = ngx_palloc(c->pool, c->ssl->buffer_size);
1235 if (buf->start == NULL) { 1238 if (buf->start == NULL) {
1236 return NGX_CHAIN_ERROR; 1239 return NGX_CHAIN_ERROR;
1237 } 1240 }
1238 1241
1239 buf->pos = buf->start; 1242 buf->pos = buf->start;
1240 buf->last = buf->start; 1243 buf->last = buf->start;
1241 buf->end = buf->start + NGX_SSL_BUFSIZE; 1244 buf->end = buf->start + c->ssl->buffer_size;
1242 } 1245 }
1243 1246
1244 send = buf->last - buf->pos; 1247 send = buf->last - buf->pos;
1245 flush = (in == NULL) ? 1 : buf->flush; 1248 flush = (in == NULL) ? 1 : buf->flush;
1246 1249