X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=init.h;h=1e13e522e84aea9235f69af575a26f0f6be1785c;hp=34601d36973819893d0aa1605b17279cc3f7d447;hb=6bd721e672e74635b2d27511bf0a9344e5dac0f8;hpb=0ecf3d77dc355f4bea99910a9dfb6f5866c9f73a diff --git a/init.h b/init.h index 34601d3..1e13e52 100644 --- a/init.h +++ b/init.h @@ -105,6 +105,21 @@ struct feature_t { # ifndef USE_GNUTLS # define USE_GNUTLS # endif +# ifndef USE_DOTLOCK +# define USE_DOTLOCK +# endif +# ifndef DL_STANDALONE +# define DL_STANDALONE +# 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[] = { @@ -210,7 +225,8 @@ struct option_t MuttVars[] = { ** This variable is valid only if $$strict_mime is unset. */ #ifdef USE_NNTP - {"ask_follow_up", DT_BOOL, R_NONE, OPTASKFOLLOWUP, 0}, + {"ask_followup_to", DT_SYN, R_NONE, UL "nntp_ask_followup_to", 0}, + {"nntp_ask_followup_to", DT_BOOL, R_NONE, OPTASKFOLLOWUP, 0}, /* ** .pp ** Availability: NNTP @@ -219,7 +235,8 @@ struct option_t MuttVars[] = { ** If \fIset\fP, Mutt-ng will prompt you for the \fTFollowup-To:\fP header ** field before editing the body of an outgoing news article. */ - {"ask_x_comment_to", DT_BOOL, R_NONE, OPTASKXCOMMENTTO, 0}, + {"ask_x_comment_to", DT_SYN, R_NONE, UL "nntp_ask_x_comment_to", 0}, + {"nntp_ask_x_comment_to", DT_BOOL, R_NONE, OPTASKXCOMMENTTO, 0}, /* ** .pp ** Availability: NNTP @@ -321,8 +338,18 @@ struct option_t MuttVars[] = { ** \fTDelivered-To:\fP header fields when bouncing messages. ** Postfix users may wish to \fIunset\fP this variable. */ + { "braille_friendly", DT_BOOL, R_NONE, OPTBRAILLEFRIENDLY, 0 }, + /* + ** .pp + ** When this variable is set, mutt will place the cursor at the beginning + ** of the current line in menus, even when the arrow_cursor variable + ** is unset, making it easier for blind persons using Braille displays to + ** follow these menus. The option is disabled by default because many + ** visual terminals don't permit making the cursor invisible. + */ #ifdef USE_NNTP - {"catchup_newsgroup", DT_QUAD, R_NONE, OPT_CATCHUP, M_ASKYES}, + {"catchup_newsgroup", DT_SYN, R_NONE, UL "nntp_catchup", 0}, + {"nntp_catchup", DT_QUAD, R_NONE, OPT_CATCHUP, M_ASKYES}, /* ** .pp ** Availability: NNTP @@ -515,7 +542,7 @@ struct option_t MuttVars[] = { /* ** .pp ** \fBNote:\fP you should not enable this unless you are using Sendmail - ** 8.8.x or greater. + ** 8.8.x or greater or in connection with the SMTP support via libESMTP. ** .pp ** This variable sets the request for when notification is returned. The ** string consists of a comma separated list (no spaces!) of one or more @@ -530,7 +557,7 @@ struct option_t MuttVars[] = { /* ** .pp ** \fBNote:\fP you should not enable this unless you are using Sendmail - ** 8.8.x or greater. + ** 8.8.x or greater or in connection with the SMTP support via libESMTP. ** .pp ** This variable controls how much of your message is returned in DSN ** messages. It may be set to either \fIhdrs\fP to return just the @@ -552,9 +579,6 @@ struct option_t MuttVars[] = { ** This option allows you to edit the header of your outgoing messages ** along with the body of your message. */ - {"edit_hdrs", DT_SYN, R_NONE, UL "edit_headers", 0}, - /* - */ {"editor", DT_PATH, R_NONE, UL &Editor, 0}, /* ** .pp @@ -676,7 +700,8 @@ struct option_t MuttVars[] = { ** of the same email for you. */ #ifdef USE_NNTP - {"followup_to_poster", DT_QUAD, R_NONE, OPT_FOLLOWUPTOPOSTER, M_ASKYES}, + {"followup_to_poster", DT_SYN, R_NONE, UL "nntp_followup_to_poster", 0}, + {"nntp_followup_to_poster", DT_QUAD, R_NONE, OPT_FOLLOWUPTOPOSTER, M_ASKYES}, /* ** .pp ** Availability: NNTP @@ -715,9 +740,6 @@ struct option_t MuttVars[] = { ** This variable is only used, if ``$$mime_forward'' is \fIunset\fP, ** otherwise ``$$mime_forward_decode'' is used instead. */ - {"forw_decode", DT_SYN, R_NONE, UL "forward_decode", 0}, - /* - */ {"forward_edit", DT_QUAD, R_NONE, OPT_FORWEDIT, M_YES}, /* ** .pp @@ -731,9 +753,6 @@ struct option_t MuttVars[] = { ** This variable controls the default subject when forwarding a message. ** It uses the same format sequences as the ``$$index_format'' variable. */ - {"forw_format", DT_SYN, R_NONE, UL "forward_format", 0}, - /* - */ {"forward_quote", DT_BOOL, R_NONE, OPTFORWQUOTE, 0}, /* ** .pp @@ -741,9 +760,6 @@ struct option_t MuttVars[] = { ** message (when ``$$mime_forward'' is \fIunset\fP) will be quoted using ** ``$$indent_string''. */ - {"forw_quote", DT_SYN, R_NONE, UL "forward_quote", 0}, - /* - */ {"from", DT_ADDR, R_NONE, UL &From, UL 0}, /* ** .pp @@ -774,7 +790,8 @@ struct option_t MuttVars[] = { ** ``Franklin'' to ``Franklin, Steve''. */ #ifdef USE_NNTP - {"group_index_format", DT_STR, R_BOTH, UL &GroupFormat, UL "%4C %M%N %5s %-45.45f %d"}, + {"group_index_format", DT_SYN, R_NONE, UL "nntp_group_index_format", 0}, + {"nntp_group_index_format", DT_STR, R_BOTH, UL &GroupFormat, UL "%4C %M%N %5s %-45.45f %d"}, /* ** .pp ** Availability: NNTP @@ -797,9 +814,6 @@ struct option_t MuttVars[] = { ** .te */ #endif - {"hdr_format", DT_SYN, R_NONE, UL "index_format", 0}, - /* - */ {"hdrs", DT_BOOL, R_NONE, OPTHDRS, 1}, /* ** .pp @@ -925,6 +939,14 @@ struct option_t MuttVars[] = { ** the previous methods are unavailable. If a method is available but ** authentication fails, Mutt-ng will not connect to the IMAP server. */ + { "imap_check_subscribed", DT_BOOL, R_NONE, OPTIMAPCHECKSUBSCRIBED, 0 }, + /* + ** .pp + ** When \fIset\fP, mutt will fetch the set of subscribed folders from + ** your server on connection, and add them to the set of mailboxes + ** it polls for new mail. See also the ``$mailboxes'' command. + */ + {"imap_delim_chars", DT_STR, R_NONE, UL &ImapDelimChars, UL "/."}, /* ** .pp @@ -935,17 +957,6 @@ struct option_t MuttVars[] = { ** as folder separators for displaying IMAP paths. In particular it ** helps in using the '\fT=\fP' shortcut for your $$folder variable. */ -# if defined(USE_SSL) || defined(USE_GNUTLS) - {"imap_force_ssl", DT_BOOL, R_NONE, OPTIMAPFORCESSL, 0}, - /* - ** .pp - ** Availability: IMAP and SSL or IMAP and GNUTLS - ** - ** .pp - ** If this variable is \fIset\fP, Mutt-ng will always use SSL when - ** connecting to IMAP servers. - */ -# endif {"imap_headers", DT_STR, R_INDEX, UL &ImapHeaders, UL 0}, /* ** .pp @@ -988,6 +999,16 @@ struct option_t MuttVars[] = { ** Reduce this number if you find yourself ** getting disconnected from your IMAP server due to inactivity. */ + {"imap_login", DT_STR, R_NONE, UL &ImapLogin, 0 }, + /* + ** .pp + ** Availability: IMAP + ** + ** .pp + ** Your login name on the IMAP server. + ** .pp + ** This variable defaults to the value of ``$$imap_user.'' + */ {"imap_list_subscribed", DT_BOOL, R_NONE, OPTIMAPLSUB, 0}, /* ** .pp @@ -998,15 +1019,12 @@ struct option_t MuttVars[] = { ** only subscribed folders or all folders. This can be toggled in the ** IMAP browser with the \fItoggle-subscribed\fP function. */ - {"imap_mail_check", DT_NUM, R_NONE, UL &ImapBuffyTimeout, 5}, + {"imap_mail_check", DT_NUM, R_NONE, UL &ImapBuffyTimeout, 300}, /* ** .pp ** This variable configures how often (in seconds) Mutt-ng should look for ** new mail in IMAP folders. This is split from the ``$mail_check'' variable ** to generate less traffic and get more accurate information for local folders. - ** .pp - ** It defaults to the default value of ``$mail_check'' which is 5 seconds. But - ** you may want to increase it. */ {"imap_pass", DT_STR, R_NONE, UL &ImapPass, UL 0}, /* @@ -1071,7 +1089,8 @@ struct option_t MuttVars[] = { ** Availability: IMAP ** ** .pp - ** Your login name on the IMAP server. + ** The name of the user whose mail you intend to access on the IMAP + ** server. ** .pp ** This variable defaults to your user name on the local machine. */ @@ -1104,9 +1123,6 @@ struct option_t MuttVars[] = { ** message to which you are replying. You are strongly encouraged not to ** change this value, as it tends to agitate the more fanatical netizens. */ - {"indent_str", DT_SYN, R_NONE, UL "indent_string", 0}, - /* - */ {"index_format", DT_STR, R_BOTH, UL &HdrFmt, UL "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"}, /* ** .pp @@ -1176,7 +1192,8 @@ struct option_t MuttVars[] = { ** See also: ``$$to_chars''. */ #ifdef USE_NNTP - {"inews", DT_PATH, R_NONE, UL &Inews, UL ""}, + {"inews", DT_SYN, R_NONE, UL "nntp_inews", 0}, + {"nntp_inews", DT_PATH, R_NONE, UL &Inews, UL ""}, /* ** .pp ** Availability: NNTP @@ -1218,7 +1235,15 @@ struct option_t MuttVars[] = { ** from (instead to the author only). Setting this option to ``\fIask-yes\fP'' or ** ``\fIask-no\fP'' will ask if you really intended to reply to the author only. */ - {"max_line_length", DT_NUM, R_NONE, UL &MaxLineLength, 0}, + {"max_display_recips", DT_NUM, R_PAGER, UL &MaxDispRecips, 0}, + /* + ** .pp + ** When set non-zero, this specifies the maximum number of recipient header + ** lines (\fTTo:\fP, \fTCc:\fP and \fTBcc:\fP) to display in the pager if header + ** weeding is turned on. In case the number of lines exeeds its value, the + ** last line will have 3 dots appended. + */ + {"max_line_length", DT_NUM, R_PAGER, UL &MaxLineLength, 0}, /* ** .pp ** When \fIset\fP, the maximum line length for displaying ``format = flowed'' messages is limited @@ -1249,7 +1274,7 @@ struct option_t MuttVars[] = { ** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE ** DOING!\fP */ -#if USE_HCACHE +#ifdef USE_HCACHE {"header_cache", DT_PATH, R_NONE, UL &HeaderCache, 0}, /* @@ -1274,6 +1299,7 @@ struct option_t MuttVars[] = { ** files when the header cache is in use. This incurs one \fTstat(2)\fP per ** message every time the folder is opened. */ +#if HAVE_GDBM || HAVE_DB4 {"header_cache_pagesize", DT_STR, R_NONE, UL &HeaderCachePageSize, UL "16384"}, /* ** .pp @@ -1288,6 +1314,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 */ #if HAVE_QDBM { "header_cache_compress", DT_BOOL, R_NONE, OPTHCACHECOMPRESS, 0 }, /* @@ -1378,7 +1405,7 @@ struct option_t MuttVars[] = { ** .pp ** If \fIset\fP, only folders with new mail will be shown in the sidebar. */ - {"sidebar_number_format", DT_STR, R_BOTH, UL &SidebarNumberFormat, UL "%c%?n?(%n)?%?f?[%f]?"}, + {"sidebar_number_format", DT_STR, R_BOTH, UL &SidebarNumberFormat, UL "%m%?n?(%n)?%?f?[%f]?"}, /* ** .pp ** This variable controls how message counts are printed when the sidebar @@ -1386,15 +1413,20 @@ struct option_t MuttVars[] = { ** will be printed \fIand\fP mutt-ng won't frequently count mail (which ** may be a great speedup esp. with mbox-style mailboxes.) ** .pp - ** The following \fTprintf(3)\fP-like sequences are supported: + ** The following \fTprintf(3)\fP-like sequences are supported all of which + ** may be printed non-zero: ** .pp ** .dl - ** .dt %c .dd Total number of messages. - ** .dt %f .dd Number of flagged messages. + ** .dt %d .dd Number of deleted messages. 1) + ** .dt %F .dd Number of flagged messages. + ** .dt %m .dd Total number of messages. + ** .dt %M .dd Total number of messages shown, i.e. not hidden by a limit. 1) ** .dt %n .dd Number of new messages. + ** .dt %t .dd Number of tagged messages. 1) ** .de ** .pp - ** The \fT%f\fP and \fT%n\fP expandos may optionally be printed non-zero. + ** 1) These expandos only have a non-zero value for the current mailbox and + ** will always be zero otherwise. */ {"sidebar_shorten_hierarchy", DT_BOOL, R_NONE, OPTSHORTENHIERARCHY, 0}, /* @@ -1427,7 +1459,7 @@ struct option_t MuttVars[] = { ** This variable controls the number of lines of context that are given ** when scrolling through menus. (Similar to ``$$pager_context''.) */ - {"menu_move_off", DT_BOOL, R_NONE, OPTMENUMOVEOFF, 0}, + {"menu_move_off", DT_BOOL, R_NONE, OPTMENUMOVEOFF, 1}, /* ** .pp ** When \fIunset\fP, the bottom entry of menus will never scroll up past @@ -1497,10 +1529,6 @@ struct option_t MuttVars[] = { ** forwarding a message while ``$$mime_forward'' is \fIset\fP. Otherwise ** ``$$forward_decode'' is used instead. */ - {"mime_fwd", DT_SYN, R_NONE, UL "mime_forward", 0}, - /* - */ - {"mime_forward_rest", DT_QUAD, R_NONE, OPT_MIMEFWDREST, M_YES}, /* ** .pp @@ -1510,7 +1538,8 @@ struct option_t MuttVars[] = { */ #ifdef USE_NNTP - {"mime_subject", DT_BOOL, R_NONE, OPTMIMESUBJECT, 1}, + {"mime_subject", DT_SYN, R_NONE, UL "nntp_mime_subject", 0}, + {"nntp_mime_subject", DT_BOOL, R_NONE, OPTMIMESUBJECT, 1}, /* ** .pp ** Availability: NNTP @@ -1567,9 +1596,6 @@ struct option_t MuttVars[] = { ** attachments of type \fTmessage/rfc822\fP. For a full listing of defined ** \fTprintf(3)\fP-like sequences see the section on ``$$index_format''. */ - {"msg_format", DT_SYN, R_NONE, UL "message_format", 0}, - /* - */ {"msgid_format", DT_STR, R_NONE, UL &MsgIdFormat, UL "%Y%m%d%h%M%s.G%P%p"}, /* ** .pp @@ -1607,7 +1633,8 @@ struct option_t MuttVars[] = { ** deeper threads to fit on the screen. */ #ifdef USE_NNTP - {"news_cache_dir", DT_PATH, R_NONE, UL &NewsCacheDir, UL "~/.muttng"}, + {"news_cache_dir", DT_SYN, R_NONE, UL "nntp_cache_dir", 0}, + {"nntp_cache_dir", DT_PATH, R_NONE, UL &NewsCacheDir, UL "~/.muttng"}, /* ** .pp ** Availability: NNTP @@ -1620,7 +1647,8 @@ struct option_t MuttVars[] = { ** As for the header caching in connection with IMAP and/or Maildir, ** this drastically increases speed and lowers traffic. */ - {"news_server", DT_STR, R_NONE, UL &NewsServer, 0}, + {"news_server", DT_SYN, R_NONE, UL "nntp_host", 0}, + {"nntp_host", DT_STR, R_NONE, UL &NewsServer, 0}, /* ** .pp ** Availability: NNTP @@ -1641,7 +1669,8 @@ struct option_t MuttVars[] = { ** presents a security risk since the superuser of your machine may read it ** regardless of the file's permissions. */ - {"newsrc", DT_PATH, R_NONE, UL &NewsRc, UL "~/.newsrc"}, + {"newsrc", DT_SYN, R_NONE, UL "nntp_newsrc", 0}, + {"nntp_newsrc", DT_PATH, R_NONE, UL &NewsRc, UL "~/.newsrc"}, /* ** .pp ** Availability: NNTP @@ -1664,7 +1693,7 @@ struct option_t MuttVars[] = { ** ** .pp ** This variable controls how many news articles to cache per newsgroup - ** (if caching is enabled, see $$news_cache_dir) and how many news articles + ** (if caching is enabled, see $$nntp_cache_dir) and how many news articles ** to show in the ``index'' menu. ** .pp ** If there're more articles than defined with $$nntp_context, all older ones @@ -1700,7 +1729,8 @@ struct option_t MuttVars[] = { ** presents a security risk since the superuser of your machine may read it ** regardless of the file's permissions. */ - {"nntp_poll", DT_NUM, R_NONE, UL &NewsPollTimeout, 60}, + {"nntp_poll", DT_SYN, R_NONE, UL "nntp_mail_check", 0}, + {"nntp_mail_check", DT_NUM, R_NONE, UL &NewsPollTimeout, 60}, /* ** .pp ** Availability: NNTP @@ -1771,7 +1801,6 @@ struct option_t MuttVars[] = { ** when you are at the end of a message and invoke the \fInext-page\fP ** function. */ - {"pgp_autosign", DT_SYN, R_NONE, UL "crypt_autosign", 0}, {"crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0}, /* ** .pp @@ -1783,7 +1812,6 @@ struct option_t MuttVars[] = { ** be overridden by use of the \fIsmime-menu\fP. ** (Crypto only) */ - {"pgp_autoencrypt", DT_SYN, R_NONE, UL "crypt_autoencrypt", 0}, {"crypt_autoencrypt", DT_BOOL, R_NONE, OPTCRYPTAUTOENCRYPT, 0}, /* ** .pp @@ -1804,7 +1832,6 @@ struct option_t MuttVars[] = { ** if you want to play interesting key selection games. ** (PGP only) */ - {"pgp_replyencrypt", DT_SYN, R_NONE, UL "crypt_replyencrypt", 1}, {"crypt_replyencrypt", DT_BOOL, R_NONE, OPTCRYPTREPLYENCRYPT, 1}, /* ** .pp @@ -1812,7 +1839,6 @@ struct option_t MuttVars[] = { ** encrypted. ** (Crypto only) */ - {"pgp_replysign", DT_SYN, R_NONE, UL "crypt_replysign", 0}, {"crypt_replysign", DT_BOOL, R_NONE, OPTCRYPTREPLYSIGN, 0}, /* ** .pp @@ -1822,7 +1848,6 @@ struct option_t MuttVars[] = { ** \fBNote:\fP this does not work on messages that are encrypted \fBand\fP signed! ** (Crypto only) */ - {"pgp_replysignencrypted", DT_SYN, R_NONE, UL "crypt_replysignencrypted", 0}, {"crypt_replysignencrypted", DT_BOOL, R_NONE, OPTCRYPTREPLYSIGNENCRYPTED, 0}, /* ** .pp @@ -1849,7 +1874,6 @@ struct option_t MuttVars[] = { ** If \fIset\fP, Mutt-ng will use a possibly-running gpg-agent process. ** (PGP only) */ - {"pgp_verify_sig", DT_SYN, R_NONE, UL "crypt_verify_sig", 0}, {"crypt_verify_sig", DT_QUAD, R_NONE, OPT_VERIFYSIG, M_YES}, /* ** .pp @@ -1942,7 +1966,6 @@ struct option_t MuttVars[] = { ** removed, while the inner multipart/signed part is retained. ** (PGP only) */ - {"pgp_create_traditional", DT_SYN, R_NONE, UL "pgp_autoinline", 0}, {"pgp_autoinline", DT_BOOL, R_NONE, OPTPGPAUTOINLINE, 0}, /* ** .pp @@ -1961,7 +1984,6 @@ struct option_t MuttVars[] = { ** \fBdeprecated\fP. ** (PGP only) */ - {"pgp_auto_traditional", DT_SYN, R_NONE, UL "pgp_replyinline", 0}, {"pgp_replyinline", DT_BOOL, R_NONE, OPTPGPREPLYINLINE, 0}, /* ** .pp @@ -2179,10 +2201,6 @@ struct option_t MuttVars[] = { ** ``$$mime_forward_decode'' is \fIunset\fP. ** (PGP only) */ - {"forw_decrypt", DT_SYN, R_NONE, UL "forward_decrypt", 0}, - /* - */ - {"smime_timeout", DT_NUM, R_NONE, UL &SmimeTimeout, 300}, /* ** .pp @@ -2325,7 +2343,6 @@ struct option_t MuttVars[] = { ** certificate was issued for the sender's mailbox). ** (S/MIME only) */ - {"smime_sign_as", DT_SYN, R_NONE, UL "smime_default_key", 0}, {"smime_default_key", DT_STR, R_NONE, UL &SmimeDefaultKey, 0}, /* ** .pp @@ -2334,7 +2351,8 @@ struct option_t MuttVars[] = { ** (S/MIME only) */ #if defined(USE_LIBESMTP) - {"smtp_auth_username", DT_STR, R_NONE, UL &SmtpAuthUser, 0}, + {"smtp_auth_username", DT_SYN, R_NONE, UL "smtp_user", 0}, + {"smtp_user", DT_STR, R_NONE, UL &SmtpAuthUser, 0}, /* ** .pp ** Availability: SMTP @@ -2343,13 +2361,14 @@ struct option_t MuttVars[] = { ** Defines the username to use with SMTP AUTH. Setting this variable will ** cause Mutt-ng to attempt to use SMTP AUTH when sending. */ - {"smtp_auth_password", DT_STR, R_NONE, UL &SmtpAuthPass, 0}, + {"smtp_auth_password", DT_SYN, R_NONE, UL "smtp_pass", 0}, + {"smtp_pass", DT_STR, R_NONE, UL &SmtpAuthPass, 0}, /* ** .pp ** Availability: SMTP ** ** .pp - ** Defines the password to use with SMTP AUTH. If ``$$smtp_auth_username'' + ** Defines the password to use with SMTP AUTH. If ``$$smtp_user'' ** is set, but this variable is not, you will be prompted for a password ** when sending. ** .pp @@ -2357,6 +2376,20 @@ struct option_t MuttVars[] = { ** presents a security risk since the superuser of your machine may read it ** regardless of the file's permissions. */ + {"smtp_envelope", DT_STR, R_NONE, UL &SmtpEnvFrom, 0}, + /* + ** .pp + ** Availability: SMTP + ** + ** .pp + ** If this variable is non-empty, it'll be used as the envelope sender. If it's empty + ** (the default), the value of the regular \fTFrom:\fP header will be used. + ** + ** .pp + ** This may be necessary as some providers don't allow for arbitrary values + ** as the envelope sender but only a particular one which may not be the same as the + ** user's desired \fTFrom:\fP header. + */ {"smtp_host", DT_STR, R_NONE, UL &SmtpHost, 0}, /* ** .pp @@ -2379,8 +2412,22 @@ struct option_t MuttVars[] = { ** Defaults to 25, the standard SMTP port, but RFC 2476-compliant SMTP ** servers will probably desire 587, the mail submission port. */ + {"smtp_use_tls", DT_STR, R_NONE, UL &SmtpUseTLS, 0}, + /* + ** .pp + ** Availability: SMTP (and SSL) + ** + ** .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 + ** Muttng still needs to have SSL support enabled in order to use it. + */ #endif -#if defined(USE_SSL)||defined(USE_NSS)||defined(USE_GNUTLS) +#if defined(USE_SSL) || defined(USE_GNUTLS) #ifdef USE_SSL {"ssl_client_cert", DT_PATH, R_NONE, UL &SslClientCert, 0}, /* @@ -2391,8 +2438,16 @@ struct option_t MuttVars[] = { ** The file containing a client certificate and its associated private ** key. */ -#endif -# if defined(USE_SSL)||defined(USE_GNUTLS) +#endif /* USE_SSL */ + {"ssl_force_tls", DT_BOOL, R_NONE, OPTSSLFORCETLS, 0 }, + /* + ** .pp + ** If this variable is \fIset\fP, mutt-ng 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, M_YES}, /* ** .pp @@ -2403,11 +2458,10 @@ struct option_t MuttVars[] = { ** advertising the capability. When \fIunset\fP, Mutt-ng will not attempt to ** use STARTTLS regardless of the server's capabilities. */ -# endif {"certificate_file", DT_PATH, R_NONE, UL &SslCertFile, UL "~/.mutt_certificates"}, /* ** .pp - ** Availability: SSL or NSS or GNUTLS + ** Availability: SSL or GNUTLS ** ** .pp ** This variable specifies the file where the certificates you trust @@ -2422,11 +2476,11 @@ struct option_t MuttVars[] = { ** .pp ** Example: \fTset certificate_file=~/.muttng/certificates\fP */ -# ifndef USE_GNUTLS +# if defined(_MAKEDOC) || !defined (USE_GNUTLS) {"ssl_usesystemcerts", DT_BOOL, R_NONE, OPTSSLSYSTEMCERTS, 1}, /* ** .pp - ** Availability: SSL or NSS + ** Availability: SSL ** ** .pp ** If set to \fIyes\fP, Mutt-ng will use CA certificates in the @@ -2436,7 +2490,7 @@ struct option_t MuttVars[] = { {"entropy_file", DT_PATH, R_NONE, UL &SslEntropyFile, 0}, /* ** .pp - ** Availability: SSL or NSS + ** Availability: SSL ** ** .pp ** The file which includes random data that is used to initialize SSL @@ -2445,17 +2499,17 @@ struct option_t MuttVars[] = { {"ssl_use_sslv2", DT_BOOL, R_NONE, OPTSSLV2, 1}, /* ** .pp - ** Availability: SSL or NSS + ** Availability: SSL ** ** .pp ** This variables specifies whether to attempt to use SSLv2 in the ** SSL authentication process. */ -# endif +# endif /* _MAKEDOC || !USE_GNUTLS */ {"ssl_use_sslv3", DT_BOOL, R_NONE, OPTSSLV3, 1}, /* ** .pp - ** Availability: SSL or NSS or GNUTLS + ** Availability: SSL or GNUTLS ** ** .pp ** This variables specifies whether to attempt to use SSLv3 in the @@ -2464,13 +2518,13 @@ struct option_t MuttVars[] = { {"ssl_use_tlsv1", DT_BOOL, R_NONE, OPTTLSV1, 1}, /* ** .pp - ** Availability: SSL or NSS or GNUTLS + ** Availability: SSL or GNUTLS ** ** .pp ** This variables specifies whether to attempt to use TLSv1 in the ** SSL authentication process. */ -#ifdef USE_GNUTLS +# ifdef USE_GNUTLS {"ssl_min_dh_prime_bits", DT_NUM, R_NONE, UL &SslDHPrimeBits, 0}, /* ** .pp @@ -2490,8 +2544,8 @@ struct option_t MuttVars[] = { ** .pp ** Example: \fTset ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt\fP */ -#endif -#endif +# endif /* USE_GNUTLS */ +# endif /* USE_SSL || USE_GNUTLS */ {"pipe_split", DT_BOOL, R_NONE, OPTPIPESPLIT, 0}, /* ** .pp @@ -2546,7 +2600,8 @@ struct option_t MuttVars[] = { ** methods are unavailable. If a method is available but authentication ** fails, Mutt-ng will not connect to the POP server. */ - {"pop_checkinterval", DT_NUM, R_NONE, UL &PopCheckTimeout, 60}, + {"pop_checkinterval", DT_SYN, R_NONE, UL "pop_mail_check", 0}, + {"pop_mail_check", DT_NUM, R_NONE, UL &PopCheckTimeout, 60}, /* ** .pp ** Availability: POP @@ -2629,11 +2684,9 @@ struct option_t MuttVars[] = { ** Similar to the ``$$attribution'' variable, Mutt-ng will append this ** string after the inclusion of a message which is being replied to. */ - {"post_indent_str", DT_SYN, R_NONE, UL "post_indent_string", 0}, - /* - */ #ifdef USE_NNTP - {"post_moderated", DT_QUAD, R_NONE, OPT_TOMODERATED, M_ASKYES}, + {"post_moderated", DT_SYN, R_NONE, UL "nntp_post_moderated", 0 }, + {"nntp_post_moderated", DT_QUAD, R_NONE, OPT_TOMODERATED, M_ASKYES}, /* ** .pp ** Availability: NNTP @@ -2692,9 +2745,6 @@ struct option_t MuttVars[] = { ** .pp ** This specifies the command pipe that should be used to print messages. */ - {"print_cmd", DT_SYN, R_NONE, UL "print_command", 0}, - /* - */ {"print_decode", DT_BOOL, R_NONE, OPTPRINTDECODE, 1}, /* ** .pp @@ -3011,7 +3061,8 @@ struct option_t MuttVars[] = { ** shell from \fT/etc/passwd\fP is used. */ #ifdef USE_NNTP - {"save_unsubscribed", DT_BOOL, R_NONE, OPTSAVEUNSUB, 0}, + {"save_unsubscribed", DT_SYN, R_NONE, UL "nntp_save_unsubscribed", 0 }, + {"nntp_save_unsubscribed", DT_BOOL, R_NONE, OPTSAVEUNSUB, 0}, /* ** .pp ** Availability: NNTP @@ -3021,9 +3072,9 @@ struct option_t MuttVars[] = { ** ``newsrc'' file and into the news cache. */ #endif - {"shorten_hierarchy", DT_SYN, R_NONE, UL "sidebar_shorten_hierarchy", 0 }, #ifdef USE_NNTP - {"show_new_news", DT_BOOL, R_NONE, OPTSHOWNEWNEWS, 1}, + {"show_new_news", DT_SYN, R_NONE, UL "nntp_show_new_news", 0 }, + {"nntp_show_new_news", DT_BOOL, R_NONE, OPTSHOWNEWNEWS, 1}, /* ** .pp ** Availability: NNTP @@ -3034,7 +3085,8 @@ struct option_t MuttVars[] = { ** Also controls whether or not the number of new articles of subscribed ** newsgroups will be checked. */ - {"show_only_unread", DT_BOOL, R_NONE, OPTSHOWONLYUNREAD, 0}, + {"show_only_unread", DT_SYN, R_NONE, UL "nntp_show_only_unread", 0 }, + {"nntp_show_only_unread", DT_BOOL, R_NONE, OPTSHOWONLYUNREAD, 0}, /* ** .pp ** Availability: NNTP @@ -3310,6 +3362,20 @@ struct option_t MuttVars[] = { ** Setting this variable causes the ``status bar'' to be displayed on ** the first line of the screen rather than near the bottom. */ + {"strict_mailto", DT_BOOL, R_NONE, OPTSTRICTMAILTO, 1}, + /* + ** + ** .pp + ** With mailto: style links, a body as well as arbitrary header information + ** may be embedded. This may lead to (user) headers being overwriten without note + ** if ``$$edit_headers'' is unset. + ** + ** .pp + ** If this variable is \fIset\fP, mutt-ng is strict and allows anything to be + ** changed. If it's \fIunset\fP, all headers given will be prefixed with + ** ``X-Mailto-'' and the message including headers will be shown in the editor + ** regardless of what ``$$edit_headers'' is set to. + **/ {"strict_mime", DT_BOOL, R_NONE, OPTSTRICTMIME, 1}, /* ** .pp @@ -3456,10 +3522,12 @@ struct option_t MuttVars[] = { ** .pp ** \fBWarning:\fP do not set this variable unless you are using a version ** of sendmail which supports the \fT-B8BITMIME\fP flag (such as sendmail - ** 8.8.x) or you may not be able to send mail. + ** 8.8.x) or in connection with the SMTP support via libESMTP. + ** Otherwise you may not be able to send mail. ** .pp - ** When \fIset\fP, Mutt-ng will invoke ``$$sendmail'' with the \fT-B8BITMIME\fP - ** flag when sending 8-bit messages to enable ESMTP negotiation. + ** When \fIset\fP, Mutt-ng will either invoke ``$$sendmail'' with the \fT-B8BITMIME\fP + ** flag when sending 8-bit messages to enable ESMTP negotiation or tell + ** libESMTP to do so. */ {"use_domain", DT_BOOL, R_NONE, OPTUSEDOMAIN, 1}, /* @@ -3574,6 +3642,20 @@ struct option_t MuttVars[] = { ** (as long as you're in an appropriate terminal). The default must ** be \fIunset\fP to force in the validity checking. */ + {"xterm_leave", DT_STR, R_BOTH, UL &XtermLeave, UL "" }, + /* + ** .pp + ** If $$xterm_set_titles is \fIset\fP, this string will be used to + ** set the title when leaving mutt-ng. For terminal-based programs, + ** there's no easy and portable way to read the current title so mutt-ng + ** cannot read it upon startup and restore it when exiting. + ** + ** .pp + ** Based on the xterm FAQ, the following might work: + ** + ** .pp + ** \fTset xterm_leave = "`test x$$$DISPLAY != x && xprop -id $$$WINDOWID | grep WM_NAME | cut -d '"' -f 2`"\fP + */ {"xterm_title", DT_STR, R_BOTH, UL &XtermTitle, UL "Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?"}, /* ** .pp @@ -3582,7 +3664,8 @@ struct option_t MuttVars[] = { ** to the one used by ``$$status_format''. */ #ifdef USE_NNTP - {"x_comment_to", DT_BOOL, R_NONE, OPTXCOMMENTTO, 0}, + {"x_comment_to", DT_SYN, R_NONE, UL "nntp_x_comment_to", 0}, + {"nntp_x_comment_to", DT_BOOL, R_NONE, OPTXCOMMENTTO, 0}, /* ** .pp ** Availability: NNTP @@ -3606,120 +3689,137 @@ const struct feature_t Features[] = { #endif }, {"slang", #ifdef USE_SLANG_CURSES - 1 + 1 #else - 0 + 0 #endif - }, {"iconv", + }, {"iconv", #ifdef _LIBICONV_VERSION - 1 + 1 #else - 0 + 0 #endif - }, {"idn", + }, {"idn", #ifdef HAVE_LIBIDN - 1 + 1 #else - 0 + 0 #endif - }, {"dotlock", + }, {"dotlock", #ifdef USE_DOTLOCK - 1 + 1 #else - 0 + 0 #endif - }, {"standalone", + }, {"standalone", #ifdef DL_STANDALONE - 1 + 1 #else - 0 + 0 #endif - }, {"pop", + }, {"pop", #ifdef USE_POP - 1 + 1 #else - 0 + 0 #endif - }, {"nntp", + }, {"nntp", #ifdef USE_NNTP - 1 + 1 #else - 0 + 0 #endif - }, {"imap", + }, {"imap", #ifdef USE_IMAP - 1 + 1 #else - 0 + 0 #endif - }, {"ssl", + }, {"ssl", #ifdef USE_SSL - 1 + 1 #else - 0 + 0 #endif - }, {"gnutls", + }, {"gnutls", #ifdef USE_GNUTLS - 1 + 1 #else - 0 + 0 #endif - }, {"sasl", + }, {"sasl", #ifdef USE_SASL - 1 + 1 #else - 0 + 0 #endif - }, {"sasl2", + }, {"sasl2", #ifdef USE_SASL2 - 1 + 1 #else - 0 + 0 #endif - }, {"libesmtp", + }, {"libesmtp", #ifdef USE_LIBESMTP - 1 + 1 #else - 0 + 0 #endif - }, {"compressed", + }, {"compressed", #ifdef USE_COMPRESSED - 1 + 1 #else - 0 + 0 #endif - }, {"color", + }, {"color", #ifdef HAVE_COLOR - 1 + 1 #else - 0 + 0 #endif - }, - {"classic_pgp", + }, {"classic_pgp", #ifdef CRYPT_BACKEND_CLASSIC_PGP - 1 + 1 #else - 0 + 0 #endif - }, {"classic_smime", + }, {"classic_smime", #ifdef CRYPT_BACKEND_CLASSIC_SMIME - 1 + 1 #else - 0 + 0 #endif - }, {"gpgme", + }, {"gpgme", #ifdef CRYPT_BACKEND_GPGME - 1 + 1 #else - 0 + 0 #endif - }, {"header_cache", + }, {"header_cache", #ifdef USE_HCACHE - 1 + 1 +#else + 0 +#endif + }, {"qdbm", +#ifdef HAVE_QDBM + 1 #else - 0 + 0 +#endif + }, {"gdbm", +#ifdef HAVE_GDBM + 1 +#else + 0 +#endif + }, {"db4", +#ifdef HAVE_DB4 + 1 +#else + 0 #endif - }, + }, /* last */ {NULL, 0} };