40 "Shell command to retrieve account credentials"
43 "(socket) External command to run prior to opening a socket"
45 {
"socket_timeout",
DT_NUMBER, 30, 0, NULL,
46 "Timeout for socket connect/read/write operations (-1 to wait indefinitely)"
49 "Shell command to establish a tunnel"
51 {
"tunnel_is_secure",
DT_BOOL,
true, 0, NULL,
52 "Assume a tunneled connection is secure"
55 {
"connect_timeout",
DT_SYNONYM,
IP "socket_timeout",
IP "2023-02-15" },
67 "File containing trusted certificates"
70 "Ciphers to use when using SSL"
73 "File containing client certificates"
75 {
"ssl_force_tls",
DT_BOOL,
true, 0, NULL,
76 "(ssl) Require TLS encryption for all connections"
79 "(ssl) Use STARTTLS on servers advertising the capability"
81 {
"ssl_use_sslv3",
DT_BOOL,
false, 0, NULL,
82 "(ssl) INSECURE: Use SSLv3 for authentication"
84 {
"ssl_use_tlsv1",
DT_BOOL,
false, 0, NULL,
85 "(ssl) Use TLSv1 for authentication"
87 {
"ssl_use_tlsv1_1",
DT_BOOL,
false, 0, NULL,
88 "(ssl) Use TLSv1.1 for authentication"
90 {
"ssl_use_tlsv1_2",
DT_BOOL,
true, 0, NULL,
91 "(ssl) Use TLSv1.2 for authentication"
93 {
"ssl_use_tlsv1_3",
DT_BOOL,
true, 0, NULL,
94 "(ssl) Use TLSv1.3 for authentication"
96 {
"ssl_verify_dates",
DT_BOOL,
true, 0, NULL,
97 "(ssl) Verify the dates on the server certificate"
99 {
"ssl_verify_host",
DT_BOOL,
true, 0, NULL,
100 "(ssl) Verify the server's hostname against the certificate"
107#if defined(USE_SSL_GNUTLS)
114 "File containing trusted CA certificates"
117 "Minimum keysize for Diffie-Hellman key exchange"
124#if defined(USE_SSL_OPENSSL)
131 "(ssl) File/device containing random data to initialise SSL"
133 {
"ssl_use_sslv2",
DT_BOOL,
false, 0, NULL,
134 "(ssl) INSECURE: Use SSLv2 for authentication"
136 {
"ssl_use_system_certs",
DT_BOOL,
true, 0, NULL,
137 "(ssl) Use CA certificates in the system-wide store"
139 {
"ssl_usesystemcerts",
DT_SYNONYM,
IP "ssl_use_system_certs",
IP "2021-02-11" },
145#if defined(HAVE_SSL_PARTIAL_CHAIN)
151 {
"ssl_verify_partial_chains",
DT_BOOL,
false, 0, NULL,
152 "(ssl) Allow verification using partial certificate chains"
159#if defined(HAVE_GETADDRINFO)
165 {
"use_ipv6",
DT_BOOL,
true, 0, NULL,
166 "Lookup IPv6 addresses when making connections"
184#if defined(USE_SSL_GNUTLS)
188#if defined(USE_SSL_OPENSSL)
192#if defined(HAVE_SSL_PARTIAL_CHAIN)
196#if defined(HAVE_GETADDRINFO)
Convenience wrapper for the config headers.
bool cs_register_variables(const struct ConfigSet *cs, struct ConfigDef vars[], uint32_t flags)
Register a set of config items.
static struct ConfigDef ConnVarsSsl[]
General SSL Config definitions for the conn library.
static struct ConfigDef ConnVars[]
Config definitions for the connection library.
static struct ConfigDef ConnVarsOpenssl[]
OpenSSL Config definitions for the connection library.
static struct ConfigDef ConnVarsPartial[]
SSL partial chains Config definitions for the connection library.
static struct ConfigDef ConnVarsGetaddr[]
GetAddrInfo Config definitions for the connection library.
static struct ConfigDef ConnVarsGnutls[]
GnuTLS Config definitions for the connection library.
bool config_init_conn(struct ConfigSet *cs)
Register conn config variables - Implements module_init_config_t -.
@ MUTT_YES
User answered 'Yes', or assume 'Yes'.
Container for lots of config items.
#define DT_QUAD
quad-option (no/yes/ask-no/ask-yes)
#define DT_BOOL
boolean option
#define DT_PATH_FILE
Path is a file.
#define DT_PATH
a path to a file/directory
#define DT_STRING
a string
#define DT_COMMAND
A command.
#define DT_SYNONYM
synonym for another variable
#define DT_NO_FLAGS
No flags are set.
#define DT_NOT_NEGATIVE
Negative numbers are not allowed.
#define DT_NUMBER
a number