make checksum_types into an array of pointers

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9829 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
2001-05-02 08:58:14 +00:00
parent 38e2f24368
commit 3937ac0261

View File

@@ -1820,8 +1820,7 @@ ARCFOUR_encrypt(struct key_data *key,
* these should currently be in reverse preference order. * these should currently be in reverse preference order.
* (only relevant for !F_PSEUDO) */ * (only relevant for !F_PSEUDO) */
static struct encryption_type etypes[] = { static struct encryption_type enctype_null = {
{
ETYPE_NULL, ETYPE_NULL,
"null", "null",
1, 1,
@@ -1831,8 +1830,8 @@ static struct encryption_type etypes[] = {
NULL, NULL,
0, 0,
NULL_encrypt, NULL_encrypt,
}, };
{ static struct encryption_type enctype_des_cbc_crc = {
ETYPE_DES_CBC_CRC, ETYPE_DES_CBC_CRC,
"des-cbc-crc", "des-cbc-crc",
8, 8,
@@ -1842,8 +1841,8 @@ static struct encryption_type etypes[] = {
NULL, NULL,
0, 0,
DES_CBC_encrypt_key_ivec, DES_CBC_encrypt_key_ivec,
}, };
{ static struct encryption_type enctype_des_cbc_md4 = {
ETYPE_DES_CBC_MD4, ETYPE_DES_CBC_MD4,
"des-cbc-md4", "des-cbc-md4",
8, 8,
@@ -1853,8 +1852,8 @@ static struct encryption_type etypes[] = {
&checksum_rsa_md4_des, &checksum_rsa_md4_des,
0, 0,
DES_CBC_encrypt_null_ivec, DES_CBC_encrypt_null_ivec,
}, };
{ static struct encryption_type enctype_des_cbc_md5 = {
ETYPE_DES_CBC_MD5, ETYPE_DES_CBC_MD5,
"des-cbc-md5", "des-cbc-md5",
8, 8,
@@ -1864,8 +1863,8 @@ static struct encryption_type etypes[] = {
&checksum_rsa_md5_des, &checksum_rsa_md5_des,
0, 0,
DES_CBC_encrypt_null_ivec, DES_CBC_encrypt_null_ivec,
}, };
{ static struct encryption_type enctype_arcfour_hmac_md5 = {
ETYPE_ARCFOUR_HMAC_MD5, ETYPE_ARCFOUR_HMAC_MD5,
"arcfour-hmac-md5", "arcfour-hmac-md5",
1, 1,
@@ -1875,8 +1874,8 @@ static struct encryption_type etypes[] = {
&checksum_hmac_md5_enc, &checksum_hmac_md5_enc,
F_SPECIAL, F_SPECIAL,
ARCFOUR_encrypt ARCFOUR_encrypt
}, };
{ static struct encryption_type enctype_des3_cbc_md5 = {
ETYPE_DES3_CBC_MD5, ETYPE_DES3_CBC_MD5,
"des3-cbc-md5", "des3-cbc-md5",
8, 8,
@@ -1886,8 +1885,8 @@ static struct encryption_type etypes[] = {
&checksum_rsa_md5_des3, &checksum_rsa_md5_des3,
0, 0,
DES3_CBC_encrypt, DES3_CBC_encrypt,
}, };
{ static struct encryption_type enctype_des3_cbc_sha1 = {
ETYPE_DES3_CBC_SHA1, ETYPE_DES3_CBC_SHA1,
"des3-cbc-sha1", "des3-cbc-sha1",
8, 8,
@@ -1897,8 +1896,8 @@ static struct encryption_type etypes[] = {
&checksum_hmac_sha1_des3, &checksum_hmac_sha1_des3,
F_DERIVED, F_DERIVED,
DES3_CBC_encrypt, DES3_CBC_encrypt,
}, };
{ static struct encryption_type enctype_old_des3_cbc_sha1 = {
ETYPE_OLD_DES3_CBC_SHA1, ETYPE_OLD_DES3_CBC_SHA1,
"old-des3-cbc-sha1", "old-des3-cbc-sha1",
8, 8,
@@ -1908,8 +1907,8 @@ static struct encryption_type etypes[] = {
&checksum_hmac_sha1_des3, &checksum_hmac_sha1_des3,
0, 0,
DES3_CBC_encrypt, DES3_CBC_encrypt,
}, };
{ static struct encryption_type enctype_des_cbc_none = {
ETYPE_DES_CBC_NONE, ETYPE_DES_CBC_NONE,
"des-cbc-none", "des-cbc-none",
8, 8,
@@ -1919,8 +1918,8 @@ static struct encryption_type etypes[] = {
NULL, NULL,
F_PSEUDO, F_PSEUDO,
DES_CBC_encrypt_null_ivec, DES_CBC_encrypt_null_ivec,
}, };
{ static struct encryption_type enctype_des_cfb64_none = {
ETYPE_DES_CFB64_NONE, ETYPE_DES_CFB64_NONE,
"des-cfb64-none", "des-cfb64-none",
1, 1,
@@ -1930,8 +1929,8 @@ static struct encryption_type etypes[] = {
NULL, NULL,
F_PSEUDO, F_PSEUDO,
DES_CFB64_encrypt_null_ivec, DES_CFB64_encrypt_null_ivec,
}, };
{ static struct encryption_type enctype_des_pcbc_none = {
ETYPE_DES_PCBC_NONE, ETYPE_DES_PCBC_NONE,
"des-pcbc-none", "des-pcbc-none",
8, 8,
@@ -1941,8 +1940,8 @@ static struct encryption_type etypes[] = {
NULL, NULL,
F_PSEUDO, F_PSEUDO,
DES_PCBC_encrypt_key_ivec, DES_PCBC_encrypt_key_ivec,
}, };
{ static struct encryption_type enctype_des3_cbc_none = {
ETYPE_DES3_CBC_NONE, ETYPE_DES3_CBC_NONE,
"des3-cbc-none", "des3-cbc-none",
8, 8,
@@ -1952,8 +1951,8 @@ static struct encryption_type etypes[] = {
NULL, NULL,
F_PSEUDO, F_PSEUDO,
DES3_CBC_encrypt, DES3_CBC_encrypt,
}, };
{ static struct encryption_type enctype_des3_cbc_none_ivec = {
ETYPE_DES3_CBC_NONE_IVEC, ETYPE_DES3_CBC_NONE_IVEC,
"des3-cbc-none-ivec", "des3-cbc-none-ivec",
8, 8,
@@ -1963,7 +1962,22 @@ static struct encryption_type etypes[] = {
NULL, NULL,
F_PSEUDO, F_PSEUDO,
DES3_CBC_encrypt_ivec, DES3_CBC_encrypt_ivec,
} };
static struct encryption_type *etypes[] = {
&enctype_null,
&enctype_des_cbc_crc,
&enctype_des_cbc_md4,
&enctype_des_cbc_md5,
&enctype_arcfour_hmac_md5,
&enctype_des3_cbc_md5,
&enctype_des3_cbc_sha1,
&enctype_old_des3_cbc_sha1,
&enctype_des_cbc_none,
&enctype_des_cfb64_none,
&enctype_des_pcbc_none,
&enctype_des3_cbc_none,
&enctype_des3_cbc_none_ivec
}; };
static unsigned num_etypes = sizeof(etypes) / sizeof(etypes[0]); static unsigned num_etypes = sizeof(etypes) / sizeof(etypes[0]);
@@ -1974,8 +1988,8 @@ _find_enctype(krb5_enctype type)
{ {
int i; int i;
for(i = 0; i < num_etypes; i++) for(i = 0; i < num_etypes; i++)
if(etypes[i].type == type) if(etypes[i]->type == type)
return &etypes[i]; return etypes[i];
return NULL; return NULL;
} }
@@ -2002,8 +2016,8 @@ krb5_string_to_enctype(krb5_context context,
{ {
int i; int i;
for(i = 0; i < num_etypes; i++) for(i = 0; i < num_etypes; i++)
if(strcasecmp(etypes[i].name, string) == 0){ if(strcasecmp(etypes[i]->name, string) == 0){
*etype = etypes[i].type; *etype = etypes[i]->type;
return 0; return 0;
} }
return KRB5_PROG_ETYPE_NOSUPP; return KRB5_PROG_ETYPE_NOSUPP;
@@ -2047,8 +2061,8 @@ krb5_keytype_to_enctypes (krb5_context context,
int *ret; int *ret;
for (i = num_etypes - 1; i >= 0; --i) { for (i = num_etypes - 1; i >= 0; --i) {
if (etypes[i].keytype->type == keytype if (etypes[i]->keytype->type == keytype
&& !(etypes[i].flags & F_PSEUDO)) && !(etypes[i]->flags & F_PSEUDO))
++n; ++n;
} }
ret = malloc(n * sizeof(int)); ret = malloc(n * sizeof(int));
@@ -2056,9 +2070,9 @@ krb5_keytype_to_enctypes (krb5_context context,
return ENOMEM; return ENOMEM;
n = 0; n = 0;
for (i = num_etypes - 1; i >= 0; --i) { for (i = num_etypes - 1; i >= 0; --i) {
if (etypes[i].keytype->type == keytype if (etypes[i]->keytype->type == keytype
&& !(etypes[i].flags & F_PSEUDO)) && !(etypes[i]->flags & F_PSEUDO))
ret[n++] = etypes[i].type; ret[n++] = etypes[i]->type;
} }
*len = n; *len = n;
*val = ret; *val = ret;
@@ -2227,9 +2241,9 @@ encrypt_internal(krb5_context context,
memcpy(q, data, len); memcpy(q, data, len);
ret = create_checksum(context, ret = create_checksum(context,
NULL, crypto,
0,
0, 0,
CHECKSUMTYPE(et->cksumtype),
p, p,
block_sz, block_sz,
&cksum); &cksum);