NeoMutt  2022-04-29-249-gaae397
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
99struct Email;
100struct Envelope;
101
106{
108 char *keyid;
109 char *keydata;
111 bool enabled;
112};
113
118{
120 sqlite3_int64 last_seen;
121 sqlite3_int64 autocrypt_timestamp;
122 char *keyid;
123 char *keydata;
125 sqlite3_int64 gossip_timestamp;
128};
129
134{
137 sqlite3_int64 timestamp;
138 char *keydata;
139};
140
145{
149 sqlite3_int64 timestamp;
151};
152
157{
163};
164
165extern char *AutocryptSignAs;
166extern char *AutocryptDefaultKey;
167
169void mutt_autocrypt_cleanup (void);
171int mutt_autocrypt_init (bool can_create);
172int mutt_autocrypt_process_autocrypt_header(struct Email *e, struct Envelope *env);
173int mutt_autocrypt_process_gossip_header (struct Email *e, struct Envelope *prot_headers);
175enum AutocryptRec mutt_autocrypt_ui_recommendation (const struct Email *e, char **keylist);
176int mutt_autocrypt_write_autocrypt_header (struct Envelope *env, FILE *fp);
177int 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