53 {
"crypt_confirm_hook",
DT_BOOL,
true, 0, NULL,
54 "Prompt the user to confirm keys before use"
56 {
"crypt_opportunistic_encrypt",
DT_BOOL,
false, 0, NULL,
57 "Enable encryption when the recipient's key is available"
59 {
"crypt_opportunistic_encrypt_strong_keys",
DT_BOOL,
false, 0, NULL,
60 "Enable encryption only when strong a key is available"
62 {
"crypt_protected_headers_read",
DT_BOOL,
true, 0, NULL,
63 "Display protected headers (Memory Hole) in the pager"
65 {
"crypt_protected_headers_subject",
DT_STRING,
IP "...", 0, NULL,
66 "Use this as the subject for encrypted emails"
68 {
"crypt_protected_headers_write",
DT_BOOL,
false, 0, NULL,
69 "Generate protected header (Memory Hole) for signed and encrypted emails"
71 {
"crypt_timestamp",
DT_BOOL,
true, 0, NULL,
72 "Add a timestamp to PGP or SMIME output to prevent spoofing"
74 {
"envelope_from_address",
DT_ADDRESS, 0, 0, NULL,
75 "Manually set the sender for outgoing messages"
77 {
"pgp_auto_inline",
DT_BOOL,
false, 0, NULL,
78 "Use old-style inline PGP messages (not recommended)"
80 {
"pgp_default_key",
DT_STRING, 0, 0, NULL,
81 "Default key to use for PGP operations"
84 "printf-like format string for the PGP key selection menu"
86 {
"pgp_ignore_subkeys",
DT_BOOL,
true, 0, NULL,
87 "Only use the principal PGP key"
89 {
"pgp_long_ids",
DT_BOOL,
true, 0, NULL,
90 "Display long PGP key IDs to the user"
93 "Prompt the user to use MIME if inline PGP fails"
95 {
"pgp_retainable_sigs",
DT_BOOL,
false, 0, NULL,
96 "Create nested multipart/signed or encrypted messages"
98 {
"pgp_self_encrypt",
DT_BOOL,
true, 0, NULL,
99 "Encrypted messages will also be encrypted to $pgp_default_key too"
101 {
"pgp_show_unusable",
DT_BOOL,
true, 0, NULL,
102 "Show non-usable keys in the key selection"
105 "Use this alternative key for signing messages"
108 "Sort order for PGP keys"
110 {
"pgp_strict_enc",
DT_BOOL,
true, 0, NULL,
111 "Encode PGP signed messages with quoted-printable (don't unset)"
113 {
"smime_default_key",
DT_STRING, 0, 0, NULL,
114 "Default key for SMIME operations"
116 {
"smime_encrypt_with",
DT_STRING,
IP "aes256", 0, NULL,
117 "Algorithm for encryption"
119 {
"smime_self_encrypt",
DT_BOOL,
true, 0, NULL,
120 "Encrypted messages will also be encrypt to $smime_default_key too"
122 {
"smime_sign_as",
DT_STRING, 0, 0, NULL,
123 "Use this alternative key for signing messages"
125 {
"smime_is_default",
DT_BOOL,
false, 0, NULL,
126 "Use SMIME rather than PGP by default"
128 {
"pgp_auto_decode",
DT_BOOL,
false, 0, NULL,
129 "Automatically decrypt PGP messages"
132 "Verify PGP or SMIME signatures"
134 {
"crypt_protected_headers_save",
DT_BOOL,
false, 0, NULL,
135 "Save the cleartext Subject with the headers"
138 {
"crypt_confirmhook",
DT_SYNONYM,
IP "crypt_confirm_hook",
IP "2021-02-11" },
139 {
"pgp_autoinline",
DT_SYNONYM,
IP "pgp_auto_inline",
IP "2021-02-11" },
140 {
"pgp_create_traditional",
DT_SYNONYM,
IP "pgp_auto_inline",
IP "2004-04-12" },
141 {
"pgp_self_encrypt_as",
DT_SYNONYM,
IP "pgp_default_key",
IP "2018-01-11" },
142 {
"pgp_verify_sig",
DT_SYNONYM,
IP "crypt_verify_sig",
IP "2002-01-24" },
143 {
"smime_self_encrypt_as",
DT_SYNONYM,
IP "smime_default_key",
IP "2018-01-11" },
152#if defined(CRYPT_BACKEND_GPGME)
158 {
"crypt_use_gpgme",
DT_BOOL,
true, 0, NULL,
159 "Use GPGME crypto backend"
161 {
"crypt_use_pka",
DT_BOOL,
false, 0, NULL,
162 "Use GPGME to use PKA (lookup PGP keys using DNS)"
169#if defined(CRYPT_BACKEND_CLASSIC_PGP)
175 {
"pgp_check_exit",
DT_BOOL,
true, 0, NULL,
176 "Check the exit code of PGP subprocess"
178 {
"pgp_check_gpg_decrypt_status_fd",
DT_BOOL,
true, 0, NULL,
179 "File descriptor used for status info"
182 "(pgp) External command to inline-sign a message"
185 "(pgp) External command to decode a PGP attachment"
188 "(pgp) External command to decrypt a PGP message"
190 {
"pgp_decryption_okay",
DT_REGEX, 0, 0, NULL,
191 "Text indicating a successful decryption"
194 "(pgp) External command to encrypt, but not sign a message"
197 "(pgp) External command to encrypt and sign a message"
200 "(pgp) External command to export a public key from the user's keyring"
203 "(pgp) External command to download a key for an email address"
205 {
"pgp_good_sign",
DT_REGEX, 0, 0, NULL,
206 "Text indicating a good signature"
209 "(pgp) External command to import a key into the user's keyring"
212 "(pgp) External command to list the public keys in a user's keyring"
215 "(pgp) External command to list the private keys in a user's keyring"
218 "(pgp) External command to create a detached PGP signature"
221 "Time in seconds to cache a passphrase"
223 {
"pgp_use_gpg_agent",
DT_BOOL,
true, 0, NULL,
224 "Use a PGP agent for caching passwords"
227 "(pgp) External command to verify PGP signatures"
230 "(pgp) External command to verify key information"
232 {
"pgp_clearsign_command",
DT_SYNONYM,
IP "pgp_clear_sign_command",
IP "2021-02-11" },
233 {
"pgp_getkeys_command",
DT_SYNONYM,
IP "pgp_get_keys_command",
IP "2021-02-11" },
239#if defined(CRYPT_BACKEND_CLASSIC_SMIME)
245 {
"smime_ask_cert_label",
DT_BOOL,
true, 0, NULL,
246 "Prompt the user for a label for SMIME certificates"
249 "File containing trusted certificates"
252 "File containing user's public certificates"
255 "(smime) External command to decrypt an SMIME message"
257 {
"smime_decrypt_use_default_key",
DT_BOOL,
true, 0, NULL,
258 "Use the default key for decryption"
261 "(smime) External command to encrypt a message"
264 "(smime) External command to extract a certificate from a message"
267 "(smime) External command to get a certificate for an email"
270 "(smime) External command to extract a certificate from an email"
273 "(smime) External command to import a certificate"
276 "File containing user's private certificates"
279 "(smime) External command to extract a public certificate"
282 "(smime) External command to sign a message"
284 {
"smime_sign_digest_alg",
DT_STRING,
IP "sha256", 0, NULL,
288 "Time in seconds to cache a passphrase"
291 "(smime) External command to verify a signed message"
294 "(smime) External command to verify a signature"
308#if defined(CRYPT_BACKEND_GPGME)
312#if defined(CRYPT_BACKEND_CLASSIC_PGP)
316#if defined(CRYPT_BACKEND_CLASSIC_SMIME)
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.
bool config_init_ncrypt(struct ConfigSet *cs)
Register ncrypt config variables - Implements module_init_config_t -.
Convenience wrapper for the library headers.
static struct ConfigDef NcryptVarsPgp[]
PGP Config definitions for the encryption library.
static struct ConfigDef NcryptVarsSmime[]
SMIME Config definitions for the encryption library.
const struct Mapping SortKeyMethods[]
Sort methods for encryption keys.
static struct ConfigDef NcryptVars[]
Config definitions for the encryption library.
static struct ConfigDef NcryptVarsGpgme[]
GPGME Config definitions for the encryption library.
@ MUTT_ASKYES
Ask the user, defaulting to 'Yes'.
@ MUTT_YES
User answered 'Yes', or assume 'Yes'.
#define DT_SORT_REVERSE
Sort flag for -reverse prefix.
@ SORT_TRUST
Sort by encryption key's trust level.
@ SORT_KEYID
Sort by the encryption key's ID.
@ SORT_DATE
Sort by the date the email was sent.
@ SORT_ADDRESS
Sort by email address.
Container for lots of config items.
Mapping between user-readable string and a constant.
#define DT_SORT
sorting methods
#define DT_QUAD
quad-option (no/yes/ask-no/ask-yes)
#define DT_LONG
a number (long)
#define DT_BOOL
boolean option
#define DT_PATH_DIR
Path is a directory.
#define DT_DEPRECATED
Config item shouldn't be used any more.
#define DT_PATH_FILE
Path is a file.
#define DT_PATH
a path to a file/directory
#define DT_NOT_EMPTY
Empty strings are not allowed.
#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_ADDRESS
e-mail address
#define DT_REGEX
regular expressions
#define DT_NUMBER
a number