69 const char *prompt =
_(
"Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?");
75 const char *letters =
_(
"eca");
90 e->
security &= ~SEC_AUTOCRYPT_OVERRIDE;
91 const bool c_crypt_opportunistic_encrypt =
cs_subset_bool(
sub,
"crypt_opportunistic_encrypt");
92 if (c_crypt_opportunistic_encrypt)
152 const bool c_crypt_opportunistic_encrypt =
cs_subset_bool(wdata->
sub,
"crypt_opportunistic_encrypt");
153 if (c_crypt_opportunistic_encrypt)
483 if (!(wdata->
is_news && c_x_comment_to))
532 if (!win || !win->
wdata)
void mutt_addrlist_clear(struct AddressList *al)
Unlink and free all Address in an AddressList.
int mutt_addrlist_to_local(struct AddressList *al)
Convert an Address list from Punycode.
size_t mutt_addrlist_write(const struct AddressList *al, struct Buffer *buf, bool display)
Write an Address to a buffer.
int mutt_addrlist_parse2(struct AddressList *al, const char *s)
Parse a list of email addresses.
int mutt_addrlist_to_intl(struct AddressList *al, char **err)
Convert an Address list to Punycode.
const struct CompleteOps CompleteAliasOps
Auto-Completion of Aliases.
void mutt_expand_aliases(struct AddressList *al)
Expand aliases in a List of Addresses.
Autocrypt end-to-end encryption.
@ AUTOCRYPT_REC_YES
Autocrypt should be used.
enum AutocryptRec mutt_autocrypt_ui_recommendation(const struct Email *e, char **keylist)
Get the recommended action for an Email.
const struct CompleteOps CompleteMailboxOps
Auto-Completion of Files / Mailboxes.
Select a Mailbox from a list.
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
void buf_fix_dptr(struct Buffer *buf)
Move the dptr to end of the Buffer.
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
size_t buf_strcpy(struct Buffer *buf, const char *s)
Copy a string into a Buffer.
size_t buf_copy(struct Buffer *dst, const struct Buffer *src)
Copy a Buffer's contents to another Buffer.
void buf_alloc(struct Buffer *buf, size_t new_size)
Make sure a buffer can store at least new_size bytes.
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
bool cs_subset_bool(const struct ConfigSubset *sub, const char *name)
Get a boolean config item by name.
Convenience wrapper for the config headers.
Convenience wrapper for the core headers.
void crypt_opportunistic_encrypt(struct Email *e)
Can all recipients be determined.
bool crypt_has_module_backend(SecurityFlags type)
Is there a crypto backend for a given type?
SecurityFlags crypt_smime_send_menu(struct Email *e)
Wrapper for CryptModuleSpecs::send_menu()
SecurityFlags crypt_pgp_send_menu(struct Email *e)
Wrapper for CryptModuleSpecs::send_menu()
void mutt_refresh(void)
Force a refresh of the screen.
const char * dispatcher_get_retval_name(int rv)
Get the name of a return value.
@ FR_SUCCESS
Valid function - successfully performed.
@ FR_UNKNOWN
Unknown function.
@ FR_ERROR
Valid function - error occurred.
@ FR_NOT_IMPL
Invalid function - feature not enabled.
@ FR_NO_ACTION
Valid function - no action performed.
Structs that make up an email.
@ NT_EMAIL_CHANGE
Email has changed.
static const struct EnvelopeFunction EnvelopeFunctions[]
All the NeoMutt functions that the Envelope supports.
static bool edit_address_list(enum HeaderField field, struct AddressList *al)
Let the user edit the address list.
static void autocrypt_compose_menu(struct Email *e, const struct ConfigSubset *sub)
Autocrypt compose settings.
void update_crypt_info(struct EnvelopeWindowData *wdata)
Update the crypto info.
const char *const Prompts[]
Names of header fields used in the envelope, e.g. From:, To:
HeaderField
Ordered list of headers for the compose screen.
@ HDR_SUBJECT
"Subject:" field
@ HDR_REPLYTO
"Reply-To:" field
@ HDR_FCC
"Fcc:" (save folder) field
@ HDR_FOLLOWUPTO
"Followup-To:" field
@ HDR_XCOMMENTTO
"X-Comment-To:" field
@ HDR_NEWSGROUPS
"Newsgroups:" field
void mutt_env_set_subject(struct Envelope *env, const char *subj)
Set both subject and real_subj to subj.
bool mutt_env_notify_send(struct Email *e, enum NotifyEnvelope type)
Send an Envelope change notification.
@ NT_ENVELOPE_SUBJECT
"Subject:" header has changed
@ NT_ENVELOPE_BCC
"Bcc:" header has changed
@ NT_ENVELOPE_TO
"To:" header has changed
@ NT_ENVELOPE_FCC
"Fcc:" header has changed
@ NT_ENVELOPE_CC
"Cc:" header has changed
@ NT_ENVELOPE_REPLY_TO
"Reply-To:" header has changed
@ NT_ENVELOPE_FROM
"From:" header has changed
@ NT_ENVELOPE_X_COMMENT_TO
"X-Comment-To:" header has changed
@ NT_ENVELOPE_FOLLOWUP_TO
"Followup-To:" header has changed
@ NT_ENVELOPE_NEWSGROUPS
"Newsgroups:" header has changed
int env_function_dispatcher(struct MuttWindow *win, int op)
Perform an Envelope function - Implements function_dispatcher_t -.
static int op_envelope_edit_bcc(struct EnvelopeWindowData *wdata, int op)
Edit the BCC list - Implements envelope_function_t -.
static int op_envelope_edit_subject(struct EnvelopeWindowData *wdata, int op)
Edit the subject of this message - Implements envelope_function_t -.
static int op_envelope_edit_to(struct EnvelopeWindowData *wdata, int op)
Edit the TO list - Implements envelope_function_t -.
static int op_envelope_edit_followup_to(struct EnvelopeWindowData *wdata, int op)
Edit the Followup-To field - Implements envelope_function_t -.
static int op_compose_pgp_menu(struct EnvelopeWindowData *wdata, int op)
Show PGP options - Implements envelope_function_t -.
static int op_compose_autocrypt_menu(struct EnvelopeWindowData *wdata, int op)
Show autocrypt compose menu options - Implements envelope_function_t -.
static int op_envelope_edit_from(struct EnvelopeWindowData *wdata, int op)
Edit the from field - Implements envelope_function_t -.
static int op_envelope_edit_reply_to(struct EnvelopeWindowData *wdata, int op)
Edit the Reply-To field - Implements envelope_function_t -.
static int op_envelope_edit_x_comment_to(struct EnvelopeWindowData *wdata, int op)
Edit the X-Comment-To field - Implements envelope_function_t -.
static int op_envelope_edit_fcc(struct EnvelopeWindowData *wdata, int op)
Enter a file to save a copy of this message in - Implements envelope_function_t -.
static int op_envelope_edit_cc(struct EnvelopeWindowData *wdata, int op)
Edit the CC list - Implements envelope_function_t -.
static int op_envelope_edit_newsgroups(struct EnvelopeWindowData *wdata, int op)
Edit the newsgroups list - Implements envelope_function_t -.
static int op_compose_smime_menu(struct EnvelopeWindowData *wdata, int op)
Show S/MIME options - Implements envelope_function_t -.
int mw_get_field(const char *prompt, struct Buffer *buf, CompletionFlags complete, enum HistoryClass hclass, const struct CompleteOps *comp_api, void *cdata)
Ask the user for a string -.
int mw_multi_choice(const char *prompt, const char *letters)
Offer the user a multiple choice question -.
#define mutt_debug(LEVEL,...)
Convenience wrapper for the gui headers.
Read/write command history from/to a file.
@ HC_OTHER
Miscellaneous strings.
void mutt_message_hook(struct Mailbox *m, struct Email *e, HookFlags type)
Perform a message hook.
Parse and execute user-defined hooks.
#define MUTT_SEND2_HOOK
send2-hook: when changing fields in the compose menu
@ LL_DEBUG1
Log at debug level 1.
Convenience wrapper for the library headers.
bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
char * mutt_str_replace(char **p, const char *s)
Replace one string with another.
Many unsorted constants and some structs.
#define MUTT_COMP_NO_FLAGS
No flags are set.
#define MUTT_COMP_CLEAR
Clear input if printable character is pressed.
void mutt_clear_error(void)
Clear the message line (bottom line of screen)
void buf_pretty_mailbox(struct Buffer *buf)
Shorten a mailbox path using '~' or '='.
Some miscellaneous functions.
API for encryption/signing of emails.
#define SEC_INLINE
Email has an inline signature.
#define SEC_AUTOCRYPT
(Autocrypt) Message will be, or was Autocrypt encrypt+signed
uint16_t SecurityFlags
Flags, e.g. SEC_ENCRYPT.
#define SEC_OPPENCRYPT
Opportunistic encrypt mode.
#define APPLICATION_PGP
Use PGP to encrypt/sign.
#define APPLICATION_SMIME
Use SMIME to encrypt/sign.
#define SEC_ENCRYPT
Email is encrypted.
#define SEC_AUTOCRYPT_OVERRIDE
(Autocrypt) Indicates manual set/unset of encryption
#define SEC_SIGN
Email is signed.
@ NT_EMAIL
Email has changed, NotifyEmail, EventEmail.
const char * opcodes_get_name(int op)
Get the name of an opcode.
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
Progress Bar Window Data.
@ MUTT_YES
User answered 'Yes', or assume 'Yes'.
enum QuadOption query_yesorno(const char *prompt, enum QuadOption def)
Ask the user a Yes/No question.
String manipulation buffer.
char * data
Pointer to data.
A set of inherited config items.
The envelope/body of an email.
struct Envelope * env
Envelope information.
SecurityFlags security
bit 0-10: flags, bit 11,12: application, bit 13: traditional pgp See: ncrypt/lib.h pgplib....
struct Notify * notify
Notifications: NotifyEmail, EventEmail.
A NeoMutt Envelope function.
int op
Op code, e.g. OP_ENVELOPE_EDIT_FROM.
envelope_function_t function
Function to call.
Data to fill the Envelope Window.
bool is_news
Email is a news article.
struct Buffer * fcc
Where the outgoing Email will be saved.
struct Email * email
Email being composed.
struct ConfigSubset * sub
Inherited config items.
enum AutocryptRec autocrypt_rec
Autocrypt recommendation.
char *const subject
Email's subject.
struct AddressList to
Email's 'To' list.
char * followup_to
List of 'followup-to' fields.
struct AddressList reply_to
Email's 'reply-to'.
char * x_comment_to
List of 'X-comment-to' fields.
char * newsgroups
List of newsgroups.
struct AddressList cc
Email's 'Cc' list.
struct AddressList bcc
Email's 'Bcc' list.
struct AddressList from
Email's 'From' list.
Input for the file completion function.
void * wdata
Private data.