* PERFORMANCE OF THIS SOFTWARE.
*/
+/*
+ * Utility routines for GSS tokens.
+ */
+
#include "gssapiP_eap.h"
/*
*(*buf)++ = (unsigned char)mech->length;
memcpy(*buf, mech->elements, mech->length);
*buf += mech->length;
- if (tok_type != TOK_TYPE_NONE) {
- *(*buf)++ = (unsigned char)((tok_type>>8) & 0xff);
- *(*buf)++ = (unsigned char)(tok_type & 0xff);
- }
+ assert(tok_type != TOK_TYPE_NONE);
+ *(*buf)++ = (unsigned char)((tok_type>>8) & 0xff);
+ *(*buf)++ = (unsigned char)(tok_type & 0xff);
}
/*
gss_OID_desc toid;
ssize_t toksize = (ssize_t)toksize_in;
- *minor = 0;
+ *minor = GSSEAP_BAD_TOK_HEADER;
if (ret_tok_type != NULL)
*ret_tok_type = TOK_TYPE_NONE;
if (toid.length == 0)
return GSS_S_BAD_MECH;
} else if (!oidEqual(&toid, mech)) {
+ *minor = GSSEAP_WRONG_MECH;
return GSS_S_BAD_MECH;
}
*ret_tok_type = load_uint16_be(buf);
buf += 2;
}
+
*buf_in = buf;
*body_size = toksize;
+ *minor = 0;
return GSS_S_COMPLETE;
}