Example #1
0
OM_uint32 GSSAPI_CALLCONV
_gsskrb5_set_cred_option
           (OM_uint32 *minor_status,
            gss_cred_id_t *cred_handle,
            const gss_OID desired_object,
            const gss_buffer_t value)
{
    krb5_context context;

    GSSAPI_KRB5_INIT (&context);

    if (value == GSS_C_NO_BUFFER) {
	*minor_status = EINVAL;
	return GSS_S_FAILURE;
    }

    if (gss_oid_equal(desired_object, GSS_KRB5_IMPORT_CRED_X))
	return import_cred(minor_status, context, cred_handle, value);

    if (gss_oid_equal(desired_object, GSS_KRB5_SET_ALLOWABLE_ENCTYPES_X))
	return allowed_enctypes(minor_status, context, cred_handle, value);

    if (gss_oid_equal(desired_object, GSS_KRB5_CRED_NO_CI_FLAGS_X)) {
	return no_ci_flags(minor_status, context, cred_handle, value);
    }


    *minor_status = EINVAL;
    return GSS_S_FAILURE;
}
OM_uint32
_gsskrb5_set_cred_option
           (OM_uint32 *minor_status,
            gss_cred_id_t *cred_handle,
            const gss_OID desired_object,
            const gss_buffer_t value)
{
    GSSAPI_KRB5_INIT ();

    if (value == GSS_C_NO_BUFFER) {
	*minor_status = EINVAL;
	return GSS_S_FAILURE;
    }

    if (gss_oid_equal(desired_object, GSS_KRB5_IMPORT_CRED_X)) {
	return import_cred(minor_status, cred_handle, value);
    }

    *minor_status = EINVAL;
    return GSS_S_FAILURE;
}