Commit Graph

451 Commits

Author SHA1 Message Date
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
Jochen Hoenicke 2950588271
Fix segwit multisig.
Tested, see f41cbedd8becee05a830f418d13aa665125464547db5c7a6cd28f21639fe1228
and c9348040bbc2024e12dcb4a0b4806b0398646b91acf314da028c3f03dd0179fc
on testnet
2016-11-05 22:47:21 +01:00
Jochen Hoenicke 895da908e0
Simplified InputScriptType
Distinguish between single signature and multisig via has_multisig.
2016-11-05 22:47:21 +01:00
Jochen Hoenicke 388750f2d1
Support for P2SH compatible segwit 2016-11-05 22:47:21 +01:00
Jochen Hoenicke b7b9891cb4
Signing for Segnet Transaction works
see segnet4 txid:
aa434a6ef4fcf350e319bacbd725fa7446f797cb3ed0cd0582826a49d3351ffa
2016-11-05 22:47:21 +01:00
Jochen Hoenicke e5000fb196
segwit sign (completely untested) 2016-11-05 22:47:18 +01:00
Jochen Hoenicke 5c60be9854
hashes for segwit signature 2016-11-05 22:37:01 +01:00
Jochen Hoenicke 1bd4b99f95
Allow SegWit addresses
New output scripts for segwit addresses in accordance to BIP-142 and BIP-141.
This allows Trezor to pay to segwit users, but it doesn't enable segwit for
Trezor itself.
2016-11-05 22:35:32 +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
Pavol Rusnak f8ad9fc742
fix Verify (by introducing coinExtractAddressType) 2016-10-25 17:02:02 +02:00
Saleem Rashid 0b51d060d8
allow ClearSession purely via confirm button
Holding confirm button at home screen asks user whether they wish to
lock the TREZOR (clear the cached PIN and passphrase and show the
screensaver). This is identical behaviour to the ClearSession message.
2016-10-25 15:21:56 +02:00
Pavol Rusnak ea35b4bfe7
update trezor-crypto 2016-10-24 20:55:45 +02:00
Roman Zeyde 0bb7f16b78 crypto: allow Ed25519 signing larger digests (#124) 2016-10-24 12:41:10 +02:00
Pavol Rusnak e9f0706c2e
fix prevtx hashing when input count is 0 2016-10-21 13:20:57 +02:00
Pavol Rusnak 2daab8cf02
add coins-gen.py script and generate coins.c using that script 2016-10-20 15:27:34 +02:00
Pavol Rusnak c288a0e328
implement TXEXTRADATA transaction RequestType 2016-10-20 13:25:40 +02:00
Roman Zeyde 68a1bcc908 Add specific layout for GPG signature (#122)
Following ECDH usage of layoutDecryptIdentity (which shows "GPG decrypt for:")
this commit adds a specific case for layoutSignIdentity, showing "GPG sign for:",
instead of "GPG login to:" (which is less appropriate in the GPG context).
2016-10-17 18:08:02 +02:00
Pavol Rusnak 771a0c014b
update protobuf 2016-10-16 02:06:49 +02:00
Pavol Rusnak f0b93b44f5
multibyte addresses can be 40 chars long 2016-10-16 02:05:03 +02:00
Roman Zeyde b57c0ff430
Use trezor-crypto ECDH, adding Curve25519 support 2016-10-16 01:34:02 +02:00
Karel Bílek dfc543c955 Switching address types (#119)
Address_type and address_type_p2sh were switched
2016-10-13 11:39:35 +02:00
Pavol Rusnak 7ddccdb7f4
Revert "simplify cryptoMessageVerify call"
This reverts commit 3a42032c63.
2016-10-10 17:42:42 +02:00
Pavol Rusnak c0181b1aec
extract address related stuff into trezor-crypto 2016-10-10 11:26:52 +02:00
Pavol Rusnak e70900d49e
don't tie message verification with P2PKH addresses 2016-10-10 10:17:51 +02:00
Pavol Rusnak 3a42032c63
simplify cryptoMessageVerify call 2016-10-10 00:18:57 +02:00
Daira Hopwood 6bfe487f19
Update address prefixes for Zcash. 2016-10-10 00:05:51 +02:00
Daira Hopwood 69d99d202d
Add support for multi-byte address prefixes. 2016-10-10 00:05:45 +02:00
Pavol Rusnak 1234ab94d4
update trezor-crypto 2016-10-06 17:01:17 +02:00
Jochen Hoenicke a0ade6343e Reworked rfc6979 signing. (#116)
New parameter is_canonical that allows for generating signatures that
have additional requirements.
2016-10-06 16:58:05 +02:00
Pavol Rusnak d7ff70caf6
add checking of buttons to bootloader 2016-10-06 15:03:11 +02:00
Jochen Hoenicke d767e52055 Confirm to change U2F counter (#114) 2016-09-27 23:33:28 +02:00
Pavol Rusnak 9fe9ebc990
fix usb descriptor in bootloader 2016-09-26 14:57:10 +02:00
Pavol Rusnak 2f7ed2aa0f
implement firmware_present flag in bootloader 2016-09-26 13:09:18 +02:00
Pavol Rusnak cda9ae4b29
change version description in bootloader 2016-09-25 16:36:44 +02:00
Pavol Rusnak dc8348b4a0
add flash target to bootloader makefile 2016-09-25 16:04:07 +02:00
Pavol Rusnak 259eeae26e
don't halt on broken firmware but stay in bootloader mode 2016-09-25 15:52:39 +02:00
bitcartel e0e190b3dc
Update coins.c for Zcash mainnet (#111) 2016-08-31 14:02:53 +02:00
Pavol Rusnak 8d7c1ec543 Merge pull request #110 from jhoenicke/master
More alignment fixes
2016-08-30 12:55:37 +02:00
Jochen Hoenicke 6d65551b82
More alignment fixes 2016-08-30 12:39:37 +02:00
Pavol Rusnak dec9484a17
update version 2016-08-30 10:33:13 +02:00
Pavol Rusnak fd79570aaf
fix unaligned access in serialno; update trezor-crypto 2016-08-29 22:37:27 +02:00
Pavol Rusnak d7c0fbc379
add const where possible (for message parsing) 2016-08-29 22:36:18 +02:00
Pavol Rusnak aaf2631dd6
sign firmware inside docker container 2016-08-29 19:20:50 +02:00
Pavol Rusnak 0a55a9e415
update to nanopb 0.2.9.3 2016-08-29 12:59:29 +02:00
Pavol Rusnak fff16e813a
add link to protobuf definition in coins.c 2016-08-29 10:44:40 +02:00