From 5ab42022ca6e4caf7240318294ab126c99bbc7c4 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Sat, 21 Mar 1998 00:48:46 +0000 Subject: [PATCH] Rename PA-KEY-INFO -> ETYPE-INFO. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4618 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kerberos5.c | 23 ++++++++++++----------- lib/asn1/Makefile.am | 8 ++++---- lib/asn1/k5.asn1 | 11 +++++------ lib/krb5/codec.c | 28 ++++++++++++++-------------- lib/krb5/get_in_tkt.c | 5 +++-- 5 files changed, 38 insertions(+), 37 deletions(-) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index 2d10add0d..33218957c 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -242,8 +242,8 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client) { krb5_error_code ret; int i; - PA_KEY_INFO pa; - PA_KEY_INFO_ENTRY *tmp; + ETYPE_INFO pa; + ETYPE_INFO_ENTRY *tmp; unsigned char *buf; size_t len; @@ -264,23 +264,24 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client) for(e = etypes; *e; e++){ tmp = realloc(pa.val, (pa.len + 1) * sizeof(*pa.val)); if(tmp == NULL) { - free_PA_KEY_INFO(&pa); + free_ETYPE_INFO(&pa); return ret; } pa.val = tmp; - pa.val[pa.len].keytype = *e; + pa.val[pa.len].etype = *e; + ALLOC(pa.val[pa.len].salttype); if(client->keys.val[i].salt){ - pa.val[pa.len].salttype = client->keys.val[i].salt->type; + *pa.val[pa.len].salttype = client->keys.val[i].salt->type; ALLOC(pa.val[pa.len].salt); ret = copy_octet_string(&client->keys.val[i].salt->salt, pa.val[pa.len].salt); if(tmp == NULL) { - free_PA_KEY_INFO(&pa); + free_ETYPE_INFO(&pa); return ret; } } else { - pa.val[pa.len].salttype = pa_pw_salt; + *pa.val[pa.len].salttype = pa_pw_salt; pa.val[pa.len].salt = NULL; } pa.len++; @@ -288,10 +289,10 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client) if(context->ktype_is_etype) free(etypes); } - len = length_PA_KEY_INFO(&pa); + len = length_ETYPE_INFO(&pa); buf = malloc(len); - ret = encode_PA_KEY_INFO(buf + len - 1, len, &pa, &len); - free_PA_KEY_INFO(&pa); + ret = encode_ETYPE_INFO(buf + len - 1, len, &pa, &len); + free_ETYPE_INFO(&pa); if(ret) { free(buf); return ret; @@ -301,7 +302,7 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client) free(buf); return ret; } - md->val[md->len - 1].padata_type = pa_key_info; + md->val[md->len - 1].padata_type = pa_etype_info; md->val[md->len - 1].padata_value.length = len; md->val[md->len - 1].padata_value.data = buf; return 0; diff --git a/lib/asn1/Makefile.am b/lib/asn1/Makefile.am index 89947fa36..e48783e5e 100644 --- a/lib/asn1/Makefile.am +++ b/lib/asn1/Makefile.am @@ -32,6 +32,8 @@ BUILT_SOURCES = \ asn1_EncTicketPart.c \ asn1_EncryptedData.c \ asn1_EncryptionKey.c \ + asn1_ETYPE_INFO.c \ + asn1_ETYPE_INFO_ENTRY.c \ asn1_HostAddress.c \ asn1_HostAddresses.c \ asn1_KDCOptions.c \ @@ -49,8 +51,6 @@ BUILT_SOURCES = \ asn1_METHOD_DATA.c \ asn1_PA_DATA.c \ asn1_PA_ENC_TS_ENC.c \ - asn1_PA_KEY_INFO.c \ - asn1_PA_KEY_INFO_ENTRY.c \ asn1_Principal.c \ asn1_PrincipalName.c \ asn1_Realm.c \ @@ -80,6 +80,8 @@ foo = \ asn1_EncTicketPart.x \ asn1_EncryptedData.x \ asn1_EncryptionKey.x \ + asn1_ETYPE_INFO.x \ + asn1_ETYPE_INFO_ENTRY.x \ asn1_HostAddress.x \ asn1_HostAddresses.x \ asn1_KDCOptions.x \ @@ -97,8 +99,6 @@ foo = \ asn1_METHOD_DATA.x \ asn1_PA_DATA.x \ asn1_PA_ENC_TS_ENC.x \ - asn1_PA_KEY_INFO.x \ - asn1_PA_KEY_INFO_ENTRY.x \ asn1_Principal.x \ asn1_PrincipalName.x \ asn1_Realm.x \ diff --git a/lib/asn1/k5.asn1 b/lib/asn1/k5.asn1 index 481481180..2725efdc2 100644 --- a/lib/asn1/k5.asn1 +++ b/lib/asn1/k5.asn1 @@ -155,13 +155,13 @@ PA-DATA ::= SEQUENCE { padata-value[2] OCTET STRING } -PA-KEY-INFO-ENTRY ::= SEQUENCE { - keytype[0] INTEGER, - salttype[1] INTEGER, - salt[2] OCTET STRING OPTIONAL +ETYPE-INFO-ENTRY ::= SEQUENCE { + etype[0] INTEGER, + salt[1] OCTET STRING OPTIONAL, + salttype[2] INTEGER OPTIONAL } -PA-KEY-INFO ::= SEQUENCE OF PA-KEY-INFO-ENTRY +ETYPE-INFO ::= SEQUENCE OF ETYPE-INFO-ENTRY METHOD-DATA ::= SEQUENCE OF PA-DATA @@ -363,7 +363,6 @@ pa-pk-as-rep INTEGER ::= 15 -- (pkinit) pa-pk-as-sign INTEGER ::= 16 -- (pkinit) pa-pk-key-req INTEGER ::= 17 -- (pkinit) pa-pk-key-rep INTEGER ::= 18 -- (pkinit) -pa-key-info INTEGER ::= 19 -- checksumtypes CRC32 INTEGER ::= 1 diff --git a/lib/krb5/codec.c b/lib/krb5/codec.c index 7cfb023db..85b002752 100644 --- a/lib/krb5/codec.c +++ b/lib/krb5/codec.c @@ -199,38 +199,38 @@ krb5_encode_EncKrbCredPart (krb5_context context, } krb5_error_code -krb5_decode_PA_KEY_INFO (krb5_context context, - const void *data, - size_t length, - PA_KEY_INFO *t, - size_t *len) +krb5_decode_ETYPE_INFO (krb5_context context, + const void *data, + size_t length, + ETYPE_INFO *t, + size_t *len) { krb5_error_code ret; int i; - ret = decode_PA_KEY_INFO((void*)data, length, t, len); + ret = decode_ETYPE_INFO((void*)data, length, t, len); if(ret) return ret; for(i = 0; i < t->len; i++) { - if((ret = krb5_decode_keytype(context, &t->val[i].keytype, 1))) + if((ret = krb5_decode_keytype(context, &t->val[i].etype, 1))) break; } return ret; } krb5_error_code -krb5_encode_PA_KEY_INFO (krb5_context context, - void *data, - size_t length, - PA_KEY_INFO *t, - size_t *len) +krb5_encode_ETYPE_INFO (krb5_context context, + void *data, + size_t length, + ETYPE_INFO *t, + size_t *len) { krb5_error_code ret; int i; /* XXX this will break, since we need one key-info for each enctype */ /* XXX or do we? */ for(i = 0; i < t->len; i++) - if((ret = krb5_decode_keytype(context, &t->val[i].keytype, 0))) + if((ret = krb5_decode_keytype(context, &t->val[i].etype, 0))) break; if(ret) return ret; - return encode_PA_KEY_INFO (data, length, t, len); + return encode_ETYPE_INFO (data, length, t, len); } diff --git a/lib/krb5/get_in_tkt.c b/lib/krb5/get_in_tkt.c index cb94df932..b999a9c50 100644 --- a/lib/krb5/get_in_tkt.c +++ b/lib/krb5/get_in_tkt.c @@ -478,8 +478,9 @@ init_as_req (krb5_context context, } a->padata->val = tmp; for(j = 0; j < preauth->val[i].info.len; j++) { - krb5_keytype keytype = preauth->val[i].info.val[j].keytype; - if(preauth->val[i].info.val[j].salttype == + krb5_keytype keytype = preauth->val[i].info.val[j].etype; + if(preauth->val[i].info.val[j].salttype && + *preauth->val[i].info.val[j].salttype == KRB5_PA_AFS3_SALT) { if(keytype != KEYTYPE_DES) { ret = KRB5_PROG_KEYTYPE_NOSUPP;