move all score things to lua.
[apps/madmutt.git] / init.h
diff --git a/init.h b/init.h
index c6e43ef..ae59a4f 100644 (file)
--- a/init.h
+++ b/init.h
  * please see the file GPL in the top level source directory.
  */
 
-#ifdef _MAKEDOC
-# include "config.h"
-#else
-# include "sort.h"
-#endif
-
+#include "sort.h"
 #include "mutt.h"
 
 #ifndef _MAKEDOC
@@ -72,27 +67,18 @@ struct option_t {
 /* build complete documentation */
 
 #ifdef _MAKEDOC
-# ifndef USE_SSL
-#  define USE_SSL
-# endif
 # ifndef USE_LIBESMTP
 #  define USE_LIBESMTP
 # endif
 # ifndef USE_NNTP
 #  define USE_NNTP
 # endif
-# ifndef USE_GNUTLS
-#  define USE_GNUTLS
-# endif
 # ifndef USE_HCACHE
 #  define USE_HCACHE
 # endif
 # ifndef HAVE_LIBIDN
 #  define HAVE_LIBIDN
 # endif
-# ifndef HAVE_GETADDRINFO
-#  define HAVE_GETADDRINFO
-# endif
 #endif
 
 struct option_t MuttVars[] = {
@@ -384,33 +370,7 @@ struct option_t MuttVars[] = {
    ** .pp
    ** This variable controls whether or not copies of your outgoing messages
    ** will be saved for later references.  Also see ``$$record'',
-   ** ``$$save_name'', ``$$force_name'' and ``$fcc-hook''.
-   */
-  {"crypt_use_gpgme", DT_BOOL, R_NONE, OPTCRYPTUSEGPGME, "no" },
-  /*
-   ** .pp
-   ** This variable controls the use the GPGME enabled crypto backends.
-   ** If it is \fIset\fP and Madmutt was build with gpgme support, the gpgme code for
-   ** S/MIME and PGP will be used instead of the classic code.
-   ** .pp
-   ** \fBNote\fP: You need to use this option in your \fT.madmuttrc\fP configuration
-   ** file as it won't have any effect when used interactively.
-   */
-  {"crypt_autopgp", DT_BOOL, R_NONE, OPTCRYPTAUTOPGP, "yes" },
-  /*
-   ** .pp
-   ** This variable controls whether or not Madmutt may automatically enable
-   ** PGP encryption/signing for messages.  See also ``$$crypt_autoencrypt'',
-   ** ``$$crypt_replyencrypt'',
-   ** ``$$crypt_autosign'', ``$$crypt_replysign'' and ``$$smime_is_default''.
-   */
-  {"crypt_autosmime", DT_BOOL, R_NONE, OPTCRYPTAUTOSMIME, "yes" },
-  /*
-   ** .pp
-   ** This variable controls whether or not Madmutt may automatically enable
-   ** S/MIME encryption/signing for messages. See also ``$$crypt_autoencrypt'',
-   ** ``$$crypt_replyencrypt'',
-   ** ``$$crypt_autosign'', ``$$crypt_replysign'' and ``$$smime_is_default''.
+   ** and ``$fcc-hook''.
    */
   {"date_format", DT_STR, R_BOTH, UL &DateFmt, "!%a, %b %d, %Y at %I:%M:%S%p %Z"},
   /*
@@ -618,15 +578,6 @@ struct option_t MuttVars[] = {
    ** message via mail.
    */
 #endif
-  {"force_name", DT_BOOL, R_NONE, OPTFORCENAME, "no" },
-  /*
-   ** .pp
-   ** This variable is similar to ``$$save_name'', except that Madmutt will
-   ** store a copy of your outgoing message by the username of the address
-   ** you are sending to even if that mailbox does not exist.
-   ** .pp
-   ** Also see the ``$$record'' variable.
-   */
   {"force_buffy_check", DT_BOOL, R_NONE, OPTFORCEBUFFYCHECK, "no" },
   /*
    ** .pp
@@ -1072,7 +1023,7 @@ struct option_t MuttVars[] = {
    ** maximum line length is determined by the terminal width and $$wrapmargin.
    */
 #ifdef USE_HCACHE
-  {"header_cache", DT_PATH, R_NONE, UL &HeaderCache, "" },
+  {"header_cache", DT_PATH, R_NONE, UL &HeaderCache, "~/.cache/madmutt/" },
   /*
    ** .pp
    ** Availability: Header Cache
@@ -1085,17 +1036,7 @@ struct option_t MuttVars[] = {
    ** be a single global header cache. By default it is \fIunset\fP so no
    ** header caching will be used.
    */
-  {"maildir_header_cache_verify", DT_BOOL, R_NONE, OPTHCACHEVERIFY, "yes" },
-  /*
-   ** .pp
-   ** Availability: Header Cache
-   **
-   ** .pp
-   ** Check for Maildir unaware programs other than Madmutt having modified maildir
-   ** files when the header cache is in use. This incurs one \fTstat(2)\fP per
-   ** message every time the folder is opened.
-   */
-#if defined(HAVE_GDBM) || defined(HAVE_DB4)
+#if defined(HAVE_GDBM)
   {"header_cache_pagesize", DT_STR, R_NONE, UL &HeaderCachePageSize, "16384"},
   /*
    ** .pp
@@ -1110,7 +1051,7 @@ struct option_t MuttVars[] = {
    ** less the best you can get. For details google for mutt header
    ** cache (first hit).
    */
-#endif /* HAVE_GDBM || HAVE_DB 4 */
+#endif /* HAVE_GDBM */
 #ifdef HAVE_QDBM
   { "header_cache_compress", DT_BOOL, R_NONE, OPTHCACHECOMPRESS, "no" },
   /*
@@ -1233,7 +1174,7 @@ struct option_t MuttVars[] = {
   /*
    ** .pp
    ** The default mailbox type used when creating new folders. May be any of
-   ** \fTmbox\fP, \fTMMDF\fP, \fTMH\fP and \fTMaildir\fP.
+   ** \fTmbox\fP, \fTMH\fP and \fTMaildir\fP.
    */
   {"metoo", DT_BOOL, R_NONE, OPTMETOO, "no" },
   /*
@@ -1519,19 +1460,6 @@ struct option_t MuttVars[] = {
   ** .pp
   ** See also ``$$read_inc'' and ``$$write_inc''.
   */
-  {"pager", DT_PATH, R_NONE, UL &Pager, "builtin"},
-  /*
-   ** .pp
-   ** This variable specifies which pager you would like to use to view
-   ** messages. ``builtin'' means to use the builtin pager, otherwise this
-   ** variable should specify the pathname of the external pager you would
-   ** like to use.
-   ** .pp
-   ** Using an external pager may have some disadvantages: Additional
-   ** keystrokes are necessary because you can't call Madmutt functions
-   ** directly from the pager, and screen resizes cause lines longer than
-   ** the screen width to be badly formatted in the help menu.
-   */
   {"pager_context", DT_NUM, R_NONE, UL &PagerContext, "0" },
   /*
    ** .pp
@@ -1570,160 +1498,6 @@ struct option_t MuttVars[] = {
    ** 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
@@ -1735,46 +1509,6 @@ struct option_t MuttVars[] = {
    ** 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
@@ -1791,13 +1525,6 @@ struct option_t MuttVars[] = {
    ** keyid form to specify your key (e.g., ``\fT0x00112233\fP'').
    ** (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
@@ -1815,17 +1542,6 @@ struct option_t MuttVars[] = {
    ** ``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
@@ -1837,119 +1553,6 @@ struct option_t MuttVars[] = {
    ** 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
@@ -1959,13 +1562,6 @@ struct option_t MuttVars[] = {
    ** ``$$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
@@ -1976,131 +1572,6 @@ struct option_t MuttVars[] = {
    ** 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)
-   */
-  {"smime_decrypt_command", DT_STR, R_NONE, UL &SmimeDecryptCommand, "" },
-  /*
-   ** .pp
-   ** This format string specifies a command which is used to decrypt
-   ** \fTapplication/x-pkcs7-mime\fP attachments.
-   ** .pp
-   ** The OpenSSL command formats have their own set of \fTprintf(3)\fP-like sequences
-   ** similar to PGP's:
-   ** .pp
-   ** .dl
-   ** .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 %k .dd The key-pair specified with $$smime_default_key
-   ** .dt %c .dd One or more certificate IDs.
-   ** .dt %a .dd The algorithm used for encryption.
-   ** .dt %C .dd CA location:  Depending on whether $$smime_ca_location
-   ** .          points to a directory or file, this expands to
-   ** .          "-CApath $$smime_ca_location" or "-CAfile $$smime_ca_location".
-   ** .de
-   ** .pp
-   ** For examples on how to configure these formats, see the smime.rc in
-   ** the \fTsamples/\fP subdirectory which has been installed on your system
-   ** alongside the documentation.
-   ** (S/MIME only)
-   */
-  {"smime_verify_command", DT_STR, R_NONE, UL &SmimeVerifyCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to verify S/MIME signatures of type \fTmultipart/signed\fP.
-   ** (S/MIME only)
-   */
-  {"smime_verify_opaque_command", DT_STR, R_NONE, UL &SmimeVerifyOpaqueCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to verify S/MIME signatures of type
-   ** \fTapplication/x-pkcs7-mime\fP.
-   ** (S/MIME only)
-   */
-  {"smime_sign_command", DT_STR, R_NONE, UL &SmimeSignCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to created S/MIME signatures of type
-   ** \fTmultipart/signed\fP, which can be read by all mail clients.
-   ** (S/MIME only)
-   */
-  {"smime_sign_opaque_command", DT_STR, R_NONE, UL &SmimeSignOpaqueCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to created S/MIME signatures of type
-   ** \fTapplication/x-pkcs7-signature\fP, which can only be handled by mail
-   ** clients supporting the S/MIME extension.
-   ** (S/MIME only)
-   */
-  {"smime_encrypt_command", DT_STR, R_NONE, UL &SmimeEncryptCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to create encrypted S/MIME messages.
-   ** (S/MIME only)
-   */
-  {"smime_pk7out_command", DT_STR, R_NONE, UL &SmimePk7outCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to extract PKCS7 structures of S/MIME signatures,
-   ** in order to extract the public X509 certificate(s).
-   ** (S/MIME only)
-   */
-  {"smime_get_cert_command", DT_STR, R_NONE, UL &SmimeGetCertCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to extract X509 certificates from a PKCS7 structure.
-   ** (S/MIME only)
-   */
-  {"smime_get_signer_cert_command", DT_STR, R_NONE, UL &SmimeGetSignerCertCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to extract only the signers X509 certificate from a S/MIME
-   ** signature, so that the certificate's owner may get compared to the
-   ** email's ``\fTFrom:\fP'' header field.
-   ** (S/MIME only)
-   */
-  {"smime_import_cert_command", DT_STR, R_NONE, UL &SmimeImportCertCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to import a certificate via \fTsmime_keysng\fP.
-   ** (S/MIME only)
-   */
-  {"smime_get_cert_email_command", DT_STR, R_NONE, UL &SmimeGetCertEmailCommand, "" },
-  /*
-   ** .pp
-   ** This command is used to extract the mail address(es) used for storing
-   ** X509 certificates, and for verification purposes (to check whether the
-   ** certificate was issued for the sender's mailbox).
-   ** (S/MIME only)
-   */
   {"smime_default_key", DT_STR, R_NONE, UL &SmimeDefaultKey, "" },
   /*
    ** .pp
@@ -2157,137 +1628,15 @@ struct option_t MuttVars[] = {
   {"smtp_use_tls", DT_STR, R_NONE, UL &SmtpUseTLS, "" },
   /*
    ** .pp
-   ** Availability: SMTP (and SSL)
+   ** Availability: SMTP
    **
    ** .pp
    ** Defines wether to use STARTTLS. If this option is set to ``\fIrequired\fP''
    ** and the server does not support STARTTLS or there is an error in the
    ** TLS Handshake, the connection will fail. Setting this to ``\fIenabled\fP''
    ** will try to start TLS and continue without TLS in case of an error.
-   **
-   **.pp
-   ** Madmutt still needs to have SSL support enabled in order to use it.
    */
 #endif
-#if defined(USE_SSL) || defined(USE_GNUTLS)
-#ifdef USE_SSL
-  {"ssl_client_cert", DT_PATH, R_NONE, UL &SslClientCert, "" },
-  /*
-   ** .pp
-   ** Availability: SSL
-   **
-   ** .pp
-   ** The file containing a client certificate and its associated private
-   ** key.
-   */
-#endif /* USE_SSL */
-  {"ssl_force_tls", DT_BOOL, R_NONE, OPTSSLFORCETLS, "no" },
-  /*
-   ** .pp
-   ** If this variable is \fIset\fP, Madmutt will require that all connections
-   ** to remote servers be encrypted. Furthermore it will attempt to
-   ** negotiate TLS even if the server does not advertise the capability,
-   ** since it would otherwise have to abort the connection anyway. This
-   ** option supersedes ``$$ssl_starttls''.
-   */
-  {"ssl_starttls", DT_QUAD, R_NONE, OPT_SSLSTARTTLS, "yes" },
-  /*
-   ** .pp
-   ** Availability: SSL or GNUTLS
-   **
-   ** .pp
-   ** If \fIset\fP (the default), Madmutt will attempt to use STARTTLS on servers
-   ** advertising the capability. When \fIunset\fP, Madmutt will not attempt to
-   ** use STARTTLS regardless of the server's capabilities.
-   */
-  {"certificate_file", DT_PATH, R_NONE, UL &SslCertFile, "~/.mutt_certificates"},
-  /*
-   ** .pp
-   ** Availability: SSL or GNUTLS
-   **
-   ** .pp
-   ** This variable specifies the file where the certificates you trust
-   ** are saved. When an unknown certificate is encountered, you are asked
-   ** if you accept it or not. If you accept it, the certificate can also
-   ** be saved in this file and further connections are automatically
-   ** accepted.
-   ** .pp
-   ** You can also manually add CA certificates in this file. Any server
-   ** certificate that is signed with one of these CA certificates are
-   ** also automatically accepted.
-   ** .pp
-   ** Example: \fTset certificate_file=~/.madmutt/certificates\fP
-   */
-# if defined(_MAKEDOC) || !defined (USE_GNUTLS)
-  {"ssl_usesystemcerts", DT_BOOL, R_NONE, OPTSSLSYSTEMCERTS, "yes" },
-  /*
-   ** .pp
-   ** Availability: SSL
-   **
-   ** .pp
-   ** If set to \fIyes\fP, Madmutt will use CA certificates in the
-   ** system-wide certificate store when checking if server certificate
-   ** is signed by a trusted CA.
-   */
-  {"entropy_file", DT_PATH, R_NONE, UL &SslEntropyFile, "" },
-  /*
-   ** .pp
-   ** Availability: SSL
-   **
-   ** .pp
-   ** The file which includes random data that is used to initialize SSL
-   ** library functions.
-   */
-  {"ssl_use_sslv2", DT_BOOL, R_NONE, OPTSSLV2, "no" },
-  /*
-   ** .pp
-   ** Availability: SSL
-   **
-   ** .pp
-   ** This variables specifies whether to attempt to use SSLv2 in the
-   ** SSL authentication process.
-   */
-# endif /* _MAKEDOC || !USE_GNUTLS */
-  {"ssl_use_sslv3", DT_BOOL, R_NONE, OPTSSLV3, "yes" },
-  /*
-   ** .pp
-   ** Availability: SSL or GNUTLS
-   **
-   ** .pp
-   ** This variables specifies whether to attempt to use SSLv3 in the
-   ** SSL authentication process.
-   */
-  {"ssl_use_tlsv1", DT_BOOL, R_NONE, OPTTLSV1, "yes" },
-  /*
-   ** .pp
-   ** Availability: SSL or GNUTLS
-   **
-   ** .pp
-   ** This variables specifies whether to attempt to use TLSv1 in the
-   ** SSL authentication process.
-   */
-# ifdef USE_GNUTLS
-  {"ssl_min_dh_prime_bits", DT_NUM, R_NONE, UL &SslDHPrimeBits, "0" },
-  /*
-   ** .pp
-   ** Availability: GNUTLS
-   **
-   ** .pp
-   ** This variable specifies the minimum acceptable prime size (in bits)
-   ** for use in any Diffie-Hellman key exchange. A value of 0 will use
-   ** the default from the GNUTLS library.
-   */
-  {"ssl_ca_certificates_file", DT_PATH, R_NONE, UL &SslCACertFile, "" },
-  /*
-   ** .pp
-   ** This variable specifies a file containing trusted CA certificates.
-   ** Any server certificate that is signed with one of these CA
-   ** certificates are also automatically accepted.
-   ** .pp
-   ** Example: \fTset ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt\fP
-   */
-# endif /* USE_GNUTLS */
-# endif /* USE_SSL || USE_GNUTLS */
   {"pipe_split", DT_BOOL, R_NONE, OPTPIPESPLIT, "no" },
   /*
    ** .pp
@@ -2327,14 +1676,6 @@ struct option_t MuttVars[] = {
    ** .pp
    ** Example: \fTset pop_authenticators="digest-md5:apop:user"\fP
    */
-  {"pop_auth_try_all", DT_BOOL, R_NONE, OPTPOPAUTHTRYALL, "yes" },
-  /*
-   ** .pp
-   ** If \fIset\fP, Madmutt will try all available methods. When \fIunset\fP, Madmutt will
-   ** only fall back to other authentication methods if the previous
-   ** methods are unavailable. If a method is available but authentication
-   ** fails, Madmutt will not connect to the POP server.
-   */
   {"pop_mail_check", DT_NUM, R_NONE, UL &PopCheckTimeout, "60" },
   /*
    ** .pp
@@ -2390,12 +1731,6 @@ struct option_t MuttVars[] = {
    ** presents a security risk since the superuser of your machine may read it
    ** regardless of the file's permissions.
    */
-  {"post_indent_string", DT_STR, R_NONE, UL &PostIndentString, ""},
-  /*
-   ** .pp
-   ** Similar to the ``$$attribution'' variable, Madmutt will append this
-   ** string after the inclusion of a message which is being replied to.
-   */
 #ifdef USE_NNTP
   {"nntp_post_moderated", DT_QUAD, R_NONE, OPT_TOMODERATED, "ask-yes" },
   /*
@@ -2629,66 +1964,6 @@ struct option_t MuttVars[] = {
    ** possibly including eventual real names.  When it is \fIunset\fP, Madmutt will
    ** override any such real names with the setting of the $realname variable.
    */
-  {"save_address", DT_BOOL, R_NONE, OPTSAVEADDRESS, "no" },
-  /*
-   ** .pp
-   ** If \fIset\fP, Madmutt will take the sender's full address when choosing a
-   ** default folder for saving a mail. If ``$$save_name'' or ``$$force_name''
-   ** is \fIset\fP too, the selection of the fcc folder will be changed as well.
-   */
-  {"save_empty", DT_BOOL, R_NONE, OPTSAVEEMPTY, "yes" },
-  /*
-   ** .pp
-   ** When \fIunset\fP, mailboxes which contain no saved messages will be removed
-   ** when closed (the exception is ``$$spoolfile'' which is never removed).
-   ** If \fIset\fP, mailboxes are never removed.
-   ** .pp
-   ** \fBNote:\fP This only applies to mbox and MMDF folders, Madmutt does not
-   ** delete MH and Maildir directories.
-   */
-  {"save_name", DT_BOOL, R_NONE, OPTSAVENAME, "no" },
-  /*
-   ** .pp
-   ** This variable controls how copies of outgoing messages are saved.
-   ** When set, a check is made to see if a mailbox specified by the
-   ** recipient address exists (this is done by searching for a mailbox in
-   ** the ``$$folder'' directory with the \fIusername\fP part of the
-   ** recipient address).  If the mailbox exists, the outgoing message will
-   ** be saved to that mailbox, otherwise the message is saved to the
-   ** ``$$record'' mailbox.
-   ** .pp
-   ** Also see the ``$$force_name'' variable.
-   */
-  {"score", DT_BOOL, R_NONE, OPTSCORE, "yes" },
-  /*
-   ** .pp
-   ** When this variable is \fIunset\fP, scoring is turned off.  This can
-   ** be useful to selectively disable scoring for certain folders when the
-   ** ``$$score_threshold_delete'' variable and friends are used.
-   **
-   */
-  {"score_threshold_delete", DT_NUM, R_NONE, UL &ScoreThresholdDelete, "-1" },
-  /*
-   ** .pp
-   ** Messages which have been assigned a score equal to or lower than the value
-   ** of this variable are automatically marked for deletion by Madmutt.  Since
-   ** Madmutt scores are always greater than or equal to zero, the default setting
-   ** of this variable will never mark a message for deletion.
-   */
-  {"score_threshold_flag", DT_NUM, R_NONE, UL &ScoreThresholdFlag, "9999" },
-  /*
-   ** .pp
-   ** Messages which have been assigned a score greater than or equal to this
-   ** variable's value are automatically marked ``flagged''.
-   */
-  {"score_threshold_read", DT_NUM, R_NONE, UL &ScoreThresholdRead, "-1" },
-  /*
-   ** .pp
-   ** Messages which have been assigned a score equal to or lower than the value
-   ** of this variable are automatically marked as read by Madmutt.  Since
-   ** Madmutt scores are always greater than or equal to zero, the default setting
-   ** of this variable will never mark a message read.
-   */
 #ifdef USE_NNTP
   {"nntp_save_unsubscribed", DT_BOOL, R_NONE, OPTSAVEUNSUB, "no" },
   /*
@@ -3118,7 +2393,6 @@ struct option_t MuttVars[] = {
    ** This variable only affects decoding.
    */
 #endif /* HAVE_LIBIDN */
-#ifdef HAVE_GETADDRINFO
   {"use_ipv6", DT_BOOL, R_NONE, OPTUSEIPV6, "yes" },
   /*
    ** .pp
@@ -3126,7 +2400,6 @@ struct option_t MuttVars[] = {
    ** contact.  If this option is \fIunset\fP, Madmutt will restrict itself to IPv4 addresses.
    ** Normally, the default should work.
    */
-#endif /* HAVE_GETADDRINFO */
   {"agent_string", DT_BOOL, R_NONE, OPTXMAILER, "yes" },
   /*
    ** .pp
@@ -3332,11 +2605,9 @@ struct command_t Commands[] = {
     {"macro",               mutt_parse_macro,      0},
     {"mono",                mutt_parse_mono,       0},
     {"push",                mutt_parse_push,       0},
-    {"score",               mutt_parse_score,      0},
     {"uncolor",             mutt_parse_uncolor,    0},
     {"unhook",              mutt_parse_unhook,     0},
     {"unmono",              mutt_parse_unmono,     0},
-    {"unscore",             mutt_parse_unscore,    0},
     {"alias",               parse_alias,           0},
     {"attachments",         parse_attachments,     0 },
     {"my_hdr",              parse_my_hdr,          0},