mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 05:12:45 +01:00
hsmtool: use errx() instead of err() everywhere
errx() was printing the confusing errno as well ("Error could not [...] :Success") Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
This commit is contained in:
parent
d41b383cf7
commit
38204f9b6d
@ -77,9 +77,9 @@ static void get_hsm_secret(struct secret *hsm_secret,
|
||||
|
||||
fd = open(hsm_secret_path, O_RDONLY);
|
||||
if (fd < 0)
|
||||
err(ERROR_HSM_FILE, "Could not open hsm_secret");
|
||||
errx(ERROR_HSM_FILE, "Could not open hsm_secret");
|
||||
if (!read_all(fd, hsm_secret, sizeof(*hsm_secret)))
|
||||
err(ERROR_HSM_FILE, "Could not read hsm_secret");
|
||||
errx(ERROR_HSM_FILE, "Could not read hsm_secret");
|
||||
close(fd);
|
||||
}
|
||||
|
||||
@ -99,25 +99,25 @@ static void get_encrypted_hsm_secret(struct secret *hsm_secret,
|
||||
|
||||
fd = open(hsm_secret_path, O_RDONLY);
|
||||
if (fd < 0)
|
||||
err(ERROR_HSM_FILE, "Could not open hsm_secret");
|
||||
errx(ERROR_HSM_FILE, "Could not open hsm_secret");
|
||||
|
||||
if (!read_all(fd, header, crypto_secretstream_xchacha20poly1305_HEADERBYTES))
|
||||
err(ERROR_HSM_FILE, "Could not read cipher header");
|
||||
errx(ERROR_HSM_FILE, "Could not read cipher header");
|
||||
if (!read_all(fd, cipher, sizeof(cipher)))
|
||||
err(ERROR_HSM_FILE, "Could not read cipher body");
|
||||
errx(ERROR_HSM_FILE, "Could not read cipher body");
|
||||
|
||||
if (crypto_pwhash(key.data, sizeof(key.data), passwd, strlen(passwd), salt,
|
||||
crypto_pwhash_argon2id_OPSLIMIT_MODERATE,
|
||||
crypto_pwhash_argon2id_MEMLIMIT_MODERATE,
|
||||
crypto_pwhash_ALG_ARGON2ID13) != 0)
|
||||
err(ERROR_LIBSODIUM, "Could not derive a key from the password.");
|
||||
errx(ERROR_LIBSODIUM, "Could not derive a key from the password.");
|
||||
if (crypto_secretstream_xchacha20poly1305_init_pull(&crypto_state, header,
|
||||
key.data) != 0)
|
||||
err(ERROR_LIBSODIUM, "Could not initialize the crypto state");
|
||||
errx(ERROR_LIBSODIUM, "Could not initialize the crypto state");
|
||||
if (crypto_secretstream_xchacha20poly1305_pull(&crypto_state, hsm_secret->data,
|
||||
NULL, 0, cipher, sizeof(cipher),
|
||||
NULL, 0) != 0)
|
||||
err(ERROR_LIBSODIUM, "Could not retrieve the seed. Wrong password ?");
|
||||
errx(ERROR_LIBSODIUM, "Could not retrieve the seed. Wrong password ?");
|
||||
|
||||
close(fd);
|
||||
}
|
||||
@ -210,7 +210,7 @@ static int decrypt_hsm(const char *hsm_secret_path)
|
||||
passwd = read_stdin_pass();
|
||||
|
||||
if (sodium_init() == -1)
|
||||
err(ERROR_LIBSODIUM,
|
||||
errx(ERROR_LIBSODIUM,
|
||||
"Could not initialize libsodium. Not enough entropy ?");
|
||||
|
||||
dir = path_dirname(NULL, hsm_secret_path);
|
||||
@ -225,13 +225,13 @@ static int decrypt_hsm(const char *hsm_secret_path)
|
||||
rename(hsm_secret_path, backup);
|
||||
fd = open(hsm_secret_path, O_CREAT|O_EXCL|O_WRONLY, 0400);
|
||||
if (fd < 0)
|
||||
err(ERROR_HSM_FILE, "Could not open new hsm_secret");
|
||||
errx(ERROR_HSM_FILE, "Could not open new hsm_secret");
|
||||
|
||||
if (!write_all(fd, &hsm_secret, sizeof(hsm_secret))) {
|
||||
unlink_noerr(hsm_secret_path);
|
||||
close(fd);
|
||||
rename("hsm_secret.backup", hsm_secret_path);
|
||||
err(ERROR_HSM_FILE,
|
||||
errx(ERROR_HSM_FILE,
|
||||
"Failure writing plaintext seed to hsm_secret.");
|
||||
}
|
||||
|
||||
@ -239,7 +239,7 @@ static int decrypt_hsm(const char *hsm_secret_path)
|
||||
if (!ensure_hsm_secret_exists(fd, hsm_secret_path)) {
|
||||
unlink_noerr(hsm_secret_path);
|
||||
rename(backup, hsm_secret_path);
|
||||
err(ERROR_HSM_FILE,
|
||||
errx(ERROR_HSM_FILE,
|
||||
"Could not ensure hsm_secret existence.");
|
||||
}
|
||||
unlink_noerr(backup);
|
||||
@ -274,7 +274,7 @@ static int encrypt_hsm(const char *hsm_secret_path)
|
||||
backup = path_join(dir, dir, "hsm_secret.backup");
|
||||
|
||||
if (sodium_init() == -1)
|
||||
err(ERROR_LIBSODIUM,
|
||||
errx(ERROR_LIBSODIUM,
|
||||
"Could not initialize libsodium. Not enough entropy ?");
|
||||
|
||||
/* Derive the encryption key from the password provided, and try to encrypt
|
||||
@ -283,15 +283,15 @@ static int encrypt_hsm(const char *hsm_secret_path)
|
||||
crypto_pwhash_argon2id_OPSLIMIT_MODERATE,
|
||||
crypto_pwhash_argon2id_MEMLIMIT_MODERATE,
|
||||
crypto_pwhash_ALG_ARGON2ID13) != 0)
|
||||
err(ERROR_LIBSODIUM, "Could not derive a key from the password.");
|
||||
errx(ERROR_LIBSODIUM, "Could not derive a key from the password.");
|
||||
if (crypto_secretstream_xchacha20poly1305_init_push(&crypto_state, header,
|
||||
key.data) != 0)
|
||||
err(ERROR_LIBSODIUM, "Could not initialize the crypto state");
|
||||
errx(ERROR_LIBSODIUM, "Could not initialize the crypto state");
|
||||
if (crypto_secretstream_xchacha20poly1305_push(&crypto_state, cipher,
|
||||
NULL, hsm_secret.data,
|
||||
sizeof(hsm_secret.data),
|
||||
NULL, 0, 0) != 0)
|
||||
err(ERROR_LIBSODIUM, "Could not encrypt the seed.");
|
||||
errx(ERROR_LIBSODIUM, "Could not encrypt the seed.");
|
||||
|
||||
/* Once the encryption key derived, we don't need it anymore. */
|
||||
if (passwd)
|
||||
@ -301,7 +301,7 @@ static int encrypt_hsm(const char *hsm_secret_path)
|
||||
rename(hsm_secret_path, backup);
|
||||
fd = open(hsm_secret_path, O_CREAT|O_EXCL|O_WRONLY, 0400);
|
||||
if (fd < 0)
|
||||
err(ERROR_HSM_FILE, "Could not open new hsm_secret");
|
||||
errx(ERROR_HSM_FILE, "Could not open new hsm_secret");
|
||||
|
||||
/* Write the encrypted hsm_secret. */
|
||||
if (!write_all(fd, header, sizeof(header))
|
||||
@ -309,14 +309,14 @@ static int encrypt_hsm(const char *hsm_secret_path)
|
||||
unlink_noerr(hsm_secret_path);
|
||||
close(fd);
|
||||
rename(backup, hsm_secret_path);
|
||||
err(ERROR_HSM_FILE, "Failure writing cipher to hsm_secret.");
|
||||
errx(ERROR_HSM_FILE, "Failure writing cipher to hsm_secret.");
|
||||
}
|
||||
|
||||
/* Be as paranoïd as in hsmd with the file state on disk. */
|
||||
if (!ensure_hsm_secret_exists(fd, hsm_secret_path)) {
|
||||
unlink_noerr(hsm_secret_path);
|
||||
rename(backup, hsm_secret_path);
|
||||
err(ERROR_HSM_FILE, "Could not ensure hsm_secret existence.");
|
||||
errx(ERROR_HSM_FILE, "Could not ensure hsm_secret existence.");
|
||||
}
|
||||
unlink_noerr(backup);
|
||||
tal_free(dir);
|
||||
@ -352,12 +352,12 @@ static int dump_commitments_infos(struct node_id *node_id, u64 channel_id,
|
||||
printf("shaseed: %s\n", type_to_string(tmpctx, struct sha256, &shaseed));
|
||||
for (u64 i = 0; i < depth; i++) {
|
||||
if (!per_commit_secret(&shaseed, &per_commitment_secret, i))
|
||||
err(ERROR_KEYDERIV, "Could not derive secret #%"PRIu64, i);
|
||||
errx(ERROR_KEYDERIV, "Could not derive secret #%"PRIu64, i);
|
||||
printf("commit secret #%"PRIu64": %s\n",
|
||||
i, tal_hexstr(tmpctx, per_commitment_secret.data,
|
||||
sizeof(per_commitment_secret.data)));
|
||||
if (!per_commit_point(&shaseed, &per_commitment_point, i))
|
||||
err(ERROR_KEYDERIV, "Could not derive point #%"PRIu64, i);
|
||||
errx(ERROR_KEYDERIV, "Could not derive point #%"PRIu64, i);
|
||||
printf("commit point #%"PRIu64": %s\n",
|
||||
i, type_to_string(tmpctx, struct pubkey, &per_commitment_point));
|
||||
}
|
||||
@ -638,7 +638,7 @@ int main(int argc, char *argv[])
|
||||
show_usage(argv[0]);
|
||||
struct node_id node_id;
|
||||
if (!node_id_from_hexstr(argv[2], strlen(argv[2]), &node_id))
|
||||
err(ERROR_USAGE, "Bad node id");
|
||||
errx(ERROR_USAGE, "Bad node id");
|
||||
return dump_commitments_infos(&node_id, atol(argv[3]), atol(argv[4]),
|
||||
argv[5]);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user