drop account-hooks for now.
[apps/madmutt.git] / init.h
diff --git a/init.h b/init.h
index 89eba35..f2550a2 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
@@ -29,8 +24,6 @@
 #define DT_SORT         6       /* sorting methods */
 #define DT_RX           7       /* regular expressions */
 #define DT_MAGIC        8       /* mailbox type */
-#define DT_SYN          9       /* synonym for another variable */
-#define DT_ADDR         10      /* e-mail address */
 
 #define DTYPE(x) ((x) & DT_MASK)
 
@@ -74,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[] = {
@@ -386,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"},
   /*
@@ -620,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
@@ -667,20 +616,6 @@ struct option_t MuttVars[] = {
    ** message (when ``$$mime_forward'' is \fIunset\fP) will be quoted using
    ** ``$$indent_string''.
    */
-  {"from", DT_ADDR, R_NONE, UL &From, "" },
-  /*
-   ** .pp
-   ** This variable contains a default from address.  It
-   ** can be overridden using my_hdr (including from send-hooks) and
-   ** ``$$reverse_name''.  This variable is ignored if ``$$use_from''
-   ** is unset.
-   ** .pp
-   ** E.g. you can use
-   ** \fTsend-hook Madmutt-devel@lists.berlios.de 'my_hdr From: Foo Bar <foo@bar.fb>'\fP
-   ** when replying to the Madmutt developer's mailing list and Madmutt takes this email address.
-   ** .pp
-   ** Defaults to the contents of the environment variable \fT$$$EMAIL\fP.
-   */
 #ifdef USE_NNTP
   {"nntp_group_index_format", DT_STR, R_BOTH, UL &GroupFormat, "%4C %M%N %5s  %-45.45f %d"},
   /*
@@ -1088,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
@@ -1101,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
@@ -1126,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" },
   /*
@@ -1249,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" },
   /*
@@ -1535,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
@@ -1586,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
@@ -1751,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
@@ -1807,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
@@ -1831,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
@@ -1853,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
@@ -1975,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
@@ -1992,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
@@ -2173,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
@@ -2343,15 +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_checkinterval", DT_SYN, R_NONE, UL "pop_mail_check", 0},
   {"pop_mail_check", DT_NUM, R_NONE, UL &PopCheckTimeout, "60" },
   /*
    ** .pp
@@ -2407,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" },
   /*
@@ -2575,17 +1893,6 @@ struct option_t MuttVars[] = {
    ** Setting this variable to \fIyes\fP is not generally useful, and thus not
    ** recommended.
    */
-  {"record", DT_PATH, R_NONE, UL &Outbox, ""},
-  /*
-   ** .pp
-   ** This specifies the file into which your outgoing messages should be
-   ** appended.  (This is meant as the primary method for saving a copy of
-   ** your messages, but another way to do this is using the ``$my_hdr''
-   ** command to create a \fTBcc:\fP header field with your email address in it.)
-   ** .pp
-   ** The value of \fI$$record\fP is overridden by the ``$$force_name'' and
-   ** ``$$save_name'' variables, and the ``$fcc-hook'' command.
-   */
   {"reply_regexp", DT_RX, R_INDEX|R_RESORT, UL &ReplyRegexp, "^(re([\\[0-9\\]+])*|aw):[ \t]*"},
   /*
    ** .pp
@@ -2657,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" },
   /*
@@ -2762,14 +2009,6 @@ struct option_t MuttVars[] = {
    ** For example, Madmutt has the ability to highlight
    ** the signature in a different color in the builtin pager.
    */
-  {"signature", DT_PATH, R_NONE, UL &Signature, "~/.signature"},
-  /*
-   ** .pp
-   ** Specifies the filename of your signature, which is appended to all
-   ** outgoing messages.   If the filename ends with a pipe (``\fT|\fP''), it is
-   ** assumed that filename is a shell command and input should be read from
-   ** its stdout.
-   */
   {"signoff_string", DT_STR, R_NONE, UL &SignOffString, "" },
   /*
    ** .pp
@@ -3154,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
@@ -3162,8 +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 */
-  {"user_agent", DT_SYN, R_NONE, UL "agent_string", 0 },
   {"agent_string", DT_BOOL, R_NONE, OPTXMAILER, "yes" },
   /*
    ** .pp
@@ -3332,14 +2568,10 @@ const struct mapping_t SortKeyMethods[] = {
 
 /* functions used to parse commands in a rc file */
 
-static int parse_list (BUFFER *, BUFFER *, unsigned long, BUFFER *);
-static int parse_unlist (BUFFER *, BUFFER *, unsigned long, BUFFER *);
 static int parse_attachments (BUFFER *, BUFFER *, unsigned long, BUFFER *);
 static int parse_unattachments (BUFFER *, BUFFER *, unsigned long, BUFFER *);
 static int parse_alias (BUFFER *, BUFFER *, unsigned long, BUFFER *);
 static int parse_unalias (BUFFER *, BUFFER *, unsigned long, BUFFER *);
-static int parse_ignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
-static int parse_unignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
 static int parse_source (BUFFER *, BUFFER *, unsigned long, BUFFER *);
 static int parse_set (BUFFER *, BUFFER *, unsigned long, BUFFER *);
 static int parse_my_hdr (BUFFER *, BUFFER *, unsigned long, BUFFER *);
@@ -3355,7 +2587,6 @@ struct command_t Commands[] = {
     {"bind",                mutt_parse_bind,       0},
     {"color",               mutt_parse_color,      0},
     {"exec",                mutt_parse_exec,       0},
-    {"account-hook",        mutt_parse_hook,       M_ACCOUNTHOOK},
     {"append-hook",         mutt_parse_hook,       M_APPENDHOOK},
     {"close-hook",          mutt_parse_hook,       M_CLOSEHOOK},
     {"crypt-hook",          mutt_parse_hook,       M_CRYPTHOOK},
@@ -3373,15 +2604,11 @@ 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 },
-    {"ignore",              parse_ignore,          0},
-    {"hdr_order",           parse_list,            UL &HeaderOrderList},
     {"my_hdr",              parse_my_hdr,          0},
     {"reset",               parse_set,             M_SET_RESET},
     {"set",                 parse_set,             0},
@@ -3390,8 +2617,6 @@ struct command_t Commands[] = {
     {"source",              parse_source,          0},
     {"unalias",             parse_unalias,         0},
     {"unattachments",       parse_unattachments,   0},
-    {"unignore",            parse_unignore,        0},
-    {"unhdr_order",         parse_unlist,          UL &HeaderOrderList},
     {"unmy_hdr",            parse_unmy_hdr,        0},
     {NULL, NULL, 0}
 };