|
@@ -59,7 +59,7 @@ spkm3_make_token(struct spkm3_ctx *ctx,
|
|
char tokhdrbuf[25];
|
|
char tokhdrbuf[25];
|
|
struct xdr_netobj md5cksum = {.len = 0, .data = NULL};
|
|
struct xdr_netobj md5cksum = {.len = 0, .data = NULL};
|
|
struct xdr_netobj mic_hdr = {.len = 0, .data = tokhdrbuf};
|
|
struct xdr_netobj mic_hdr = {.len = 0, .data = tokhdrbuf};
|
|
- int tmsglen, tokenlen = 0;
|
|
|
|
|
|
+ int tokenlen = 0;
|
|
unsigned char *ptr;
|
|
unsigned char *ptr;
|
|
s32 now;
|
|
s32 now;
|
|
int ctxelen = 0, ctxzbit = 0;
|
|
int ctxelen = 0, ctxzbit = 0;
|
|
@@ -92,24 +92,23 @@ spkm3_make_token(struct spkm3_ctx *ctx,
|
|
}
|
|
}
|
|
|
|
|
|
if (toktype == SPKM_MIC_TOK) {
|
|
if (toktype == SPKM_MIC_TOK) {
|
|
- tmsglen = 0;
|
|
|
|
/* Calculate checksum over the mic-header */
|
|
/* Calculate checksum over the mic-header */
|
|
asn1_bitstring_len(&ctx->ctx_id, &ctxelen, &ctxzbit);
|
|
asn1_bitstring_len(&ctx->ctx_id, &ctxelen, &ctxzbit);
|
|
spkm3_mic_header(&mic_hdr.data, &mic_hdr.len, ctx->ctx_id.data,
|
|
spkm3_mic_header(&mic_hdr.data, &mic_hdr.len, ctx->ctx_id.data,
|
|
ctxelen, ctxzbit);
|
|
ctxelen, ctxzbit);
|
|
|
|
|
|
if (make_checksum(checksum_type, mic_hdr.data, mic_hdr.len,
|
|
if (make_checksum(checksum_type, mic_hdr.data, mic_hdr.len,
|
|
- text, &md5cksum))
|
|
|
|
|
|
+ text, 0, &md5cksum))
|
|
goto out_err;
|
|
goto out_err;
|
|
|
|
|
|
asn1_bitstring_len(&md5cksum, &md5elen, &md5zbit);
|
|
asn1_bitstring_len(&md5cksum, &md5elen, &md5zbit);
|
|
- tokenlen = 10 + ctxelen + 1 + 2 + md5elen + 1;
|
|
|
|
|
|
+ tokenlen = 10 + ctxelen + 1 + md5elen + 1;
|
|
|
|
|
|
/* Create token header using generic routines */
|
|
/* Create token header using generic routines */
|
|
- token->len = g_token_size(&ctx->mech_used, tokenlen + tmsglen);
|
|
|
|
|
|
+ token->len = g_token_size(&ctx->mech_used, tokenlen);
|
|
|
|
|
|
ptr = token->data;
|
|
ptr = token->data;
|
|
- g_make_token_header(&ctx->mech_used, tokenlen + tmsglen, &ptr);
|
|
|
|
|
|
+ g_make_token_header(&ctx->mech_used, tokenlen, &ptr);
|
|
|
|
|
|
spkm3_make_mic_token(&ptr, tokenlen, &mic_hdr, &md5cksum, md5elen, md5zbit);
|
|
spkm3_make_mic_token(&ptr, tokenlen, &mic_hdr, &md5cksum, md5elen, md5zbit);
|
|
} else if (toktype == SPKM_WRAP_TOK) { /* Not Supported */
|
|
} else if (toktype == SPKM_WRAP_TOK) { /* Not Supported */
|