gss: pass GSS_C_NO_OID name type through to mechanism

Allow the mechanism, rather than the mechanism glue, to determine the default
name type if GSS_C_NO_OID was passed in when importing a name.
This commit is contained in:
Luke Howard
2022-01-02 10:44:45 +11:00
parent d683780b1d
commit f3484d5e2e
3 changed files with 27 additions and 22 deletions

View File

@@ -36,7 +36,8 @@ is_anonymous_identity_p(gss_buffer_t name_string, gss_OID name_type)
{
if (gss_oid_equal(name_type, GSS_C_NT_ANONYMOUS))
return TRUE;
else if ((gss_oid_equal(name_type, GSS_C_NT_USER_NAME) ||
else if ((name_type == GSS_C_NO_OID ||
gss_oid_equal(name_type, GSS_C_NT_USER_NAME) ||
gss_oid_equal(name_type, GSS_KRB5_NT_PRINCIPAL_NAME)) &&
buffer_equal_p(name_string, _gss_sanon_wellknown_user_name))
return TRUE;
@@ -151,9 +152,6 @@ _gss_sanon_import_name(OM_uint32 *minor,
const gss_OID input_name_type,
gss_name_t *output_name)
{
heim_assert(input_name_type != GSS_C_NO_OID,
"Mechglue passed null OID to _gss_sanon_import_name");
if (gss_oid_equal(input_name_type, GSS_C_NT_EXPORT_NAME))
return import_export_name(minor, input_name_buffer, output_name);