See ChangeLog: Tue Aug 31 17:20:44 CEST 1999 Werner Koch
[gnupg.git] / g10 / packet.h
index 3126683..50ea65b 100644 (file)
@@ -46,7 +46,8 @@ typedef enum {
        PKT_USER_ID       =13, /* user id packet */
        PKT_PUBLIC_SUBKEY =14, /* public subkey (OpenPGP) */
        PKT_OLD_COMMENT   =16, /* comment packet from an OpenPGP draft */
-       PKT_COMMENT       =61  /* new comment packet (private) */
+       PKT_COMMENT       =61, /* new comment packet (private) */
+       PKT_ENCRYPTED_MDC =62, /* test: encrypted data with MDC */
 } pkttype_t;
 
 typedef struct packet_struct PACKET;
@@ -166,11 +167,16 @@ typedef struct {
 
 typedef struct {
     u32  len;            /* length of encrypted data */
-    byte  new_ctb;
+    byte new_ctb;        /* uses a new CTB */
+    byte mdc_method;     /* test: > 0: this is is an encrypted_mdc packet */
     IOBUF buf;           /* IOBUF reference */
 } PKT_encrypted;
 
 typedef struct {
+    unsigned int trustval;
+} PKT_ring_trust;
+
+typedef struct {
     u32  len;            /* length of encrypted data */
     IOBUF buf;           /* IOBUF reference */
     byte new_ctb;
@@ -180,6 +186,7 @@ typedef struct {
     char name[1];
 } PKT_plaintext;
 
+
 /* combine all packets into a union */
 struct packet_struct {
     pkttype_t pkttype;
@@ -194,7 +201,8 @@ struct packet_struct {
        PKT_comment     *comment;       /* PKT_COMMENT */
        PKT_user_id     *user_id;       /* PKT_USER_ID */
        PKT_compressed  *compressed;    /* PKT_COMPRESSED */
-       PKT_encrypted   *encrypted;     /* PKT_ENCRYPTED */
+       PKT_encrypted   *encrypted;     /* PKT_ENCRYPTED[_MDC] */
+       PKT_ring_trust  *ring_trust;    /* PKT_RING_TRUST */
        PKT_plaintext   *plaintext;     /* PKT_PLAINTEXT */
     } pkt;
 };
@@ -228,7 +236,9 @@ typedef enum {
     SIGSUBPKT_POLICY      =26, /* policy URL */
     SIGSUBPKT_KEY_FLAGS    =27, /* key flags */
     SIGSUBPKT_SIGNERS_UID  =28, /* signer's user id */
-    SIGSUBPKT_PRIV_ADD_SIG =101 /* signatur is also valid for this uid */
+    SIGSUBPKT_PRIV_ADD_SIG =101,/* signatur is also valid for this uid */
+
+    SIGSUBPKT_FLAG_CRITICAL=128
 } sigsubpkttype_t;
 
 
@@ -261,8 +271,10 @@ int copy_some_packets( IOBUF inp, IOBUF out, ulong stopoff );
 int skip_some_packets( IOBUF inp, unsigned n );
 #endif
 
-const byte *parse_sig_subpkt( const byte *buffer,
-                             sigsubpkttype_t reqtype, size_t *ret_n );
+const byte *enum_sig_subpkt( const byte *buffer, sigsubpkttype_t reqtype,
+                                             size_t *ret_n, int *start );
+const byte *parse_sig_subpkt( const byte *buffer, sigsubpkttype_t reqtype,
+                                      size_t *ret_n );
 const byte *parse_sig_subpkt2( PKT_signature *sig,
                               sigsubpkttype_t reqtype, size_t *ret_n );
 
@@ -302,7 +314,6 @@ int cmp_user_ids( PKT_user_id *a, PKT_user_id *b );
 
 /*-- sig-check.c --*/
 int signature_check( PKT_signature *sig, MD_HANDLE digest );
-int mdc_kludge_check( PKT_signature *sig, MD_HANDLE digest );
 
 /*-- seckey-cert.c --*/
 int is_secret_key_protected( PKT_secret_key *sk );
@@ -323,7 +334,8 @@ int encrypt_data( PKT_encrypted *ed, DEK *dek );
 /*-- plaintext.c --*/
 int handle_plaintext( PKT_plaintext *pt, md_filter_context_t *mfx,
                                        int nooutput, int clearsig );
-int ask_for_detached_datafile( md_filter_context_t *mfx, const char *inname );
+int ask_for_detached_datafile( MD_HANDLE md, MD_HANDLE md2,
+                              const char *inname, int textmode );
 
 /*-- comment.c --*/
 int write_comment( IOBUF out, const char *s );