From: Mark Wooding Date: Sat, 29 Apr 2017 12:55:40 +0000 (+0100) Subject: site.c: Abstract out generation of the Diffie--Hellman private secret. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=149933de622f3aca64647c9745c259a6c8efe226;p=secnet.git 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 --- diff --git a/site.c b/site.c index af14747..add4f0b 100644 --- a/site.c +++ b/site.c @@ -1041,11 +1041,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, const struct msg *prompt) { /* 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 @@ -1151,7 +1156,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;