NeoMutt  2021-02-05-666-ge300cd
Teaching an old dog new tricks
DOXYGEN
lib.h
Go to the documentation of this file.
1 
89 #ifndef MUTT_AUTOCRYPT_LIB_H
90 #define MUTT_AUTOCRYPT_LIB_H
91 
92 #include <stdbool.h>
93 #include <sqlite3.h>
94 #include <stdio.h>
95 
96 struct Email;
97 struct Envelope;
98 struct Mailbox;
99 
104 {
105  char *email_addr;
106  char *keyid;
107  char *keydata;
109  bool enabled;
110 };
111 
116 {
117  char *email_addr;
118  sqlite3_int64 last_seen;
119  sqlite3_int64 autocrypt_timestamp;
120  char *keyid;
121  char *keydata;
123  sqlite3_int64 gossip_timestamp;
126 };
127 
132 {
134  char *email_msgid;
135  sqlite3_int64 timestamp;
136  char *keydata;
137 };
138 
143 {
146  char *email_msgid;
147  sqlite3_int64 timestamp;
149 };
150 
155 {
161 };
162 
163 extern char *AutocryptSignAs;
164 extern char *AutocryptDefaultKey;
165 
166 void dlg_select_autocrypt_account (struct Mailbox *m);
167 void mutt_autocrypt_cleanup (void);
168 int mutt_autocrypt_generate_gossip_list (struct Mailbox *m, struct Email *e);
169 int mutt_autocrypt_init (struct Mailbox *m, bool can_create);
170 int mutt_autocrypt_process_autocrypt_header(struct Mailbox *m, struct Email *e, struct Envelope *env);
171 int mutt_autocrypt_process_gossip_header (struct Mailbox *m, struct Email *e, struct Envelope *prot_headers);
172 int mutt_autocrypt_set_sign_as_default_key (struct Mailbox *m, struct Email *e);
173 enum AutocryptRec mutt_autocrypt_ui_recommendation (struct Mailbox *m, struct Email *e, char **keylist);
174 int mutt_autocrypt_write_autocrypt_header (struct Mailbox *m, struct Envelope *env, FILE *fp);
175 int mutt_autocrypt_write_gossip_headers (struct Mailbox *m, struct Envelope *env, FILE *fp);
176 
177 #endif /* MUTT_AUTOCRYPT_LIB_H */
void dlg_select_autocrypt_account(struct Mailbox *m)
Display the Autocrypt account Menu.
Definition: dlgautocrypt.c:344
AutocryptRec
Recommendation.
Definition: lib.h:154
The envelope/body of an email.
Definition: email.h:37
Autocrypt should be used.
Definition: lib.h:160
char * peer_email_addr
Definition: lib.h:144
char * email_msgid
Definition: lib.h:134
char * keydata
Definition: lib.h:121
sqlite3_int64 timestamp
Definition: lib.h:135
No recommendations.
Definition: lib.h:156
char * email_addr
Definition: lib.h:105
int mutt_autocrypt_write_autocrypt_header(struct Mailbox *m, struct Envelope *env, FILE *fp)
Write the Autocrypt header to a file.
Definition: autocrypt.c:779
char * keyid
Definition: lib.h:106
char * gossip_keydata
Definition: lib.h:125
enum AutocryptRec mutt_autocrypt_ui_recommendation(struct Mailbox *m, struct Email *e, char **keylist)
Get the recommended action for an Email.
Definition: autocrypt.c:575
Do no use Autocrypt.
Definition: lib.h:157
sqlite3_int64 gossip_timestamp
Definition: lib.h:123
sqlite3_int64 autocrypt_timestamp
Definition: lib.h:119
char * sender_email_addr
Definition: lib.h:145
bool enabled
Definition: lib.h:109
Autocrypt peer.
Definition: lib.h:115
char * email_msgid
Definition: lib.h:146
char * AutocryptSignAs
Autocrypt Key id to sign as.
Definition: config.c:35
int mutt_autocrypt_process_gossip_header(struct Mailbox *m, struct Email *e, struct Envelope *prot_headers)
Parse an Autocrypt email gossip header.
Definition: autocrypt.c:419
char * email_addr
Definition: lib.h:117
bool prefer_encrypt
false = nopref, true = mutual
Definition: lib.h:108
int mutt_autocrypt_process_autocrypt_header(struct Mailbox *m, struct Email *e, struct Envelope *env)
Parse an Autocrypt email header.
Definition: autocrypt.c:268
A mailbox.
Definition: mailbox.h:81
Autocrypt gossip history.
Definition: lib.h:142
sqlite3_int64 last_seen
Definition: lib.h:118
char * gossip_keyid
Definition: lib.h:124
Prefer not to use Autocrypt.
Definition: lib.h:158
Autocrypt peer history.
Definition: lib.h:131
bool prefer_encrypt
false = nopref, true = mutual
Definition: lib.h:122
char * keydata
Definition: lib.h:136
Autocrypt account.
Definition: lib.h:103
int mutt_autocrypt_set_sign_as_default_key(struct Mailbox *m, struct Email *e)
Set the Autocrypt default key for signing.
Definition: autocrypt.c:712
char * keydata
Definition: lib.h:107
int mutt_autocrypt_init(struct Mailbox *m, bool can_create)
Initialise Autocrypt.
Definition: autocrypt.c:98
Autocrypt is available.
Definition: lib.h:159
char * gossip_keydata
Definition: lib.h:148
char * AutocryptDefaultKey
Autocrypt default key id (used for postponing messages)
Definition: config.c:36
char * keyid
Definition: lib.h:120
void mutt_autocrypt_cleanup(void)
Shutdown Autocrypt.
Definition: autocrypt.c:141
sqlite3_int64 timestamp
Definition: lib.h:147
char * peer_email_addr
Definition: lib.h:133
The header of an Email.
Definition: envelope.h:54
int mutt_autocrypt_generate_gossip_list(struct Mailbox *m, struct Email *e)
Create the gossip list headers.
Definition: autocrypt.c:841
int mutt_autocrypt_write_gossip_headers(struct Mailbox *m, struct Envelope *env, FILE *fp)
Write the Autocrypt gossip headers to a file.
Definition: autocrypt.c:818