Add krb5_string_to_etype, rename krb5_convert_etype to

krb5_decode_keytype, and add krb5_decode_keyblock.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4369 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1998-01-31 16:37:37 +00:00
parent 4a82de96b1
commit 3c79ec4952

View File

@@ -148,6 +148,20 @@ krb5_etype_to_string(krb5_context context,
return 0;
}
krb5_error_code
krb5_string_to_etype(krb5_context context,
const char *string,
krb5_enctype *etype)
{
int i;
for(i = 0; i < num_etypes; i++)
if(strcasecmp(em[i].name, string) == 0){
*etype = em[i].type;
return 0;
}
return KRB5_PROG_ETYPE_NOSUPP;
}
krb5_error_code
krb5_keytype_to_etypes(krb5_context context,
krb5_keytype keytype,
@@ -187,22 +201,41 @@ krb5_etype_to_keytype(krb5_context context,
}
krb5_error_code
krb5_convert_etype(krb5_context context,
krb5_keytype *keytype)
krb5_decode_keytype(krb5_context context,
krb5_keytype *keytype,
int decode)
{
#ifdef KTYPE_IS_ETYPE
krb5_error_code ret;
krb5_keytype kt;
ret = krb5_etype_to_keytype(context,
(krb5_enctype)*keytype,
&kt);
if(ret)
return ret;
*keytype = kt;
#endif
if(context->ktype_is_etype){
krb5_error_code ret;
if(decode) {
krb5_keytype kt;
ret = krb5_etype_to_keytype(context,
(krb5_enctype)*keytype,
&kt);
if(ret)
return ret;
*keytype = kt;
}else{
krb5_enctype et;
ret = krb5_keytype_to_etype(context,
*keytype,
&et);
if(ret)
return ret;
*keytype = (krb5_keytype)et;
}
}
return 0;
}
krb5_error_code
krb5_decode_keyblock(krb5_context context,
krb5_keyblock *key,
int decode)
{
return krb5_decode_keytype(context, &key->keytype, decode);
}
void
krb5_generate_random_block(void *buf, size_t len)
{