From 242a13f76aec76b7ab05ce924c123813aa58b92c Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sat, 29 Apr 2017 13:55:40 +0100 Subject: [PATCH] site.c: Abstract out generation of the Diffie--Hellman private secret. I want to make this more complicated, so it makes sense to have the logic in one place. Signed-off-by: Mark Wooding --- site.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/site.c b/site.c index fed1306..303dbbd 100644 --- a/site.c +++ b/site.c @@ -862,11 +862,16 @@ kind##_found: \ return True; } +static void generate_dhsecret(struct site *st) +{ + st->random->generate(st->random->st, st->dh->secret_len,st->dhsecret); +} + static bool_t generate_msg3(struct site *st) { /* Now we have our nonce and their nonce. Think of a secret key, and create message number 3. */ - st->random->generate(st->random->st,st->dh->secret_len,st->dhsecret); + generate_dhsecret(st); return generate_msg(st, (st->remote_capabilities & CAPAB_TRANSFORM_MASK) ? LABEL_MSG3BIS @@ -949,7 +954,7 @@ kind##_found: \ /* Terminate their DH public key with a '0' */ m.pk[m.pklen]=0; /* Invent our DH secret key */ - st->random->generate(st->random->st,st->dh->secret_len,st->dhsecret); + generate_dhsecret(st); /* Generate the shared key and set up the transform */ if (!set_new_transform(st,m.pk)) return False; -- 2.11.0