1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 23:48:12 +00:00
Commit Graph

690 Commits

Author SHA1 Message Date
Andrew Kozlik
9732f6524a refactor(legacy): Extract segwit signing code. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
1ecb0f0c1c feat(legacy): Implement SLIP-0021 symmetric key derivation. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
779f5dbc7d refactor(legacy): Move script type functions to crypto.h. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
11109b4e46 feat(legacy): Support serialize option in SignTx. 2023-02-27 14:22:25 +01:00
grdddj
ccf08df07d fix(legacy): show complete taproot QR code without any missing rows/columns
The QR code will be smaller (only one pixel per module), but scannable anyway.

When the QR code was bigger, but incomplete, Android devices had issues with scanning it.

[no changelog]
2023-02-22 14:48:04 +01:00
tychovrahe
37c13ed75e chore(legacy): bundle bootloader 1.12.1 into firmware 2023-02-06 10:03:27 +01:00
tychovrahe
752bbebcee chore(legacy): added signing script for v3 debug keys
[no changelog]
2023-02-06 10:03:27 +01:00
tychovrahe
daf566a260 fix(legacy): fix v2 signature validation 2023-02-06 10:03:27 +01:00
matejcik
ab949053e8 docs: add missing changelog entries 2023-01-20 15:21:24 +01:00
matejcik
958cbe2300 feat(legacy): allow Casa eth & btc signing for m/45' 2023-01-20 15:21:24 +01:00
Roman Zeyde
72f456cc17 feat(legacy/firmware): increase 'challenge_hidden' max_size
Current limit doesn't work with SSH 8.9+ signatures.

Following https://github.com/romanz/trezor-agent/issues/408.
2023-01-13 11:51:00 +01:00
matejcik
0c3b0371dd chore(legacy): bump versions after release 2023-01-02 11:37:56 +01:00
matejcik
74471ce23e chore(legacy): generate changelogs 2023-01-02 11:11:05 +01:00
tychovrahe
13fd5d792d chore(legacy): bundle bootloader 1.12.0 into firmware 2023-01-02 11:03:38 +01:00
tychovrahe
6d2b73ea86 feat(legacy): add model info to image header 2023-01-02 11:03:38 +01:00
tychovrahe
335ac476a2 feat(legacy): filled production keys, 2 out of 3 signatures 2023-01-02 11:03:38 +01:00
tychovrahe
3cd47f85af feat(legacy): qa build for upgrade testing 2023-01-02 11:03:38 +01:00
tychovrahe
9d64039245 chore(legacy): bump versions to 1.12.x 2023-01-02 11:03:38 +01:00
matejcik
e6491bb3c7 build(legacy): add bootloader updater script 2023-01-02 11:03:38 +01:00
matejcik
29e064f07b chore(legacy/bootloader): drop unused VERSION_x_CHAR
[no changelog]
2023-01-02 11:03:38 +01:00
Ondrej Mikle
2b48ced330 chore(legacy): changelogs 2023-01-02 11:03:38 +01:00
Ondrej Mikle
0ee61fee5c fix(demo): fix build
[no changelog]
2023-01-02 11:03:38 +01:00
Ondrej Mikle
8ea3ca4c5e fix(legacy): better stack setup for debug devices 2023-01-02 11:03:38 +01:00
Ondrej Mikle
71e0b8c1c3 feat(legacy): make debugging less painful, remove PRODUCTION macro matrix, split reset_handlers 2023-01-02 11:03:38 +01:00
Ondrej Mikle
5b5e4a8b3e feat(legacy): better debugability for various PRODUCTION bootloader/FW settings 2023-01-02 11:03:38 +01:00
Martin Novak
58276a7443 feat(core/ethereum, legacy/ethereum): add support to Ledger Live legacy derivation path 2022-11-30 14:23:47 +01:00
Ondrej Mikle
a9ad39b88d chore(legacy): typos and style 2022-11-22 15:00:19 +01:00
Ondrej Mikle
e2abd2a9ad feat(legacy): bootloader with v3 SignMessage signatures + signatures debug
Removed oldest v1 style of firmware signature and presence checks.
Added debug helpers for T1 signatures.
Support for v2 and v3 signatures, but can only update FW to v3-style signed.
Support for debugging T1 signatures.
Scripts and README for debugging v2/v3 FW signing scheme.
Firmware in GetFeatures counts only v3 signatures as signed.
Add documentation and comments about signing schemes like a sane person
2022-11-22 15:00:19 +01:00
Ondrej Mikle
09ebe29369 docs(legacy): ImHex patterns for v2 trezor.bin, v1+v2 combined trezor.bin and bootloader binary images
[no changelog]
2022-11-01 14:58:35 +01:00
matejcik
ce307c9484 feat(common): mark CoSi fields as required
[no changelog]
2022-11-01 14:56:00 +01:00
Andrew Kozlik
afd900f9b1 feat(common): Add CoinJoin request message.
[no changelog]
2022-10-27 17:37:48 +02:00
Ondrej Mikle
4bed278e80 feat(legacy): Ability to flash bootloader and firmware via JLink
[no changelog]
2022-09-19 10:09:14 +02:00
Martin Novak
dd168d2893 feat(core,legacy): display only sat instead of sat BTC 2022-09-15 08:01:24 +02:00
grdddj
093be69dfb feat(legacy): do not convert bech32 addresses to uppercase for QR code
feat(legacy): maintain big QR code for taproot addresses
2022-09-14 15:13:19 +02:00
grdddj
70d38e829b feat(legacy): show fee rate when replacing transaction 2022-09-12 11:48:14 +02:00
Martin Novak
a41cfadbf1 feat(core,legacy): Extend decimals of fee rate to 2 digits 2022-09-09 15:28:31 +02:00
Andrew Kozlik
d96d3e705b fix(legacy): Clear CoSi nonce when device is wiped to fix CI.
[no changelog]
2022-09-07 15:38:22 +02:00
Andrew Kozlik
2f6a7096da chore(legacy): Do not allow access to SLIP25 paths. 2022-08-30 15:53:44 +02:00
Andrew Kozlik
9d89c3cb1b feat(common): Add UnlockPath message.
[no changelog]
2022-08-30 15:53:44 +02:00
Andrew Kozlik
792dadfc4d feat(common): Add SetBusy message.
[no changelog]
2022-08-22 18:15:29 +02:00
Pavol Rusnak
c962d3520b
Merge branch 'release/22.08' 2022-08-22 11:10:45 +02:00
matejcik
ef47c26272 chore(core,legacy): bump versions
[skip_ci]
[no changelog]
2022-08-03 13:10:05 +02:00
matejcik
0d87b55ba4 chore(docs): regenerate changelogs 2022-08-02 22:26:27 +02:00
Andrew Kozlik
f8ffaecd1c fix(legacy): Abort recovery for invalid words. 2022-08-02 20:38:04 +02:00
Andrew Kozlik
fa5e7feda6 fix(crypto): Fix nonce bias in CoSi signing. 2022-08-02 20:38:04 +02:00
Andrew Kozlik
b7dde50d5f fix(legacy): Generate CoSi nonce randomly. 2022-08-02 20:38:04 +02:00
Andrew Kozlik
ad5a572b75 chore(common): Deprecate data field in CosiCommit message. 2022-08-02 20:38:04 +02:00
matejcik
70c1b12dff feat(legacy): use thousands separator (fixes #2394) 2022-08-02 20:35:49 +02:00
matejcik
4df7f2f6b0 Revert "feat(legacy): implement firmware dumping"
This reverts commit 64df33d8d8.
2022-08-02 17:12:07 +02:00
Andrew Kozlik
8ca785925d fix(core,legacy): Fix tx_weight to tx_size conversion.
[no changelog]
2022-08-02 14:30:38 +02:00
Andrew Kozlik
a4343266a3 fix(legacy): Fix Decred transaction weight calculation. 2022-08-01 15:10:34 +02:00
Andrew Kozlik
3b44d44a12 fix(legacy): Fix rounding in fee rate computation. 2022-08-01 15:10:34 +02:00
Andrew Kozlik
892f3e348d fix(crypto): Remove public key from the ed25519 signing API.
[no changelog]
2022-06-27 18:59:08 +02:00
Pavol Rusnak
95daa2fda3 chore(common/defs): replace consensus_branch_id with overwintered bool flag
[no changelog]
2022-06-27 12:39:03 +02:00
Pavol Rusnak
17963a2837 fix(legacy): refactor oledInvertPixel
to not use static bool variable, but ifdef constant

[no changelog]
2022-06-02 10:50:40 +02:00
matejcik
38a36a131f chore: rename BIP39_WORDS to BIP39_WORD_COUNT 2022-06-01 16:35:33 +02:00
matejcik
dfa4b1d9a1 build: add bip39_english.o where appropriate
[no changelog]
2022-06-01 16:35:33 +02:00
Pavol Rusnak
6589f020c6 fix(legacy,core): use sat/vB only for segwit and sat/B otherwise
[no changelog]
2022-05-30 10:51:47 +02:00
Pavol Rusnak
810b34f579 fix(legacy): update sector argument to match flash_erase_sector size 2022-05-26 17:18:20 +02:00
Martin Novak
85f0d3a741 feat(core,legacy): show fee rate when signing transaction 2022-05-25 14:43:45 +02:00
Ondřej Vejpustek
a198b390ff fix(legacy,core): fix size of secp256k1-zkp context
[no changelog]
2022-05-20 17:29:07 +02:00
Martin Milata
c5f1bec474 Merge branch 'release/22.05' 2022-05-18 12:43:53 +02:00
Ondřej Vejpustek
ea5886026f refactor(crypto,legacy): extend parameters of init_rfc6979 by curve 2022-05-16 16:23:18 +02:00
Ondřej Vejpustek
db0da196a8 chore(vendor): update secp256k1-zkp to latest 2022-05-16 16:23:18 +02:00
Martin Milata
a4f924baa4 chore(legacy/firmware): bump version to 1.11.2
[skip_ci]
2022-05-04 12:09:14 +02:00
Martin Milata
cc4ca7a580 docs(legacy/firmware): changelog for 1.11.1 2022-05-03 23:00:25 +02:00
matejcik
a1984f3275 chore(legacy): release bootloader 1.11.0 2022-05-03 23:00:25 +02:00
matejcik
768d577d78 feat(legacy/bootloader): report installed firmware version 2022-05-03 23:00:25 +02:00
matejcik
bc1ebdccdc build(legacy): add explicit dependency on version.h for the header object 2022-05-03 23:00:25 +02:00
matejcik
ed8cdef331 chore(legacy/bootloader): bump major version 2022-05-03 23:00:25 +02:00
matejcik
7d93bd3179 fix(legacy/bootloader): erase storage if going below fix_version 2022-05-03 23:00:25 +02:00
Andrew Kozlik
903fa9b471 feat(legacy): Verify signatures of all original internal inputs in replacement transactions. 2022-05-03 23:00:25 +02:00
Andrew Kozlik
706b74aaeb refactor(legacy): Transaction checksum in Bitcoin signing. 2022-05-03 22:14:41 +02:00
Andrew Kozlik
29304857b5 feat(legacy): Warn about unverified external inputs. 2022-05-03 22:14:40 +02:00
Andrew Kozlik
2b401f48f8 feat(legacy): Warn only once about non-standard paths.
[no changelog]
2022-05-03 22:14:40 +02:00
Andrew Kozlik
df479adbe7 chore(legacy): Simplify path warning UI.
[no changelog]
2022-05-03 22:14:40 +02:00
Andrew Kozlik
181fd1c601 fix(legacy): Stricter Bitcoin transaction checks.
[no changelog]
2022-05-03 22:14:40 +02:00
Andrew Kozlik
09d143079b chore(legacy/firmware): Bump FIX_VERSION to 1.11.0. 2022-05-03 22:14:40 +02:00
Andrew Kozlik
84876dc971 feat(legacy): Add fsm_abortWorkflows(). 2022-05-03 21:50:50 +02:00
Andrew Kozlik
e24e9fcdb3 fix(legacy): Check PIN before confirming critical dialogs. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
4c60f80f44 feat(legacy): Add state sanity check to fsm_msg*Ack() functions. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
3553086e84 feat(legacy): Strict path validation for CoSi. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
abb5ab74e3 feat(legacy): Strict path validation for NEM. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
88efd74710 feat(legacy): Make Bitcoin path checks same as in core. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
35151c6157 feat(legacy): Strict path validation for Stellar. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
0af5cd18c2 feat(legacy): Strict path validation for Ethereum. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
054ab48689 refactor(legacy): Factor out fsm_layoutPathWarning(). 2022-05-03 21:50:50 +02:00
Andrew Kozlik
1b9e575d3e refactor(legacy): Move path constants to crypto.h. 2022-05-03 21:50:50 +02:00
matejcik
540d3ebaab feat(legacy): report EMULATOR vendor in legacy 2022-05-03 19:00:04 +02:00
matejcik
64df33d8d8 feat(legacy): implement firmware dumping 2022-05-03 19:00:04 +02:00
Andrew Kozlik
d693b0c196 feat(legacy): Return fw_vendor in firmware Features message.
[no changelog]
2022-05-03 19:00:04 +02:00
Andrew Kozlik
bd8d9c9c6b feat(legacy): Show progress in GetFirmwareHash. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
1da446a8fb refactor: Move flash_init to emulator main. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
e9828a5b59 feat(legacy): Implement GetFirmwareHash message. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
26d1fad2aa feat(legacy): Support Zcash version 5 transaction format. 2022-05-02 17:10:41 +02:00
Pavol Rusnak
8f1d33d5f9 build(core,legacy): remove gcc, use cc instead of gcc
for firmware builds we still use arm-none-eabi-gcc via $(PREFIX)gcc

[no changelog]
2022-04-27 15:48:14 +02:00
Martin Milata
4f95ec25f9 chore(legacy/firmware): bump version to 1.11.1 2022-03-30 21:57:54 +02:00
Pavol Rusnak
25bd9ebbbb fix(legacy): fix SDL2 include path
[no changelog]
2022-03-29 12:22:11 +02:00
Pavol Rusnak
334f7bbbe6 chore(common): defs cleanup
- drop Gamecredits - they became an ERC-20 token in 2020
- drop Nix - dead coin
- drop Polis - coin became a BEP-20 token and later Olympus network in 2021
2022-03-25 14:27:30 +01:00
Andrew Kozlik
d012f48ca5 feat(legacy): Guess weight of unverified external inputs. 2022-03-17 09:44:03 +01:00
Andrew Kozlik
82895b2cdb feat(legacy): Support unverified external inputs. 2022-03-17 09:44:03 +01:00
Andrew Kozlik
0dfbfefd2a refactor(legacy): Factor out multisig fingerprint processing. 2022-03-17 09:44:03 +01:00
Andrew Kozlik
8cb6d0709f feat(legacy): Ensure input's script type and path match the scriptPubKey. 2022-03-17 09:44:03 +01:00
Ondrej Mikle
28d282101e fix(legacy): cleanup of undesired states where USB processing should not happen 2022-02-22 00:49:31 +01:00
Martin Milata
548651608c docs(legacy/bootloader): fix changelog date 2022-02-17 11:42:09 +01:00
matejcik
45e5c18f06 fix(legacy): allow DebugLinkGetState while waiting for passphrase 2022-02-17 11:05:55 +01:00
matejcik
69eb09580d fix(legacy): clear crypto caches on device wipe 2022-02-17 11:05:55 +01:00
grdddj
967727a43c chore(legacy,ci): add and use make targets for legacy 2022-02-17 11:05:55 +01:00
Pavol Rusnak
ea6b005003 feat(legacy): verify bip340 pubkeys used in p2tr addresses 2022-02-16 10:25:15 +01:00
Andrew Kozlik
b1706561cd fix(legacy): Remove Bitcoin Cash from BITCOIN_ONLY firmware. 2022-02-11 15:36:00 +01:00
Andrew Kozlik
cb21c7e415 feat(legacy): Support Electrum signatures in VerifyMessage. 2022-02-11 15:36:00 +01:00
Andrew Kozlik
b5c9f573b2 feat(legacy): Show "signature is valid" dialog when VerifyMessage succeeds. 2022-02-11 15:36:00 +01:00
matejcik
310b6c5217 fix(legacy): support Success and Failure for debuglink 2022-02-10 14:48:11 +01:00
matejcik
825ccd9df5 build(legacy): make bootloader_align target repeatable
[no changelog]
2022-02-10 14:48:11 +01:00
matejcik
e81bb0f856 feat(legacy): enable DebugLinkReseedRandom 2022-02-10 14:48:11 +01:00
matejcik
658c50fc1f chore(legacy): drop support for RANDOM_DEV_FILE
Replacing it with trezor-crypto's na(t)ive RNG, which we can reseed over
debuglink.
2022-02-10 14:48:11 +01:00
Andrew Kozlik
d0c3a6a2fa chore(core): Add mac field to Address message.
[no changelog]
2022-01-31 18:00:22 +01:00
Andrew Kozlik
0959947a88 chore(common): Add GetNonce, Nonce and TxAckPaymentRequest message.
[no changelog]
2022-01-31 18:00:22 +01:00
Andrew Kozlik
ba4f046d6f feat(common): Add INFO button to DebugLinkDecision.
[no changelog]
2022-01-27 13:15:04 +01:00
Martin Milata
763a138d53 docs(legacy/firmware): fix date in changelog
[skip_ci]
2022-01-19 19:48:43 +01:00
Martin Milata
98b1159b0b Merge branch 'release/22.01'
Conflicts:
	core/src/apps/ethereum/tokens.py
2022-01-19 15:24:51 +01:00
Martin Milata
b6ed573cf5 ci(legacy): run nightly device tests with AddressSanitizer
[no changelog]
2022-01-19 15:22:03 +01:00
Andrew Kozlik
56126b75a7 ci: Use address sanitizer in CI.
[no changelog]
2022-01-19 15:22:03 +01:00
Martin Milata
c127f6dd6e docs(legacy/firmware): fix date in changelog
[skip_ci]
2022-01-17 14:11:49 +01:00
Alois Klink
5c4703c9bb fix(core,legacy): Fix domain-only ethTypedData
When doing Ethereum signTypedData, and the primaryType="EIP712Domain",
we completely ignore the "message" part and only sign the domain.

According to the community, this is technically allowed by the spec,
and may be used by ETH smart contracts to save on gas.

Test case generated by @MetaMask/eth-sig-util's library.

See: https://ethereum-magicians.org/t/eip-712-standards-clarification-primarytype-as-domaintype/3286
2022-01-14 14:22:46 +01:00
Pavol Rusnak
2880a2fa33
fix(crypto): refactor ethereum_address_checksum to prepend "0x" (#2029)
[no changelog]
2022-01-12 21:00:54 +01:00
matejcik
454a7ce301 fix(legacy/nem): remove checks for newly required protobuf attributes
[no changelog]
2022-01-07 21:41:17 +01:00
Pavol Rusnak
b0e0280465 chore: drop obsolete fw_vendor_keys field from Features
[no changelog]
2022-01-03 14:23:58 +01:00
Martin Milata
572f3eda20 chore(legacy/firmware): bump version to 1.10.6 2022-01-03 12:40:06 +01:00
Martin Milata
96378a15a8 docs(legacy): changelog for 1.10.5 2021-12-23 19:18:17 +01:00
Alisina Bahadori
77ab865386 feat(legacy): Implement EIP-712 signing 2021-12-19 20:36:30 +01:00
Carlosbogo
dd1240ef53
docs: update links in changelogs (#2013)
fixes #2011
2021-12-17 14:53:21 +01:00
Pavol Rusnak
30a77a76bc
chore(legacy): rename MEMORY_PROTECT flag to PRODUCTION to match core naming (#2003) 2021-12-12 15:45:10 +01:00
Martin Milata
ff5f965c44 Merge branch 'release/21.12'
Conflicts:
	tests/device_tests/test_msg_signtx_invalid_path.py
	tests/ui_tests/fixtures.json
2021-12-08 14:53:56 +01:00
Ondrej Mikle
192abdd83b build(legacy): build emulator without stack protector
[no changelog]
2021-12-07 18:27:31 +01:00
Ondrej Mikle
199729e57a fix(legacy): prevent handling RebootToBootloader recursing by flushing USB write 2021-12-07 17:00:43 +01:00
Martin Milata
1e5e970fd1 fix(legacy/firmware): improve pin length bound check 2021-12-06 16:25:59 +01:00
Martin Milata
7336125cd3 chore(legacy/firmware): bump version to 1.10.5 2021-12-01 14:45:47 +01:00
Pavol Rusnak
70f8174c57 build(legacy): sort entries in Makefile
[no changelog]
2021-11-29 17:54:59 +01:00
Pavol Rusnak
3ec63c1dc7 build(legacy/bootloader): sort entries in Makefile
[no changelog]
2021-11-29 17:54:59 +01:00
Ondrej Mikle
22b1714e59 build(legacy/bootloader): build bootloader with -Os
[no changelog]
2021-11-29 16:03:36 +01:00
Martin Milata
61164febf2 docs(legacy): changelog for 1.10.4 2021-11-23 14:57:25 +01:00
Andrew Kozlik
38134732dc fix(legacy): Ensure user is warned about non-standard paths. 2021-11-23 14:57:25 +01:00
Pavol Rusnak
ee4ef81039 fix(legacy): update account naming
[no changelog]
2021-11-23 13:00:43 +01:00
Ondrej Mikle
d448d7b841 fix(legacy): make bootloader fit into its region
[no changelog]
2021-11-22 17:21:49 +01:00
Martin Milata
298db6c9aa fix(legacy/intermediate_fw): workaround for gcc-10.3
https://stackoverflow.com/questions/58455300/assembler-warning-with-gcc-warning-when-placing-data-in-text

[no changelog]
2021-11-22 11:18:51 +01:00
Pavol Rusnak
3488138285 chore(legacy): drop unused ECIES code
[no changelog]
2021-11-19 11:44:56 +01:00
Martin Milata
d656f88572 style(all): reformat with clang-format 13.0 2021-11-19 10:54:31 +01:00
Andrew Kozlik
f4b8dbefb6 fix(legacy): Fix testnet account label in GetAddress dialog. 2021-11-18 22:39:32 +01:00
Pavol Rusnak
274ccdc4c0 fix(legacy): add Taproot account handling to GetAddress dialog 2021-11-18 22:39:32 +01:00