[Pkg-gnupg-commit] [gnupg2] 67/132: common, g10: Fix enumeration types.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Wed May 17 03:07:43 UTC 2017
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch experimental
in repository gnupg2.
commit 74258278efacd7069e8c1df8ff6fc3f4675d713e
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Thu Apr 13 12:54:52 2017 +0900
common, g10: Fix enumeration types.
* common/openpgpdefs.h (CIPHER_ALGO_PRIVATE10, PUBKEY_ALGO_PRIVATE10)
(DIGEST_ALGO_PRIVATE10, COMPRESS_ALGO_PRIVATE10): New.
* g10/misc.c (map_pk_gcry_to_openpgp): Add type conversion.
(map_cipher_openpgp_to_gcry, openpgp_cipher_algo_name)
(openpgp_pk_test_algo2, map_md_openpgp_to_gcry)
(pubkey_get_npkey): Add default handling.
--
Compilers may emit code assuming the maximum value of enum type.
According to OpenPGP specification, there are cases for private uses.
Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
---
common/openpgpdefs.h | 12 ++++++++----
g10/misc.c | 23 +++++++++++++----------
2 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/common/openpgpdefs.h b/common/openpgpdefs.h
index 3d5d306..85a4251 100644
--- a/common/openpgpdefs.h
+++ b/common/openpgpdefs.h
@@ -136,7 +136,8 @@ typedef enum
CIPHER_ALGO_TWOFISH = 10, /* 256 bit */
CIPHER_ALGO_CAMELLIA128 = 11,
CIPHER_ALGO_CAMELLIA192 = 12,
- CIPHER_ALGO_CAMELLIA256 = 13
+ CIPHER_ALGO_CAMELLIA256 = 13,
+ CIPHER_ALGO_PRIVATE10 = 110
}
cipher_algo_t;
@@ -152,7 +153,8 @@ typedef enum
PUBKEY_ALGO_ECDSA = 19, /* RFC-6637 */
PUBKEY_ALGO_ELGAMAL = 20, /* Elgamal encrypt+sign (legacy). */
/* 21 reserved by OpenPGP. */
- PUBKEY_ALGO_EDDSA = 22 /* EdDSA (not yet assigned). */
+ PUBKEY_ALGO_EDDSA = 22, /* EdDSA (not yet assigned). */
+ PUBKEY_ALGO_PRIVATE10 = 110
}
pubkey_algo_t;
@@ -166,7 +168,8 @@ typedef enum
DIGEST_ALGO_SHA256 = 8,
DIGEST_ALGO_SHA384 = 9,
DIGEST_ALGO_SHA512 = 10,
- DIGEST_ALGO_SHA224 = 11
+ DIGEST_ALGO_SHA224 = 11,
+ DIGEST_ALGO_PRIVATE10 = 110
}
digest_algo_t;
@@ -176,7 +179,8 @@ typedef enum
COMPRESS_ALGO_NONE = 0,
COMPRESS_ALGO_ZIP = 1,
COMPRESS_ALGO_ZLIB = 2,
- COMPRESS_ALGO_BZIP2 = 3
+ COMPRESS_ALGO_BZIP2 = 3,
+ COMPRESS_ALGO_PRIVATE10 = 110
}
compress_algo_t;
diff --git a/g10/misc.c b/g10/misc.c
index 0ecdb04..abae6c9 100644
--- a/g10/misc.c
+++ b/g10/misc.c
@@ -473,8 +473,8 @@ map_cipher_openpgp_to_gcry (cipher_algo_t algo)
#else
case CIPHER_ALGO_CAMELLIA256: return 0;
#endif
+ default: return 0;
}
- return 0;
}
/* The inverse function of above. */
@@ -509,7 +509,7 @@ map_pk_gcry_to_openpgp (enum gcry_pk_algos algo)
{
case GCRY_PK_ECDSA: return PUBKEY_ALGO_ECDSA;
case GCRY_PK_ECDH: return PUBKEY_ALGO_ECDH;
- default: return algo < 110 ? algo : 0;
+ default: return algo < 110 ? (pubkey_algo_t)algo : 0;
}
}
@@ -565,7 +565,6 @@ openpgp_cipher_algo_name (cipher_algo_t algo)
{
switch (algo)
{
- case CIPHER_ALGO_NONE: break;
case CIPHER_ALGO_IDEA: return "IDEA";
case CIPHER_ALGO_3DES: return "3DES";
case CIPHER_ALGO_CAST5: return "CAST5";
@@ -577,8 +576,9 @@ openpgp_cipher_algo_name (cipher_algo_t algo)
case CIPHER_ALGO_CAMELLIA128: return "CAMELLIA128";
case CIPHER_ALGO_CAMELLIA192: return "CAMELLIA192";
case CIPHER_ALGO_CAMELLIA256: return "CAMELLIA256";
+ case CIPHER_ALGO_NONE:
+ default: return "?";
}
- return "?";
}
@@ -636,6 +636,9 @@ openpgp_pk_test_algo2 (pubkey_algo_t algo, unsigned int use)
if (RFC2440)
ga = GCRY_PK_ELG;
break;
+
+ default:
+ break;
}
if (!ga)
return gpg_error (GPG_ERR_PUBKEY_ALGO);
@@ -699,8 +702,8 @@ openpgp_pk_algo_name (pubkey_algo_t algo)
case PUBKEY_ALGO_ECDH: return "ECDH";
case PUBKEY_ALGO_ECDSA: return "ECDSA";
case PUBKEY_ALGO_EDDSA: return "EDDSA";
+ default: return "?";
}
- return "?";
}
@@ -832,8 +835,8 @@ map_md_openpgp_to_gcry (digest_algo_t algo)
#else
case DIGEST_ALGO_SHA512: return 0;
#endif
+ default: return 0;
}
- return 0;
}
@@ -1652,8 +1655,8 @@ pubkey_get_npkey (pubkey_algo_t algo)
case PUBKEY_ALGO_ECDSA: return 2;
case PUBKEY_ALGO_ELGAMAL: return 3;
case PUBKEY_ALGO_EDDSA: return 2;
+ default: return 0;
}
- return 0;
}
@@ -1672,8 +1675,8 @@ pubkey_get_nskey (pubkey_algo_t algo)
case PUBKEY_ALGO_ECDSA: return 3;
case PUBKEY_ALGO_ELGAMAL: return 4;
case PUBKEY_ALGO_EDDSA: return 3;
+ default: return 0;
}
- return 0;
}
/* Temporary helper. */
@@ -1691,8 +1694,8 @@ pubkey_get_nsig (pubkey_algo_t algo)
case PUBKEY_ALGO_ECDSA: return 2;
case PUBKEY_ALGO_ELGAMAL: return 2;
case PUBKEY_ALGO_EDDSA: return 2;
+ default: return 0;
}
- return 0;
}
@@ -1711,8 +1714,8 @@ pubkey_get_nenc (pubkey_algo_t algo)
case PUBKEY_ALGO_ECDSA: return 0;
case PUBKEY_ALGO_ELGAMAL: return 2;
case PUBKEY_ALGO_EDDSA: return 0;
+ default: return 0;
}
- return 0;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git
More information about the Pkg-gnupg-commit
mailing list