NeoMutt  2025-12-11-911-gd8d604
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
private.h
Go to the documentation of this file.
1
23
24#ifndef MUTT_AUTOCRYPT_PRIVATE_H
25#define MUTT_AUTOCRYPT_PRIVATE_H
26
27#include <sqlite3.h>
28#include <stdbool.h>
29#include "mutt/lib.h"
30
31struct Address;
32struct AddressList;
33struct AutocryptAccount;
34struct AutocryptAccountArray;
37struct AutocryptPeer;
39struct Menu;
40
45{
46 int num;
48 struct Address *addr;
49};
50ARRAY_HEAD(AccountEntryArray, struct AccountEntry *);
51
65
66int mutt_autocrypt_account_init(bool prompt);
68
71int mutt_autocrypt_db_account_get(struct Address *addr, struct AutocryptAccount **account);
72int mutt_autocrypt_db_account_get_all(struct AutocryptAccountArray *aaa);
73int mutt_autocrypt_db_account_insert(struct Address *addr, const char *keyid, const char *keydata, bool prefer_encrypt);
76void mutt_autocrypt_db_close(struct AutocryptModuleData *mod_data);
80int mutt_autocrypt_db_init(bool can_create);
82void mutt_autocrypt_db_normalize_addrlist(struct AddressList *al);
84int mutt_autocrypt_db_peer_get(struct Address *addr, struct AutocryptPeer **peer);
88int mutt_autocrypt_db_peer_insert(struct Address *addr, struct AutocryptPeer *peer);
91
94
95int mutt_autocrypt_gpgme_create_key(struct Address *addr, struct Buffer *keyid, struct Buffer *keydata);
96int mutt_autocrypt_gpgme_import_key(const char *keydata, struct Buffer *keyid);
101
102bool populate_menu(struct Menu *menu);
103
104#endif /* MUTT_AUTOCRYPT_PRIVATE_H */
#define ARRAY_HEAD(name, T)
Define a named struct for arrays of elements of a certain type.
Definition array.h:47
ExpandoDataAutocrypt
Expando UIDs for Autocrypt.
Definition private.h:58
@ ED_AUT_ADDRESS
AccountEntry.addr.
Definition private.h:61
@ ED_AUT_KEYID
AutocryptAccount.keyid.
Definition private.h:60
@ ED_AUT_NUMBER
AccountEntry.num.
Definition private.h:62
@ ED_AUT_ENABLED
AutocryptAccount.enabled.
Definition private.h:59
@ ED_AUT_PREFER_ENCRYPT
AutocryptAccount.prefer_encrypt.
Definition private.h:63
void mutt_autocrypt_db_normalize_addrlist(struct AddressList *al)
Normalise a list of Email Addresses.
Definition db.c:173
struct AutocryptPeer * mutt_autocrypt_db_peer_new(void)
Create a new AutocryptPeer.
Definition db.c:537
int mutt_autocrypt_db_account_delete(struct AutocryptAccount *acct)
Delete an Account from the Autocrypt database.
Definition db.c:434
bool mutt_autocrypt_gpgme_is_valid_key(const char *keyid)
Is a key id valid?
Definition gpgme.c:361
int mutt_autocrypt_db_peer_insert(struct Address *addr, struct AutocryptPeer *peer)
Insert a peer into the Autocrypt database.
Definition db.c:640
int mutt_autocrypt_gpgme_create_key(struct Address *addr, struct Buffer *keyid, struct Buffer *keydata)
Create a GPGME key.
Definition gpgme.c:158
struct AutocryptGossipHistory * mutt_autocrypt_db_gossip_history_new(void)
Create a new AutocryptGossipHistory.
Definition db.c:854
int mutt_autocrypt_gpgme_select_key(struct Buffer *keyid, struct Buffer *keydata)
Select a Autocrypt key.
Definition gpgme.c:232
int mutt_autocrypt_db_gossip_history_insert(struct Address *addr, struct AutocryptGossipHistory *gossip_hist)
Insert a gossip history into the Autocrypt database.
Definition db.c:883
int mutt_autocrypt_db_account_get(struct Address *addr, struct AutocryptAccount **account)
Get Autocrypt Account data from the database.
Definition db.c:259
int mutt_autocrypt_db_peer_get(struct Address *addr, struct AutocryptPeer **peer)
Get peer info from the Autocrypt database.
Definition db.c:568
int mutt_autocrypt_db_peer_update(struct AutocryptPeer *peer)
Update the peer info in an Autocrypt database.
Definition db.c:710
int mutt_autocrypt_db_account_get_all(struct AutocryptAccountArray *aaa)
Get all accounts from an Autocrypt database.
Definition db.c:473
int mutt_autocrypt_db_account_insert(struct Address *addr, const char *keyid, const char *keydata, bool prefer_encrypt)
Insert an Account into the Autocrypt database.
Definition db.c:325
void mutt_autocrypt_db_account_free(struct AutocryptAccount **ptr)
Free an AutocryptAccount.
Definition db.c:240
struct AutocryptAccount * mutt_autocrypt_db_account_new(void)
Create a new AutocryptAccount.
Definition db.c:231
int mutt_autocrypt_schema_update(void)
Update the version number of the Autocrypt database schema.
Definition schema.c:111
int mutt_autocrypt_schema_init(void)
Set up an Autocrypt database.
Definition schema.c:43
void mutt_autocrypt_db_normalize_addr(struct Address *a)
Normalise an Email Address.
Definition db.c:162
void mutt_autocrypt_db_peer_history_free(struct AutocryptPeerHistory **ptr)
Free an AutocryptPeerHistory.
Definition db.c:780
int mutt_autocrypt_gpgme_init(void)
Initialise GPGME.
Definition gpgme.c:70
int mutt_autocrypt_db_account_update(struct AutocryptAccount *acct)
Update Account info in the Autocrypt database.
Definition db.c:383
int mutt_autocrypt_account_init(bool prompt)
Create a new Autocrypt account.
Definition autocrypt.c:150
int mutt_autocrypt_gpgme_import_key(const char *keydata, struct Buffer *keyid)
Read a key from GPGME.
Definition gpgme.c:320
void mutt_autocrypt_db_peer_free(struct AutocryptPeer **ptr)
Free an AutocryptPeer.
Definition db.c:546
void mutt_autocrypt_db_gossip_history_free(struct AutocryptGossipHistory **ptr)
Free an AutocryptGossipHistory.
Definition db.c:863
struct AutocryptPeerHistory * mutt_autocrypt_db_peer_history_new(void)
Create a new AutocryptPeerHistory.
Definition db.c:771
void mutt_autocrypt_db_close(struct AutocryptModuleData *mod_data)
Close the Autocrypt SQLite database connection.
Definition db.c:127
bool populate_menu(struct Menu *menu)
Add the Autocrypt data to a Menu.
int mutt_autocrypt_db_init(bool can_create)
Initialise the Autocrypt SQLite database.
Definition db.c:73
void mutt_autocrypt_scan_mailboxes(void)
Scan mailboxes for Autocrypt headers.
Definition autocrypt.c:937
int mutt_autocrypt_gpgme_select_or_create_key(struct Address *addr, struct Buffer *keyid, struct Buffer *keydata)
Ask the user to select or create an Autocrypt key.
Definition gpgme.c:279
int mutt_autocrypt_db_peer_history_insert(struct Address *addr, struct AutocryptPeerHistory *peerhist)
Insert peer history into the Autocrypt database.
Definition db.c:799
Convenience wrapper for the library headers.
An entry in the Autocrypt account Menu.
Definition private.h:45
struct Address * addr
Email address associated with the account.
Definition private.h:48
struct AutocryptAccount * account
Account details.
Definition private.h:47
int num
Number in the index.
Definition private.h:46
An email address.
Definition address.h:35
Autocrypt account.
Definition lib.h:114
Autocrypt gossip history.
Definition lib.h:154
Autocrypt private Module data.
Definition module_data.h:32
Autocrypt peer history.
Definition lib.h:143
Autocrypt peer.
Definition lib.h:127
char * keyid
PGP Key id.
Definition lib.h:131
char * keydata
PGP Key data.
Definition lib.h:132
String manipulation buffer.
Definition buffer.h:36
Definition lib.h:86