Rename PA-KEY-INFO -> ETYPE-INFO.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4618 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -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;
|
||||
|
@@ -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 \
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user