moved PGP types to pgp/pgp.h
authorAndreas Steffen <andreas.steffen@strongswan.org>
Fri, 5 Jun 2009 20:06:28 +0000 (22:06 +0200)
committerMartin Willi <martin@strongswan.org>
Tue, 9 Jun 2009 09:03:33 +0000 (11:03 +0200)
src/libstrongswan/pgp/pgp.c
src/libstrongswan/pgp/pgp.h
src/pluto/pgpcert.c

index f1f9247..613c318 100644 (file)
  
 #include "pgp.h"
 
+ENUM_BEGIN(pgp_packet_tag_names, PGP_PKT_RESERVED, PGP_PKT_PUBLIC_SUBKEY,
+       "Reserved",
+       "Public-Key Encrypted Session Key Packet",
+       "Signature Packet",
+       "Symmetric-Key Encrypted Session Key Packet",
+       "One-Pass Signature Packet",
+       "Secret Key Packet",
+       "Public Key Packet",
+       "Secret Subkey Packet",
+       "Compressed Data Packet",
+       "Symmetrically Encrypted Data Packet",
+       "Marker Packet",
+       "Literal Data Packet",
+       "Trust Packet",
+       "User ID Packet",
+       "Public Subkey Packet"
+);
+ENUM_NEXT(pgp_packet_tag_names, PGP_PKT_USER_ATTRIBUTE, PGP_PKT_MOD_DETECT_CODE, PGP_PKT_PUBLIC_SUBKEY,
+       "User Attribute Packet",
+       "Sym. Encrypted and Integrity Protected Data Packet",
+       "Modification Detection Code Packet"
+);
+ENUM_END(pgp_packet_tag_names, PGP_PKT_MOD_DETECT_CODE);
+
+
+ENUM_BEGIN(pgp_pubkey_alg_names, PGP_PUBKEY_ALG_RSA, PGP_PUBKEY_ALG_RSA_SIGN_ONLY,
+       "RSA",
+       "RSA_ENC_ONLY",
+       "RSA_SIGN_ONLY"
+);
+ENUM_NEXT(pgp_pubkey_alg_names, PGP_PUBKEY_ALG_ELGAMAL_ENC_ONLY, PGP_PUBKEY_ALG_DIFFIE_HELLMAN, PGP_PUBKEY_ALG_RSA_SIGN_ONLY,
+       "ELGAMAL_ENC_ONLY",
+       "DSA",
+       "ECC",
+       "ECDSA",
+       "ELGAMAL",
+       "DIFFIE_HELLMAN"
+);
+ENUM_END(pgp_pubkey_alg_names, PGP_PUBKEY_ALG_DIFFIE_HELLMAN);
+
+
 ENUM(pgp_sym_alg_names, PGP_SYM_ALG_PLAIN, PGP_SYM_ALG_TWOFISH,
        "PLAINTEXT",
        "IDEA",
index b120319..5c512d8 100644 (file)
 #ifndef PGP_H_
 #define PGP_H_
 
+typedef enum pgp_packet_tag_t pgp_packet_tag_t;
 typedef enum pgp_sym_alg_t pgp_sym_alg_t;
 
 #include <chunk.h>
 #include <enum.h>
 
 /**
- * OpenPGP symmetric key algorithms defined in section 9.2 of RFC 4880
+ * OpenPGP packet tags as defined in section 4.3 of RFC 4880
+ */
+enum pgp_packet_tag_t {
+       PGP_PKT_RESERVED               =  0,
+       PGP_PKT_PUBKEY_ENC_SESSION_KEY =  1,
+       PGP_PKT_SIGNATURE              =  2,
+       PGP_PKT_SYMKEY_ENC_SESSION_KEY =  3,
+       PGP_PKT_ONE_PASS_SIGNATURE_PKT =  4,
+       PGP_PKT_SECRET_KEY             =  5,
+       PGP_PKT_PUBLIC_KEY             =  6,
+       PGP_PKT_SECRET_SUBKEY          =  7,
+       PGP_PKT_COMPRESSED_DATA        =  8,
+       PGP_PKT_SYMKEY_ENC_DATA        =  9,
+       PGP_PKT_MARKER                 = 10,
+       PGP_PKT_LITERAL_DATA           = 11,
+       PGP_PKT_TRUST                  = 12,
+       PGP_PKT_USER_ID                = 13,
+       PGP_PKT_PUBLIC_SUBKEY          = 14,
+       PGP_PKT_USER_ATTRIBUTE         = 17,
+       PGP_PKT_SYM_ENC_INT_PROT_DATA  = 18,
+       PGP_PKT_MOD_DETECT_CODE        = 19
+};
+
+/**
+ * Enum names for pgp_packet_tag_t
+ */
+extern enum_name_t *pgp_packet_tag_names;
+
+/**
+ * OpenPGP public key algorithms as defined in section 9.1 of RFC 4880
+ */
+enum pgp_pubkey_alg_t {
+       PGP_PUBKEY_ALG_RSA              =  1,
+       PGP_PUBKEY_ALG_RSA_ENC_ONLY     =  2,
+       PGP_PUBKEY_ALG_RSA_SIGN_ONLY    =  3,
+       PGP_PUBKEY_ALG_ELGAMAL_ENC_ONLY = 16,
+       PGP_PUBKEY_ALG_DSA              = 17,
+       PGP_PUBKEY_ALG_ECC              = 18,
+       PGP_PUBKEY_ALG_ECDSA            = 19,
+       PGP_PUBKEY_ALG_ELGAMAL          = 20,
+       PGP_PUBKEY_ALG_DIFFIE_HELLMAN   = 21,
+};
+
+/**
+ * Enum names for pgp_pubkey_alg_t
+ */
+extern enum_name_t *pgp_pubkey_alg_names;
+
+/**
+ * OpenPGP symmetric key algorithms as defined in section 9.2 of RFC 4880
  */
 enum pgp_sym_alg_t {
        PGP_SYM_ALG_PLAIN    =  0,
index bfa0482..531a04a 100644 (file)
 static pgpcert_t *pgpcerts   = NULL;
 
 /*
- * OpenPGP packet tags defined in section 4.3 of RFC 2440
- */
-#define PGP_PKT_RESERVED                 0
-#define PGP_PKT_PUBKEY_ENC_SESSION_KEY   1
-#define PGP_PKT_SIGNATURE                2
-#define PGP_PKT_SYMKEY_ENC_SESSION_KEY   3
-#define PGP_PKT_ONE_PASS_SIGNATURE_PKT   4
-#define PGP_PKT_SECRET_KEY               5
-#define PGP_PKT_PUBLIC_KEY               6
-#define PGP_PKT_SECRET_SUBKEY            7
-#define PGP_PKT_COMPRESSED_DATA          8
-#define PGP_PKT_SYMKEY_ENC_DATA          9
-#define PGP_PKT_MARKER                  10
-#define PGP_PKT_LITERAL_DATA            11
-#define PGP_PKT_TRUST                   12
-#define PGP_PKT_USER_ID                 13
-#define PGP_PKT_PUBLIC_SUBKEY           14
-#define PGP_PKT_ROOF                    15
-
-static const char *const pgp_packet_type_name[] = {
-       "Reserved",
-       "Public-Key Encrypted Session Key Packet",
-       "Signature Packet",
-       "Symmetric-Key Encrypted Session Key Packet",
-       "One-Pass Signature Packet",
-       "Secret Key Packet",
-       "Public Key Packet",
-       "Secret Subkey Packet",
-       "Compressed Data Packet",
-       "Symmetrically Encrypted Data Packet",
-       "Marker Packet",
-       "Literal Data Packet",
-       "Trust Packet",
-       "User ID Packet",
-       "Public Subkey Packet"
-};
-
-/*
- * OpenPGP public key algorithms defined in section 9.1 of RFC 2440
- */
-#define PGP_PUBKEY_ALG_RSA               1
-#define PGP_PUBKEY_ALG_RSA_ENC_ONLY      2
-#define PGP_PUBKEY_ALG_RSA_SIGN_ONLY     3
-#define PGP_PUBKEY_ALG_ELGAMAL_ENC_ONLY 16
-#define PGP_PUBKEY_ALG_DSA              17
-#define PGP_PUBKEY_ALG_ECC              18
-#define PGP_PUBKEY_ALG_ECDSA            19
-#define PGP_PUBKEY_ALG_ELGAMAL          20
-
-/*
  * Size of PGP Key ID
  */
 #define PGP_KEYID_SIZE          8
@@ -313,10 +263,9 @@ bool parse_pgp(chunk_t blob, pgpcert_t *cert, private_key_t **key)
                        blob.ptr += packet.len;
                        blob.len -= packet.len;
                        DBG(DBG_PARSING,
-                               DBG_log("  %s (%d), old format, %d bytes",
-                                       (packet_type < PGP_PKT_ROOF) ?
-                                       pgp_packet_type_name[packet_type] :
-                                       "Undefined Packet Type", packet_type, (int)packet.len);
+                               DBG_log("  %N (%d), old format, %u bytes",
+                                               pgp_packet_tag_names, packet_type,
+                                               packet_type, packet.len);
                                DBG_log("L2 - body:")
                        )
                        DBG_cond_dump_chunk(DBG_RAW, "", packet);