src/mail/ngx_mail_ssl_module.h - nginx source code

Data types defined

Macros defined

Source code


  1. /*
  2. * Copyright (C) Igor Sysoev
  3. * Copyright (C) Nginx, Inc.
  4. */


  5. #ifndef _NGX_MAIL_SSL_H_INCLUDED_
  6. #define _NGX_MAIL_SSL_H_INCLUDED_


  7. #include <ngx_config.h>
  8. #include <ngx_core.h>
  9. #include <ngx_mail.h>


  10. #define NGX_MAIL_STARTTLS_OFF   0
  11. #define NGX_MAIL_STARTTLS_ON    1
  12. #define NGX_MAIL_STARTTLS_ONLY  2


  13. typedef struct {
  14.     ngx_flag_t       prefer_server_ciphers;

  15.     ngx_ssl_t        ssl;

  16.     ngx_uint_t       starttls;
  17.     ngx_uint_t       listen;
  18.     ngx_uint_t       protocols;

  19.     ngx_uint_t       verify;
  20.     ngx_uint_t       verify_depth;

  21.     ssize_t          builtin_session_cache;

  22.     time_t           session_timeout;

  23.     ngx_array_t     *certificates;
  24.     ngx_array_t     *certificate_keys;

  25.     ngx_str_t        dhparam;
  26.     ngx_str_t        ecdh_curve;
  27.     ngx_str_t        client_certificate;
  28.     ngx_str_t        trusted_certificate;
  29.     ngx_str_t        crl;

  30.     ngx_str_t        ciphers;

  31.     ngx_array_t     *passwords;
  32.     ngx_array_t     *conf_commands;

  33.     ngx_shm_zone_t  *shm_zone;

  34.     ngx_flag_t       session_tickets;
  35.     ngx_array_t     *session_ticket_keys;

  36.     u_char          *file;
  37.     ngx_uint_t       line;
  38. } ngx_mail_ssl_conf_t;


  39. extern ngx_module_t  ngx_mail_ssl_module;


  40. #endif /* _NGX_MAIL_SSL_H_INCLUDED_ */