(krb5_kt_default_modify_name): if no modify name is specified take it

from the first component of the default keytab name


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@10814 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
2002-01-30 10:09:35 +00:00
parent 5c510f2238
commit df804eebad

View File

@@ -136,7 +136,23 @@ krb5_kt_default_name(krb5_context context, char *name, size_t namesize)
krb5_error_code
krb5_kt_default_modify_name(krb5_context context, char *name, size_t namesize)
{
if (strlcpy (name, context->default_keytab_modify, namesize) >= namesize) {
const char *kt = NULL;
if(context->default_keytab_modify == NULL) {
if(strncasecmp(context->default_keytab, "ANY:", 4) != 0)
kt = context->default_keytab;
else {
size_t len = strcspn(context->default_keytab + 4, ",");
if(len >= namesize) {
krb5_clear_error_string(context);
return KRB5_CONFIG_NOTENUFSPACE;
}
strlcpy(name, context->default_keytab + 4, namesize);
name[len] = '\0';
return 0;
}
} else
kt = context->default_keytab_modify;
if (strlcpy (name, kt, namesize) >= namesize) {
krb5_clear_error_string (context);
return KRB5_CONFIG_NOTENUFSPACE;
}