1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-26 09:28:13 +00:00
Commit Graph

429 Commits

Author SHA1 Message Date
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
Pavol Rusnak
626a8885ce
trezor.config: add compaction test 2017-12-08 16:46:13 +01:00
Pavol Rusnak
b39b4a4947
norcow: fix bug 2017-12-08 16:17:58 +01:00
Pavol Rusnak
7f5192701f
unix: use mmap to access flash file 2017-12-08 14:18:15 +01:00
Pavol Rusnak
44a11fa3ef
norcow: introduce NORCOW_MAGIC 2017-12-08 13:42:17 +01:00
Pavol Rusnak
38e3088325
common: don't expose shutdown() via common.h 2017-12-08 12:42:43 +01:00
Pavol Rusnak
f88080b904
Merge branch 'pin_fails' 2017-12-07 15:29:47 +01:00
Pavol Rusnak
40104822e8
unix: make SDL failures fatal 2017-12-07 12:44:38 +01:00
Pavol Rusnak
04d980f8f0
add Features.model field (set to "T") 2017-12-04 22:40:42 +01:00
Jan Pochyla
8b85078730
reflash: add new firmware target
Flashes (unlocked) boardloader and bootloader from pre-compiled sdcard image.
2017-11-28 20:59:32 +01:00
Jan Pochyla
09af312789 prodtest: add BORDER command 2017-11-27 13:19:22 +01:00
Pavol Rusnak
679d024df0
display: use CMD2EN: Command 2 Enable 2017-11-22 19:31:58 +01:00
mcudev
6179edde90 touch: reset and usage updates 2017-11-21 10:22:16 -05:00
mcudev
5556c37f6f display: hardware reset updates 2017-11-21 10:22:16 -05:00
mcudev
61ff3b46c5 display: ST7789V porch settings are for RGB interface, not parallel 8080-I 2017-11-21 10:22:16 -05:00
mcudev
30829b281c display: ST7789V remove commands that unnecessarily set default values again 2017-11-21 10:22:16 -05:00
mcudev
e62fa345c8 display: minor ILI9341 updates 2017-11-21 10:22:16 -05:00
mcudev
a0129e7715 display: orientation, windowing, and config updates 2017-11-21 10:22:16 -05:00
mcudev
f53ec3f928 display: update display_unsleep 2017-11-21 10:22:16 -05:00
mcudev
5e867cc092 display: update display_sleep 2017-11-21 10:22:16 -05:00
mcudev
2ea5d102a8 bootloader, firmware: remove unneeded call to display_orientation 2017-11-21 10:22:08 -05:00
Pavol Rusnak
4002ef2a49
firmware, unix: return cpython compatibility (needed for __class__ and __dict__) 2017-11-21 15:35:46 +01:00
Pavol Rusnak
ec6c3c2cdc
unix, firmware: more cleanup 2017-11-21 15:11:35 +01:00
Pavol Rusnak
d4893add54
firmware, unix: turn off some modules 2017-11-20 17:29:24 +01:00
Jan Pochyla
5bd39c70b0 storage: fix change_pin and small details 2017-11-08 18:08:19 +01:00
Jan Pochyla
cf14717d43 unix: add shutdown()
As sys/socket.h defines shutdown also, we can't include common.h in unix mocks.
2017-11-08 18:07:33 +01:00
Pavol Rusnak
879a3e85bd
trezorhal: reorder stuff in common.{c,h}; remove unnecessary externs for functions 2017-11-07 20:44:30 +01:00
Pavol Rusnak
d9574bf131
trezorhal: enable BOR level 3, PVD level 5, turn off display in PVD handler 2017-11-07 18:06:42 +01:00
Pavol Rusnak
e4360a7296
bootloader: change upgrade criteria to vendor keyset comparison 2017-11-07 13:46:18 +01:00
Jan Pochyla
237740de9c storage: implement change_pin 2017-11-06 17:47:05 +01:00
Jan Pochyla
5e643e9195 modtrezorconfig: fix has_pin 2017-11-06 17:26:25 +01:00
Jan Pochyla
df77e74988 storage: fix unlock 2017-11-06 17:26:13 +01:00
Pavol Rusnak
3636a5f1b1
bootloader/vendorheader: vtrust is bitmap not scalar 2017-11-06 16:31:09 +01:00
Pavol Rusnak
5444410e04
unix: use return value from fread properly 2017-11-06 15:44:35 +01:00
mcudev
430900ea2c boardloader: ensure check_sdcard fails when read fails 2017-11-06 14:36:56 +01:00
Pavol Rusnak
2e3b8336c2
unix: fix unused-result warning 2017-11-06 11:12:43 +01:00
Pavol Rusnak
ee7d260d2f
trezorhal: use const where possible for flash 2017-11-05 23:51:10 +01:00
Pavol Rusnak
30363305f4
modtrezorconfig: use secbool, not bool 2017-11-05 23:32:32 +01:00
Jan Pochyla
1f6cc70480 flash: remove flash_set_option_bytes 2017-11-05 21:00:38 +01:00
Jan Pochyla
0376ff7f48 storage, norcow: use secbool 2017-11-05 20:46:59 +01:00
Jan Pochyla
662cfc1b2c unix/flash: use secbool 2017-11-05 20:46:59 +01:00
Jan Pochyla
418f035811 storage: add has_pin and change_pin
TODO: finish change_pin
2017-11-05 20:46:59 +01:00
Jan Pochyla
c2ec40bebf flash: flash_init returns bool 2017-11-05 20:46:58 +01:00
Jan Pochyla
353883e0f3 storage: rename constant 2017-11-05 20:46:11 +01:00
Jan Pochyla
b6ba95625c norcow: port on top of flash.c, remove config 2017-11-05 20:46:11 +01:00
Jan Pochyla
27bfcfe1af norcow: import into tree 2017-11-05 20:46:11 +01:00
Jan Pochyla
d4443a4f7f unix/flash: start with 0xff 2017-11-05 20:46:11 +01:00
Jan Pochyla
12708b4987 unix/flash: default FLASH_FILE 2017-11-05 20:46:11 +01:00
Jan Pochyla
c78babdc12 flash: add flash_get_address 2017-11-05 20:46:11 +01:00
Jan Pochyla
f07b4dda0b modtrezorconfig: extract pin & unlocking to storage.c 2017-11-05 20:46:11 +01:00
Jan Pochyla
fdc2f6a39d modtrezorconfig: use new flash API 2017-11-05 20:46:11 +01:00
Jan Pochyla
543e8c5007 flash: add unix/flash.c 2017-11-05 20:46:11 +01:00
Jan Pochyla
4cabe40220 storage: pin checking in c proof of concept
TODO: move out of modtrezorconfig
TODO: flash unix mock
2017-11-05 20:46:11 +01:00
mcudev
2ebd2b1b6b jump_to: clear out before the next stage NMI exception handler can run 2017-11-05 19:37:05 +01:00
mcudev
ffc16a98b5 rng: header cleanup, loop codestyle 2017-11-05 19:37:05 +01:00
mcudev
cc9aa8c197 cleanup: do not use reserved identifiers for header guards 2017-11-05 19:37:05 +01:00
Pavol Rusnak
77cc62644d
firmware: don't return CYCCNT contents as it is always zero anyway (cycle counter is disabled) 2017-11-05 18:02:47 +01:00
Pavol Rusnak
8190e0909e
boardloader: set BOR level to 2 2017-11-05 16:42:20 +01:00
mcudev
1737f17f43
boardloader: flash option bytes, production changes 2017-11-05 16:42:20 +01:00
mcudev
15bdc59b46 touch: reset touch panel 2017-11-05 16:20:37 +01:00
mcudev
d9a64fbb6a touch: app note related updates and exit loop upon detection 2017-11-05 16:20:37 +01:00
mcudev
2ae1c99b06 touch: address simplification 2017-11-05 16:20:37 +01:00
mcudev
6aeccd5ee1 touch: make i2c_handle static and trivial simplification 2017-11-05 16:20:37 +01:00
mcudev
d1ed02fb98 touch: use full 12-bit X and Y values 2017-11-05 16:20:37 +01:00
mcudev
edd95d9b65 secbool: add unsigned literal suffixes 2017-11-03 19:38:18 +01:00
mcudev
7e01a733a3 shutdown: reorder operations 2017-11-03 19:33:15 +01:00
mcudev
5be5e19f99 clear_otg_hs_memory: remove unpredictable write 2017-11-03 19:33:15 +01:00
Jan Pochyla
c632f9450f trezorhal: add spread spectrum clock 2017-10-31 11:49:18 +01:00
Jan Pochyla
6213974b6e prodtest: emulate python impl in OTP READ 2017-10-30 14:08:56 +01:00
Pavol Rusnak
7d0a12c29e
unix: fix build 2017-10-29 23:26:44 +01:00
Pavol Rusnak
311a28242b
boardloader: fix production build, disable reset_flags_init for now 2017-10-29 21:12:40 +01:00