aboutsummaryrefslogtreecommitdiffstats
path: root/g10/packet.h
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2004-04-23 03:25:58 +0000
committerDavid Shaw <[email protected]>2004-04-23 03:25:58 +0000
commit732f049817b081ee90a70f6e9d61c4dac8fbb5c6 (patch)
treeaefacaec381f8da473e5ab8ddda4923b60460d39 /g10/packet.h
parent* parse-packet.c (dump_sig_subpkt, parse_one_sig_subpkt, (diff)
downloadgnupg-732f049817b081ee90a70f6e9d61c4dac8fbb5c6.tar.gz
gnupg-732f049817b081ee90a70f6e9d61c4dac8fbb5c6.zip
* keygen.c (make_backsig): If DO_BACKSIGS is not defined, do not create
backsigs. * getkey.c (merge_selfsigs_subkey): Find 0x19 backsigs on subkey selfsigs and verify they are valid. If DO_BACKSIGS is not defined, fake this as always valid. * packet.h, parse-packet.c (parse_signature): Make parse_signature non-static so we can parse 0x19s in self-sigs. * main.h, sig-check.c (check_backsig): Check a 0x19 signature. (signature_check2): Give a backsig warning if there is no or a bad 0x19 with signatures from a subkey.
Diffstat (limited to 'g10/packet.h')
-rw-r--r--g10/packet.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/g10/packet.h b/g10/packet.h
index 558a6030a..0449c7d5f 100644
--- a/g10/packet.h
+++ b/g10/packet.h
@@ -212,6 +212,7 @@ typedef struct {
without the key to check it */
int is_valid; /* key (especially subkey) is valid */
int dont_cache; /* do not cache this */
+ byte backsig; /* 0=none, 1=bad, 2=good */
u32 main_keyid[2]; /* keyid of the primary key */
u32 keyid[2]; /* calculated by keyid_from_pk() */
byte is_primary;
@@ -364,6 +365,7 @@ typedef enum {
SIGSUBPKT_SIGNERS_UID =28, /* signer's user id */
SIGSUBPKT_REVOC_REASON =29, /* reason for revocation */
SIGSUBPKT_FEATURES =30, /* feature flags */
+
SIGSUBPKT_SIGNATURE =32, /* embedded signature */
SIGSUBPKT_FLAG_CRITICAL=128
@@ -409,6 +411,8 @@ int copy_some_packets( IOBUF inp, IOBUF out, off_t stopoff );
int skip_some_packets( IOBUF inp, unsigned n );
#endif
+int parse_signature( IOBUF inp, int pkttype, unsigned long pktlen,
+ PKT_signature *sig );
const byte *enum_sig_subpkt ( const subpktarea_t *subpkts,
sigsubpkttype_t reqtype,
size_t *ret_n, int *start, int *critical );