Pavol Rusnak
2bebd0eec5
embed/trezorhal+unix: add copyright headers
2018-02-23 19:04:46 +01:00
Pavol Rusnak
8e3e1837d1
embed/firmware: call display_clear in main
2018-02-22 20:40:04 +01:00
Pavol Rusnak
3eab20e278
embed: refactor MIN/MAX macros in common.h
2018-02-22 20:35:32 +01:00
Pavol Rusnak
d5ab82ae2b
embed/extmod/modtrezorui: refactor DISPLAY_OFFSET
2018-02-22 16:27:38 +01:00
Pavol Rusnak
30396f9cf0
embed/extmod/modtrezorui: refactor BUFFER_OFFSET and PIXELWINDOW structures
2018-02-18 15:51:18 +01:00
Pavol Rusnak
e264090678
embed/extmod/modtrezorui: refactor DATA into DATA and PIXELDATA in display
2018-02-18 15:37:54 +01:00
Pavol Rusnak
4ad6a7a634
embed/bootloader: increase USB timeout to 500
2018-02-13 23:11:18 +01:00
Pavol Rusnak
5ded086800
embed/trezorhal: introduce jump_to_unprivileged, disable mpu in bootloader
2018-02-13 20:51:14 +01:00
Pavol Rusnak
302a31e8d2
embed/bootloader: enable mpu and drop to unprivileged mode before running a firmware
2018-02-13 19:36:03 +01:00
Pavol Rusnak
1469ede956
embed: bump versions
2018-02-13 11:54:08 +01:00
Pavol Rusnak
c115faf2cd
embed/trezorhal/usb: correct handling of interface messages in usb_class_setup
2018-02-12 18:25:13 +01:00
Pavol Rusnak
7b2fd6ae4c
embed/bootloader: move Welcome! string 5px above
2018-02-12 14:57:50 +01:00
Pavol Rusnak
936f0e3e26
embed: fix 3 TODO items
2018-02-12 14:51:41 +01:00
Pavol Rusnak
8a409bd99a
embed/bootloader: move USB_IFACE_NUM to main.c
2018-02-12 14:44:09 +01:00
mcudev
0a15b03917
bootloader: fix process_msg_unknown remaining chunk calculation
2018-02-12 14:40:50 +01:00
Pavol Rusnak
34c6fb987a
embed/bootloader: better detection of broken firmware at start
2018-02-10 17:52:45 +01:00
Pavol Rusnak
9aa947d2e1
embed/extmod/modtrezorcrypto: remove redundant code in bip32
2018-02-09 12:33:55 +01:00
Pavol Rusnak
593ccdafec
embed/extmod/modtrezorcrypto: use uint32_t for HDNode int attributes
2018-02-09 12:22:23 +01:00
Pavol Rusnak
2fe0ce542f
firmware: introduce PYOPT, use it consistently in mpy-cross and in runtime, set it to 1 by default
2018-02-08 18:04:10 +01:00
Pavol Rusnak
fa697ba322
embed/vendorheader: add unsafe_signed_prod, use it by default
2018-02-08 16:45:23 +01:00
Pavol Rusnak
77ea31aa8a
embed/extmod/modtrezorui: revert NO_HINT change
2018-02-08 15:04:33 +01:00
Pavol Rusnak
329b7d1488
embed/extmod/modtrezorui: regenerate fonts with NO_HINTING, update rendering to subpixel precision
2018-02-07 19:33:39 +01:00
Pavol Rusnak
a25af7d22a
embed/extmod/modtrezorui: refactor text bar prefill into from display.c into extmod
2018-02-06 22:55:20 +01:00
Pavol Rusnak
47c598b56e
embed/bootloader: don't show build field in version (stick to major.minor.patch)
2018-02-06 17:18:37 +01:00
Pavol Rusnak
1c5beb1c12
embed/bootloader: add information about firmware (version, vendor, etc.) to Features message
2018-02-06 17:06:43 +01:00
Pavol Rusnak
548b8cb25b
embed/trezorhal: move cmd_buffer into usb_vcp_state_t
2018-02-06 15:30:15 +01:00
Jan Pochyla
00c4da83b9
modtrezorconfig: fix has_pin
2018-02-05 15:36:59 +01:00
Pavol Rusnak
e865012663
bootloader: use webusb by default
2018-02-03 16:40:52 +01:00
Pavol Rusnak
40e20e2e9d
trezorhal: fix usb class behaviour
2018-02-03 16:40:51 +01:00
Pavol Rusnak
61b4e3d6e3
trezorhal: fix typos
2018-02-02 17:41:49 +01:00
Pavol Rusnak
b8b8e38765
trezorhal: rename winusb_enabled to usb21_enabled
2018-02-02 16:02:37 +01:00
Pavol Rusnak
4f44c2577b
trezorhal: add option to programatically enable/disable WinUSB
2018-02-02 15:27:04 +01:00
Pavol Rusnak
d1b5a254ef
prodtest: bump release_num in usb
2018-02-02 13:11:03 +01:00
Pavol Rusnak
94fc0f7ac0
extmod: if debug build is used, disable LoadDevice, wipe storage on start, draw red square in corner
2018-02-01 15:46:32 +01:00
Pavol Rusnak
1e03a5d554
unix: start udp port for each active hid/webusb interface
2018-02-01 14:22:24 +01:00
Pavol Rusnak
db71afca60
prodtest: use different release_num
2018-02-01 10:13:40 +01:00
Pavol Rusnak
488e516cbf
trezorhal: add device_class, etc. to usb object
2018-01-31 16:46:15 +01:00
Pavol Rusnak
52a942afd4
bootloader: fix anti-aliasing in install icon
2018-01-31 16:46:15 +01:00
Pavol Rusnak
cf9c97288e
build: rework vendorheader handling, move them to embed/vendorheader
2018-01-31 16:46:15 +01:00
Pavol Rusnak
bfa79cbfd3
firmware: update versions in version.h
2018-01-29 09:09:45 +01:00
Pavol Rusnak
ebc585fd40
trezorhal: fix bug in flash_otp_write
2018-01-29 08:44:55 +01:00
Pavol Rusnak
1bf278c3ee
firmware: add vendorheader_sl_signed.bin
2018-01-29 08:14:08 +01:00
Pavol Rusnak
c934109d65
boardloader, bootloader: bump versions to 2.0
2018-01-28 16:56:05 +01:00
Pavol Rusnak
0b4c703813
bootloader: update booting ui
2018-01-28 13:47:03 +01:00
Pavol Rusnak
1b712a0446
trezorhal: fix simple interface behaviour on windows
2018-01-28 02:43:03 +01:00
Pavol Rusnak
399d6d2f65
trezorhal: make webusb more robust
2018-01-28 02:43:03 +01:00
Pavol Rusnak
08c145c4da
trezorhal: fix winusb
2018-01-28 02:43:02 +01:00
Pavol Rusnak
5e4b632f14
bootloader: firmware: use "Go to" instead of "Open", because that's what Chrome uses :-/
2018-01-28 02:43:02 +01:00
Pavol Rusnak
ba8224f598
trezorhal: remove configuration from usb string table
2018-01-28 02:43:00 +01:00
Pavol Rusnak
55d0416641
trezorhal: make usb stack more robust
2018-01-27 17:27:57 +01:00
Pavol Rusnak
d6681efff2
trezorhal: update usb maxpower
2018-01-26 17:11:52 +01:00
Pavol Rusnak
efd926208d
bootloader: refactor version formatting into format_ver
2018-01-26 16:05:45 +01:00
Pavol Rusnak
c0220192d4
tools: fix binctl script
2018-01-26 15:51:19 +01:00
Pavol Rusnak
0d7f486733
bootloader: show different dialogs for firmware upgrade and vendor change
2018-01-26 15:51:19 +01:00
Pavol Rusnak
6e81a68fbe
bootloader: refactor flash erase after first chunk is received
2018-01-26 15:51:19 +01:00
Pavol Rusnak
739e4f2e45
fix release_num values
2018-01-25 17:46:29 +01:00
Pavol Rusnak
b785fcce44
bootloader: revert ui color change
2018-01-25 16:43:54 +01:00
Pavol Rusnak
a9f5ed9119
trezorhal: remove unnecessary casting for vstr, small ui nitpicks
2018-01-25 16:29:05 +01:00
Pavol Rusnak
1280073c04
trezorhal: remove unnecessary casting for usb strings
2018-01-25 15:34:45 +01:00
Pavol Rusnak
d39ceb0d99
bootloader: fix ui_screen_done flicker
2018-01-25 14:44:03 +01:00
Pavol Rusnak
d27111472e
bootloader: show fingerprint on info click
2018-01-25 14:16:21 +01:00
Pavol Rusnak
8fc65d7f32
bootloader: small UI nitpicks
2018-01-25 13:21:04 +01:00
Pavol Rusnak
117a3efbe2
bootloader: refactor fadeins/fadeouts
2018-01-25 12:33:09 +01:00
Pavol Rusnak
5538614a79
bootloader: rework onboarding
2018-01-24 18:28:10 +01:00
Pavol Rusnak
2e00c090b6
bootloader: add confirm dialogs for wipe/upgrade
2018-01-24 17:00:25 +01:00
Pavol Rusnak
ae94bc95fb
bootloader: add "connect to host" screen
2018-01-24 14:22:57 +01:00
Pavol Rusnak
8ef2098763
trezorhal: unix: refactor touch get/pack functionality
2018-01-24 13:41:02 +01:00
Pavol Rusnak
2f567ee822
bootloader: rework UI
2018-01-24 12:47:55 +01:00
Pavol Rusnak
f6f6e8593a
bootloader: don't crash on empty usb queue
2018-01-24 00:37:58 +01:00
Pavol Rusnak
9fcb59c3ca
trezorhal: reply with winusb guid just for interface 0
2018-01-24 00:37:58 +01:00
Pavol Rusnak
ca0918dbce
trezorhal: rework winusb
2018-01-24 00:37:54 +01:00
Pavol Rusnak
00c193f5cc
trezorhal, unix: drop flash_write_{byte,word} usage, rename flash_write_{byte,word}_rel to flash_write_{byte,word}
2018-01-23 16:58:53 +01:00
Pavol Rusnak
1e7920435c
bootloader: fix flashing of non-continous firmware areas
2018-01-23 16:58:53 +01:00
Pavol Rusnak
089168209b
trezorhal: fix webusb landing page
2018-01-23 02:32:48 +01:00
Pavol Rusnak
919e2b9c3b
trezorhal: formatting nits in usb
2018-01-23 02:32:48 +01:00
Pavol Rusnak
9f80d5614a
trezorhal: add winusb magic to webusb interface
2018-01-21 15:40:31 +01:00
Pavol Rusnak
f50afd2d2a
bootloader: add (optional) WebUSB support
2018-01-21 04:04:33 +01:00
Pavol Rusnak
5ef0967857
trezorhal: small fixes to USB stack
2018-01-21 03:54:08 +01:00
Pavol Rusnak
aa8c192040
trezor.io: remove unused fields from WebUSB class
2018-01-21 00:49:09 +01:00
Pavol Rusnak
8bf19b4c92
trezorhal: refactor trezor.io USB stuff into more files, add WebUSB
2018-01-21 00:04:05 +01:00
Pavol Rusnak
d927b80b50
trezorhal: more tests in usb
2018-01-20 22:06:39 +01:00
Pavol Rusnak
51db0c4099
fix typo
2018-01-20 22:02:13 +01:00
Pavol Rusnak
311af09236
trezor.io: fix typo in VCP class
2018-01-20 22:00:16 +01:00
Pavol Rusnak
9d10a7a508
trezorhal: more switch formatting
2018-01-20 21:57:10 +01:00
Pavol Rusnak
30ff61b588
trezorhal: add configuration, interface strings to usb descriptors, minor typos
2018-01-20 21:48:53 +01:00
Pavol Rusnak
08376a4a54
fix typo
2018-01-20 21:26:54 +01:00
Pavol Rusnak
e92440dfc8
introduce and use memzero instead of explicit_bzero
2018-01-18 15:30:49 +01:00
Pavol Rusnak
3098dc8447
unix: don't use usb_hid_write from usb_hid_read for PING/PONG
2018-01-17 23:40:24 +01:00
Pavol Rusnak
fea8d53b85
trezor.io: cleanup usb code
2018-01-17 16:10:31 +01:00
Pavol Rusnak
ea116d742a
use explicit_bzero where possible; update trezor-crypto
2018-01-16 20:44:21 +01:00
Jan Pochyla
2c3df7381f
unix/usb: fix wur
2018-01-16 15:46:32 +01:00
Jan Pochyla
20c4900df1
modtrezorcrypto/bip39: throw less exceptions
2018-01-16 15:46:32 +01:00
Pavol Rusnak
27d9abe883
trezor.config: add public values (readable without unlock)
...
They are indicated via MSB bit of appid
2018-01-13 16:09:22 +01:00
Pavol Rusnak
1530afe4ad
vendor: update trezor-crypto, adapt codebase to changes
2018-01-13 15:36:03 +01:00
Pavol Rusnak
d11bbde2e1
trezor.crypto: fix sha3-{256,512} argument handling
2018-01-12 13:50:34 +01:00
Pavol Rusnak
7efef68e97
trezor.crypto: add static keyword to crc
2018-01-12 13:43:52 +01:00
Pavol Rusnak
ee925f7813
prodtest: draw border on start too
2018-01-09 21:21:55 +01:00
Jan Pochyla
622cb847e5
prodtest: fix touch coordinates
2018-01-09 15:28:11 +01:00
Pavol Rusnak
7537c26c83
trezor.crypto: use mp_obj_new_str_from_vstr where we already have preallocated vstr
2018-01-07 13:56:18 +01:00
Pavol Rusnak
981ec87877
trezor.crypto: put back vstr where it makes sense (= user controlled input)
2018-01-05 13:13:20 +01:00
Pavol Rusnak
4a7592d470
trezor.crypto: remove vstr usage, refactor mp_obj_new_str_from_vstr into mp_obj_new_bytes and mp_obj_new_str
2018-01-03 21:53:58 +01:00
Pavol Rusnak
b98a1db6ee
embed: cleanup unused modules
2018-01-02 20:00:12 +01:00
Pavol Rusnak
fa95f0a037
trezor.crypto: implement chacha20poly1305 aka rfc7539
2018-01-02 18:57:23 +01:00
Pavol Rusnak
b9d5af8c19
modtrezorcrypto: remove ssss (different implementation will be re-added later)
2018-01-02 14:13:42 +01:00
Pavol Rusnak
4cc8a5432d
bootloader: use normal/regular font rather than bold
2018-01-02 01:44:39 +01:00
Pavol Rusnak
94588dd588
modtrezorui: introduce TREZOR_FONT_PREFILL, set it to 0 in bootloader
2018-01-02 01:37:31 +01:00
Pavol Rusnak
424115967f
embed: fix wur for usb functions
2018-01-01 21:49:08 +01:00
Pavol Rusnak
f1a75b36f7
vendor: update micropython to 1.9.3 release
2018-01-01 21:49:08 +01:00
Pavol Rusnak
d6593e710b
apps.ethereum: implement SignMessage/VerifyMessage
2017-12-23 15:12:31 +01:00
Pavol Rusnak
333c0a633a
trezor.crypto: adopt crc32 function
2017-12-19 21:54:22 +01:00
Pavol Rusnak
eff3ce2aa8
unix: use ensure, not (void)
2017-12-19 19:42:56 +01:00
Jan Pochyla
7be96048f8
unix: fix wur in usb
2017-12-19 15:13:12 +01:00
Pavol Rusnak
4b54bfbbf2
modtrezorui: change loader size to 120x120
2017-12-16 23:44:30 +01:00
Pavol Rusnak
63e999ab84
trezor.ui: introduced minwidth to display.text functions; more optimizations
2017-12-16 19:33:09 +01:00
Pavol Rusnak
47f5cba439
flash/sdcard: introduce wur, simplify code
2017-12-16 18:42:06 +01:00
Pavol Rusnak
5e93cca0a9
WIP
2017-12-16 17:54:12 +01:00
Jochen Hoenicke
beef9ecfb5
Moved flash_unlock to norcow_update
...
and fixed propagation of error return
2017-12-16 17:25:41 +01:00
Pavol Rusnak
6aae87437f
modtrezorui: draw bars under letters
2017-12-16 17:22:03 +01:00
Pavol Rusnak
11a3ff055c
boardloader/bootloader: typo
2017-12-16 15:12:58 +01:00
Pavol Rusnak
4584861385
trezor.ui: introduce ui.SIZE
2017-12-16 14:50:28 +01:00
Pavol Rusnak
79a3f84c3c
modtrezorui: invert FONT macro inclusion logic
2017-12-15 23:13:25 +01:00
Pavol Rusnak
80707f195b
modtrezorui: small cleanup
2017-12-15 23:03:18 +01:00
Pavol Rusnak
7504366a02
bootloader: simplify vtrust code
2017-12-15 20:57:54 +01:00
Jochen Hoenicke
c0cd252c83
Store pin as integer
...
- New module trezor.pin (add timeout here)
- Convert pin to integer by adding a '1' (to detect leading 0s)
- pin is still limited to 9 digits.
2017-12-15 20:37:03 +01:00
Pavol Rusnak
125ab8471c
trezorhal: store image fingerprint in the image_header structure
2017-12-15 19:22:59 +01:00
Pavol Rusnak
be302480fd
modtrezorcrypto: cleanup random
2017-12-15 16:56:08 +01:00
Pavol Rusnak
1a32e46e5d
bootloader: cleanup ui code
2017-12-15 15:26:36 +01:00
Pavol Rusnak
5e476b856e
unix: implement sdcard, add unit test
2017-12-15 01:00:00 +01:00
Pavol Rusnak
48ef409fdb
modtrezorio: remove mocks
2017-12-15 00:06:09 +01:00
Pavol Rusnak
b4933f969e
bootloader: don't downgrade firmware below fix_version in the current firmware
2017-12-14 21:58:32 +01:00
Pavol Rusnak
965aa73b63
trezorhal: introduce fix_version in image header (version of last critical bugfix)
2017-12-14 21:29:13 +01:00
Pavol Rusnak
e8f70ed4af
pin: implement graphics pin timeout
2017-12-14 19:01:41 +01:00
Jochen Hoenicke
87f7054e46
Added callback for PIN timeout
...
When PIN is entered or changed and their were failed tries the function
waits for time (exponential slow down). For every second it waits, it
now calls back into python to give it the chance to show a message.
GUI still needs to be implemented
2017-12-14 17:19:51 +01:00
Jochen Hoenicke
9f2bbb0e1a
Removed references to pin fail area
2017-12-14 17:18:45 +01:00
Jochen Hoenicke
497021f2ef
storage: New pin fail section inside NORCOW
...
Added a function to update NORCOW data.
Changed storage pin fail logic.
2017-12-14 17:18:45 +01:00
Pavol Rusnak
b7444ac13e
modtrezorconfig: fix wipe error
2017-12-14 16:27:18 +01:00
Pavol Rusnak
2f719526e7
bootloader: implement vendor keys lock
2017-12-13 23:08:15 +01:00
Pavol Rusnak
45c290d24c
trezorhal: introduce vendor_keys_hash, use it in compare_to_current_vendor_header
2017-12-13 22:50:48 +01:00
Pavol Rusnak
70ac202d7a
modtrezorcrypto: add trezor.crypto.hashlib.blake256
2017-12-13 20:47:12 +01:00
Pavol Rusnak
34322d5fb6
firmware: enable stack protector (except nlr stuff)
2017-12-13 02:06:22 +01:00
Pavol Rusnak
1aba175d7d
build: adapt to new trezor-crypto changes
2017-12-12 22:00:15 +01:00
Pavol Rusnak
7b9fcf98ae
drop embed/extmod/modtrezorcrypto/trezor-crypto symlink
2017-12-12 20:31:03 +01:00
Jochen Hoenicke
816bfe387f
Bug fix: missing parenthesis in flash_write_word
2017-12-12 00:01:49 +01:00
Pavol Rusnak
20a1326ebb
storage: fix typo
2017-12-11 23:11:43 +01:00
Pavol Rusnak
ce3eaba925
trezorhal: use static inline instead of static (gcc 7.2 workaround)
2017-12-11 22:34:45 +01:00
Pavol Rusnak
8a8450d6be
fix build for older compilers
2017-12-09 18:18:42 +01:00
Pavol Rusnak
e268aeb8b7
flash: simplify/unify flash_erase_sectors usage
2017-12-09 18:00:37 +01:00
Pavol Rusnak
6ab0f03ec4
embed: norcow_init, storage_init and flash_init don't return secbool, they halt using ensure if something goes wrong
2017-12-09 14:48:49 +01:00
Pavol Rusnak
6b94fd26e4
boardloader: rename reset_flags_init to reset_flags_check
2017-12-09 14:36:02 +01:00
Jan Pochyla
314e6a99c1
modtrezorcrypto/bip32: add HDNode.__init__
2017-12-08 17:25:28 +01:00