comparison src/event/ngx_event_openssl.h @ 520:24b676623d4f NGINX_0_8_7

nginx 0.8.7 *) Change: minimum supported OpenSSL version is 0.9.7. *) Change: the "ask" parameter of the "ssl_verify_client" directive was changed to the "optional" parameter and now it checks a client certificate if it was offered. Thanks to Brice Figureau. *) Feature: the $ssl_client_verify variable. Thanks to Brice Figureau. *) Feature: the "ssl_crl" directive. Thanks to Brice Figureau. *) Feature: the "proxy" parameter of the "geo" directive. *) Feature: the "image_filter" directive supports variables for setting size. *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug had appeared in 0.7.7. Thanks to Sergey Zhuravlev. *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering", and "X-Accel-Charset" lines from backend response header. Thanks to Maxim Dounin. *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend response header lines; the bug had appeared in 0.7.44. Thanks to Maxim Dounin. *) Bugfix: the "[alert] zero size buf" error if subrequest returns an empty response; the bug had appeared in 0.8.5.
author Igor Sysoev <http://sysoev.ru>
date Mon, 27 Jul 2009 00:00:00 +0400
parents 0b6053502c55
children 4c5d2c627a6c
comparison
equal deleted inserted replaced
519:41f4e459ace8 520:24b676623d4f
11 #include <ngx_config.h> 11 #include <ngx_config.h>
12 #include <ngx_core.h> 12 #include <ngx_core.h>
13 13
14 #include <openssl/ssl.h> 14 #include <openssl/ssl.h>
15 #include <openssl/err.h> 15 #include <openssl/err.h>
16
17 #if OPENSSL_VERSION_NUMBER >= 0x00907000
18 #include <openssl/conf.h> 16 #include <openssl/conf.h>
19 #include <openssl/engine.h> 17 #include <openssl/engine.h>
20 #define NGX_SSL_ENGINE 1
21 #endif
22 18
23 #define NGX_SSL_NAME "OpenSSL" 19 #define NGX_SSL_NAME "OpenSSL"
24 20
25 21
26 #define ngx_ssl_session_t SSL_SESSION 22 #define ngx_ssl_session_t SSL_SESSION
98 ngx_int_t ngx_ssl_create(ngx_ssl_t *ssl, ngx_uint_t protocols, void *data); 94 ngx_int_t ngx_ssl_create(ngx_ssl_t *ssl, ngx_uint_t protocols, void *data);
99 ngx_int_t ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, 95 ngx_int_t ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl,
100 ngx_str_t *cert, ngx_str_t *key); 96 ngx_str_t *cert, ngx_str_t *key);
101 ngx_int_t ngx_ssl_client_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, 97 ngx_int_t ngx_ssl_client_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl,
102 ngx_str_t *cert, ngx_int_t depth); 98 ngx_str_t *cert, ngx_int_t depth);
99 ngx_int_t ngx_ssl_crl(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *crl);
103 ngx_int_t ngx_ssl_generate_rsa512_key(ngx_ssl_t *ssl); 100 ngx_int_t ngx_ssl_generate_rsa512_key(ngx_ssl_t *ssl);
104 ngx_int_t ngx_ssl_dhparam(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *file); 101 ngx_int_t ngx_ssl_dhparam(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *file);
105 ngx_int_t ngx_ssl_session_cache(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, 102 ngx_int_t ngx_ssl_session_cache(ngx_ssl_t *ssl, ngx_str_t *sess_ctx,
106 ssize_t builtin_session_cache, ngx_shm_zone_t *shm_zone, time_t timeout); 103 ssize_t builtin_session_cache, ngx_shm_zone_t *shm_zone, time_t timeout);
107 ngx_int_t ngx_ssl_create_connection(ngx_ssl_t *ssl, ngx_connection_t *c, 104 ngx_int_t ngx_ssl_create_connection(ngx_ssl_t *ssl, ngx_connection_t *c,
129 ngx_str_t *s); 126 ngx_str_t *s);
130 ngx_int_t ngx_ssl_get_issuer_dn(ngx_connection_t *c, ngx_pool_t *pool, 127 ngx_int_t ngx_ssl_get_issuer_dn(ngx_connection_t *c, ngx_pool_t *pool,
131 ngx_str_t *s); 128 ngx_str_t *s);
132 ngx_int_t ngx_ssl_get_serial_number(ngx_connection_t *c, ngx_pool_t *pool, 129 ngx_int_t ngx_ssl_get_serial_number(ngx_connection_t *c, ngx_pool_t *pool,
133 ngx_str_t *s); 130 ngx_str_t *s);
131 ngx_int_t ngx_ssl_get_client_verify(ngx_connection_t *c, ngx_pool_t *pool,
132 ngx_str_t *s);
134 133
135 134
136 ngx_int_t ngx_ssl_handshake(ngx_connection_t *c); 135 ngx_int_t ngx_ssl_handshake(ngx_connection_t *c);
137 ssize_t ngx_ssl_recv(ngx_connection_t *c, u_char *buf, size_t size); 136 ssize_t ngx_ssl_recv(ngx_connection_t *c, u_char *buf, size_t size);
138 ssize_t ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size); 137 ssize_t ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size);