X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/11ad66c29764521f87f0dd399a1e592147c7af36..ef09dae1af4f84ae093aa071f475d9dd1fc6b1bc:/server/keyexch.c diff --git a/server/keyexch.c b/server/keyexch.c index 9d08bec6..be5bc880 100644 --- a/server/keyexch.c +++ b/server/keyexch.c @@ -637,8 +637,8 @@ static kxchal *respond(keyexch *kx, unsigned msg, buf *b) dhge *C = 0; dhge *R = 0; dhge *CC = 0; + deriveargs a; const octet *hc, *ck; - size_t x, y, z; dhsc *c = 0; kxchal *kxc; ghash *h = 0; @@ -752,13 +752,13 @@ static kxchal *respond(keyexch *kx, unsigned msg, buf *b) /* --- Create a new symmetric keyset --- */ - buf_init(&bb, buf_o, sizeof(buf_o)); - g->ops->stge(g, &bb, kx->C, DHFMT_HASH); x = BLEN(&bb); - g->ops->stge(g, &bb, kxc->C, DHFMT_HASH); y = BLEN(&bb); - g->ops->stge(g, &bb, R, DHFMT_HASH); z = BLEN(&bb); + buf_init(&bb, buf_o, sizeof(buf_o)); a.k = BBASE(&bb); + g->ops->stge(g, &bb, kx->C, DHFMT_HASH); a.x = BLEN(&bb); + g->ops->stge(g, &bb, kxc->C, DHFMT_HASH); a.y = BLEN(&bb); + g->ops->stge(g, &bb, R, DHFMT_HASH); a.z = BLEN(&bb); assert(BOK(&bb)); - kxc->ks = ks_gen(BBASE(&bb), x, y, z, kx->p); + kxc->ks = ks_gen(&a, kx->p); } if (C) g->ops->freege(g, C);