NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
config.c
Go to the documentation of this file.
1
24
30
31
#include "config.h"
32
#include <stdbool.h>
33
#include <stddef.h>
34
#include "
config/lib.h
"
35
39
struct
ConfigDef
ConnVars
[] = {
40
// clang-format off
41
{
"account_command"
,
DT_STRING
|
D_STRING_COMMAND
, 0, 0, NULL,
42
"Shell command to retrieve account credentials"
43
},
44
{
"preconnect"
,
DT_STRING
, 0, 0, NULL,
45
"(socket) External command to run prior to opening a socket"
46
},
47
{
"socket_timeout"
,
DT_NUMBER
, 30, 0, NULL,
48
"Timeout for socket connect/read/write operations (-1 to wait indefinitely)"
49
},
50
{
"tunnel"
,
DT_STRING
|
D_STRING_COMMAND
, 0, 0, NULL,
51
"Shell command to establish a tunnel"
52
},
53
{
"tunnel_is_secure"
,
DT_BOOL
,
true
, 0, NULL,
54
"Assume a tunneled connection is secure"
55
},
56
57
{
"connect_timeout"
,
DT_SYNONYM
,
IP
"socket_timeout"
,
IP
"2023-02-15"
},
58
{ NULL },
59
// clang-format on
60
};
61
62
#if defined(USE_SSL)
66
struct
ConfigDef
ConnVarsSsl
[] = {
67
// clang-format off
68
{
"certificate_file"
,
DT_PATH
|
D_PATH_FILE
,
IP
"~/.mutt_certificates"
, 0, NULL,
69
"File containing trusted certificates"
70
},
71
{
"ssl_ciphers"
,
DT_STRING
, 0, 0, NULL,
72
"Ciphers to use when using SSL"
73
},
74
{
"ssl_client_cert"
,
DT_PATH
|
D_PATH_FILE
, 0, 0, NULL,
75
"File containing client certificates"
76
},
77
{
"ssl_force_tls"
,
DT_BOOL
,
true
, 0, NULL,
78
"(ssl) Require TLS encryption for all connections"
79
},
80
{
"ssl_starttls"
,
DT_QUAD
,
MUTT_YES
, 0, NULL,
81
"(ssl) Use STARTTLS on servers advertising the capability"
82
},
83
{
"ssl_use_tlsv1_2"
,
DT_BOOL
,
true
, 0, NULL,
84
"(ssl) Use TLSv1.2 for authentication"
85
},
86
{
"ssl_use_tlsv1_3"
,
DT_BOOL
,
true
, 0, NULL,
87
"(ssl) Use TLSv1.3 for authentication"
88
},
89
{
"ssl_verify_dates"
,
DT_BOOL
,
true
, 0, NULL,
90
"(ssl) Verify the dates on the server certificate"
91
},
92
{
"ssl_verify_host"
,
DT_BOOL
,
true
, 0, NULL,
93
"(ssl) Verify the server's hostname against the certificate"
94
},
95
96
{
"ssl_use_sslv3"
,
D_INTERNAL_DEPRECATED
|
DT_BOOL
, 0,
IP
"2025-12-07"
},
97
{
"ssl_use_tlsv1"
,
D_INTERNAL_DEPRECATED
|
DT_BOOL
, 0,
IP
"2025-12-07"
},
98
{
"ssl_use_tlsv1_1"
,
D_INTERNAL_DEPRECATED
|
DT_BOOL
, 0,
IP
"2025-12-07"
},
99
{ NULL },
100
// clang-format on
101
};
102
#endif
103
104
#if defined(USE_SSL_GNUTLS)
108
struct
ConfigDef
ConnVarsGnutls
[] = {
109
// clang-format off
110
{
"ssl_ca_certificates_file"
,
DT_PATH
|
D_PATH_FILE
, 0, 0, NULL,
111
"File containing trusted CA certificates"
112
},
113
{
"ssl_min_dh_prime_bits"
,
DT_NUMBER
|
D_INTEGER_NOT_NEGATIVE
, 0, 0, NULL,
114
"Minimum keysize for Diffie-Hellman key exchange"
115
},
116
{ NULL },
117
// clang-format on
118
};
119
#endif
120
121
#if defined(USE_SSL_OPENSSL)
125
struct
ConfigDef
ConnVarsOpenssl
[] = {
126
// clang-format off
127
{
"entropy_file"
,
DT_PATH
|
D_PATH_FILE
, 0, 0, NULL,
128
"(ssl) File/device containing random data to initialise SSL"
129
},
130
{
"ssl_use_system_certs"
,
DT_BOOL
,
true
, 0, NULL,
131
"(ssl) Use CA certificates in the system-wide store"
132
},
133
{
"ssl_usesystemcerts"
,
DT_SYNONYM
,
IP
"ssl_use_system_certs"
,
IP
"2021-02-11"
},
134
135
{
"ssl_use_sslv2"
,
D_INTERNAL_DEPRECATED
|
DT_BOOL
, 0,
IP
"2025-12-07"
},
136
{ NULL },
137
// clang-format on
138
};
139
#endif
140
141
#if defined(HAVE_SSL_PARTIAL_CHAIN)
145
struct
ConfigDef
ConnVarsPartial
[] = {
146
// clang-format off
147
{
"ssl_verify_partial_chains"
,
DT_BOOL
,
false
, 0, NULL,
148
"(ssl) Allow verification using partial certificate chains"
149
},
150
{ NULL },
151
// clang-format on
152
};
153
#endif
154
155
#if defined(HAVE_GETADDRINFO)
159
struct
ConfigDef
ConnVarsGetaddr
[] = {
160
// clang-format off
161
{
"use_ipv6"
,
DT_BOOL
,
true
, 0, NULL,
162
"Lookup IPv6 addresses when making connections"
163
},
164
{ NULL },
165
// clang-format on
166
};
167
#endif
lib.h
Convenience wrapper for the config headers.
IP
#define IP
Definition
set.h:55
ConnVarsSsl
struct ConfigDef ConnVarsSsl[]
General SSL Config definitions for the conn library.
Definition
config.c:66
ConnVars
struct ConfigDef ConnVars[]
Config definitions for the connection library.
Definition
config.c:39
ConnVarsOpenssl
struct ConfigDef ConnVarsOpenssl[]
OpenSSL Config definitions for the connection library.
Definition
config.c:125
ConnVarsPartial
struct ConfigDef ConnVarsPartial[]
SSL partial chains Config definitions for the connection library.
Definition
config.c:145
ConnVarsGetaddr
struct ConfigDef ConnVarsGetaddr[]
GetAddrInfo Config definitions for the connection library.
Definition
config.c:159
ConnVarsGnutls
struct ConfigDef ConnVarsGnutls[]
GnuTLS Config definitions for the connection library.
Definition
config.c:108
MUTT_YES
@ MUTT_YES
User answered 'Yes', or assume 'Yes'.
Definition
quad.h:39
ConfigDef
Definition
set.h:65
D_INTERNAL_DEPRECATED
#define D_INTERNAL_DEPRECATED
Config item shouldn't be used any more.
Definition
types.h:88
D_STRING_COMMAND
#define D_STRING_COMMAND
A command.
Definition
types.h:99
D_PATH_FILE
#define D_PATH_FILE
Path is a file.
Definition
types.h:104
DT_NUMBER
@ DT_NUMBER
a number
Definition
types.h:38
DT_BOOL
@ DT_BOOL
boolean option
Definition
types.h:32
DT_QUAD
@ DT_QUAD
quad-option (no/yes/ask-no/ask-yes)
Definition
types.h:40
DT_SYNONYM
@ DT_SYNONYM
synonym for another variable
Definition
types.h:45
DT_STRING
@ DT_STRING
a string
Definition
types.h:44
DT_PATH
@ DT_PATH
a path to a file/directory
Definition
types.h:39
D_INTEGER_NOT_NEGATIVE
#define D_INTEGER_NOT_NEGATIVE
Negative numbers are not allowed.
Definition
types.h:101