summaryrefslogtreecommitdiffstats
path: root/src/lib/crypto/krb
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-10-09 14:27:04 -0400
committerGreg Hudson <ghudson@mit.edu>2012-10-09 14:27:04 -0400
commit01f30a7f06110f54c5d69fdd7697347c102f5274 (patch)
treed7103da14e3d895f6c2629647daa3fdde0641759 /src/lib/crypto/krb
parentfd136728de5b603974e3ec21bc5856406c4e814d (diff)
downloadkrb5-01f30a7f06110f54c5d69fdd7697347c102f5274.tar.gz
krb5-01f30a7f06110f54c5d69fdd7697347c102f5274.tar.xz
krb5-01f30a7f06110f54c5d69fdd7697347c102f5274.zip
De-conditionalize Camellia code
The Camellia enctypes and cksumtypes have received IANA assignments. Add #defines using those assignments to krb5.h, remove the CAMELLIA conditional, and enable testing code as appropriate. The Camellia draft has not received an RFC number yet, so there is no Doxygen markup for the enctype and cksumtype #defines. That can be added once the RFC number is known.
Diffstat (limited to 'src/lib/crypto/krb')
-rw-r--r--src/lib/crypto/krb/checksum_dk_cmac.c4
-rw-r--r--src/lib/crypto/krb/cksumtypes.c2
-rw-r--r--src/lib/crypto/krb/cmac.c16
-rw-r--r--src/lib/crypto/krb/crypto_int.h10
-rw-r--r--src/lib/crypto/krb/derive.c6
-rw-r--r--src/lib/crypto/krb/enc_dk_cmac.c4
-rw-r--r--src/lib/crypto/krb/etypes.c3
-rw-r--r--src/lib/crypto/krb/prf_cmac.c4
-rw-r--r--src/lib/crypto/krb/s2k_pbkdf2.c2
9 files changed, 3 insertions, 48 deletions
diff --git a/src/lib/crypto/krb/checksum_dk_cmac.c b/src/lib/crypto/krb/checksum_dk_cmac.c
index bb48c577c..59d5c5a52 100644
--- a/src/lib/crypto/krb/checksum_dk_cmac.c
+++ b/src/lib/crypto/krb/checksum_dk_cmac.c
@@ -28,8 +28,6 @@
#define K5CLENGTH 5 /* 32 bit net byte order integer + one byte seed */
-#ifdef CAMELLIA
-
krb5_error_code
krb5int_dk_cmac_checksum(const struct krb5_cksumtypes *ctp,
krb5_key key, krb5_keyusage usage,
@@ -58,5 +56,3 @@ krb5int_dk_cmac_checksum(const struct krb5_cksumtypes *ctp,
krb5_k_free_key(NULL, kc);
return ret;
}
-
-#endif /* CAMELLIA */
diff --git a/src/lib/crypto/krb/cksumtypes.c b/src/lib/crypto/krb/cksumtypes.c
index fd95057c4..a1ced981f 100644
--- a/src/lib/crypto/krb/cksumtypes.c
+++ b/src/lib/crypto/krb/cksumtypes.c
@@ -101,7 +101,6 @@ const struct krb5_cksumtypes krb5int_cksumtypes_list[] = {
krb5int_hmacmd5_checksum, NULL,
16, 16, 0 },
-#ifdef CAMELLIA
{ CKSUMTYPE_CMAC_CAMELLIA128,
"cmac-camellia128", { 0 }, "CMAC Camellia128 key",
&krb5int_enc_camellia128, NULL,
@@ -113,7 +112,6 @@ const struct krb5_cksumtypes krb5int_cksumtypes_list[] = {
&krb5int_enc_camellia256, NULL,
krb5int_dk_cmac_checksum, NULL,
16, 16, 0 },
-#endif /* CAMELLIA */
};
const size_t krb5int_cksumtypes_length =
diff --git a/src/lib/crypto/krb/cmac.c b/src/lib/crypto/krb/cmac.c
index 19af2201e..2e220c5d5 100644
--- a/src/lib/crypto/krb/cmac.c
+++ b/src/lib/crypto/krb/cmac.c
@@ -41,8 +41,6 @@
#include "crypto_int.h"
-#ifdef CAMELLIA
-
#define BLOCK_SIZE 16
static unsigned char const_Rb[BLOCK_SIZE] = {
@@ -221,17 +219,3 @@ krb5int_cmac_checksum(const struct krb5_enc_provider *enc, krb5_key key,
return 0;
}
-
-#else /* CAMELLIA */
-
-/* This won't be used, but is still in the export table. */
-
-krb5_error_code
-krb5int_cmac_checksum(const struct krb5_enc_provider *enc, krb5_key key,
- const krb5_crypto_iov *data, size_t num_data,
- krb5_data *output)
-{
- return EINVAL;
-}
-
-#endif /* CAMELLIA */
diff --git a/src/lib/crypto/krb/crypto_int.h b/src/lib/crypto/krb/crypto_int.h
index cb9aef346..01090d006 100644
--- a/src/lib/crypto/krb/crypto_int.h
+++ b/src/lib/crypto/krb/crypto_int.h
@@ -321,11 +321,8 @@ krb5_error_code krb5int_confounder_verify(const struct krb5_cksumtypes *ctp,
/*** Key derivation functions ***/
enum deriv_alg {
- DERIVE_RFC3961 /* RFC 3961 section 5.1 */
-#ifdef CAMELLIA
- , /* C90 doesn't let enum list end w/comma */
+ DERIVE_RFC3961, /* RFC 3961 section 5.1 */
DERIVE_SP800_108_CMAC /* NIST SP 800-108 with CMAC as PRF */
-#endif
};
krb5_error_code krb5int_derive_keyblock(const struct krb5_enc_provider *enc,
@@ -421,10 +418,8 @@ extern const struct krb5_enc_provider krb5int_enc_aes128;
extern const struct krb5_enc_provider krb5int_enc_aes256;
extern const struct krb5_enc_provider krb5int_enc_aes128_ctr;
extern const struct krb5_enc_provider krb5int_enc_aes256_ctr;
-#ifdef CAMELLIA
extern const struct krb5_enc_provider krb5int_enc_camellia128;
extern const struct krb5_enc_provider krb5int_enc_camellia256;
-#endif
extern const struct krb5_hash_provider krb5int_hash_crc32;
extern const struct krb5_hash_provider krb5int_hash_md4;
@@ -462,8 +457,7 @@ krb5_error_code krb5int_pbkdf2_hmac_sha1(const krb5_data *out,
const krb5_data *salt);
/* The following are used by test programs and are just handler functions from
- * the AES and Camellia enc providers. Define a stub krb5int_camellia_cbc_mac
- * even if CAMELLIA isn't defined, since it's in the export list. */
+ * the AES and Camellia enc providers. */
krb5_error_code krb5int_aes_encrypt(krb5_key key, const krb5_data *ivec,
krb5_crypto_iov *data, size_t num_data);
krb5_error_code krb5int_aes_decrypt(krb5_key key, const krb5_data *ivec,
diff --git a/src/lib/crypto/krb/derive.c b/src/lib/crypto/krb/derive.c
index 1cb47af4b..1509f4225 100644
--- a/src/lib/crypto/krb/derive.c
+++ b/src/lib/crypto/krb/derive.c
@@ -130,8 +130,6 @@ cleanup:
return ret;
}
-#ifdef CAMELLIA
-
/*
* NIST SP800-108 KDF in feedback mode (section 5.2).
* Parameters:
@@ -207,8 +205,6 @@ cleanup:
return ret;
}
-#endif /* CAMELLIA */
-
krb5_error_code
krb5int_derive_random(const struct krb5_enc_provider *enc,
krb5_key inkey, krb5_data *outrnd,
@@ -217,10 +213,8 @@ krb5int_derive_random(const struct krb5_enc_provider *enc,
switch (alg) {
case DERIVE_RFC3961:
return derive_random_rfc3961(enc, inkey, outrnd, in_constant);
-#ifdef CAMELLIA
case DERIVE_SP800_108_CMAC:
return derive_random_sp800_108_cmac(enc, inkey, outrnd, in_constant);
-#endif
default:
return EINVAL;
}
diff --git a/src/lib/crypto/krb/enc_dk_cmac.c b/src/lib/crypto/krb/enc_dk_cmac.c
index 6593d172e..508f9f823 100644
--- a/src/lib/crypto/krb/enc_dk_cmac.c
+++ b/src/lib/crypto/krb/enc_dk_cmac.c
@@ -27,8 +27,6 @@
#include "crypto_int.h"
-#ifdef CAMELLIA
-
#define K5CLENGTH 5 /* 32 bit net byte order integer + one byte seed */
/* AEAD */
@@ -182,5 +180,3 @@ cleanup:
zapfree(cksum.data, cksum.length);
return ret;
}
-
-#endif /* CAMELLIA */
diff --git a/src/lib/crypto/krb/etypes.c b/src/lib/crypto/krb/etypes.c
index a9b176dbd..53be1d54d 100644
--- a/src/lib/crypto/krb/etypes.c
+++ b/src/lib/crypto/krb/etypes.c
@@ -144,7 +144,7 @@ const struct krb5_keytypes krb5int_enctypes_list[] = {
krb5int_dk_prf,
CKSUMTYPE_HMAC_SHA1_96_AES256,
0 /*flags*/ },
-#ifdef CAMELLIA
+
{ ENCTYPE_CAMELLIA128_CTS_CMAC,
"camellia128-cts-cmac", { "camellia128-cts" },
"Camellia-128 CTS mode with CMAC",
@@ -167,7 +167,6 @@ const struct krb5_keytypes krb5int_enctypes_list[] = {
krb5int_dk_cmac_prf,
CKSUMTYPE_CMAC_CAMELLIA256,
0 /*flags */ },
-#endif /* CAMELLIA */
};
const int krb5int_enctypes_length =
diff --git a/src/lib/crypto/krb/prf_cmac.c b/src/lib/crypto/krb/prf_cmac.c
index d3e71617d..131c36d12 100644
--- a/src/lib/crypto/krb/prf_cmac.c
+++ b/src/lib/crypto/krb/prf_cmac.c
@@ -26,8 +26,6 @@
#include "crypto_int.h"
-#ifdef CAMELLIA
-
krb5_error_code
krb5int_dk_cmac_prf(const struct krb5_keytypes *ktp, krb5_key key,
const krb5_data *in, krb5_data *out)
@@ -58,5 +56,3 @@ cleanup:
krb5_k_free_key(NULL, kp);
return ret;
}
-
-#endif /* CAMELLIA */
diff --git a/src/lib/crypto/krb/s2k_pbkdf2.c b/src/lib/crypto/krb/s2k_pbkdf2.c
index 90fe3c694..2476865f3 100644
--- a/src/lib/crypto/krb/s2k_pbkdf2.c
+++ b/src/lib/crypto/krb/s2k_pbkdf2.c
@@ -183,7 +183,6 @@ krb5int_aes_string_to_key(const struct krb5_keytypes *ktp,
DERIVE_RFC3961, 4096);
}
-#ifdef CAMELLIA
krb5_error_code
krb5int_camellia_string_to_key(const struct krb5_keytypes *ktp,
const krb5_data *string,
@@ -196,4 +195,3 @@ krb5int_camellia_string_to_key(const struct krb5_keytypes *ktp,
return pbkdf2_string_to_key(ktp, string, salt, &pepper, params, key,
DERIVE_SP800_108_CMAC, 32768);
}
-#endif