Commit
fb6ffe0c50e166bf095736a051e4840bd5a5ad4f introduced a regression
in acquire_cred_from() where a processing error would be masked and a
GSS_COMPLETE status would be returned instead. This caused a credential
structure to be returned when no credentials are actually available.
Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Greg Hudson <ghudson@mit.edu>
}
if (retmin) {
set_GSSERR(retmin);
+ goto done;
}
} else if (cred_usage == GSS_C_ACCEPT) {
if (name != NULL && name->type != GSSNTLM_NAME_SERVER) {
retmin = get_server_creds(name, cred);
if (retmin) {
set_GSSERR(retmin);
+ goto done;
}
} else if (cred_usage == GSS_C_BOTH) {
set_GSSERRS(ERR_NOTSUPPORTED, GSS_S_CRED_UNAVAIL);
+ goto done;
} else {
set_GSSERRS(ERR_BADARG, GSS_S_CRED_UNAVAIL);
+ goto done;
}
set_GSSERRS(0, GSS_S_COMPLETE);