gssapi: remove non-mech status from _gss_mg_error() from Heimdal-520

_gss_mg_error() should only handle mechanism-specific status codes which are
returned in minor_status. major_status has a global namespace.
This commit is contained in:
Luke Howard
2019-01-03 18:15:34 +11:00
committed by Nico Williams
parent 83f15553e0
commit e9b3b2326d
27 changed files with 95 additions and 94 deletions

View File

@@ -166,15 +166,6 @@ gss_display_status(OM_uint32 *minor_status,
_mg_buffer_zero(status_string);
*message_context = 0;
major_status = _gss_mg_get_error(mech_type, status_type,
status_value, status_string);
if (major_status == GSS_S_COMPLETE) {
*message_context = 0;
*minor_status = 0;
return GSS_S_COMPLETE;
}
*minor_status = 0;
switch (status_type) {
case GSS_C_GSS_CODE: {
@@ -203,6 +194,14 @@ gss_display_status(OM_uint32 *minor_status,
char *buf = NULL;
int e;
major_status = _gss_mg_get_error(mech_type, status_value,
status_string);
if (major_status == GSS_S_COMPLETE) {
*message_context = 0;
*minor_status = 0;
return GSS_S_COMPLETE;
}
maj_junk = gss_oid_to_str(&min_junk, mech_type, &oid);
if (maj_junk != GSS_S_COMPLETE) {
oid.value = rk_UNCONST("unknown");