|  |  | 
|  | /* | 
|  | * Copyright (C) Igor Sysoev | 
|  | * Copyright (C) Nginx, Inc. | 
|  | */ | 
|  |  | 
|  |  | 
|  | #ifndef _NGX_MAIL_SSL_H_INCLUDED_ | 
|  | #define _NGX_MAIL_SSL_H_INCLUDED_ | 
|  |  | 
|  |  | 
|  | #include <ngx_config.h> | 
|  | #include <ngx_core.h> | 
|  | #include <ngx_mail.h> | 
|  |  | 
|  |  | 
|  | #define NGX_MAIL_STARTTLS_OFF   0 | 
|  | #define NGX_MAIL_STARTTLS_ON    1 | 
|  | #define NGX_MAIL_STARTTLS_ONLY  2 | 
|  |  | 
|  |  | 
|  | typedef struct { | 
|  | ngx_flag_t       enable; | 
|  | ngx_flag_t       prefer_server_ciphers; | 
|  |  | 
|  | ngx_ssl_t        ssl; | 
|  |  | 
|  | ngx_uint_t       starttls; | 
|  | ngx_uint_t       listen; | 
|  | ngx_uint_t       protocols; | 
|  |  | 
|  | ngx_uint_t       verify; | 
|  | ngx_uint_t       verify_depth; | 
|  |  | 
|  | ssize_t          builtin_session_cache; | 
|  |  | 
|  | time_t           session_timeout; | 
|  |  | 
|  | ngx_array_t     *certificates; | 
|  | ngx_array_t     *certificate_keys; | 
|  |  | 
|  | ngx_str_t        dhparam; | 
|  | ngx_str_t        ecdh_curve; | 
|  | ngx_str_t        client_certificate; | 
|  | ngx_str_t        trusted_certificate; | 
|  | ngx_str_t        crl; | 
|  |  | 
|  | ngx_str_t        ciphers; | 
|  |  | 
|  | ngx_array_t     *passwords; | 
|  |  | 
|  | ngx_shm_zone_t  *shm_zone; | 
|  |  | 
|  | ngx_flag_t       session_tickets; | 
|  | ngx_array_t     *session_ticket_keys; | 
|  |  | 
|  | u_char          *file; | 
|  | ngx_uint_t       line; | 
|  | } ngx_mail_ssl_conf_t; | 
|  |  | 
|  |  | 
|  | extern ngx_module_t  ngx_mail_ssl_module; | 
|  |  | 
|  |  | 
|  | #endif /* _NGX_MAIL_SSL_H_INCLUDED_ */ |