Simplify user_realm support by removing krb5_parse_name_flags_realm()

and setting the realm as necessary in the caller.
This commit is contained in:
Viktor Dukhovni
2013-05-17 00:38:49 +00:00
committed by Viktor Dukhovni
parent 203e2beedd
commit 2433496ea6
4 changed files with 19 additions and 48 deletions

View File

@@ -762,6 +762,17 @@ renew_func(void *ptr)
return expire / 2 + 1;
}
static void
set_princ_realm(krb5_context context,
krb5_principal principal,
const char *realm)
{
krb5_error_code ret;
if ((ret = krb5_principal_set_realm(context, principal, realm)) != 0)
krb5_err(context, 1, ret, "krb5_principal_set_realm");
}
static void
parse_name_realm(krb5_context context,
const char *name,
@@ -770,10 +781,13 @@ parse_name_realm(krb5_context context,
krb5_principal *princ)
{
krb5_error_code ret;
ret = krb5_parse_name_flags_realm(context, name, flags, realm, princ);
if (ret)
krb5_err(context, 1, ret, "krb5_parse_name_flags_realm");
if (realm)
flags |= KRB5_PRINCIPAL_PARSE_NO_DEF_REALM;
if ((ret = krb5_parse_name_flags(context, name, flags, princ)) != 0)
krb5_err(context, 1, ret, "krb5_parse_name_flags");
if (realm && krb5_principal_get_realm(context, *princ) == NULL)
set_princ_realm(context, *princ, realm);
}
static char *
@@ -796,17 +810,6 @@ get_default_principal(krb5_context context, krb5_principal *princ)
krb5_err(context, 1, ret, "krb5_get_default_principal");
}
static void
set_princ_realm(krb5_context context,
krb5_principal principal,
const char *realm)
{
krb5_error_code ret;
if ((ret = krb5_principal_set_realm(context, principal, realm)) != 0)
krb5_err(context, 1, ret, "krb5_principal_set_realm");
}
static char *
get_user_realm(krb5_context context)
{