Merge pull request #7745

d52d21b ledger: don't lock for software device (tobtoht)
This commit is contained in:
luigi1111 2021-07-27 16:56:37 -04:00
commit 69e714c749
No known key found for this signature in database
GPG key ID: F4ACA0183641E010

View file

@ -684,7 +684,6 @@ namespace hw {
/* ======================================================================= */ /* ======================================================================= */
bool device_ledger::derive_subaddress_public_key(const crypto::public_key &pub, const crypto::key_derivation &derivation, const std::size_t output_index, crypto::public_key &derived_pub){ bool device_ledger::derive_subaddress_public_key(const crypto::public_key &pub, const crypto::key_derivation &derivation, const std::size_t output_index, crypto::public_key &derived_pub){
AUTO_LOCK_CMD();
#ifdef DEBUG_HWDEVICE #ifdef DEBUG_HWDEVICE
const crypto::public_key pub_x = pub; const crypto::public_key pub_x = pub;
crypto::key_derivation derivation_x; crypto::key_derivation derivation_x;
@ -708,7 +707,7 @@ namespace hw {
MDEBUG( "derive_subaddress_public_key : PARSE mode with known viewkey"); MDEBUG( "derive_subaddress_public_key : PARSE mode with known viewkey");
crypto::derive_subaddress_public_key(pub, derivation, output_index,derived_pub); crypto::derive_subaddress_public_key(pub, derivation, output_index,derived_pub);
} else { } else {
AUTO_LOCK_CMD();
int offset = set_command_header_noopt(INS_DERIVE_SUBADDRESS_PUBLIC_KEY); int offset = set_command_header_noopt(INS_DERIVE_SUBADDRESS_PUBLIC_KEY);
//pub //pub
memmove(this->buffer_send+offset, pub.data, 32); memmove(this->buffer_send+offset, pub.data, 32);
@ -1048,7 +1047,6 @@ namespace hw {
} }
bool device_ledger::generate_key_derivation(const crypto::public_key &pub, const crypto::secret_key &sec, crypto::key_derivation &derivation) { bool device_ledger::generate_key_derivation(const crypto::public_key &pub, const crypto::secret_key &sec, crypto::key_derivation &derivation) {
AUTO_LOCK_CMD();
bool r = false; bool r = false;
#ifdef DEBUG_HWDEVICE #ifdef DEBUG_HWDEVICE
@ -1069,6 +1067,7 @@ namespace hw {
assert(is_fake_view_key(sec)); assert(is_fake_view_key(sec));
r = crypto::generate_key_derivation(pub, this->viewkey, derivation); r = crypto::generate_key_derivation(pub, this->viewkey, derivation);
} else { } else {
AUTO_LOCK_CMD();
int offset = set_command_header_noopt(INS_GEN_KEY_DERIVATION); int offset = set_command_header_noopt(INS_GEN_KEY_DERIVATION);
//pub //pub
memmove(this->buffer_send+offset, pub.data, 32); memmove(this->buffer_send+offset, pub.data, 32);