1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-28 00:58:09 +00:00
Commit Graph

336 Commits

Author SHA1 Message Date
Pavol Rusnak
503ac8d801 legacy: allow spending coins from Bitcoin paths if the coin ...
has implemented strong replay protection via SIGHASH_FORKID
2020-08-21 11:49:03 +02:00
Pavol Rusnak
5359509483 legacy: refactor check_cointype into a separate function 2020-08-21 11:49:03 +02:00
Pavol Rusnak
fd87c62b68 common/defs: remove coins with no Trezor-compatible wallets 2020-08-19 19:29:18 +02:00
Pavol Rusnak
fd2ddbfb03
core+legacy: expand month names in changelogs 2020-08-05 23:07:11 +02:00
Pavol Rusnak
3fffa9ae68
common/defs: enable XVG 2020-08-05 12:10:52 +02:00
Pavol Rusnak
1eca04b7b2
legacy: update changelog 2020-08-05 12:02:04 +02:00
Pavol Rusnak
568da98199
legacy: refactor path_mismatched function and revert its logic 2020-08-05 11:54:33 +02:00
Andrew Kozlik
5c1f197602 common/protob: Add CancelAuthorization message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
2c30dd62fc common: Add DoPreauthorized message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
bbab13f6e7 common/protob: Add AuthorizeCoinJoin message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
7d07161efe common/fido: Unify application labeling between U2F and FIDO2. 2020-07-30 15:29:54 +02:00
Martin Milata
f4c9d0a040 legacy: rename TxInfo field overwintered to is_zcashlike
For v3 transaction format see:
https://zips.z.cash/zip-0202#transaction-format-version-3
2020-07-30 15:14:18 +02:00
Martin Milata
b8063e882b legacy: drop zcash v3 tx signing support 2020-07-30 15:14:18 +02:00
Andrew Kozlik
38074a4e59
legacy: print inverted question mark for nonprintable characters 2020-07-27 16:29:03 +02:00
Pavol Rusnak
89d701ed08
core+legacy: bump versions (also in changelogs) 2020-07-27 13:59:49 +02:00
Pavol Rusnak
e97413e8c5
legacy: convert old changelogs to new format 2020-07-27 12:13:43 +02:00
Pavol Rusnak
8dacad0782
core/bootloader: update protobuf definitions 2020-07-26 00:00:37 +02:00
Tomas Susanka
34bd57006f core, legacy: set version of the upcoming release in Changelog 2020-07-24 12:33:46 +02:00
Martin Milata
48e1dc957f legacy: raise error on auto-lock value out of range 2020-07-22 21:38:42 +02:00
Pavol Rusnak
52ae0bec71
legacy: add missing SDL2_image to Makefile 2020-07-10 16:31:50 +02:00
Pavol Rusnak
2b9613c8a0
legacy: add changelog entry 2020-07-09 15:54:42 +02:00
Andrew Kozlik
24bf352577 legacy: Support multiple change-outputs. 2020-07-09 15:51:23 +02:00
matejcik
2c8e5f527b all: rename changelogs to .md for highlighting 2020-07-08 10:43:40 +02:00
matejcik
a19a9a318a all: improve changelog formatting 2020-07-08 10:43:40 +02:00
matejcik
476cf2ee8f core, legacy: more changelog entries 2020-07-08 10:43:40 +02:00
Andrew Kozlik
533de50588 common/protob: Add GetOwnershipId message. 2020-07-03 11:17:19 +02:00
Andrew Kozlik
956ea9a94f common: Add ownership_proof field to TxInputType. 2020-07-03 11:17:19 +02:00
Andrew Kozlik
c723c78529 common/protob: Add GetOwnershipProof message. 2020-07-03 11:17:19 +02:00
Andrew Kozlik
cc655575c8 common: Add witness field to TxInputType. 2020-07-03 11:17:19 +02:00
Tomas Susanka
3a3e5739b0 core, legacy: update changelogs 2020-07-02 09:09:34 +00:00
Tomas Susanka
ca3dd2bfb9 common: skip deprecated fields during generation; deprecate overwintered field in Zcash 2020-06-30 16:02:21 +02:00
matejcik
e6e3043096 all: implement support for pre-overwinter prevtx (fixes #1030) 2020-06-30 15:19:31 +02:00
Tomas Susanka
e534ae3ad7 legacy, core: rename Features.pin_cached to unlocked and unify 2020-06-19 21:26:36 +02:00
Tomas Susanka
4239e8d551 legacy: set initialized in storage to false if no mnemonic is present 2020-06-19 09:06:30 +02:00
Tomas Susanka
f8b2f0bb7b changelogs: change also bootloader changelogs to the new format 2020-06-11 15:48:38 +00:00
Tomas Susanka
9979af3cd2 changelogs: start using more detailed changelog 2020-06-11 17:43:40 +02:00
Tomas Susanka
56fe5adcfc Merge branch 'release/2020-06' 2020-06-10 06:51:18 +00:00
Tomas Susanka
41966c60db legacy: initialized field in Features is true only if mnemonic is stored 2020-06-05 11:07:01 +02:00
matejcik
6f53ca0ac6 core: rework wait_layout()
The original wait_layout was unreliable, because there are no guarantees
re order of arrival of the respective events. Still, TT's event handling
is basically deterministic, so as long as the host sent its messages
close enough to each other, the order worked out.

This is no longer the case with the introduction of loop.spawn: TT's
behavior is still deterministic, but now ButtonAck is processed *before*
the corresponding wait_layout, so the waiting side waits forever.

In the new process, the host must first register to receive layout
events, and then receives all of them (so the number of calls to
wait_layout must match the number of layout changes).

DebugLinkWatchLayout message must be version-gated, because of an
unfortunate collection of bugs in previous versions wrt unknown message
handling; and this interests us because upgrade-tests are using
wait_layout feature.
2020-06-04 16:18:46 +02:00
matejcik
0600d87c8c common: rename ClearSession to LockDevice, introduce EndSession 2020-06-04 16:18:46 +02:00
Tomas Susanka
8859d103f4 core, legacy: bump versions 2020-06-03 15:39:25 +00:00
Tomas Susanka
e2629eb921 core, legacy: update Changelogs to reflect the release 2020-06-03 15:35:30 +00:00
Tomas Susanka
81553df02f legacy: add ToS dialog to recovery
(cherry picked from commit 28b22cef22)
2020-05-29 05:41:00 +00:00
Tomas Susanka
28b22cef22 legacy: add ToS dialog to recovery 2020-05-28 14:52:56 +02:00
Andrew Kozlik
e6745bce43 legacy/signing: Don't force nJoinSplit to be 0 for prev_tx in overwintered. This was dead code until we started validating prevout amounts. 2020-05-24 14:36:37 +00:00
Andrew Kozlik
386be6ff09 legacy/signing: Check inputs for amount field only when amount is required. 2020-05-24 14:36:37 +00:00
Andrew Kozlik
d34428eeb3 legacy/signing: add checks for version_group_id and branch_id fields 2020-05-24 14:36:37 +00:00
Andrew Kozlik
5aea566eb5 legacy/signing: validate prevout amount in all cases 2020-05-24 14:36:37 +00:00
Tomas Susanka
675ff459db core, legacy: update changelogs 2020-05-22 11:55:55 +00:00
Tomas Susanka
9dfc08ca61 core/bitcoin: drop decred_script_version 2020-05-21 19:14:39 +02:00
Ondřej Vejpustek
ef9eb7b7a4 legacy/stellar: change price format 2020-05-21 16:21:32 +02:00
Tomas Susanka
47f104bceb core, legacy: bump versions 2020-04-24 17:12:20 +00:00
Andrew Kozlik
2e29f7bba6 legacy/u2f: Add bogus app ID used by Firefox to indicate error in U2F. Figure out which error to display based on past U2F_AUTHENTICATE check-only requests on the same channel. 2020-04-24 10:38:41 +02:00
Pavol Rusnak
4b5a84eab7
core+legacy: update changelogs 2020-04-16 14:20:18 +02:00
Tomas Susanka
ae4f927a45 tests: test incorrect script type 2020-03-20 14:19:31 +00:00
Andrew Kozlik
175d708ebc legacy: Drop obsolete check for ANYONECANSPEND segwit outputs. 2020-03-20 14:19:31 +00:00
Tomas Susanka
d0d41c884e legacy: move script type checks to separate functions and unify with core 2020-03-20 14:19:31 +00:00
matejcik
da89a17ce5 all: add checks for prev_hash size 2020-03-20 14:19:31 +00:00
Tomas Susanka
64584e271c legacy, core: add and unify validation checks 2020-03-20 14:19:30 +00:00
Tomas Susanka
71a39bc0d7 legacy: check inputs' and outputs' script types 2020-03-20 14:19:30 +00:00
matejcik
adea7d6b35 all: make timestamp mandatory on timestamp-enabled coins 2020-03-20 14:19:07 +00:00
matejcik
e2035b4972 all: drop Horizen and BIP-115 support [NO BACKPORT] 2020-03-20 14:19:07 +00:00
matejcik
ed464f3d47 all: ensure expiry, timestamp and extra_data are blocked as appropriate 2020-03-20 14:18:27 +00:00
matejcik
27803ee8c1 all: drop overwintered field from transaction 2020-03-20 14:18:27 +00:00
matejcik
c9fd3f77a5 all: add overwintered field to coin specification 2020-03-20 14:18:27 +00:00
Pavol Rusnak
817b922850 all: add extra_data and timestamp fields to coin specification 2020-03-20 14:18:27 +00:00
Tomas Susanka
0903159d9b core, legacy: make sure OPRETURN ouput is not marked as change 2020-03-20 14:17:44 +00:00
Tomas Susanka
a513f7429b legacy: forbid unnecessary fields in OPRETURN output 2020-03-20 14:17:44 +00:00
Andrew Kozlik
b2dc5813fe legacy, tests: Check for invalid PIN. 2020-03-17 11:53:48 +01:00
Tomas Susanka
a63e6fc4ef core+legacy: update changelogs 2020-02-27 13:21:17 +00:00
Pavol Rusnak
ec199b19a9
legacy: use 2 page pagination to show xpubs in multisig get_address 2020-02-27 11:42:52 +00:00
Pavol Rusnak
5c01a9459c
legacy: show xpubs with multisig get_address 2020-02-24 17:36:50 +01:00
matejcik
b916072389 common: restore PassphraseAck.state 2020-02-24 15:15:09 +01:00
Tomas Susanka
f93f6e445b legacy: store multiple sessions/caches at the same time 2020-02-21 14:40:42 +01:00
matejcik
ddee77ecb6 core: add SD clearing via debuglink 2020-02-20 12:51:48 +01:00
Pavol Rusnak
d2bcccf0ae
Merge pull request #847 from trezor/prusnak/bootloader-restart
legacy/bootloader: soft reset after firmware upload
2020-02-19 18:20:49 +01:00
Pavol Rusnak
581e46ff87
Merge pull request #845 from trezor/prusnak/webusb-popup
Don't show WebUSB popup in firmware, in bootloader only if no firmware present
2020-02-19 18:18:01 +01:00
Pavol Rusnak
23ffc87236
legacy/bootloader: soft reset after firmware upload
originally submitted by @kedoubitcoin
2020-02-19 17:14:36 +00:00
Tomas Susanka
3d91a0643d legacy: add comment to startup.S 2020-02-19 14:51:29 +00:00
Tomas Susanka
cfa14dcca0 legacy: improve script/setup
I believe the files were not cleared properly and switching between
emulator and firmware builds may have been troublesome.

Two changes:

1. `git clean` cleans only in the working tree and subdirectories.
We need to clear the related projects as well.

2. `vendor/QR-Code-generator/c/qrcodegen.{o,d}` are not git ignored
and since we use the `X` flag they are not removed. Changing to `x`,
which also removes untracked files.
2020-02-18 13:39:24 +00:00
matejcik
e61b7d28e9 all: do not send state in PassphraseAck (not needed for compatibility) 2020-02-13 15:44:50 +01:00
matejcik
cdb7a7eb68
Merge pull request #840 from trezor/matejcik/sys-exit
wipe code activation tests
2020-02-13 15:11:33 +01:00
Pavol Rusnak
215020a592
legacy: show webusb popup only in bootloader and only if firmware is not installed 2020-02-12 21:01:06 +00:00
matejcik
0ec628ccd4 legacy: fix CALLBACK checker 2020-02-12 17:18:51 +01:00
matejcik
c14429c445 all: shut down emulator on error_shutdown 2020-02-12 13:31:31 +01:00
Tomas Susanka
2c0504ad1c
Merge pull request #803 from trezor/passphrase
Passphrase Redesign
2020-02-11 16:01:59 +01:00
matejcik
3d1fefe38a legacy: make sure nanopb_generator is ready 2020-02-11 13:19:37 +01:00
matejcik
05a1d6f771 core/debug: add "show arbitrary screen" capability, for easier prototyping 2020-02-11 11:53:34 +01:00
matejcik
ff702c7d7f common: add proper markers for deprecated messages 2020-02-10 15:38:26 +01:00
Pavol Rusnak
73ed2f3450
legacy: small nitpicks related to the new passphrase handling 2020-02-07 11:41:03 +00:00
Tomas Susanka
f21c13f0bd
legacy: remove redundant failure response 2020-02-07 11:41:01 +00:00
Tomas Susanka
c65b57affb
core, legacy: remove passphrase_cached 2020-02-07 11:41:00 +00:00
Tomas Susanka
1ae5813cab
legacy: bump version to 1.9.0 2020-02-07 11:41:00 +00:00
Tomas Susanka
a3f3d4fcdb
remove ping.passphrase/pin 2020-02-07 11:41:00 +00:00
Tomas Susanka
48fe192103
legacy: clear up passphrase usage 2020-02-07 11:41:00 +00:00
Tomas Susanka
b5d6aaf77c
tests: test PassphraseAck options 2020-02-07 11:41:00 +00:00
Tomas Susanka
041a95f738
legacy: new passphrase redesign draft 2020-02-07 11:40:59 +00:00
Pavol Rusnak
6dbed1424f
core+legacy: update nanopb api to version 0.4 2020-02-04 17:18:27 +00:00
Pavol Rusnak
4647e7d686
core+legacy: use nanopb generator from pipenv 2020-02-04 17:15:25 +00:00
Pavol Rusnak
5bf8eca350
legacy+core: accept only valid UTF-8 strings via nanopb 2020-02-04 17:15:25 +00:00
Pavol Rusnak
0ceba80876
legacy: fix wrong logic in layoutButtonNo 2020-02-04 16:37:20 +00:00
Pavol Rusnak
0b3d0c6681
legacy/bootloader: update combine script 2020-01-23 13:01:03 +01:00
Tomas Susanka
7c41b40dff
tests: introduce UI tests for core with diffs (#784)
tests: introduce UI tests for core with diffs
2020-01-10 20:39:31 +01:00
Pavol Rusnak
11d80f0f20
legacy: remove hackish cast usage 2020-01-04 16:03:32 +00:00
Tomas Susanka
eabd0da196 core/make; legacy: style 2020-01-03 14:28:27 +00:00
Tomas Susanka
51ef963738 tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
Tomas Susanka
a28f29708f ci: add junit for a nice tests overview 2020-01-03 12:44:12 +00:00
Pavol Rusnak
516edbe825
legacy: add u2f_knownapps.h to gitignore 2019-12-23 16:39:54 +01:00
Pavol Rusnak
e5bdf0d51b
Merge pull request #742 from trezor/language
common: change language field to IETF BCP 47 language tag
2019-12-12 18:07:54 +01:00
matejcik
0ae2cdf756 docs: update legacy build instructions (fixes #658) 2019-12-11 14:21:07 +01:00
Pavol Rusnak
7646b97dca
common: divisibility -> decimals 2019-12-09 17:43:47 +01:00
matejcik
ac6e23fb87 mako: improve local variable name 2019-12-09 16:31:46 +01:00
matejcik
f5a6342844 legacy: auto-generate U2F/FIDO apps 2019-12-09 16:31:46 +01:00
Pavol Rusnak
bb8d809a6d
common: change language field to IETF BCP 47 language tag 2019-12-08 11:27:10 +01:00
Tomas Susanka
0f3466bf01 core, legacy: update changelog 2019-12-06 12:53:25 +00:00
Tomas Susanka
1b88840f53 docs: move docs to root 2019-12-06 12:24:20 +00:00
Pavol Rusnak
3d50bb5ed8
common: add Peercoin, regenerate coins 2019-12-05 09:43:32 +00:00
Pavol Rusnak
5301c03607
common: add coin.divisibility attribute
legacy: remove has_address_type/has_address_type_p2sh
2019-12-05 04:30:51 +01:00
Andrew Kozlik
829da5fe6c legacy: Implement ChangeWipeCode message for Trezor One. 2019-11-25 12:32:20 +01:00
matejcik
34913a328a all: disallow most RecoveryDevice fields in dry-run (fixes #666) 2019-11-20 12:27:57 +01:00
Pavol Rusnak
33ecdeb193
core+legacy: remove confusing changelog entries 2019-11-13 19:47:35 +01:00
matejcik
9787e38206 legacy: properly omit LoadDevice in non-debug build 2019-11-13 16:48:35 +01:00
matejcik
fd8aed6105 all: drop XPRV feature of LoadDevice 2019-11-13 16:48:35 +01:00
Pavol Rusnak
16af7f1353 common: add {needs,no}_backup flags to LoadDevice, make it debug only 2019-11-13 16:48:35 +01:00
Tomas Susanka
499eb8e628 legacy: get next u2f counter 2019-11-13 11:33:12 +00:00
Pavol Rusnak
1caae698ca
storage: make FLAG_PUBLIC and FLAGS_WRITE part of public API 2019-11-11 19:47:48 +01:00
Pavol Rusnak
7476e9463f
legacy/bootloader: don't include FONT_FIXED 2019-11-09 19:13:55 +00:00
Pavol Rusnak
054bb3a67a
legacy/bootloader: refactor show_halt usage 2019-11-09 19:13:52 +00:00
Pavol Rusnak
86b7813629
legacy/bootloader: refactor show_unplug 2019-11-09 19:13:52 +00:00
Pavol Rusnak
f86ac65ad1
legacy/bootloader: refactor flash_enter/flash_exit 2019-11-09 19:13:51 +00:00
Pavol Rusnak
92c64122a1
legacy/bootloader: move VERSION_*_CHAR to version.h 2019-11-09 19:02:51 +00:00
Pavol Rusnak
ee98d0b398
legacy/layout: use bmp_btn_confirm, bmp_btn_cancel 2019-11-09 19:02:51 +00:00
Pavol Rusnak
81085ed388
legacy/oled: remove non-ASCII symbols from font definitions 2019-11-09 19:02:48 +00:00
Pavol Rusnak
2d8f70d49a
common/defs: add mojeid.cz definition to webauthn 2019-11-01 12:54:28 +00:00
Pavol Rusnak
9ab1554e93
legacy: use cryptoMultisigPubkeyCount where possible 2019-10-24 15:47:38 +02:00
Pavol Rusnak
c145db7dd2
legacy: fix not showing MultisigRedeemScriptType.nodes count correctly in GetAddress 2019-10-24 13:30:40 +00:00
Pavol Rusnak
5fe2f7e59c common/protob: remove ButtonRequest.data field 2019-10-24 11:11:43 +02:00
matejcik
34823b6fcb legacy: add field options to fix build 2019-10-22 17:06:49 +02:00
Andrew Kozlik
15d8f9def6 legacy/signing.c: Revert formatting of the workflow of streamed signing. 2019-10-11 11:20:02 +02:00
Pavol Rusnak
e688fa8775
vendor: update nanopb, remove build failure workaround
This reverts commit 5cfa386e44.
2019-10-11 10:01:04 +02:00
Pavol Rusnak
76eefd026f
all: let's use -Wno-missing-braces because clang does not respect
initialization of structs with = {0};
2019-10-11 09:59:32 +02:00
Pavol Rusnak
5cfa386e44
legacy: workaround nanopb build failure with -Werror 2019-10-10 23:39:10 +02:00
Pavol Rusnak
145b098f0e
legacy: fix types for characted data 2019-10-10 17:43:55 +00:00
Pavol Rusnak
b07b9b1d09
legacy/vendor: use pre-relase of nanopb 0.3.9.4
drop our patch, use upstream PB_ENCODE_ARRAYS_UNPACKED option
2019-10-10 16:08:28 +00:00
Pavol Rusnak
1bdc83838b
legacy+core: properly handle non-printable ascii characters
(convert them to '_')
2019-10-10 15:58:26 +00:00
Andrew Kozlik
17fa41620e
legacy: refactor readprotobufint() 2019-10-09 15:48:52 +00:00
Ondřej Vejpustek
fa9d349bc9
legacy: explicitly initialize variable length arrays 2019-10-09 17:05:33 +02:00
Ondřej Vejpustek
08265cdd08
legacy: explicitly initialize variables 2019-10-09 17:05:33 +02:00
Saleem Rashid
1ca521eec9
legacy/nem: Refactor nem_canonicalizeMosaics
GCC is able to reason about transfer->mosaics_count using Value Range
Propagation. Using transfer->mosaics_count, instead of a mosaics_count
argument, satisfies GCC that the variable-length skip array cannot be
too large.

Renamed variables to old_count and new_count to reduce ambiguity.
2019-10-04 15:17:46 +00:00
Andrew Kozlik
ba9eee3b8f core, legacy: Don't allow change_pin if device is not initialized. 2019-10-04 13:54:43 +02:00