Lines Matching +full:dtest +full:- +full:buffer
51 ret->alg = alg; in ssh_hmac_start()
52 if ((ret->ictx = ssh_digest_start(alg)) == NULL || in ssh_hmac_start()
53 (ret->octx = ssh_digest_start(alg)) == NULL || in ssh_hmac_start()
54 (ret->digest = ssh_digest_start(alg)) == NULL) in ssh_hmac_start()
56 ret->buf_len = ssh_digest_blocksize(ret->ictx); in ssh_hmac_start()
57 if ((ret->buf = calloc(1, ret->buf_len)) == NULL) in ssh_hmac_start()
73 if (klen <= ctx->buf_len) in ssh_hmac_init()
74 memcpy(ctx->buf, key, klen); in ssh_hmac_init()
75 else if (ssh_digest_memory(ctx->alg, key, klen, ctx->buf, in ssh_hmac_init()
76 ctx->buf_len) < 0) in ssh_hmac_init()
77 return -1; in ssh_hmac_init()
78 for (i = 0; i < ctx->buf_len; i++) in ssh_hmac_init()
79 ctx->buf[i] ^= 0x36; in ssh_hmac_init()
80 if (ssh_digest_update(ctx->ictx, ctx->buf, ctx->buf_len) < 0) in ssh_hmac_init()
81 return -1; in ssh_hmac_init()
82 for (i = 0; i < ctx->buf_len; i++) in ssh_hmac_init()
83 ctx->buf[i] ^= 0x36 ^ 0x5c; in ssh_hmac_init()
84 if (ssh_digest_update(ctx->octx, ctx->buf, ctx->buf_len) < 0) in ssh_hmac_init()
85 return -1; in ssh_hmac_init()
86 explicit_bzero(ctx->buf, ctx->buf_len); in ssh_hmac_init()
89 if (ssh_digest_copy_state(ctx->ictx, ctx->digest) < 0) in ssh_hmac_init()
90 return -1; in ssh_hmac_init()
97 return ssh_digest_update(ctx->digest, m, mlen); in ssh_hmac_update()
103 return ssh_digest_update_buffer(ctx->digest, b); in ssh_hmac_update_buffer()
111 len = ssh_digest_bytes(ctx->alg); in ssh_hmac_final()
113 ssh_digest_final(ctx->digest, ctx->buf, len)) in ssh_hmac_final()
114 return -1; in ssh_hmac_final()
116 if (ssh_digest_copy_state(ctx->octx, ctx->digest) < 0 || in ssh_hmac_final()
117 ssh_digest_update(ctx->digest, ctx->buf, len) < 0 || in ssh_hmac_final()
118 ssh_digest_final(ctx->digest, d, dlen) < 0) in ssh_hmac_final()
119 return -1; in ssh_hmac_final()
127 ssh_digest_free(ctx->ictx); in ssh_hmac_free()
128 ssh_digest_free(ctx->octx); in ssh_hmac_free()
129 ssh_digest_free(ctx->digest); in ssh_hmac_free()
130 if (ctx->buf) { in ssh_hmac_free()
131 explicit_bzero(ctx->buf, ctx->buf_len); in ssh_hmac_free()
132 free(ctx->buf); in ssh_hmac_free()
140 /* cc -DTEST hmac.c digest.c buffer.c cleanup.c fatal.c log.c xmalloc.c -lcrypto */