summaryrefslogtreecommitdiffstats
path: root/src/include/krb5/encryption.h
diff options
context:
space:
mode:
authorJohn Kohl <jtkohl@mit.edu>1990-12-14 23:52:07 +0000
committerJohn Kohl <jtkohl@mit.edu>1990-12-14 23:52:07 +0000
commit1bc0aafd4ba3baa32e69ee9ad0d6271e14cb5ba7 (patch)
tree15473d71c5ca29d2432fef1dbb959ad0b3e7a330 /src/include/krb5/encryption.h
parente1772c824f6bd353311dab839c7f985a86004cb4 (diff)
RFC draft protocol changes and related cleanups
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1554 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include/krb5/encryption.h')
-rw-r--r--src/include/krb5/encryption.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/include/krb5/encryption.h b/src/include/krb5/encryption.h
index cf6ee7399..0bdaa5ff6 100644
--- a/src/include/krb5/encryption.h
+++ b/src/include/krb5/encryption.h
@@ -47,6 +47,8 @@ typedef struct _krb5_enc_data {
krb5_data ciphertext;
} krb5_enc_data;
+#include <krb5/widen.h>
+
/* could be used in a table to find an etype and initialize a block */
typedef struct _krb5_cryptosystem_entry {
krb5_error_code (*encrypt_func) PROTOTYPE((krb5_const_pointer /* in */,
@@ -65,7 +67,7 @@ typedef struct _krb5_cryptosystem_entry {
krb5_error_code (*string_to_key) PROTOTYPE((const krb5_keytype,
krb5_keyblock *,
const krb5_data *,
- krb5_const_principal));
+ const krb5_data *));
krb5_error_code (*init_random_key) PROTOTYPE((const krb5_keyblock *,
krb5_pointer *));
krb5_error_code (*finish_random_key) PROTOTYPE((krb5_pointer *));
@@ -82,6 +84,8 @@ typedef struct _krb5_cryptosystem_entry {
table index) */
} krb5_cryptosystem_entry;
+#include <krb5/narrow.h>
+
typedef struct _krb5_cs_table_entry {
krb5_cryptosystem_entry *system;
krb5_pointer random_sequence; /* from init_random_key() */
@@ -96,6 +100,8 @@ typedef struct _krb5_checksum_entry {
krb5_checksum * /* out_cksum */));
int checksum_length; /* length of stuff returned by
sum_func */
+ unsigned int is_collision_proof:1;
+ unsigned int uses_key:1;
} krb5_checksum_entry;
/* per Kerberos v5 protocol spec */
@@ -145,6 +151,9 @@ extern int krb5_max_cksum; /* max entry in array */
#define valid_cksumtype(cktype) ((cktype <= krb5_max_cksum) && (cktype > 0) && krb5_cksumarray[cktype])
+#define is_coll_proof_cksum(cktype) (krb5_cksumarray[cktype]->is_collision_proof)
+#define is_keyed_cksum(cktype) (krb5_cksumarray[cktype]->uses_key)
+
/* set up *eblockp to use etype */
#define krb5_use_cstype(eblockp, etype) (eblockp)->crypto_entry = krb5_csarray[(etype)]->system