1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-08-05 05:15:27 +00:00
Commit Graph

14090 Commits

Author SHA1 Message Date
Jochen Hoenicke
7fc58eb5db
bootloader: signatures_ok must work without magic
signatures_ok is called before the magic is written to the flash
to determine whether the metadata should be written back.
2018-03-29 01:30:40 +02:00
Jochen Hoenicke
9f50f09421
Init timer interrupt for unsigned firmware 2018-03-29 01:30:40 +02:00
Jochen Hoenicke
be64864efc
Put persistent variables at end of stack
Two variables of the bootloader are persistent:
- __stack_chk_guard is used by interrupt handlers
- system_millis is used by timer interrupt and service routines

Note that currently __stack_chk_guard is shared between unprivileged
firmware and bootloader.

If we get more variables later it may make sense to make a section for
this.
2018-03-29 01:30:40 +02:00
Jochen Hoenicke
ed7a8bfa6c
Fixes for emulator 2018-03-29 01:30:40 +02:00
Jochen Hoenicke
68e02c94da
Reworked memory protection unit 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
1fcd512b7f Fix compilation problems 2018-03-29 01:16:46 +02:00
Jochen Hoenicke
39ea33523d Don't hog CPU on shutdown 2018-03-29 01:03:58 +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
matejcik
e79026cb4b trezorlib: fix client ctors for transport arg
This restores the API before PR #241, and makes sure that ctor signature doesn't
depend on mixin order.
(Mixins will be going away shortly anyway.)
2018-03-28 15:57:50 +02:00
Roman Zeyde
bd3d014dd4 Allow specifying 'state' at ProtocolMixin c-tor 2018-03-28 14:31:20 +02:00
Jochen Hoenicke
5fc368e330 display: show qr-code correctly (was mirrored) 2018-03-27 19:39:20 +02:00
Tomas Susanka
5d0b5632b3 nem: missing return fix 2018-03-27 16:41:13 +02:00
Tomas Susanka
c4dc6e2c93 tests/device/nem: constants used 2018-03-27 16:06:49 +02:00
Jochen Hoenicke
3d7d99a3e3 Fix out of bounds read
b58tobin needs to check if there are more leading zeros requested by
the address than there are available
2018-03-27 15:04:55 +02:00
Jochen Hoenicke
009850f6c9 Fixed undefined behavior
This fixes a shift by 32 and shifts on signed integer that overflow.
2018-03-27 15:04:55 +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
Yura Pakhuchiy
2f8ea9d5c7 Fix building firmware in docker
Fixes #320
2018-03-24 16:33:04 +01:00
slush0
2a12764198
Updated path to firmware 1.6.1 2018-03-22 20:26:44 +01:00
slush0
0220818b60
Fixed path to releases.json 2018-03-22 20:23:56 +01:00
Jan Pochyla
25ae6bba51 src/trezor/ui/word_select: use apps.debug.input_signal 2018-03-22 15:31:36 +01:00
Jan Pochyla
8d296ed4c1 tests: add T2 RecoveryDevice test 2018-03-22 15:28:04 +01:00
Pavol Rusnak
81e676be6d
docs: add photo, schematic, bom, etc. 2018-03-21 16:50:00 +01:00
Tomas Susanka
e435175d79 tests/device: nem encrypted payload doesn't ask for confirmation 2018-03-21 15:16:09 +01:00
Tomas Susanka
333343224b tests/device: typos in nem tests 2018-03-21 15:16:09 +01:00
matejcik
e4a2946398 nem: fill out address_n properly for nem_sign_tx 2018-03-21 14:56:27 +01:00
Tomas Susanka
93dbdb14c1 tests/device: nem encrypted payload 2018-03-21 13:29:23 +01: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
Tomas Susanka
49272f8d86 bip32/nem: added test data for encryption of block size multiple 2018-03-20 17:18:28 +01:00
Jan Pochyla
c23c519e37 vendor/trezor-common: update 2018-03-20 16:48:45 +01:00
Jan Pochyla
6c9c563323 pin: simplify label code 2018-03-20 16:48:45 +01:00
Jan Pochyla
01bc12ec27 src/apps/debug: simplify debuglink, add more decision/state fields
- move data exported over debuglink into apps.debug
- move debug signals into apps.debug
- make pin/mnemonic dialogs testable
- streamline code style of apps.management.reset_device
- check __debug__ when debug app starts
2018-03-20 16:48:45 +01:00
Jan Pochyla
f9c51af32f src/trezor/loop: cleanup signal in case of task failure 2018-03-20 16:48:45 +01:00
Jan Pochyla
71dd003637 tests: add T2 ResetDevice test 2018-03-20 16:47:11 +01:00
Jan Pochyla
3e65761395 debuglink: add new fields 2018-03-20 16:47:11 +01:00
Jan Pochyla
66a85673ed add debug link fields 2018-03-20 16:45:10 +01:00
Pavol Rusnak
886888b775
firmware: bump version to 2.0.6 2018-03-20 16:25:03 +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
matejcik
4b59d9191c flake8: fix complaints in new code.
One of these days I'm going to automate this check.
2018-03-20 13:29:33 +01:00
matejcik
7e1d962799 trezorlib: sign_tx only downloads non-segwit transactions.
This should achieve the same goal as PR #193.
In addition, this refactor removes usage of `_extend_` methods
and the unnecessary `_fill_missing` calls.
2018-03-20 13:10:08 +01:00
matejcik
afb3e04c24 trezorlib/protobuf.py: return BytesType from wire as bytes, not bytearray.
This makes more sense, because bytes are immutable and callers have no business
mutating structures from the wire anyway.

Incidentally this should fix issue #236, where rlp library would treat
bytes and bytearrays differently and produce invalid structures in our usecase.

Also very minor nitpicks and code cleanup for neater typing.
2018-03-20 13:00:36 +01:00
matejcik
f87d931ce7 trezorlib: factor out NEM to a separate module 2018-03-20 12:39:23 +01:00