(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:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user