Commit Graph

437 Commits

Author SHA1 Message Date
Pavol Rusnak 2a22d9f0ed
fix combine/prepare script for python3 2017-02-04 11:20:58 +01:00
Pavol Rusnak 801ca6e644
adapt python scripts to Python3 2017-02-01 18:07:47 +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
mruddy 228a109e5f memory protection: do not write reserved bits (#138) 2017-01-26 16:07:45 +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
Pavol Rusnak 323e7443a4
add _attic to gitignore 2017-01-24 15:19:15 +01:00
Pavol Rusnak a3a05ae248
add changelog 2017-01-24 15:17:02 +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
Karel Bílek 3b10958113 Correcting 1.3.3 changelog 2017-01-17 16:22:11 +01:00
Saleem Rashid 11d37c87cd Makefile: Generate dependency files (#141) 2017-01-15 14:49:36 +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
Saleem Rashid 2dcef5cf04 Makefile: Build and sign before uploading (#140) 2017-01-13 19:04:59 +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 cc01b86ab7
update readme 2017-01-10 15:14:29 +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
Pavol Rusnak 32f3c54cc4
fix whitespace 2017-01-04 18:52:55 +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
Pavol Rusnak ee3a7cbcfa
fix bug when long press of buttons breaks usb communication in bootloader, bump bl version to 1.3.1 2016-12-06 22:35:56 +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
Saleem Rashid 5c00b24307 trezor: Fix screen timeout (#131) 2016-11-26 13:48:04 +01:00
Saleem Rashid b4eaf7dbaf timer: Fix non-critical integer overflow (#129)
Every 4294967295 milliseconds (2 ^ 32 - 1), system_millis will overflow.
This means that every 49.71 days, system_millis will reset to zero.
Comparisons like `system_millis < (system_millis + 1)` would fail if the
latter had overflown and the former had not.

This is non-critical because the worst case is that one second could be
skipped or the screen could lock early.

This poses no threat to the exponential backoff used for protection
against brute force.
2016-11-23 20:22:28 +01:00
Pavol Rusnak 15fcda21ce
update protobuf 2016-11-23 13:21:31 +01:00
Jochen Hoenicke acfdb714ff
New Matrix-based recovery 2016-11-23 13:21:18 +01:00
Pavol Rusnak 14aa486fa6
partially revert 4ce4cc5605 for smoother merge 2016-11-23 13:19:25 +01:00
Pavol Rusnak a5e2fd9a55
add webhooks to travis 2016-11-23 11:50:14 +01:00
Pavol Rusnak e019b10642
update submodules 2016-11-23 11:48:52 +01:00
Pavol Rusnak c4d144a82e
extract CHECK_PARAM 2016-11-22 22:04:09 +01:00
Pavol Rusnak a122615663
extract CHECK_PIN and CHECK_PIN_UNCACHED 2016-11-22 21:06:39 +01:00
Pavol Rusnak 0ef70164a5
extract CHECK_INITIALIZED and CHECK_NOT_INITIALIZED macros 2016-11-22 20:57:45 +01:00
Pavol Rusnak 27a4e41707
refactor forgotten disabled coinByName usage 2016-11-22 20:00:22 +01:00
Saleem Rashid 0ec32a6146 timer: Replace screen timeout with SysTick
This provides an incredibly accurate screen timeout and removes the
superfluous screen timeout counter
2016-11-17 02:07:46 +01:00
Saleem Rashid 25b9bfd97b timer: Use Cortex-M3 SysTick timers
Removed `usbDelay(uint32_t cycles)`, added `usbSleep(uint32_t millis)`

The same method signature could cause silent code breakage at runtime,
as opposed to noisy code breakage at compile time which is the better
kind.
2016-11-17 02:07:46 +01:00
Pavol Rusnak 3cede26fbc
add yubico u2f demo to u2f known apps 2016-11-15 18:51:29 +01:00
Pavol Rusnak f45454b5ce
u2f: add fastmail to known providers 2016-11-10 13:46:41 +01:00
Jochen Hoenicke 9287dd7e04
Poll USB during BIP39 derivation.
This patch adds calls to usbPoll in the progress callback.  This
should address #98.

We call usbDelay instead of Poll, to call usbd_poll several times.
Otherwise it would only handle one event instead of handling all
events that were pending so far.  The ugly magic number 5 is a guess.

Note that we also need to set usbTiny, so that we don't recursively
process messages.  Since we don't know whether usbTiny is set, we
need to store the old value (especially true for u2f).

This fix also relies on another fix in libopencm3.
2016-11-09 16:17:50 +01:00
Pavol Rusnak 4ce4cc5605
halt the device when encountered an invalid mnemonic (skip if device loaded or recovered without enforced wordlist) 2016-11-09 16:06:50 +01:00
Pavol Rusnak 810d478f4c
check return values of ecdsa_sign calls 2016-11-08 15:48:44 +01:00
Pavol Rusnak 71890e4edf
implement u2f_counter in LoadDevice, Recoverydevice and ResetDevice messages 2016-10-31 16:20:15 +01:00
Pavol Rusnak 4471c6e0e6
show different dialog when U2F client uses bogus appid 2016-10-31 11:56:11 +01:00
Pavol Rusnak ae37ea8a9a
bump version, add changelog 2016-10-26 18:06:13 +02:00
Pavol Rusnak 592f3c9afe
lock screen after 10 minutes of inactivity 2016-10-25 17:45:30 +02:00