gss: fix gss_decapsulate_token() return codes
gss_decapsulate_token() should return GSS_S_BAD_MECH if the mechanism did not match the expected one, and GSS_S_DEFECTIVE_TOKEN if the token could not be parsed for some other reason, rather than GSS_S_FAILURE in both cases
This commit is contained in:
@@ -54,7 +54,7 @@ gss_decapsulate_token(gss_const_buffer_t input_token,
|
||||
&ct, NULL);
|
||||
if (ret) {
|
||||
der_free_oid(&o);
|
||||
return GSS_S_FAILURE;
|
||||
return GSS_S_DEFECTIVE_TOKEN;
|
||||
}
|
||||
|
||||
if (der_heim_oid_cmp(&ct.thisMech, &o) == 0) {
|
||||
@@ -64,7 +64,7 @@ gss_decapsulate_token(gss_const_buffer_t input_token,
|
||||
der_free_oid(&ct.thisMech);
|
||||
} else {
|
||||
free_GSSAPIContextToken(&ct);
|
||||
status = GSS_S_FAILURE;
|
||||
status = GSS_S_BAD_MECH;
|
||||
}
|
||||
der_free_oid(&o);
|
||||
|
||||
|
Reference in New Issue
Block a user