aboutsummaryrefslogtreecommitdiff
path: root/src/event/ngx_event_openssl.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-10-10 12:59:41 +0000
committerIgor Sysoev <igor@sysoev.ru>2005-10-10 12:59:41 +0000
commit1bfa7bc78a23c0150e0bbf854e778dba4df30031 (patch)
tree25779bc18366a22cabccd56a89e0af11025d7c8a /src/event/ngx_event_openssl.c
parentb29779caaf628afc28baffb71763f0725da2e0e4 (diff)
downloadnginx-release-0.3.1.tar.gz
nginx-release-0.3.1.zip
nginx-0.3.1-RELEASE importrelease-0.3.1
*) Bugfix: the segmentation fault occurred when the signal queue overflowed if the "rtsig" method was used; the bug had appeared in 0.2.0. *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
Diffstat (limited to 'src/event/ngx_event_openssl.c')
-rw-r--r--src/event/ngx_event_openssl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
index 49640faa6..48a03a17a 100644
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -144,6 +144,10 @@ ngx_ssl_certificate(ngx_ssl_t *ssl, u_char *cert, u_char *key)
ngx_int_t
ngx_ssl_generate_rsa512_key(ngx_ssl_t *ssl)
{
+ if (SSL_CTX_need_tmp_RSA(ssl->ctx) == 0) {
+ return NGX_OK;
+ }
+
ssl->rsa512_key = RSA_generate_key(512, RSA_F4, NULL, NULL);
if (ssl->rsa512_key) {
@@ -851,7 +855,10 @@ ngx_ssl_cleanup_ctx(void *data)
{
ngx_ssl_t *ssl = data;
- RSA_free(ssl->rsa512_key);
+ if (ssl->rsa512_key) {
+ RSA_free(ssl->rsa512_key);
+ }
+
SSL_CTX_free(ssl->ctx);
}