NeoMutt  2024-11-14-138-ge5ca67
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
expando_gpgme.c File Reference

Ncrypt Expando definitions. More...

#include <gpgme.h>
#include <stdbool.h>
#include <stdio.h>
#include <time.h>
#include "private.h"
#include "mutt/lib.h"
#include "core/lib.h"
#include "expando_gpgme.h"
#include "lib.h"
#include "expando/lib.h"
#include "crypt_gpgme.h"
#include "pgplib.h"
+ Include dependency graph for expando_gpgme.c:

Go to the source code of this file.

Functions

static char * crypt_key_abilities (KeyFlags flags)
 Parse key flags into a string.
 
static char * crypt_flags (KeyFlags flags)
 Parse the key flags into a single character.
 
static long gpgme_entry_number_num (const struct ExpandoNode *node, void *data, MuttFormatFlags flags)
 GPGME: Index number - Implements get_number_t -.
 
static void gpgme_entry_trust (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Trust/validity - Implements get_string_t -.
 
static void gpgme_entry_user_id (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: User id - Implements get_string_t -.
 
static void gpgme_key_algorithm (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Key Algorithm - Implements get_string_t -.
 
static void gpgme_key_capabilities (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Key Capabilities - Implements get_string_t -.
 
static void gpgme_key_date (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Date of the key - Implements get_string_t -.
 
static long gpgme_key_date_num (const struct ExpandoNode *node, void *data, MuttFormatFlags flags)
 GPGME: Date of the key - Implements get_number_t -.
 
static void gpgme_key_fingerprint (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Key fingerprint - Implements get_string_t -.
 
static void gpgme_key_flags (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Key Flags - Implements get_string_t -.
 
static void gpgme_key_id (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Key id - Implements get_string_t -.
 
static long gpgme_key_length_num (const struct ExpandoNode *node, void *data, MuttFormatFlags flags)
 GPGME: Key length - Implements get_number_t -.
 
static void gpgme_key_protocol (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
 GPGME: Protocol - Implements get_string_t -.
 

Variables

const struct ExpandoRenderCallback PgpEntryGpgmeRenderCallbacks []
 Callbacks for GPGME Key Expandos.
 

Detailed Description

Ncrypt Expando definitions.

Authors
  • Richard Russon

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Definition in file expando_gpgme.c.

Function Documentation

◆ crypt_key_abilities()

static char * crypt_key_abilities ( KeyFlags  flags)
static

Parse key flags into a string.

Parameters
flagsFlags, see KeyFlags
Return values
ptrFlag string
Note
The string is statically allocated.

Definition at line 49 of file expando_gpgme.c.

50{
51 static char buf[3];
52
53 if (!(flags & KEYFLAG_CANENCRYPT))
54 buf[0] = '-';
55 else if (flags & KEYFLAG_PREFER_SIGNING)
56 buf[0] = '.';
57 else
58 buf[0] = 'e';
59
60 if (!(flags & KEYFLAG_CANSIGN))
61 buf[1] = '-';
62 else if (flags & KEYFLAG_PREFER_ENCRYPTION)
63 buf[1] = '.';
64 else
65 buf[1] = 's';
66
67 buf[2] = '\0';
68
69 return buf;
70}
#define KEYFLAG_CANENCRYPT
Key is suitable for encryption.
Definition: lib.h:134
#define KEYFLAG_PREFER_SIGNING
Key's owner prefers signing.
Definition: lib.h:143
#define KEYFLAG_PREFER_ENCRYPTION
Key's owner prefers encryption.
Definition: lib.h:142
#define KEYFLAG_CANSIGN
Key is suitable for signing.
Definition: lib.h:133
+ Here is the caller graph for this function:

◆ crypt_flags()

static char * crypt_flags ( KeyFlags  flags)
static

Parse the key flags into a single character.

Parameters
flagsFlags, see KeyFlags
Return values
charFlag character

The returned character describes the most important flag.

Definition at line 79 of file expando_gpgme.c.

80{
81 if (flags & KEYFLAG_REVOKED)
82 return "R";
83 if (flags & KEYFLAG_EXPIRED)
84 return "X";
85 if (flags & KEYFLAG_DISABLED)
86 return "d";
87 if (flags & KEYFLAG_CRITICAL)
88 return "c";
89
90 return " ";
91}
#define KEYFLAG_EXPIRED
Key is expired.
Definition: lib.h:137
#define KEYFLAG_CRITICAL
Key is marked critical.
Definition: lib.h:141
#define KEYFLAG_DISABLED
Key is marked disabled.
Definition: lib.h:139
#define KEYFLAG_REVOKED
Key is revoked.
Definition: lib.h:138
+ Here is the caller graph for this function:

Variable Documentation

◆ PgpEntryGpgmeRenderCallbacks

const struct ExpandoRenderCallback PgpEntryGpgmeRenderCallbacks[]
Initial value:
= {
{ -1, -1, NULL, NULL },
}
@ ED_PGP
Pgp ED_PGP_ ExpandoDataPgp.
Definition: domain.h:51
@ ED_PGP_KEY
Pgp_Key ED_PGK_ ExpandoDataPgpKey.
Definition: domain.h:53
static long gpgme_key_length_num(const struct ExpandoNode *node, void *data, MuttFormatFlags flags)
GPGME: Key length - Implements get_number_t -.
static long gpgme_entry_number_num(const struct ExpandoNode *node, void *data, MuttFormatFlags flags)
GPGME: Index number - Implements get_number_t -.
Definition: expando_gpgme.c:96
static long gpgme_key_date_num(const struct ExpandoNode *node, void *data, MuttFormatFlags flags)
GPGME: Date of the key - Implements get_number_t -.
static void gpgme_key_flags(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Key Flags - Implements get_string_t -.
static void gpgme_key_protocol(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Protocol - Implements get_string_t -.
static void gpgme_entry_trust(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Trust/validity - Implements get_string_t -.
static void gpgme_key_capabilities(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Key Capabilities - Implements get_string_t -.
static void gpgme_key_algorithm(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Key Algorithm - Implements get_string_t -.
static void gpgme_key_date(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Date of the key - Implements get_string_t -.
static void gpgme_key_fingerprint(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Key fingerprint - Implements get_string_t -.
static void gpgme_entry_user_id(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: User id - Implements get_string_t -.
static void gpgme_key_id(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, struct Buffer *buf)
GPGME: Key id - Implements get_string_t -.
@ ED_PGP_NUMBER
PgpEntry.num.
Definition: private.h:51
@ ED_PGP_USER_ID
PgpUid.addr.
Definition: private.h:53
@ ED_PGP_TRUST
PgpUid, TrustFlags.
Definition: private.h:52
@ ED_PGK_KEY_CAPABILITIES
PgpKeyInfo.flags, pgp_key_abilities()
Definition: pgplib.h:71
@ ED_PGK_KEY_FINGERPRINT
PgpKeyInfo.fingerprint.
Definition: pgplib.h:72
@ ED_PGK_PKEY_LENGTH
pgp_principal_key(), PgpKeyInfo.keylen
Definition: pgplib.h:81
@ ED_PGK_PKEY_ALGORITHM
pgp_principal_key(), PgpKeyInfo.algorithm
Definition: pgplib.h:76
@ ED_PGK_DATE
PgpKeyInfo.gen_time.
Definition: pgplib.h:69
@ ED_PGK_PKEY_FINGERPRINT
pgp_principal_key(), PgpKeyInfo.fingerprint
Definition: pgplib.h:78
@ ED_PGK_KEY_ID
PgpKeyInfo, pgp_this_keyid()
Definition: pgplib.h:74
@ ED_PGK_PROTOCOL
PgpKeyInfo.
Definition: pgplib.h:82
@ ED_PGK_PKEY_CAPABILITIES
pgp_principal_key(), PgpKeyInfo.flags, pgp_key_abilities()
Definition: pgplib.h:77
@ ED_PGK_KEY_FLAGS
PgpKeyInfo.kflags, pgp_flags()
Definition: pgplib.h:73
@ ED_PGK_PKEY_ID
pgp_principal_key(), PgpKeyInfo, pgp_this_keyid()
Definition: pgplib.h:80
@ ED_PGK_KEY_ALGORITHM
PgpKeyInfo.algorithm.
Definition: pgplib.h:70
@ ED_PGK_KEY_LENGTH
PgpKeyInfo.keylen.
Definition: pgplib.h:75
@ ED_PGK_PKEY_FLAGS
pgp_principal_key(), PgpKeyInfo.kflags, pgp_flags()
Definition: pgplib.h:79

Callbacks for GPGME Key Expandos.

See also
PgpEntryFormatDef, ExpandoDataGlobal, ExpandoDataPgpKeyGpgme

Definition at line 311 of file expando_gpgme.c.