Skip to content

Commit 7343502

Browse files
Lagrang3rustyrussell
authored andcommitted
hsmd: refactor hsmd_init
Add preapprove_check capabilities: WIRE_HSMD_PREAPPROVE_INCOICE_CHECK and WIRE_HSMD_PREAPPROVE_KEYSEND_CHECK to the capabilities array if dev_no_preapprove_check is not set. Do not assume those occupy the last two slots in the array. Changelog-None Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
1 parent 50cdf05 commit 7343502

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

hsmd/libhsmd.c

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2348,10 +2348,8 @@ u8 *hsmd_init(struct secret hsm_secret, const u64 hsmd_version,
23482348
WIRE_HSMD_REVOKE_COMMITMENT_TX,
23492349
WIRE_HSMD_SIGN_BOLT12_2,
23502350
WIRE_HSMD_BIP137_SIGN_MESSAGE,
2351-
WIRE_HSMD_PREAPPROVE_INVOICE_CHECK,
2352-
WIRE_HSMD_PREAPPROVE_KEYSEND_CHECK,
23532351
};
2354-
const u32 *caps;
2352+
u32 *caps;
23552353

23562354
/*~ Don't swap this. */
23572355
sodium_mlock(secretstuff.hsm_secret.data,
@@ -2474,14 +2472,11 @@ u8 *hsmd_init(struct secret hsm_secret, const u64 hsmd_version,
24742472
"derived secrets", strlen("derived secrets"));
24752473

24762474
/* Capabilities arg needs to be a tal array */
2477-
if (dev_no_preapprove_check) {
2478-
/* Skip preapprove capabilities */
2479-
caps = tal_dup_arr(tmpctx, u32,
2480-
capabilities, ARRAY_SIZE(capabilities) - 2,
2481-
0);
2482-
} else {
2483-
caps = tal_dup_arr(tmpctx, u32,
2484-
capabilities, ARRAY_SIZE(capabilities), 0);
2475+
caps =
2476+
tal_dup_arr(tmpctx, u32, capabilities, ARRAY_SIZE(capabilities), 0);
2477+
if (!dev_no_preapprove_check) {
2478+
tal_arr_expand(&caps, WIRE_HSMD_PREAPPROVE_INVOICE_CHECK);
2479+
tal_arr_expand(&caps, WIRE_HSMD_PREAPPROVE_KEYSEND_CHECK);
24852480
}
24862481

24872482
/*~ Note: marshalling a bip32 tree only marshals the public side,

0 commit comments

Comments
 (0)