- ** the pager. The current message, unless near the top or bottom of the
- ** folder, will be roughly one third of the way down this mini-index,
- ** giving the reader the context of a few messages before and after the
- ** message. This is useful, for example, to determine how many messages
- ** remain to be read in the current thread. One of the lines is reserved
- ** for the status bar from the index, so a \fIpager_index_lines\fP of 6
- ** will only show 5 lines of the actual index. A value of 0 results in
- ** no index being shown. If the number of messages in the current folder
- ** is less than \fIpager_index_lines\fP, then the index will only use as
- ** many lines as it needs.
- */
- {"pager_stop", DT_BOOL, R_NONE, OPTPAGERSTOP, "no" },
- /*
- ** .pp
- ** When \fIset\fP, the internal-pager will \fBnot\fP move to the next message
- ** when you are at the end of a message and invoke the \fInext-page\fP
- ** function.
- */
- {"crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, "no" },
- /*
- ** .pp
- ** Setting this variable will cause Madmutt to always attempt to
- ** cryptographically sign outgoing messages. This can be overridden
- ** by use of the \fIpgp-menu\fP, when signing is not required or
- ** encryption is requested as well. If ``$$smime_is_default'' is \fIset\fP,
- ** then OpenSSL is used instead to create S/MIME messages and settings can
- ** be overridden by use of the \fIsmime-menu\fP.
- ** (Crypto only)
- */
- {"crypt_autoencrypt", DT_BOOL, R_NONE, OPTCRYPTAUTOENCRYPT, "no" },
- /*
- ** .pp
- ** Setting this variable will cause Madmutt to always attempt to PGP
- ** encrypt outgoing messages. This is probably only useful in
- ** connection to the \fIsend-hook\fP command. It can be overridden
- ** by use of the \fIpgp-menu\fP, when encryption is not required or
- ** signing is requested as well. If ``$$smime_is_default'' is \fIset\fP,
- ** then OpenSSL is used instead to create S/MIME messages and
- ** settings can be overridden by use of the \fIsmime-menu\fP.
- ** (Crypto only)
- */
- {"pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, "yes" },
- /*
- ** .pp
- ** Setting this variable will cause Madmutt to ignore OpenPGP subkeys. Instead,
- ** the principal key will inherit the subkeys' capabilities. \fIUnset\fP this
- ** if you want to play interesting key selection games.
- ** (PGP only)
- */
- {"crypt_replyencrypt", DT_BOOL, R_NONE, OPTCRYPTREPLYENCRYPT, "yes" },
- /*
- ** .pp
- ** If \fIset\fP, automatically PGP or OpenSSL encrypt replies to messages which are
- ** encrypted.
- ** (Crypto only)
- */
- {"crypt_replysign", DT_BOOL, R_NONE, OPTCRYPTREPLYSIGN, "no" },
- /*
- ** .pp
- ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages which are
- ** signed.
- ** .pp
- ** \fBNote:\fP this does not work on messages that are encrypted \fBand\fP signed!
- ** (Crypto only)
- */
- {"crypt_replysignencrypted", DT_BOOL, R_NONE, OPTCRYPTREPLYSIGNENCRYPTED, "no" },
- /*
- ** .pp
- ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages
- ** which are encrypted. This makes sense in combination with
- ** ``$$crypt_replyencrypt'', because it allows you to sign all
- ** messages which are automatically encrypted. This works around
- ** the problem noted in ``$$crypt_replysign'', that Madmutt is not able
- ** to find out whether an encrypted message is also signed.
- ** (Crypto only)
- */
- {"crypt_timestamp", DT_BOOL, R_NONE, OPTCRYPTTIMESTAMP, "yes" },
- /*
- ** .pp
- ** If \fIset\fP, Madmutt will include a time stamp in the lines surrounding
- ** PGP or S/MIME output, so spoofing such lines is more difficult.
- ** If you are using colors to mark these lines, and rely on these,
- ** you may \fIunset\fP this setting.
- ** (Crypto only)
- */
- {"pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, "no" },
- /*
- ** .pp
- ** If \fIset\fP, Madmutt will use a possibly-running gpg-agent process.
- ** (PGP only)
- */
- {"crypt_verify_sig", DT_QUAD, R_NONE, OPT_VERIFYSIG, "yes" },
- /*
- ** .pp
- ** If ``\fIyes\fP'', always attempt to verify PGP or S/MIME signatures.
- ** If ``\fIask\fP'', ask whether or not to verify the signature.
- ** If ``\fIno\fP'', never attempt to verify cryptographic signatures.
- ** (Crypto only)
- */
- {"smime_is_default", DT_BOOL, R_NONE, OPTSMIMEISDEFAULT, "no" },
- /*
- ** .pp
- ** The default behaviour of Madmutt is to use PGP on all auto-sign/encryption
- ** operations. To override and to use OpenSSL instead this must be \fIset\fP.
- ** .pp
- ** However, this has no effect while replying, since Madmutt will automatically
- ** select the same application that was used to sign/encrypt the original
- ** message.
- ** .pp
- ** (Note that this variable can be overridden by unsetting $$crypt_autosmime.)
- ** (S/MIME only)
- */
- {"smime_ask_cert_label", DT_BOOL, R_NONE, OPTASKCERTLABEL, "yes" },
- /*
- ** .pp
- ** This flag controls whether you want to be asked to enter a label
- ** for a certificate about to be added to the database or not. It is
- ** \fIset\fP by default.
- ** (S/MIME only)
- */
- {"smime_decrypt_use_default_key", DT_BOOL, R_NONE, OPTSDEFAULTDECRYPTKEY, "yes" },
- /*
- ** .pp
- ** If \fIset\fP (default) this tells Madmutt to use the default key for decryption. Otherwise,
- ** if manage multiple certificate-key-pairs, Madmutt will try to use the mailbox-address
- ** to determine the key to use. It will ask you to supply a key, if it can't find one.
- ** (S/MIME only)
- */
- {"pgp_entry_format", DT_STR, R_NONE, UL &PgpEntryFormat, "%4n %t%f %4l/0x%k %-4a %2c %u"},
- /*
- ** .pp
- ** This variable allows you to customize the PGP key selection menu to
- ** your personal taste. This string is similar to ``$$index_format'', but
- ** has its own set of \fTprintf(3)\fP-like sequences:
- ** .pp
- ** .dl
- ** .dt %n .dd number
- ** .dt %k .dd key id
- ** .dt %u .dd user id
- ** .dt %a .dd algorithm
- ** .dt %l .dd key length
- ** .dt %f .dd flags
- ** .dt %c .dd capabilities
- ** .dt %t .dd trust/validity of the key-uid association
- ** .dt %[<s>] .dd date of the key where <s> is an \fTstrftime(3)\fP expression
- ** .de
- ** .pp
- ** (PGP only)
- */
- {"pgp_good_sign", DT_RX, R_NONE, UL &PgpGoodSign, "" },
- /*
- ** .pp
- ** If you assign a text to this variable, then a PGP signature is only
- ** considered verified if the output from $$pgp_verify_command contains
- ** the text. Use this variable if the exit code from the command is 0
- ** even for bad signatures.
- ** (PGP only)
- */
- {"pgp_check_exit", DT_BOOL, R_NONE, OPTPGPCHECKEXIT, "yes" },
- /*
- ** .pp
- ** If \fIset\fP, Madmutt will check the exit code of the PGP subprocess when
- ** signing or encrypting. A non-zero exit code means that the
- ** subprocess failed.
- ** (PGP only)
- */
- {"pgp_long_ids", DT_BOOL, R_NONE, OPTPGPLONGIDS, "no" },
- /*
- ** .pp
- ** If \fIset\fP, use 64 bit PGP key IDs. \fIUnset\fP uses the normal 32 bit Key IDs.
- ** (PGP only)
- */
- {"pgp_retainable_sigs", DT_BOOL, R_NONE, OPTPGPRETAINABLESIG, "no" },
- /*
- ** .pp
- ** If \fIset\fP, signed and encrypted messages will consist of nested
- ** multipart/signed and multipart/encrypted body parts.
- ** .pp
- ** This is useful for applications like encrypted and signed mailing
- ** lists, where the outer layer (multipart/encrypted) can be easily
- ** removed, while the inner multipart/signed part is retained.
- ** (PGP only)
- */
- {"pgp_autoinline", DT_BOOL, R_NONE, OPTPGPAUTOINLINE, "no" },
- /*
- ** .pp
- ** This option controls whether Madmutt generates old-style inline
- ** (traditional) PGP encrypted or signed messages under certain
- ** circumstances. This can be overridden by use of the \fIpgp-menu\fP,
- ** when inline is not required.
- ** .pp
- ** Note that Madmutt might automatically use PGP/MIME for messages
- ** which consist of more than a single MIME part. Madmutt can be
- ** configured to ask before sending PGP/MIME messages when inline
- ** (traditional) would not work.
- ** See also: ``$$pgp_mime_auto''.
- ** .pp
- ** Also note that using the old-style PGP message format is \fBstrongly\fP
- ** \fBdeprecated\fP.
- ** (PGP only)
- */
- {"pgp_replyinline", DT_BOOL, R_NONE, OPTPGPREPLYINLINE, "no" },
- /*
- ** .pp
- ** Setting this variable will cause Madmutt to always attempt to
- ** create an inline (traditional) message when replying to a
- ** message which is PGP encrypted/signed inline. This can be
- ** overridden by use of the \fIpgp-menu\fP, when inline is not
- ** required. This option does not automatically detect if the
- ** (replied-to) message is inline; instead it relies on Madmutt
- ** internals for previously checked/flagged messages.
- ** .pp
- ** Note that Madmutt might automatically use PGP/MIME for messages
- ** which consist of more than a single MIME part. Madmutt can be
- ** configured to ask before sending PGP/MIME messages when inline
- ** (traditional) would not work.
- ** See also: ``$$pgp_mime_auto''.
- ** .pp
- ** Also note that using the old-style PGP message format is \fBstrongly\fP
- ** \fBdeprecated\fP.
- ** (PGP only)
- **
- */
- {"pgp_show_unusable", DT_BOOL, R_NONE, OPTPGPSHOWUNUSABLE, "yes" },
- /*
- ** .pp
- ** If \fIset\fP, Madmutt will display non-usable keys on the PGP key selection
- ** menu. This includes keys which have been revoked, have expired, or
- ** have been marked as ``disabled'' by the user.
- ** (PGP only)
- */
- {"pgp_sign_as", DT_STR, R_NONE, UL &PgpSignAs, "" },
- /*
- ** .pp
- ** If you have more than one key pair, this option allows you to specify
- ** which of your private keys to use. It is recommended that you use the
- ** keyid form to specify your key (e.g., ``\fT0x00112233\fP'').
- ** (PGP only)
- */
- {"pgp_strict_enc", DT_BOOL, R_NONE, OPTPGPSTRICTENC, "yes" },
- /*
- ** .pp
- ** If \fIset\fP, Madmutt will automatically encode PGP/MIME signed messages as
- ** \fTquoted-printable\fP. Please note that unsetting this variable may
- ** lead to problems with non-verifyable PGP signatures, so only change
- ** this if you know what you are doing.
- ** (PGP only)
- */
- {"pgp_timeout", DT_NUM, R_NONE, UL &PgpTimeout, "300" },
- /*
- ** .pp
- ** The number of seconds after which a cached passphrase will expire if
- ** not used. Default: 300.
- ** (PGP only)
- */
- {"pgp_sort_keys", DT_SORT|DT_SORT_KEYS, R_NONE, UL &PgpSortKeys, "address" },
- /*
- ** .pp
- ** Specifies how the entries in the ``pgp keys'' menu are sorted. The
- ** following are legal values:
- ** .pp
- ** .dl
- ** .dt address .dd sort alphabetically by user id
- ** .dt keyid .dd sort alphabetically by key id
- ** .dt date .dd sort by key creation date
- ** .dt trust .dd sort by the trust of the key
- ** .de
- ** .pp
- ** If you prefer reverse order of the above values, prefix it with
- ** ``reverse-''.
- ** (PGP only)
- */
- {"pgp_mime_auto", DT_QUAD, R_NONE, OPT_PGPMIMEAUTO, "ask-yes" },
- /*
- ** .pp
- ** This option controls whether Madmutt will prompt you for
- ** automatically sending a (signed/encrypted) message using
- ** PGP/MIME when inline (traditional) fails (for any reason).
- ** .pp
- ** Also note that using the old-style PGP message format is \fBstrongly\fP
- ** \fBdeprecated\fP.
- ** (PGP only)
- */
- {"pgp_auto_decode", DT_BOOL, R_NONE, OPTPGPAUTODEC, "no" },
- /*
- ** .pp
- ** If \fIset\fP, Madmutt will automatically attempt to decrypt traditional PGP
- ** messages whenever the user performs an operation which ordinarily would
- ** result in the contents of the message being operated on. For example,
- ** if the user displays a pgp-traditional message which has not been manually
- ** checked with the check-traditional-pgp function, Madmutt will automatically
- ** check the message for traditional pgp.
- */
- /* XXX Default values! */
- {"pgp_decode_command", DT_STR, R_NONE, UL &PgpDecodeCommand, "" },
- /*
- ** .pp
- ** This format strings specifies a command which is used to decode
- ** application/pgp attachments.
- ** .pp
- ** The PGP command formats have their own set of \fTprintf(3)\fP-like sequences:
- ** .pp
- ** .dl
- ** .dt %p .dd Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
- ** string otherwise. Note: This may be used with a %? construct.
- ** .dt %f .dd Expands to the name of a file containing a message.
- ** .dt %s .dd Expands to the name of a file containing the signature part
- ** . of a multipart/signed attachment when verifying it.
- ** .dt %a .dd The value of $$pgp_sign_as.
- ** .dt %r .dd One or more key IDs.
- ** .de
- ** .pp
- ** For examples on how to configure these formats for the various versions
- ** of PGP which are floating around, see the pgp*.rc and gpg.rc files in
- ** the \fTsamples/\fP subdirectory which has been installed on your system
- ** alongside the documentation.
- ** (PGP only)
- */
- {"pgp_getkeys_command", DT_STR, R_NONE, UL &PgpGetkeysCommand, "" },
- /*
- ** .pp
- ** This command is invoked whenever Madmutt will need public key information.
- ** \fT%r\fP is the only \fTprintf(3)\fP-like sequence used with this format.
- ** (PGP only)
- */
- {"pgp_verify_command", DT_STR, R_NONE, UL &PgpVerifyCommand, "" },
- /*
- ** .pp
- ** This command is used to verify PGP signatures.
- ** (PGP only)
- */
- {"pgp_decrypt_command", DT_STR, R_NONE, UL &PgpDecryptCommand, "" },
- /*
- ** .pp
- ** This command is used to decrypt a PGP encrypted message.
- ** (PGP only)
- */
- {"pgp_clearsign_command", DT_STR, R_NONE, UL &PgpClearSignCommand, "" },
- /*
- ** .pp
- ** This format is used to create a old-style ``clearsigned'' PGP message.
- ** .pp
- ** Note that the use of this format is \fBstrongly\fP \fBdeprecated\fP.
- ** (PGP only)
- */
- {"pgp_sign_command", DT_STR, R_NONE, UL &PgpSignCommand, "" },
- /*
- ** .pp
- ** This command is used to create the detached PGP signature for a
- ** multipart/signed PGP/MIME body part.
- ** (PGP only)
- */
- {"pgp_encrypt_sign_command", DT_STR, R_NONE, UL &PgpEncryptSignCommand, "" },
- /*
- ** .pp
- ** This command is used to both sign and encrypt a body part.
- ** (PGP only)
- */
- {"pgp_encrypt_only_command", DT_STR, R_NONE, UL &PgpEncryptOnlyCommand, "" },
- /*
- ** .pp
- ** This command is used to encrypt a body part without signing it.
- ** (PGP only)
- */
- {"pgp_import_command", DT_STR, R_NONE, UL &PgpImportCommand, "" },
- /*
- ** .pp
- ** This command is used to import a key from a message into
- ** the user's public key ring.
- ** (PGP only)
- */
- {"pgp_export_command", DT_STR, R_NONE, UL &PgpExportCommand, "" },
- /*
- ** .pp
- ** This command is used to export a public key from the user's
- ** key ring.
- ** (PGP only)
- */
- {"pgp_verify_key_command", DT_STR, R_NONE, UL &PgpVerifyKeyCommand, "" },
- /*
- ** .pp
- ** This command is used to verify key information from the key selection
- ** menu.
- ** (PGP only)
- */
- {"pgp_list_secring_command", DT_STR, R_NONE, UL &PgpListSecringCommand, "" },
- /*
- ** .pp
- ** This command is used to list the secret key ring's contents. The
- ** output format must be analogous to the one used by
- ** \fTgpg --list-keys --with-colons\fP.
- ** .pp
- ** This format is also generated by the \fTpgpring\fP utility which comes
- ** with Madmutt.
- ** (PGP only)
- */
- {"pgp_list_pubring_command", DT_STR, R_NONE, UL &PgpListPubringCommand, "" },
- /*
- ** .pp
- ** This command is used to list the public key ring's contents. The
- ** output format must be analogous to the one used by
- ** \fTgpg --list-keys --with-colons\fP.
- ** .pp
- ** This format is also generated by the \fTpgpring\fP utility which comes
- ** with Madmutt.
- ** (PGP only)
- */
- {"forward_decrypt", DT_BOOL, R_NONE, OPTFORWDECRYPT, "yes" },
- /*
- ** .pp
- ** Controls the handling of encrypted messages when forwarding a message.
- ** When \fIset\fP, the outer layer of encryption is stripped off. This
- ** variable is only used if ``$$mime_forward'' is \fIset\fP and
- ** ``$$mime_forward_decode'' is \fIunset\fP.
- ** (PGP only)
- */
- {"smime_timeout", DT_NUM, R_NONE, UL &SmimeTimeout, "300" },
- /*
- ** .pp
- ** The number of seconds after which a cached passphrase will expire if
- ** not used.
- ** (S/MIME only)
- */
- {"smime_encrypt_with", DT_STR, R_NONE, UL &SmimeCryptAlg, "" },
- /*
- ** .pp
- ** This sets the algorithm that should be used for encryption.
- ** Valid choices are ``\fTdes\fP'', ``\fTdes3\fP'', ``\fTrc2-40\fP'',
- ** ``\fTrc2-64\fP'', ``\frc2-128\fP''.
- ** .pp
- ** If \fIunset\fP ``\fI3des\fP'' (TripleDES) is used.
- ** (S/MIME only)
- */
- {"smime_keys", DT_PATH, R_NONE, UL &SmimeKeys, "" },
- /*
- ** .pp
- ** Since there is no pubring/secring as with PGP, Madmutt has to handle
- ** storage ad retrieval of keys/certs by itself. This is very basic right now,
- ** and stores keys and certificates in two different directories, both
- ** named as the hash-value retrieved from OpenSSL. There is an index file
- ** which contains mailbox-address keyid pair, and which can be manually
- ** edited. This one points to the location of the private keys.
- ** (S/MIME only)
- */
- {"smime_ca_location", DT_PATH, R_NONE, UL &SmimeCALocation, "" },
- /*
- ** .pp
- ** This variable contains the name of either a directory, or a file which
- ** contains trusted certificates for use with OpenSSL.
- ** (S/MIME only)
- */
- {"smime_certificates", DT_PATH, R_NONE, UL &SmimeCertificates, "" },
- /*
- ** .pp
- ** Since there is no pubring/secring as with PGP, Madmutt has to handle
- ** storage and retrieval of keys by itself. This is very basic right
- ** now, and keys and certificates are stored in two different
- ** directories, both named as the hash-value retrieved from
- ** OpenSSL. There is an index file which contains mailbox-address
- ** keyid pairs, and which can be manually edited. This one points to
- ** the location of the certificates.
- ** (S/MIME only)