* or implied warranty.
*/
+/*
+ * Message protection services: determine protected message size.
+ */
+
#include "gssapiP_eap.h"
#define INIT_IOV_DATA(_iov) do { (_iov)->buffer.value = NULL; \
int dce_style;
size_t ec;
- if (qop_req != GSS_C_QOP_DEFAULT)
- return GSS_S_FAILURE;
+ if (qop_req != GSS_C_QOP_DEFAULT) {
+ *minor = GSSEAP_UNKNOWN_QOP;
+ return GSS_S_UNAVAILABLE;
+ }
- if (ctx->encryptionType == ENCTYPE_NULL)
+ if (ctx->encryptionType == ENCTYPE_NULL) {
+ *minor = GSSEAP_KEY_UNAVAILABLE;
return GSS_S_UNAVAILABLE;
+ }
GSSEAP_KRB_INIT(&krbContext);
if (ctx == GSS_C_NO_CONTEXT) {
*minor = EINVAL;
- return GSS_S_NO_CONTEXT;
+ return GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CONTEXT;
}
*minor = 0;
GSSEAP_MUTEX_LOCK(&ctx->mutex);
if (!CTX_IS_ESTABLISHED(ctx)) {
- *minor = GSSEAP_CONTEXT_INCOMPLETE;
major = GSS_S_NO_CONTEXT;
+ *minor = GSSEAP_CONTEXT_INCOMPLETE;
goto cleanup;
}