NeoMutt  2022-04-29-81-g9c5a59
Teaching an old dog new tricks
DOXYGEN
lib.h
Go to the documentation of this file.
1 
92 #ifndef MUTT_AUTOCRYPT_LIB_H
93 #define MUTT_AUTOCRYPT_LIB_H
94 
95 #include <sqlite3.h>
96 #include <stdbool.h>
97 #include <stdio.h>
98 
99 struct Email;
100 struct Envelope;
101 
106 {
107  char *email_addr;
108  char *keyid;
109  char *keydata;
111  bool enabled;
112 };
113 
118 {
119  char *email_addr;
120  sqlite3_int64 last_seen;
121  sqlite3_int64 autocrypt_timestamp;
122  char *keyid;
123  char *keydata;
125  sqlite3_int64 gossip_timestamp;
126  char *gossip_keyid;
128 };
129 
134 {
136  char *email_msgid;
137  sqlite3_int64 timestamp;
138  char *keydata;
139 };
140 
145 {
148  char *email_msgid;
149  sqlite3_int64 timestamp;
151 };
152 
157 {
163 };
164 
165 extern char *AutocryptSignAs;
166 extern char *AutocryptDefaultKey;
167 
168 void dlg_select_autocrypt_account (void);
169 void mutt_autocrypt_cleanup (void);
171 int mutt_autocrypt_init (bool can_create);
172 int mutt_autocrypt_process_autocrypt_header(struct Email *e, struct Envelope *env);
173 int mutt_autocrypt_process_gossip_header (struct Email *e, struct Envelope *prot_headers);
175 enum AutocryptRec mutt_autocrypt_ui_recommendation (const struct Email *e, char **keylist);
176 int mutt_autocrypt_write_autocrypt_header (struct Envelope *env, FILE *fp);
177 int mutt_autocrypt_write_gossip_headers (struct Envelope *env, FILE *fp);
178 
179 #endif /* MUTT_AUTOCRYPT_LIB_H */
int mutt_autocrypt_process_autocrypt_header(struct Email *e, struct Envelope *env)
Parse an Autocrypt email header.
Definition: autocrypt.c:265
char * AutocryptSignAs
Autocrypt Key id to sign as.
Definition: config.c:35
int mutt_autocrypt_generate_gossip_list(struct Email *e)
Create the gossip list headers.
Definition: autocrypt.c:828
void mutt_autocrypt_cleanup(void)
Shutdown Autocrypt.
Definition: autocrypt.c:139
int mutt_autocrypt_write_gossip_headers(struct Envelope *env, FILE *fp)
Write the Autocrypt gossip headers to a file.
Definition: autocrypt.c:806
enum AutocryptRec mutt_autocrypt_ui_recommendation(const struct Email *e, char **keylist)
Get the recommended action for an Email.
Definition: autocrypt.c:567
char * AutocryptDefaultKey
Autocrypt default key id (used for postponing messages)
Definition: config.c:36
void dlg_select_autocrypt_account(void)
Display the Autocrypt account Menu.
int mutt_autocrypt_init(bool can_create)
Initialise Autocrypt.
Definition: autocrypt.c:97
int mutt_autocrypt_write_autocrypt_header(struct Envelope *env, FILE *fp)
Write the Autocrypt header to a file.
Definition: autocrypt.c:768
int mutt_autocrypt_set_sign_as_default_key(struct Email *e)
Set the Autocrypt default key for signing.
Definition: autocrypt.c:702
AutocryptRec
Recommendation.
Definition: lib.h:157
@ AUTOCRYPT_REC_DISCOURAGE
Prefer not to use Autocrypt.
Definition: lib.h:160
@ AUTOCRYPT_REC_NO
Do no use Autocrypt.
Definition: lib.h:159
@ AUTOCRYPT_REC_OFF
No recommendations.
Definition: lib.h:158
@ AUTOCRYPT_REC_AVAILABLE
Autocrypt is available.
Definition: lib.h:161
@ AUTOCRYPT_REC_YES
Autocrypt should be used.
Definition: lib.h:162
int mutt_autocrypt_process_gossip_header(struct Email *e, struct Envelope *prot_headers)
Parse an Autocrypt email gossip header.
Definition: autocrypt.c:413
Autocrypt account.
Definition: lib.h:106
char * email_addr
Email address.
Definition: lib.h:107
char * keydata
PGP Key data.
Definition: lib.h:109
char * keyid
PGP Key id.
Definition: lib.h:108
bool enabled
Is this account enabled.
Definition: lib.h:111
bool prefer_encrypt
false = nopref, true = mutual
Definition: lib.h:110
Autocrypt gossip history.
Definition: lib.h:145
char * peer_email_addr
Email addressof the peer.
Definition: lib.h:146
char * email_msgid
Sender's email's message id.
Definition: lib.h:148
char * sender_email_addr
Sender's email address.
Definition: lib.h:147
char * gossip_keydata
Gossip Key data.
Definition: lib.h:150
sqlite3_int64 timestamp
Timestamp of sender's email.
Definition: lib.h:149
Autocrypt peer history.
Definition: lib.h:134
char * peer_email_addr
Email address of the peer.
Definition: lib.h:135
char * email_msgid
Message id of the email.
Definition: lib.h:136
char * keydata
PGP Key data.
Definition: lib.h:138
sqlite3_int64 timestamp
Timestamp of email.
Definition: lib.h:137
Autocrypt peer.
Definition: lib.h:118
sqlite3_int64 autocrypt_timestamp
When the email was sent.
Definition: lib.h:121
char * gossip_keydata
Gossip Key data.
Definition: lib.h:127
char * keyid
PGP Key id.
Definition: lib.h:122
char * gossip_keyid
Gossip Key id.
Definition: lib.h:126
char * keydata
PGP Key data.
Definition: lib.h:123
char * email_addr
Email address.
Definition: lib.h:119
sqlite3_int64 last_seen
When was the peer last seen.
Definition: lib.h:120
bool prefer_encrypt
false = nopref, true = mutual
Definition: lib.h:124
sqlite3_int64 gossip_timestamp
Timestamp of Gossip header.
Definition: lib.h:125
The envelope/body of an email.
Definition: email.h:37
The header of an Email.
Definition: envelope.h:57