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

553 Commits

Author SHA1 Message Date
Pavol Rusnak
1072369bc4
firmware: need extra cast for nanopb call in message.c 2017-09-28 13:20:04 +02:00
Pavol Rusnak
1f1c3bf35f
firmware/protob: remove generated stuff 2017-09-28 13:16:15 +02:00
Jason Zavaglia
5cc299facd Generate the protobuf files at build time (#219)
Improve the build reliability by ensuring protobuf files are
generated at build time.
2017-09-28 13:10:32 +02:00
Pavol Rusnak
30367bfad1
reset: refactor code into layoutResetWord 2017-09-04 08:12:33 +02:00
Pavol Rusnak
ef89fc4e89
ethereum: refactor hash_rlp_number 2017-08-31 13:38:50 +02:00
Jochen Hoenicke
5f9cd15b02 Support multi-byte chain-id. (#212) 2017-08-31 13:28:50 +02:00
Pavol Rusnak
07f6e495b7
fsm: fix race condition in GetAddress 2017-08-23 16:36:38 +02:00
Pavol Rusnak
e4cc08775f
vendor: update trezor-common, enable Bitcoin segwit manually 2017-08-16 14:28:21 +02:00
Pavol Rusnak
3e9ebe6c10
changelog: add 1.5.2
+ update vendor/trezor-crypto
2017-08-16 13:59:40 +02:00
Jochen Hoenicke
98e617d874
startup: use custom reset_handler
+ group confidential data in one place
+ zero all SRAM where needed
2017-08-16 13:52:01 +02:00
Pavol Rusnak
a01ba51a2a
storage: copy only required bytes from old storage, bump storage version
+ backup_device: ask for pin, always use correct number of words
2017-08-16 13:11:31 +02:00
Saleem Rashid
9c25e03d98 vendor: Update trezor-crypto 2017-08-14 16:45:11 +02:00
Saleem Rashid
c121627a06 Travis CI: Test matrix of DEBUG_LINK and FASTFLASH
This should catch inconsistencies with Features.coins or if there is a
build configuration that makes the firmware too large.

Also, add MAKEFLAGS and only build STM32F2 support in libopencm3 to
speed up build time
2017-08-14 16:44:44 +02:00
Saleem Rashid
fa7e32fadf protob: Fix Features.coins max_count for DEBUG_LINK=1 2017-08-14 14:49:27 +02:00
Saleem Rashid
7e56a62e8b coins: Add _Static_assert for Features.coins max_count 2017-08-14 14:49:27 +02:00
Pavol Rusnak
e69ef2e75a
coins: include testnet coins just in debug builds
+ add more ethereum tokens
2017-08-13 21:15:34 +02:00
Pavol Rusnak
dd9f7cd926
fix typos in changelog 2017-08-09 15:18:31 +02:00
Pavol Rusnak
1d6329b1bf
changelog: make last release mandatory 2017-07-31 23:00:21 +02:00
Pavol Rusnak
f0d2e7a371
storage: bump version 2017-07-31 22:43:28 +02:00
Pavol Rusnak
ace1d84265
recovery: don't reset storage on typos during dry-run recovery 2017-07-31 20:49:34 +02:00
Pavol Rusnak
a9a414df08
fix typo 2017-07-31 19:40:35 +02:00
Pavol Rusnak
c2c3debd01
changelog: fix typos 2017-07-31 16:31:33 +02:00
Pavol Rusnak
b1838d6867
ethereum: add more tokens 2017-07-31 14:15:10 +02:00
Jochen Hoenicke
33ed08ec32 Fix check for max try and add another check before 2017-07-31 13:13:49 +02:00
Pavol Rusnak
4ee52ab95f
changelog: add more entries 2017-07-31 02:39:24 +02:00
Pavol Rusnak
45ca9bd583
protect: change wording 2017-07-31 02:35:53 +02:00
Pavol Rusnak
82a06ce342
firmware: mark more strings with gettext 2017-07-31 02:31:30 +02:00
Pavol Rusnak
c778d7b9c3
storage: wipe storage after 15 wrong pins 2017-07-31 02:26:28 +02:00
Pavol Rusnak
fa2f5fb33f
update coins 2017-07-30 23:38:01 +02:00
Jochen Hoenicke
3440ead4c9
Fix multisig for BCC 2017-07-30 22:58:26 +02:00
Jochen Hoenicke
5f6948e66b
Remove progress update 2017-07-30 22:57:44 +02:00
Jochen Hoenicke
3c75d28c78 Check input bip32 path again on second pass. 2017-07-30 22:51:18 +02:00
Jochen Hoenicke
6b615ce405 No quadratic hashing for hardfork
Don't hash the whole transaction if forkid is set.  Instead use the
same codepath as for segwit.

Rename segwit_to_spend to authorized_amount and use it for forkid
amount and segwit amount validity checks.

Removed some duplicated code.
2017-07-30 22:51:18 +02:00
Saleem Rashid
979a6ef266 signing: Skip TX_META with SIGHASH_FORKID 2017-07-30 22:51:18 +02:00
Saleem Rashid
a34554b091 signing: Add SIGHASH_FORKID support 2017-07-30 22:51:18 +02:00
Saleem Rashid
841af54061 vendor: Update trezor-common 2017-07-30 22:51:18 +02:00
Pavol Rusnak
91c4cbdbd0
setup: move stack protector variable to setup.h 2017-07-30 21:56:30 +02:00
Pavol Rusnak
0760ff0468
setup: move stack smashing protection code to setup.c 2017-07-30 21:40:07 +02:00
Saleem Rashid
e33e1ec0b1 fsm: Do not wipe msg_resp in DebugLinkGetState 2017-07-30 18:00:01 +02:00
Saleem Rashid
11d424cdef vendor: Update trezor-crypto 2017-07-27 18:11:26 +02:00
Saleem Rashid
38b6332db5 layout2: Extract BITCOIN_DIVISIBILITY constant 2017-07-27 18:11:26 +02:00
Pavol Rusnak
c3bf0e4086
enable segwit for bitcoin \o/ 2017-07-25 19:32:20 +02:00
Pavol Rusnak
b5f9a5738f
segwit support for SignMessage, VerifyMessage 2017-07-25 19:32:20 +02:00
Pavol Rusnak
d8ad44f60a
protob: add SignMessage.script_type 2017-07-25 19:32:20 +02:00
Pavol Rusnak
3d7d0f0734
use C99 for loop where possible 2017-07-23 22:20:51 +02:00
mruddy
1c55ec0fb3 fix hangs due to stale rng status (#195) 2017-07-19 11:54:26 +02:00
Jochen Hoenicke
9efc5bc93c Fixed array sizes again. (#194)
This is the correct fix for 09917920ba
(how the code was meant to be written).
2017-07-18 13:08:27 +02:00
Pavol Rusnak
cf04279774
implement Storage.flags and related stuff 2017-07-17 18:36:09 +02:00
Pavol Rusnak
1a72a49ee5
ethereum: update tokens 2017-07-17 14:23:23 +02:00
Pavol Rusnak
0781421762
ethereum: more tokens, use better wording for unknown token value 2017-07-14 18:42:01 +02:00
Pavol Rusnak
da71f7c45d
fix layoutVerifyAddress behaviour for long addresses 2017-07-12 18:44:56 +02:00
Pavol Rusnak
b0ac3a2af1
add EthereumSignMessage/EthereumVerifyMessage 2017-07-12 17:51:34 +02:00
Jochen Hoenicke
c5e927fac2 Ethereum Sign/Verify Message
Implements issue trezor/trezor-mcu#163.
2017-07-12 17:38:30 +02:00
Pavol Rusnak
ccb0cd82b6
firmware: add changelog, bump version to 1.5.1 2017-07-12 14:19:05 +02:00
Pavol Rusnak
5b66c0b956
refactor Address dialog (QR code on left button click), use checksum for Ethereum addresses 2017-07-11 21:31:40 +02:00
Pavol Rusnak
f826b1fa46
ethereum: add new tokens 2017-07-10 16:38:56 +02:00
Pavol Rusnak
2ecc36cd89
ethereum: don't show unrecognized ERC-20 tokens as sending message 2017-07-05 14:22:00 +02:00
Pavol Rusnak
ba2b2f24da
firmware: mark backup as done before giving away the mnemonic, not after 2017-07-05 12:17:46 +02:00
Saleem Rashid
f23489050a util: Add load_vector_table 2017-07-03 18:35:42 +02:00
Pavol Rusnak
498d689f98
fix small issue with GetAddress for non-segwit coins 2017-07-03 18:23:51 +02:00
Pavol Rusnak
95db902d28
ethereum: update token list 2017-07-03 13:13:07 +02:00
Pavol Rusnak
4603b0c800
bootloader: subtle changes in bootloader.c and fastflash.c to make them more similar 2017-07-01 16:22:22 +02:00
Roman Zeyde
d15dd7c944 recovery: zero new_mnemonic memory before returning to the user 2017-06-30 14:43:16 +02:00
Pavol Rusnak
2bf807878d
bootloader: add SelfTest 2017-06-29 17:31:23 +02:00
Pavol Rusnak
8fa3ce7e14
reset: distinguish between separated call and joined call, mark backup as done only when performed completely 2017-06-29 14:14:20 +02:00
Pavol Rusnak
b65068c159
reset: add Features.needs_backup 2017-06-29 14:14:20 +02:00
Pavol Rusnak
97fa33de46
reset: show needs backup signed when storage is not backed up 2017-06-29 14:14:20 +02:00
Pavol Rusnak
9298e4d9e3
reset: make backup workflow independent of initialization 2017-06-29 14:14:20 +02:00
Pavol Rusnak
91a1b6c4bc
drop EstimateTxSize (and TxSize) 2017-06-28 18:49:44 +02:00
Pavol Rusnak
01b4825d53
ethereum: add new tokens 2017-06-28 13:24:08 +02:00
Pavol Rusnak
73708aa47e
refactor recovery.is_same_mnemonic function to storage_containsMnemonic 2017-06-26 15:44:01 +02:00
Saleem Rashid
ed5e9c9347 firmware: Define FASTFLASH in all cases 2017-06-25 18:19:07 +02:00
Saleem Rashid
21eb49faff firmware: Start fastflash when left button held 2017-06-25 18:19:07 +02:00
Saleem Rashid
65bb167db6 firmware: Create ELF from fastflash/bootloader.bin 2017-06-25 18:19:07 +02:00
Saleem Rashid
1214a3f69b vendor: Update trezor-crypto 2017-06-25 18:12:36 +02:00
Pavol Rusnak
8253425293
recovery: change wording 2017-06-23 16:47:53 +02:00
Roman Zeyde
db7915e946
Allow testing recovery with an initialized device
This would allow safe mnemonic validation by using a dry-run flag.
2017-06-23 16:39:49 +02:00
Pavol Rusnak
247cbd2ff1
regenerate protobuf, disable unused messages 2017-06-22 12:47:18 +02:00
Pavol Rusnak
c6fd70b471
gettext: mark localizable strings as proof-of-concept 2017-06-18 22:47:32 +02:00
Pavol Rusnak
00f6312a81
rename failures, unify strings where possible 2017-06-18 21:19:21 +02:00
Saleem Rashid
77c4e7b167 vendor: Update trezor-crypto for GCC 7.1.1 2017-06-13 15:17:23 +02:00
Saleem Rashid
09917920ba transaction: Fix buffer overflow 2017-06-13 15:17:23 +02:00
Pavol Rusnak
da17f2472b
ethereum: add more tokens from MEW 2017-06-08 22:56:25 +02:00
Pavol Rusnak
34c0b93d54
protob: update messages_map.py script 2017-05-29 14:34:23 +02:00
Saleem Rashid
8fa71c0837 protob: Add messages_map.py (#167) 2017-05-29 13:46:32 +02:00
Pavol Rusnak
6b74139b45
add 1.5.0 to changelog 2017-05-19 17:41:10 +02:00
Pavol Rusnak
317363f84c
enable mixing of segwit and non-segwit inputs 2017-05-19 17:40:57 +02:00
Pavol Rusnak
57a91c7160
update litecoin maxfee/kb 2017-05-19 16:54:16 +02:00
Pavol Rusnak
d424829333
add chain_id to erc20 tokens 2017-05-19 14:28:35 +02:00
Pavol Rusnak
766a6c1189
add space before coin shortcut because of how new formatter works 2017-05-19 11:29:44 +02:00
Pavol Rusnak
652a40c3e6
use bn_format from trezor-crypto where possible 2017-05-18 16:20:28 +02:00
Pavol Rusnak
ba9aae143e
ethereum: support for ERC-20 tokens 2017-05-17 02:53:11 +02:00
Pavol Rusnak
391e3940e5
refactor fee computation, but keep ceil logic 2017-05-15 12:08:54 +02:00
Pavol Rusnak
c8dc17341c
bump bitcoin maxfee 2017-05-13 01:29:12 +02:00
Pavol Rusnak
24ac52079f
disable native segwit for now 2017-05-13 01:05:10 +02:00
Pavol Rusnak
49f44d296c
refactor signing_check_output 2017-05-13 00:45:11 +02:00
Pavol Rusnak
06304c2378
update coins 2017-05-12 23:00:42 +02:00
Pavol Rusnak
f4e3d7ae1e
bump version to 1.5.0 2017-05-10 00:12:23 +02:00
Pavol Rusnak
6d0d2348cf
usb: whitespace cleanup 2017-05-09 23:49:05 +02:00
Pavol Rusnak
f1db85948e
Merge branch 'segwit' 2017-05-09 23:28:52 +02:00
Pavol Rusnak
1ecbca8338
signing: add option to enable/disable mixing of segwit/non-segwit inputs 2017-05-09 23:26:18 +02:00
Pavol Rusnak
5faee8149f
update trezor-crypto 2017-05-08 17:16:20 +02:00
Pavol Rusnak
261b8d5e41
multisig: allow mismatched change addresses, show them as non-change 2017-05-06 19:52:49 +02:00
Pavol Rusnak
4343d0eaeb
show progressbar layout in GetAddress 2017-05-05 15:45:58 +02:00
Pavol Rusnak
e31e55e505
simplify bip32 change logic 2017-05-05 15:12:47 +02:00
Pavol Rusnak
b1995bb8d1
remove segwit warning, don't enable segwit on coins that don't have segwit=true in definition 2017-05-04 18:54:54 +02:00
Pavol Rusnak
4183b6cbbc
update logic for change addresses (address_n length 1 is allowed now) 2017-05-04 18:16:45 +02:00
Pavol Rusnak
cb14b98213
ethereum: add new chain_ids 2017-05-04 15:12:24 +02:00
Pavol Rusnak
38970cbd68
transaction: fix compile_output for OP_RETURN 2017-05-03 18:57:47 +02:00
Pavol Rusnak
8e017526ab
Merge branch 'master' into segwit 2017-05-03 17:16:30 +02:00
Pavol Rusnak
13f03d3880
Revert "ethereum: add EthereumSignTx.prefix"
This reverts commit 2866e6fe88.
2017-04-30 03:26:57 +02:00
Pavol Rusnak
aafd61ec8b
update trezor-common, add cointype.segwit bool 2017-04-26 15:43:57 +02:00
Pavol Rusnak
2866e6fe88
ethereum: add EthereumSignTx.prefix 2017-04-24 20:34:13 +02:00
Pavol Rusnak
258d3eaddd
GetPublicKey: use Bitcoin as default coin if not provided
disable SimpleSignTx and Firmware messages
update submodules
2017-04-21 14:08:09 +02:00
Peter Banik
d4cc4a48b8 Added altcoin support to GetPublicKey (#161) 2017-04-21 12:51:13 +02:00
Pavol Rusnak
300b09badc
Merge branch 'master' into segwit 2017-04-20 18:45:49 +02:00
Pavol Rusnak
dcceec806d
fix call to protectButton while showing segwit warning 2017-04-11 14:05:19 +02:00
Jochen Hoenicke
d70ac623a4 Small bugfixes in signing
Segwit progress bar fixed.
Call `signing_abort` instead of `layoutHome` on all errors
The second `compile_output` does not work for user button and cannot
return -1.
2017-04-08 22:39:49 +02:00
Jochen Hoenicke
420471889d Refactored signing method.
Put larger pieces of codes into functions of their own.
No changes to this code.
2017-04-08 21:59:51 +02:00
Jochen Hoenicke
9d9377438c Fix missing returns after signing_abort 2017-04-08 20:33:27 +02:00
Jochen Hoenicke
e5c9b361d3 Better error message for segwit without amount 2017-04-08 20:29:58 +02:00
Jochen Hoenicke
99fc6d31d1
[refactor] Use compute_address in msgGetAddress. 2017-03-29 20:59:23 +02:00
Jochen Hoenicke
7b1381766f
Change address support for segwit.
Rewrote change address support for segwit.
Also checks the bip32 path of change address.
2017-03-29 20:59:01 +02:00
Pavol Rusnak
d7d3d0490e
update trezor-crypto 2017-03-28 23:19:59 +02:00
Pavol Rusnak
d03356fab1
raising the maxfee 2017-02-27 21:01:00 +01:00
mruddy
c8c85424b6
fix usage of RNG before setup (#150/#151) 2017-02-17 13:19:05 +01:00
Pavol Rusnak
97a061244e
Merge branch 'master' into segwit 2017-02-08 01:06:45 +01:00
Pavol Rusnak
1943d840e3
add ChangeLog for bootloader, move firmware ChangeLog 2017-02-01 14:57:59 +01:00
Saleem Rashid
bd167dcdf2 USB: Annotate USB interfaces with iInterface 2017-01-30 16:32:38 +01:00
Saleem Rashid
0c039b3e14 USB: Compile-time USB string checking
Generate `enum` for USB string indexes, this is far more robust
2017-01-30 16:32:38 +01:00
Pavol Rusnak
14399f100e
bump version 2017-01-25 14:04:20 +01:00
Pavol Rusnak
5c54edf54e
differentiate between ETH and ETC using chain_id 2017-01-24 17:27:11 +01:00
Jochen Hoenicke
32fb7e96cc Ethereum EIP-155 replay protection
Added chain_id field in sign transaction.
If chain_id is set use hashing as specified in EIP-155.
2017-01-22 19:09:07 +01:00
Jochen Hoenicke
5b40f6d90b Updated trezor-common 2017-01-22 19:09:07 +01:00
Jochen Hoenicke
f36cf5c10c Handle edge cases for ethereum txs.
Treat the case where a field is omitted identical to the case
where an empty array is given.  In particular
- data_length == 0 is allowed now and identical to giving no data.
- nonce can be omitted to indicate nonce value 0.

I still do not allow to omit gas_limit and gas_price; gas_limit
cannot be zero and transactions with zero gas_price will not be
mined.  You can still set it explicitly to zero by giving the
empty array, though.
See trezor/trezor-mcu#143.
2017-01-22 19:09:07 +01:00
Pavol Rusnak
505df38a84
fix when oled triangle is shown 2017-01-19 16:16:57 +01:00
Roman Zeyde
466155270b layout: split "First Last <first@last.com>" GPG user ID for readability 2017-01-14 18:34:29 +01:00
Jochen Hoenicke
1cceec0ae2 Check that U2F key only uses hardened derivation (#139)
We generate only U2F keys with hardened derivation.  However, we
didn't check incoming keys if they used hardened derivation.
This patch fixes this.
2017-01-10 21:51:57 +01:00
Pavol Rusnak
ab006262e8
mytrezor.com -> trezor.io/start 2017-01-10 15:08:08 +01:00
Pavol Rusnak
1e297c68fa
cosmetic changes to matrix recovery 2017-01-10 14:58:28 +01:00
Pavol Rusnak
b1723fef5b
change binary name of nanopb generator (to follow upstream name) 2017-01-09 15:55:57 +01:00
Jochen Hoenicke
8e84a6716c Merge master into segwit 2017-01-06 16:55:12 +01:00
Jochen Hoenicke
e9eaad2fcf
Segwit: Show multisig segwit address
changed layout for very large addresses.
2017-01-06 16:22:01 +01:00
Jochen Hoenicke
f9a203431e
Display SegWit address on Trezor 2017-01-04 18:56:08 +01:00
Jochen Hoenicke
e67f13ef4b
Multi-byte address prefixes for segwit 2017-01-04 18:55:42 +01:00
Pavol Rusnak
32f3c54cc4
fix whitespace 2017-01-04 18:52:55 +01:00
Jochen Hoenicke
52da2fc5e7
Segwit: Fix problems introduced by rebase 2017-01-04 18:41:26 +01:00
Roman Zeyde
9eb87245ba usb: exclude hid_report_descriptor_debug from non-debug build (#135) 2017-01-02 13:12:48 +01:00
Pavol Rusnak
1763a5b647
use new hdnode_private_ckd_cached API 2016-12-12 12:17:48 +01:00
Saleem Rashid
5f203d0a0c debug: Improve debugging API (#134)
* Allow DEBUG_LOG without DEBUG_LINK
* Move debugInt() to debug.c
2016-12-04 23:24:01 +01:00