(valid_etype): remove hard-coded constants
(default_etypes): include DES3 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3545 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -88,31 +88,33 @@ krb5_free_context(krb5_context context)
|
|||||||
free(context);
|
free(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX - This information needs to be coordinated with encrypt.c
|
* XXX - This information needs to be coordinated with encrypt.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static krb5_boolean
|
static krb5_boolean
|
||||||
valid_etype(krb5_enctype e)
|
valid_etype(krb5_context context, krb5_enctype e)
|
||||||
{
|
{
|
||||||
return e == ETYPE_DES_CBC_CRC
|
krb5_keytype thrash;
|
||||||
|| e == ETYPE_DES_CBC_MD4
|
|
||||||
|| e == ETYPE_DES_CBC_MD5;
|
return e != ETYPE_NULL
|
||||||
|
&& krb5_etype_to_keytype(context, e, &thrash) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
default_etypes(krb5_enctype **etype)
|
default_etypes(krb5_enctype **etype)
|
||||||
{
|
{
|
||||||
krb5_enctype *p;
|
krb5_enctype *p;
|
||||||
ALLOC(p, 4);
|
ALLOC(p, 6);
|
||||||
if(!p)
|
if(!p)
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
p[0] = ETYPE_DES_CBC_MD5;
|
|
||||||
p[1] = ETYPE_DES_CBC_MD4;
|
|
||||||
p[2] = ETYPE_DES_CBC_CRC;
|
|
||||||
p[3] = 0;
|
|
||||||
*etype = p;
|
*etype = p;
|
||||||
|
*p++ = ETYPE_DES3_CBC_SHA1;
|
||||||
|
*p++ = ETYPE_DES3_CBC_MD5;
|
||||||
|
*p++ = ETYPE_DES_CBC_MD5;
|
||||||
|
*p++ = ETYPE_DES_CBC_MD4;
|
||||||
|
*p++ = ETYPE_DES_CBC_CRC;
|
||||||
|
*p++ = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +128,7 @@ krb5_set_default_in_tkt_etypes(krb5_context context,
|
|||||||
if(etypes) {
|
if(etypes) {
|
||||||
i = 0;
|
i = 0;
|
||||||
while(etypes[i])
|
while(etypes[i])
|
||||||
if(!valid_etype(etypes[i++]))
|
if(!valid_etype(context, etypes[i++]))
|
||||||
return KRB5_PROG_ETYPE_NOSUPP;
|
return KRB5_PROG_ETYPE_NOSUPP;
|
||||||
++i;
|
++i;
|
||||||
ALLOC(p, i);
|
ALLOC(p, i);
|
||||||
|
Reference in New Issue
Block a user