comparison src/event/ngx_event_openssl.h @ 3243:08570d26c7c5 stable-0.7

merge r2995, r2996, r2997, r2998, r3003, r3141, r3210, r3211, r3232: various SSL fixes and features: *) $ssl_client_verify *) "ssl_verify_client ask" was changed to "ssl_verify_client optional" *) ssl_crl *) delete OpenSSL pre-0.9.7 compatibility: the sources were not actually compatible with OpenSSL 0.9.6 since ssl_session_cache introduction *) fix memory corruption in $ssl_client_cert *) issue SNI warning instead of failure: this is too common case *) use ngx_log_error(), since OpenSSL does not set an error on the failure *) add SNI support in -V output
author Igor Sysoev <igor@sysoev.ru>
date Mon, 26 Oct 2009 16:53:34 +0000
parents 9697407e9ecb
children 305fe2aa9e49
comparison
equal deleted inserted replaced
3242:f678ea405737 3243:08570d26c7c5
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);