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

792 Commits

Author SHA1 Message Date
Pavol Rusnak
020a39bf1d
protob: add two missing files 2018-07-16 15:24:15 +02:00
Pavol Rusnak
c3291c37af
vendor: update trezor-common; reflect rename of common.proto to messages-common.proto 2018-07-16 15:07:42 +02:00
Pavol Rusnak
277a01a24c
firmware: fix stuff broken in the last commit 2018-07-10 20:44:30 +02:00
Pavol Rusnak
c02c1979ed
Revert "firmware: fix stellar after the messages change"
This reverts commit 520cd69f25.
2018-07-10 20:28:07 +02:00
Saleem Rashid
dbb3e927ec
messages: Use pb_get_encoded_size 2018-07-10 17:21:11 +02:00
Pavol Rusnak
520cd69f25
firmware: fix stellar after the messages change 2018-07-10 17:21:11 +02:00
Pavol Rusnak
0febd07dfc
firmware: update code to use new nested messages in trezor-common 2018-07-10 17:21:11 +02:00
Ilan
9ba3f3f28d RSK checksum address encoding (#376) 2018-06-28 11:27:27 +02:00
HackyMiner
ffa6567125 Ethersocial Network (ESN) support added (#377) 2018-06-28 11:00:20 +02:00
Saleem Rashid
7949911748
Makefile.include: Hide command invocation unless V=1 2018-06-27 18:09:40 +02:00
ZuluCrypto
d1a48f32ce Stellar: use strings instead of bytes for addresses (#372)
* Use the new protobuf messages that send accounts as strings (fixes #367)
 * `stellar_signingAbort()` now takes an error message
 * Operations now check if a transaction is being signed (fixes #368)
 * Operations now return false on error or if the user cancels
 * Stellar `fsm_*` methods now check operation result and return early if the operation fails

This PR also re-enables the stellar code in the firmware.
2018-06-27 17:36:51 +02:00
Pavol Rusnak
e8a46d46c2
ethereum: update to new API 2018-06-27 17:00:39 +02:00
Pavol Rusnak
db19d24b87
firmware: fix changelog for 1.6.1 2018-06-25 13:33:41 +02:00
Pavol Rusnak
bff45ecfff
docs: update changelogs 2018-06-23 13:25:18 +02:00
Jochen Hoenicke
c9113fd3f5
firmware: fix message processing, typos in recovery 2018-06-22 15:26:14 +02:00
Pavol Rusnak
9be09f255f
firmware: add hash of bootloader 1.5.0 2018-06-22 15:03:46 +02:00
Pavol Rusnak
dac7efadb8
firmware: move storage_update for applyFlags 2018-06-22 09:50:21 +02:00
Pavol Rusnak
9abb30f7cd
ethereum: update token list 2018-06-21 16:28:25 +02:00
Pavol Rusnak
a1379371a0
ethereum: add new networks 2018-06-21 15:52:23 +02:00
Pavol Rusnak
156fab867b
firmware: support also testnet coins in stable firmware 2018-06-21 15:22:56 +02:00
Pavol Rusnak
01933e68fb
firmware: try updating bootloader 10 times before bailing 2018-06-21 15:06:08 +02:00
Jochen Hoenicke
0ddf443346 Check if firmware has privileges. (#369)
Only drop privileges if firmware is running with privileges.
Don't change the bootloader if running without privileges.
2018-06-21 14:28:39 +02:00
Pavol Rusnak
2ec6129da5
vendor: update trezor-common
Prepare for Stellar rewrite (accounts are addresses, not pubkeys)

This commit breaks the existing Stellar code, but it is disabled and we need to refactor that anyway :-/
2018-06-20 16:31:47 +02:00
Pavol Rusnak
16ad5ce854
firmware: disable Stellar for now 2018-06-20 00:05:38 +02:00
Pavol Rusnak
a49e0a9d16
firmware: next version will be 1.6.2 2018-06-19 16:50:02 +02:00
Pavol Rusnak
a46de7b591
build: optimize for speed just the essential critical crypto stuff 2018-06-19 16:00:31 +02:00
Pavol Rusnak
b73e18e573
firmware: implement zip143 overwinter 2018-06-12 19:12:00 +02:00
Pavol Rusnak
32a7db423c
signing: rename hashers to separate their use and reduce confusion 2018-06-12 15:42:33 +02:00
Pavol Rusnak
217d5dd01d
firmware: refactor Stellar code; update trezor-common 2018-06-11 19:13:34 +02:00
Pavol Rusnak
747f2aa772
firmware: refactor expiry into tx_init 2018-06-07 13:17:51 +02:00
Pavol Rusnak
a685462ee5
firmware: refactor last change in protect.c 2018-06-06 14:45:50 +02:00
Pavol Rusnak
df0bad4f09
firmware: introduce protectAbortedByCancel 2018-06-05 22:38:39 +02:00
Pavol Rusnak
49d9fe4d13
firmware: rename decred_expiry to expiry 2018-06-05 14:09:38 +02:00
Tomas Susanka
4b7e4a9557 stellar: comment typo 2018-06-05 11:34:21 +02:00
Pavol Rusnak
64cfcf8053
vendor: update trezor-common; add version_group_id flag (for zcash overwintered tx) 2018-06-05 11:16:37 +02:00
Pavol Rusnak
613bde0aeb
crypto: cashaddr for verify message 2018-06-01 21:24:59 +02:00
Pavol Rusnak
e2275a8b83
firmware: use new coin definitions from trezor-common 2018-05-29 17:17:29 +02:00
Pavol Rusnak
0ae5e91fcb
nem: check length in layoutNEMTransferPayload 2018-05-25 16:34:06 +02:00
Pavol Rusnak
1f470cf1f1
ethereum: use original ethereum message digest 2018-05-25 14:22:54 +02:00
Pavol Rusnak
bccba48f41
protob: drop CoinType completely 2018-05-24 13:52:57 +02:00
Pavol Rusnak
a83c64fbdb
protob: don't return coins in Features message 2018-05-22 18:40:15 +02:00
Pavol Rusnak
ae82735b6b
protob: remove Stellar{SignMessage,MessageSignature,VerifyMessage} 2018-05-22 18:32:21 +02:00
Pavol Rusnak
59c8b66ba4
protob: update trezor-common 2018-05-21 16:33:41 +02:00
Pavol Rusnak
370c58929c
fsm: use passphrase protection instead of passphrase encryption 2018-05-21 15:50:53 +02:00
Pavol Rusnak
233f2f1cfd
fsm: don't show progress bar in GetAddress unless multisig is used 2018-05-17 13:17:46 +02:00
Pavol Rusnak
1bb068d18f
Revert "fsm: don't show progress bar in GetAddress"
This reverts commit f302b04f31.
2018-05-17 13:08:04 +02:00
Pavol Rusnak
f302b04f31
fsm: don't show progress bar in GetAddress 2018-05-16 18:02:23 +02:00
Tomas Susanka
b9db28beb2 stellar: typo in comment removed
see discussion at 8e8749dc68 (r28978964)
2018-05-16 11:19:18 +02:00
Pavol Rusnak
29664c4218
firmware: refactor Stellar Sign Message 2018-05-14 16:05:35 +02:00
Jochen Hoenicke
cb9eefdce6 Recovery: Don't ask for confirmation on dry run. (#347)
The message is very confusing, as it is not recovering the device.
Since dry-run recovery does not change anything, there is no need to ask
for confirmation.
2018-05-11 14:03:28 +02:00
Saleem Rashid
21d147ac47 nem_mosaics: Add symlink to trezor-common 2018-05-05 22:13:19 +01:00
Saleem Rashid
7e407b467e Revert "nem: mosaics are generated from nem_mosaics.json in trezor-common"
This reverts commit c4beba839b.
2018-05-05 22:12:12 +01:00
Saleem Rashid
975c8c61ed Revert "firmware: reintroduce dep into Makefile"
This reverts commit aa6405e23c.
2018-05-05 22:12:02 +01:00
Pavol Rusnak
aa6405e23c
firmware: reintroduce dep into Makefile 2018-05-03 17:42:47 +02:00
Pavol Rusnak
fb3e468ea2
fsm: split fsm_msg functions into various topic include files 2018-05-03 16:48:47 +02:00
Tomas Susanka
c4beba839b nem: mosaics are generated from nem_mosaics.json in trezor-common
closes #344
2018-05-02 17:32:47 +02:00
Peter van Mourik
78ece6631f Wanchain support (#313) 2018-05-02 15:33:22 +01:00
Pavol Rusnak
a1cde6e0ce
vendor: update trezor-common (disable Lisk messages for now) 2018-05-02 15:24:37 +01:00
ZuluCrypto
8e8749dc68 Add support for Stellar 2018-05-02 15:19:05 +01:00
Pavol Rusnak
2c56c4de1b
firmware: use -Os except for crypto/nanopb parts 2018-05-02 13:15:12 +01:00
Pavol Rusnak
783f1c0323
storage: refactor default/minimum lock storage, change default values 2018-04-10 23:46:41 +02:00
mcudev
e907cb87bc check_bootloader: depend on MEMORY_PROTECT 2018-04-10 14:19:27 +02:00
mcudev
56ff88a08f update bootloader padding/alignment and integrate build process for bootloader and firmware 2018-04-10 14:19:27 +02:00
Saleem Rashid
63a549aefb coin_info: Prepend space to coin_shortcut 2018-04-09 12:43:26 +02:00
Pavol Rusnak
27702ea26a
fix build after cashaddr merge 2018-04-05 11:56:25 +02:00
Jochen Hoenicke
059555039c
cashaddr: Don't show coin prefix on the display.
While technically part of the address, the coin prefix, e.g., bitcoincash:
is implicit and doesn't need to be checked by the user.  We still
include it in the QR-code though.

Also set case-insensitive flag for QR-code.
2018-04-05 11:28:06 +02:00
Jochen Hoenicke
1e91f92271
Increased address size to 130. 2018-04-05 11:28:06 +02:00
Jochen Hoenicke
cb6022ce04
Added support for cashaddr. 2018-04-05 11:28:05 +02:00
Jochen Hoenicke
e1ad1512d0 Avoid division by zero.
Check that there is no overflow in `inputs_count + outputs_count`.
Check that previous transaction contains at least the spent output.
2018-04-05 09:23:23 +02:00
Jochen Hoenicke
f216328987 Fix initialisation of word_pincode 2018-04-05 09:23:23 +02:00
Pavol Rusnak
9c9b4bf5cb
messages: code cleanup after emulator change 2018-04-04 16:49:04 +02:00
matejcik
8851863f81
emulator: open a second socket for debuglink, same as T2 2018-04-04 16:21:43 +02:00
Pavol Rusnak
5633207a43
bump bootloader version to 1.5.0, firmware version to 1.7.0 2018-04-04 15:04:46 +02:00
Tomas Susanka
7b1b9d3069 nem: IV is not copied
The IV copy was moved to trezor-crypto
(https://github.com/trezor/trezor-crypto/pull/140) so it is not needed
in trezor-mcu anymore
2018-04-04 15:02:39 +02:00
Pavol Rusnak
399706ae22
storage: implement unfinished_backup flag 2018-04-04 12:42:52 +02:00
Pavol Rusnak
27443a06c8
protob: add limit for DebugLinkDecision.input 2018-04-04 01:13:19 +02:00
Pavol Rusnak
3a908d7c7d
fsm: update storage after ApplyFlags 2018-04-04 01:08:39 +02:00
Roman Zeyde
159df8d24f
fsm: allow auto-lock delay configuration 2018-04-04 01:06:47 +02:00
Roman Zeyde
987b686f63
storage: allow auto-lock delay configuration 2018-04-04 01:06:26 +02:00
Saleem Rashid
8bdf338f32 coins-gen: Remove obsolete script 2018-04-03 18:40:41 +02:00
Saleem Rashid
95e5f15bde vendor: Update trezor-crypto 2018-04-03 18:40:41 +02:00
Saleem Rashid
0df9404054 signing: Check decred_script_version for txinput 2018-04-03 18:40:41 +02:00
Saleem Rashid
f0875285b2 transaction: Fix Decred multisig 2018-04-03 18:40:41 +02:00
Saleem Rashid
e7703a16fe crypto: Remove hardcoded instances of secp256k1 2018-04-03 18:40:41 +02:00
Saleem Rashid
77e76542bc signing: Compute tx_weight for Decred 2018-04-03 18:40:41 +02:00
Saleem Rashid
d63e294c0b signing: Document Decred signing 2018-04-03 18:40:41 +02:00
Saleem Rashid
057ec1227d signing: Add Decred support 2018-04-03 18:40:41 +02:00
Saleem Rashid
3f51bc3628 signing: Use SignTx in signing_init 2018-04-03 18:40:41 +02:00
Saleem Rashid
9849321883 coins: Add Decred support 2018-04-03 18:40:41 +02:00
Saleem Rashid
b3f1d79821 coin_info: Refactor coins-gen.py 2018-04-02 21:47:15 +02:00
Saleem Rashid
69356e5f56 messages_map: Fix Flake8 warnings 2018-04-02 21:47:15 +02:00
Saleem Rashid
88230e33c4 nem_mosaics: Fix Flake8 warnings 2018-04-02 21:47:15 +02:00
Saleem Rashid
7092951a40 Makefile: Add GENERATE_CODE function
Fixes #281
2018-04-02 21:47:15 +02:00
Tomas Susanka
519c117e30 nem: SignTx instead of ConfirmOutput in mosaic creation 2018-03-30 14:01:59 +02:00
Jochen Hoenicke
ed7a8bfa6c
Fixes for emulator 2018-03-29 01:30:40 +02:00
Jochen Hoenicke
25e824aaa3
Supervisor Calls
Add Supervise interrupts to allow to do privileged operations like
flashing from application code.
2018-03-29 01:30:40 +02:00
Jochen Hoenicke
068f013bc6 Force size fields in storage to be 32 bit
Better storage compatibility between 64 bit and 32 bit builds.
2018-03-29 01:16:46 +02:00
Jochen Hoenicke
0127c1a374 Add function storage_getPinWait 2018-03-29 01:16:46 +02:00
Jochen Hoenicke
c09590b54d Cleaner flash handling using FLASH_PTR
Use `FLASH_PTR` macro to convert a flash address to a const pointer.
For real hardware it is just a cast, for emulator we subtract the
`FLASH_ORIGIN` and use it as index into the memory mapped flash file.

Make write access to flash with volatile pointers

Also use FLASH_PTR in DebugMemory* for now.  This allows for reading and
writing the flash in the emulator or just crash it by reading outside
the flash...
2018-03-29 01:16:46 +02:00
Jochen Hoenicke
2587e49843 Disable fastflash.
It doesn't make sense any more and doesn't work with newer bootloaders.
2018-03-29 01:03:58 +02:00
Jochen Hoenicke
4ebbe8c274 Fix compilation problems 2018-03-29 01:03:58 +02:00
Jochen Hoenicke
a7158f39a5 fix out-of-bounds read (for debug_link)
Pinmatrix should always be null-terminated for debug-link.
The memset overwrote the terminating nul character.
2018-03-27 15:00:25 +02:00
Jochen Hoenicke
c4e1c5953e Fix shift overflow
Avoid undefined behavior by casting uint8_t to uint32_t before shifting
by 24 bits.
2018-03-27 15:00:25 +02:00
Pavol Rusnak
ceced152a8
docs: update changelogs 2018-03-21 12:29:38 +01:00
Pavol Rusnak
95dd254094
util: use shutdown from trezor-core instead of system_halt 2018-03-21 12:18:36 +01:00
Pavol Rusnak
9588e8f273
update bootloader to 1.4.0 via firmware, run unsigned firmware in unprivileged mode 2018-03-20 15:44:20 +01:00
Jochen Hoenicke
d6f41dba9e
messages: fix size of msg_tiny and add static_assert 2018-03-20 15:42:53 +01:00
Pavol Rusnak
559a700fb0
fsm: add for button before Recovery device 2018-03-20 15:41:16 +01:00
Pavol Rusnak
5ae04c17c5
firmware: set version to 1.6.1 2018-03-19 15:18:54 +01:00
Pavol Rusnak
b20336e82d
Revert WinUSB feature
This reverts the following range of commits:
68168393b9ea61328f4bb43bc3059ab32c4be2e9..ab76828e16b552c82f468e5d89f1af0645258995

Revert "update usb descriptors"
This reverts commit ab76828e16.

Revert "trezorhal: reply with winusb guid just for the main interface (0)"
This reverts commit 6acfc5d1b3.

Revert "winusb: fix WINUSB_EXTRA_STRING"
This reverts commit 966d8cb4ce.

Revert "winusb: cleanup DeviceInterfaceGUIDs usage"
This reverts commit 56c5a46095.

Revert "make winusb_string_descriptor const"
This reverts commit 132cc4b474.

Revert "webusb: remove unused constants"
This reverts commit 38b4d507bc.

Revert "bootloader: remove debug"
This reverts commit 56d3cbe2e9.

Revert "Bootloader - Switch from HID to WebUSB"
This reverts commit a22abfe90b.

Revert "Switch from HID to WebUSB"
This reverts commit cb067bd14c.

Revert "Add WinUSB, WebUSB, USB2.1 to build"
This reverts commit 05e218bcb8.

Revert "Add WebUSB descriptors"
This reverts commit a062127cef.

Revert "Add WinUSB (WebUSB preparation)"
This reverts commit e6981e85cd.
2018-03-14 00:37:08 +01:00
Roman Zeyde
e444dadbb2 storage: next firmware version would be 1.7.0 2018-03-13 21:49:29 +01:00
Pavol Rusnak
2a4a298d58
firmware: refactor fsm_getDerivedNode to include fingerprint 2018-03-07 14:04:37 +01:00
Jochen Hoenicke
d5e49556c5 Indicate own dest address in send dialog
If the destination address is controlled by the TREZOR (the wallet set
the address_n field), show the path to the address on the confirm output
dialog in the same format as the "show on Trezor" dialog indicates the
path.
2018-03-03 22:25:20 +01:00
Pavol Rusnak
e460c4fe17
session: rework get_state 2018-03-03 22:22:45 +01:00
Pavol Rusnak
7834eaba26
protect: passphrase is optional 2018-02-27 15:41:02 +01:00
Pavol Rusnak
7fa8ae136f
firmware: implement behaviour of state (still missing in PassphraseAck) 2018-02-24 17:26:57 +01:00
Pavol Rusnak
d7de064bde
bump version to 1.7.0; update firmware changelog 2018-02-21 15:40:56 +01:00
Pavol Rusnak
ab76828e16
update usb descriptors 2018-02-20 19:13:39 +01:00
Karel Bilek
cb067bd14c
Switch from HID to WebUSB
Also renaming varions functions from hid_ to webusb_ to actually reflect what they are doing
2018-02-20 19:13:38 +01:00
Jochen Hoenicke
c574c0a497
Updated confirmOutput dialog
Build it manually (to allow not indenting the address and using a
different font).
2018-02-20 18:23:14 +01:00
Jochen Hoenicke
63c6f95400
Fit 21 characters per line 2018-02-20 18:23:14 +01:00
Jochen Hoenicke
b9b36e0768
Remove duplicated code 2018-02-20 18:22:47 +01:00
Jochen Hoenicke
83a69a0334
Added fixed-width font and multi-font support 2018-02-20 18:22:47 +01:00
Pavol Rusnak
fc7189f801
use Failure_PinMismatch where it makes sense (ChangePin, ResetDevice, RecoveryDevice) 2018-02-20 17:48:19 +01:00
Pavol Rusnak
909f158c84
vendor: update trezor-common 2018-02-20 17:31:45 +01:00
Saleem Rashid
e019ab5557 fsm: Abort layoutAddress on Initialize or Cancel
Fixes #247
2018-02-20 17:19:41 +01:00
Jochen Hoenicke
1bc1bb1e77 Less paranoid change outputs.
- Allow change to be on the main chain (see spesmilo/electrum#3920).
- Allow more than one output to the Trezor, but don't treat it as change.
2018-02-20 16:39:16 +01:00
Saleem Rashid
e3a0b6e7b4 setup: Switch to unprivileged execution 2018-02-13 19:31:36 +01:00
Saleem Rashid
1f8f08d48a setup: Enable MPU
Disable code execution from SRAM and reconfiguration of the MPU.

Prevents almost all code execution attacks.
2018-02-13 15:48:42 +01:00
Wampum
2391beb6f4 expand description of multisig label (#294) 2018-01-31 17:12:52 +01:00
Pavol Rusnak
bd660655ee
introduce and use memzero instead of explicit_bzero 2018-01-18 15:21:48 +01:00
Pavol Rusnak
4a2d68acb9
use explicit_bzero where possible; update trezor-crypto 2018-01-16 19:49:47 +01:00
Pavol Rusnak
cd763b979b
layout: fix last commit 2018-01-15 18:56:57 +01:00
Pavol Rusnak
f70772fb58
rework ConfirmOutput layout (fixes #289) 2018-01-15 18:40:54 +01:00
Pavol Rusnak
c4e3596803
update trezor-crypto, adapt firmware to to changes 2018-01-13 15:20:10 +01:00
Pavol Rusnak
7e382fb790
update to python3 2018-01-12 00:03:55 +01:00
Pavol Rusnak
94fcc8c9a4
add bip84 (native segwit) 2018-01-04 22:30:40 +01:00
Saleem Rashid
6a2b92c49e storage: Fix for Clang 2017-12-20 15:04:43 +01:00
Saleem Rashid
58d2079b56 transaction: Fix uninitialized read in compile_output 2017-12-20 15:04:43 +01:00
Saleem Rashid
fd57b89902 Makefile: Use $PYTHON 2017-12-19 14:11:51 +01:00
Saleem Rashid
bab8db9191 vendor: Update Nanopb to 0.3.9 2017-12-19 14:11:51 +01:00
Saleem Rashid
045ef22d98 storage: Do not use Nanopb 2017-12-19 14:11:51 +01:00
Saleem Rashid
b92a0d24b0 fsm: Include file and line in fsm_sendFailure for DEBUG_LINK 2017-12-18 20:13:00 +01:00
Saleem Rashid
ba5b44d0c5 emulator: Initial commit 2017-12-18 20:09:59 +01:00
Saleem Rashid
36eac04e61 protob: Increase Features.coins max_count 2017-12-18 19:43:19 +01:00
Pavol Rusnak
9732825e24
move ethereum_tokens-gen.py to trezor-common 2017-12-18 18:36:17 +01:00
Saleem Rashid
83a34ff925
util: Add MIN and MAX macros 2017-12-17 03:12:37 +01:00
Saleem Rashid
9401d2805a protob: Increase NEM payload max_size
See NemProject/NanoWallet#362
2017-12-16 21:26:32 +01:00
Saleem Rashid
f17a0a85e0 fsm: Add NEMDecryptMessage 2017-12-16 21:26:32 +01:00
Jochen Hoenicke
810443f197 Fix NULL pointer access
Fixes #269
2017-12-16 15:26:25 +01:00