]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Export a few krb5 routines for rxgk
authorBen Kaduk <kaduk@mit.edu>
Fri, 13 Dec 2013 21:17:54 +0000 (16:17 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Sun, 3 Jun 2018 14:53:00 +0000 (10:53 -0400)
We need oafs_h_krb5_generate_random_block when generating random
keys and oafs_h_krb5_crypto_fx_cf2 for CombineTokens.
Having oafs_h_krb5_crypto_prf_length proves very convenient for
key derivation of transport keys, so move it to the public header
and export it.
oafs_h_krb5_enctype_keysize is needed so that we can tell whether or not we
need to pass through random_to_key() when making rxgk_keys.
oafs_h_krb5_random_to_key is needed for that random_to_key() operation.

Reviewed-on: https://gerrit.openafs.org/10936
Reviewed-by: Chas Williams <3chas3@gmail.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 348dc87bb2eeb66d1e683dc91ee36724ee18f1af)

Change-Id: I3ae0f5ba6b0bd2f851f4d41f756521153e303102
Reviewed-on: https://gerrit.openafs.org/13104
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/crypto/rfc3961/krb5_locl.h
src/crypto/rfc3961/liboafs_rfc3961.la.sym
src/crypto/rfc3961/rfc3961.h

index 5e9d46bdc5a3295b426f4c1ff65626608feb2aa4..e7166fa8e05f5414aaaeaac43801d808e5075882 100644 (file)
@@ -193,7 +193,6 @@ typedef struct krb5_crypto_iov {
 #define krb5_crypto_getpadsize _oafs_h_krb5_crypto_getpadsize
 #define krb5_crypto_length _oafs_h_krb5_crypto_length
 #define krb5_crypto_length_iov _oafs_h_krb5_crypto_length_iov
-#define krb5_crypto_prf_length _oafs_h_krb5_crypto_prf_length
 #define krb5_decrypt_EncryptedData _oafs_h_krb5_decrypt_EncryptedData
 #define krb5_decrypt_iov_ivec _oafs_h_krb5_decrypt_iov_ivec
 #define krb5_decrypt_ivec _oafs_h_krb5_decrypt_ivec
@@ -206,7 +205,6 @@ typedef struct krb5_crypto_iov {
 #define _krb5_enctype_arcfour_hmac_md5 _oafs_h__krb5_enctype_arcfour_hmac_md5
 #define krb5_enctype_disable _oafs_h_krb5_enctype_disable
 #define krb5_enctype_enable _oafs_h_krb5_enctype_enable
-#define krb5_enctype_keysize _oafs_h_krb5_enctype_keysize
 #define krb5_enctype_to_keytype _oafs_h_krb5_enctype_to_keytype
 #define krb5_enctype_to_string _oafs_h_krb5_enctype_to_string
 #define krb5_generate_random_keyblock _oafs_h_krb5_generate_random_keyblock
@@ -254,9 +252,6 @@ krb5_error_code krb5_derive_key(krb5_context context, const krb5_keyblock *key,
                                krb5_enctype etype, const void *constant,
                                size_t constant_len,
                                krb5_keyblock **derived_key);
-krb5_error_code krb5_enctype_keysize(krb5_context context,
-                                    krb5_enctype type,
-                                    size_t *keysize);
 krb5_ssize_t _krb5_put_int(void *buffer, unsigned long value, size_t size);
 void krb5_data_zero(krb5_data *p);
 krb5_error_code krb5_data_copy(krb5_data *p, const void *data, size_t len);
index fb391060788fe302ebba9ad0ff71a83262dd00b0..d63e892ae39d02e9a9792553cbb73765c8f6e0f6 100644 (file)
@@ -4,14 +4,17 @@ oafs_h_krb5_copy_keyblock
 oafs_h_krb5_copy_keyblock_contents
 oafs_h_krb5_create_checksum
 oafs_h_krb5_crypto_destroy
+oafs_h_krb5_crypto_fx_cf2
 oafs_h_krb5_crypto_init
 oafs_h_krb5_crypto_overhead
 oafs_h_krb5_crypto_prf
+oafs_h_krb5_crypto_prf_length
 oafs_h_krb5_data_alloc
 oafs_h_krb5_data_free
 oafs_h_krb5_decrypt
 oafs_h_krb5_encrypt
 oafs_h_krb5_enctype_keybits
+oafs_h_krb5_enctype_keysize
 oafs_h_krb5_enctype_valid
 oafs_h_krb5_free_context
 oafs_h_krb5_free_keyblock
@@ -19,4 +22,6 @@ oafs_h_krb5_free_keyblock_contents
 oafs_h_krb5_init_context
 oafs_h_krb5_keyblock_get_enctype
 oafs_h_krb5_keyblock_init
+oafs_h_krb5_random_to_key
 oafs_h_krb5_verify_checksum
+oafs_h_krb5_generate_random_block
index 2656f9b40bb5d5f771e4c3b9eb968f5703b44626..057b3807fd6e0ee511af61d6dba583e3559fe4b9 100644 (file)
@@ -103,6 +103,7 @@ typedef int krb5_enctype;
 #define krb5_encrypt oafs_h_krb5_encrypt
 #define krb5_decrypt oafs_h_krb5_decrypt
 #define krb5_enctype_keybits oafs_h_krb5_enctype_keybits
+#define krb5_enctype_keysize oafs_h_krb5_enctype_keysize
 #define krb5_data_free oafs_h_krb5_data_free
 #define krb5_data_alloc oafs_h_krb5_data_alloc
 #define krb5_keyblock_init oafs_h_krb5_keyblock_init
@@ -144,6 +145,9 @@ krb5_error_code krb5_decrypt(krb5_context context,
 krb5_error_code krb5_enctype_keybits(krb5_context context,
                                     krb5_enctype type,
                                     size_t *keybits);
+krb5_error_code krb5_enctype_keysize(krb5_context context,
+                                    krb5_enctype type,
+                                    size_t *keysize);
 
 void krb5_data_free(krb5_data *p);
 
@@ -153,6 +157,7 @@ void krb5_free_keyblock_contents(krb5_context context,
                                 krb5_keyblock *keyblock);
 
 #define krb5_crypto_prf oafs_h_krb5_crypto_prf
+#define krb5_crypto_prf_length oafs_h_krb5_crypto_prf_length
 #define krb5_crypto_fx_cf2 oafs_h_krb5_crypto_fx_cf2
 #define krb5_generate_random_block oafs_h_krb5_generate_random_block
 #define krb5_random_to_key oafs_h_krb5_random_to_key
@@ -163,6 +168,10 @@ krb5_error_code krb5_crypto_prf(krb5_context context,
                                const krb5_data *input,
                                krb5_data *output);
 
+krb5_error_code krb5_crypto_prf_length(krb5_context context,
+                                      krb5_enctype type,
+                                      size_t *length);
+
 krb5_error_code krb5_crypto_fx_cf2(krb5_context context,
                                   const krb5_crypto crypto1,
                                   const krb5_crypto crypto2,