mirror of
https://github.com/aljazceru/lightning.git
synced 2026-02-21 05:54:20 +01:00
gossip: formalize passing of siphash_seed.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -313,7 +313,7 @@ static void json_getroute(struct command *cmd, const char *buffer, const jsmntok
|
||||
* be selected) at the cost of increasing the probability of
|
||||
* selecting the higher-fee paths. */
|
||||
double fuzz = 75.0;
|
||||
u8 *seed = tal_arrz(cmd, u8, sizeof(struct siphash_seed));
|
||||
struct siphash_seed seed;
|
||||
|
||||
if (!json_get_params(cmd, buffer, params,
|
||||
"id", &idtok,
|
||||
@@ -373,13 +373,17 @@ static void json_getroute(struct command *cmd, const char *buffer, const jsmntok
|
||||
fuzz = fuzz / 100.0;
|
||||
|
||||
if (seedtok) {
|
||||
tal_resize(&seed, seedtok->end - seedtok->start);
|
||||
memcpy(seed, buffer + seedtok->start,
|
||||
if (seedtok->end - seedtok->start > sizeof(seed))
|
||||
command_fail(cmd,
|
||||
"seed must be < %zu bytes", sizeof(seed));
|
||||
|
||||
memset(&seed, 0, sizeof(seed));
|
||||
memcpy(&seed, buffer + seedtok->start,
|
||||
seedtok->end - seedtok->start);
|
||||
} else
|
||||
randombytes_buf(seed, tal_len(seed));
|
||||
randombytes_buf(&seed, sizeof(seed));
|
||||
|
||||
u8 *req = towire_gossip_getroute_request(cmd, &source, &destination, msatoshi, riskfactor*1000, cltv, &fuzz, seed);
|
||||
u8 *req = towire_gossip_getroute_request(cmd, &source, &destination, msatoshi, riskfactor*1000, cltv, &fuzz, &seed);
|
||||
subd_req(ld->gossip, ld->gossip, req, -1, 0, json_getroute_reply, cmd);
|
||||
command_still_pending(cmd);
|
||||
}
|
||||
|
||||
@@ -220,11 +220,11 @@ static void json_pay_getroute_reply(struct subd *gossip UNUSED,
|
||||
* false if resolved now. */
|
||||
static bool json_pay_try(struct pay *pay)
|
||||
{
|
||||
u8 *seed;
|
||||
u8 *req;
|
||||
struct command *cmd = pay->cmd;
|
||||
struct timeabs now = time_now();
|
||||
struct json_result *data;
|
||||
struct siphash_seed seed;
|
||||
|
||||
/* If too late anyway, fail now. */
|
||||
if (time_after(now, pay->expiry)) {
|
||||
@@ -243,8 +243,7 @@ static bool json_pay_try(struct pay *pay)
|
||||
pay->try_parent = tal(pay, char);
|
||||
|
||||
/* Generate random seed */
|
||||
seed = tal_arr(pay->try_parent, u8, sizeof(struct siphash_seed));
|
||||
randombytes_buf(seed, tal_len(seed));
|
||||
randombytes_buf(&seed, sizeof(seed));
|
||||
|
||||
++pay->getroute_tries;
|
||||
|
||||
@@ -256,7 +255,7 @@ static bool json_pay_try(struct pay *pay)
|
||||
pay->riskfactor,
|
||||
pay->min_final_cltv_expiry,
|
||||
&pay->fuzz,
|
||||
seed);
|
||||
&seed);
|
||||
subd_req(pay->try_parent, cmd->ld->gossip, req, -1, 0, json_pay_getroute_reply, pay);
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user