1 2 /* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) Nginx, Inc. 5 */ 6 7 8 #ifndef _NGX_MAIL_SSL_H_INCLUDED_ 9 #define _NGX_MAIL_SSL_H_INCLUDED_ 10 11 12 #include <ngx_config.h> 13 #include <ngx_core.h> 14 #include <ngx_mail.h> 15 16 17 #define NGX_MAIL_STARTTLS_OFF 0 18 #define NGX_MAIL_STARTTLS_ON 1 19 #define NGX_MAIL_STARTTLS_ONLY 2 20 21 22 typedef struct { 23 ngx_flag_t enable; 24 ngx_flag_t prefer_server_ciphers; 25 26 ngx_ssl_t ssl; 27 28 ngx_uint_t starttls; 29 ngx_uint_t listen; 30 ngx_uint_t protocols; 31 32 ngx_uint_t verify; 33 ngx_uint_t verify_depth; 34 35 ssize_t builtin_session_cache; 36 37 time_t session_timeout; 38 39 ngx_array_t *certificates; 40 ngx_array_t *certificate_keys; 41 42 ngx_str_t dhparam; 43 ngx_str_t ecdh_curve; 44 ngx_str_t client_certificate; 45 ngx_str_t trusted_certificate; 46 ngx_str_t crl; 47 48 ngx_str_t ciphers; 49 50 ngx_array_t *passwords; 51 ngx_array_t *conf_commands; 52 53 ngx_shm_zone_t *shm_zone; 54 55 ngx_flag_t session_tickets; 56 ngx_array_t *session_ticket_keys; 57 58 u_char *file; 59 ngx_uint_t line; 60 } ngx_mail_ssl_conf_t; 61 62 63 extern ngx_module_t ngx_mail_ssl_module; 64 65 66 #endif /* _NGX_MAIL_SSL_H_INCLUDED_ */ 67