1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-23 14:58:09 +00:00
Commit Graph

2517 Commits

Author SHA1 Message Date
matejcik
6d434122f7 feat(core/bootloader): emulator can now show custom error screens 2023-04-03 22:01:26 +02:00
matejcik
2dd44786d5 fix(core/emulator): use a gamma lookup table for better fadein/fadeout performance 2023-04-03 22:01:26 +02:00
matejcik
6e85d61688 feat(core): QA build for testing bootloaders / upgrades
[no changelog]
2023-04-03 22:01:26 +02:00
matejcik
56047bd34a chore(core): regenerate unsigned and dev-signed vendor headers 2023-04-03 22:01:26 +02:00
matejcik
25660144f0 chore(core): update vendor header definitions
* change version format to match the new code
* change devel vendor header size - fixes #659
* add definition for QA vendor header, with production-like flags but
  devel key

THIS QA VENDOR HEADER MUST NOT BE SIGNED BY PRODUCTION KEYS
2023-04-03 22:01:26 +02:00
matejcik
acbf642d39 fix(core): update build_vendorheader 2023-04-03 22:01:26 +02:00
matejcik
288cd11b2a refactor(core/bootloader): inline "wait for click" into ui_screen_boot_click 2023-04-03 22:01:26 +02:00
matejcik
e10b6ecc26 feat(core/rust): improve behavior of from_c_str / from_c_array 2023-04-03 22:01:26 +02:00
tychovrahe
7e96b96d00 feat(core/bootloader): remove different logo color when firmware present 2023-04-03 22:01:26 +02:00
matejcik
ae9960ca61 feat(core): introduce bootloader emulator 2023-04-03 22:01:26 +02:00
matejcik
af6c6d43ed fix(core/unix): add miscellaneous missing header entries 2023-04-03 22:01:26 +02:00
matejcik
07addae05f feat(core/unix): add blocking reads and deinit code to emulated UDP-USB 2023-04-03 22:01:26 +02:00
matejcik
497ead7111 feat(core/unix): fill out (non-persistent) OTP functionality 2023-04-03 22:01:26 +02:00
tychovrahe
9b8984896e refactor(core): unify error screens
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
64bc94cbc9 feat(core): uninitialized welcome flow
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
2537436211 feat(core): update bootloader style
[no changelog]
2023-04-03 22:01:26 +02:00
Martin Milata
c100358ce2 fix(core/ui): don't send ButtonRequest when displaying GetAddress QR code
[no changelog]
2023-04-03 17:57:18 +02:00
tychovrahe
6e0c2578f8 fix(core): fix FMC initialization
[no changelog]
2023-03-31 22:34:14 +02:00
tychovrahe
dcda5e0142 feat(core): support old homescreen format
[no changelog]
2023-03-30 19:06:35 +02:00
Martin Milata
2388a8edea style(core/rust/ui): rename Map to MsgMap
[no changelog]
2023-03-30 13:55:54 +02:00
Martin Milata
08cad2f909 fix(core/ui): coinjoin layouts style update
[no changelog]
2023-03-30 13:55:54 +02:00
Andrew Kozlik
77d8af1322 refactor(core): Use set_int()/get_int() for APP_COMMON_AUTHORIZATION_TYPE. 2023-03-30 13:55:54 +02:00
Andrew Kozlik
9bb1d1cf8b feat(core): Implement storage.cache.get_int_all_sessions(). 2023-03-30 13:55:54 +02:00
tychovrahe
0fb55553b7 fix(core): increase work buffer size for jpeg decompression
[no changelog]
2023-03-29 21:39:05 +02:00
grdddj
d8cad1f4a9 chore(core): bump bootloader version to 2.1.0
[no changelog]
2023-03-28 15:34:06 +02:00
grdddj
26edb42979 chore(core): bump version to 2.6.0
[no changelog]
2023-03-28 15:34:06 +02:00
matejcik
9244522721 fix(core): remove shutdown()
In a very weird situation, our declaration of `shutdown()` shadows a
function `shutdown(int, int)` from sys/socket, which _just happens_ to
be called by libxcb when closing the sdl window. This calls
`main_clean_exit` which calls into micropython and causes at best an
uncaught NLR and at worst an outright segfault because by that time the
micropython environment doesn't exist anymore.

I didn't think this sort of thing would be possible but here we are??

Fixed by removing `__shutdown()` and replacing `shutdown` with
`trezor_shutdown`
2023-03-24 13:24:46 +01:00
matejcik
b92c5c21f9 feat(core): update Ethereum definitions to verify using CoSi 2023-03-24 13:24:46 +01:00
matejcik
dc5e4c1c8f feat(core): implement CoSi module and CoSi verification 2023-03-24 13:24:46 +01:00
Martin Novák
c2c0900c5d feat(core): external Ethereum definitions 2023-03-24 13:24:46 +01:00
matejcik
505e014ae1 refactor(core): delegate EthereumGetPublicKey to bitcoin GetPublicKey 2023-03-24 13:24:46 +01:00
Martin Milata
e60ed788f2 fix(core/rust/ui): add cargo flag for Component::bounds() support
Rarely used debugging feature.

[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
afe965687f fix(core/ui): style update: frame and corner button
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
670cbd7a1d fix(core/ui): style update: paging
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
19a2ea21b6 fix(core/ui): Model T style update
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
3623f966dc fix(core/rust/ui): fix text baseline calculation
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
4199d4ad41 fix(core/ui): style update: fonts
[no changelog]
2023-03-23 20:16:22 +01:00
grdddj
31ef923e15 fix(core): create separate display buffer for gamma correction
So that the screenshots in UI tests are not affected by it.
Also not doing the gamma correction in case of SDL_VIDEODRIVER=dummy.

[no changelog]
2023-03-23 17:35:09 +01:00
grdddj
70120b72cc feat(core): allow for changing the emulator gamma correction value by keyboard arrows
[no changelog]
2023-03-23 09:37:59 +01:00
grdddj
a1974f6953 feat(core): perform 0.55 gamma correction on emulator display
[no changelog]
2023-03-23 09:37:59 +01:00
tychovrahe
3f54b84aef fix(core/bootloader): fix retries when reading from USB 2023-03-22 15:09:39 +01:00
Ondrej Mikle
4d0381055c fix(crypto): adapt to changing insecure PRNG to be opt-in 2023-03-22 10:21:21 +01:00
Ondrej Mikle
a5f7c19f7e fix(core/bootloader): do not use insecure LCG PRNG. Change insecure PRNG to be opt-in, not opt-out 2023-03-22 10:21:21 +01:00
Martin Milata
dce876069b Merge branch 'release/23.03'
Conflicts:
	legacy/firmware/version.h
	tests/ui_tests/fixtures.json
2023-03-20 13:02:35 +01:00
Dusan Klinec
eacd15383b chore: update trezor_tests binary
- tests revamp, always use passphrase flow with transaction signing, more passphrase-related tests, pin test, invalid passphrase test. Chain generation optimized
2023-03-13 16:09:52 +01:00
Jan Šetina
04964dc2e8 feat(core/ui): change GREY_DARK and GREY_MEDIUM
[no changelog]
2023-03-13 01:34:14 +01:00
Martin Milata
b8abccbc94 feat(core/rust/ui): implement Clone for StrBuffer
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
4af5939a0b feat(core/ui): redesigned receive flow
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
1b94a7cb7b feat(core/ui): page break icons
Co-authored-by: grdddj <jiri.musil06@seznam.cz>

[no changelog]
2023-03-09 23:36:36 +01:00
Andrew Kozlik
60aa2e7292 feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
Andrew Kozlik
d4ddc78dbb feat(core): Show path for internal outputs in BTC signing. 2023-03-09 23:36:36 +01:00
Martin Milata
4622aec0f1 refactor(core): switch to Rust implementation of QR-Code-generator
[no changelog]
2023-03-09 23:36:36 +01:00
grdddj
a1663de771 chore(core): silence false alarms in coverage report
[no changelog]
2023-03-09 16:50:32 +01:00
grdddj
d4fbd4a95d feat(core): adjust coverage-report for local usage
It is now possible to run the coverage tests without moving any files
manually and the script can be called multiple times without failing.
Also improves reporting of errors.

[no changelog]
2023-03-09 16:50:32 +01:00
grdddj
07797158db feat(core): adjust the coverage file output for multicore tests
When the tests are run using multiple cores, there will

be one .coverage file for each core. So that the one file

is not being overwritten many times, using unique

filename for each core.

[no changelog]
2023-03-09 16:50:32 +01:00
grdddj
6a51351983 feat(ci): run core device test with multicore support
Tests are much quicker. Max amount of cores chosen
as 4, bigger values were sometimes unstable.

[no changelog]
2023-03-09 16:50:32 +01:00
tychovrahe
d633fa885b feat(core/rust): model R bootloader implementation in rust 2023-03-09 16:14:36 +01:00
tychovrahe
659c939080 fix(core/rust): fix glyph positioning in TextOverlay 2023-03-09 16:14:36 +01:00
tychovrahe
e30fdddd83 fix(core): clear model R display before turning it on 2023-03-09 16:14:36 +01:00
tychovrahe
5a991f3244 feat(core/rust): bootloader implementation in rust 2023-03-09 16:14:36 +01:00
matejcik
f9612898ab feat(core/rust): improved error reporting 2023-03-09 16:14:36 +01:00
matejcik
e0bcdb16e0 refactor(core/rust): clarify safety of StrBuffer creation 2023-03-09 16:14:36 +01:00
matejcik
b864ad58b2 feat(core/rust): cleaner backlight functions 2023-03-09 16:14:36 +01:00
tychovrahe
9b9443ead7 feat(core/rust): added color constructor from rgba format, added text display functions using top-left coordinates 2023-03-09 16:14:36 +01:00
tychovrahe
a1312d8453 feat(core/rust): added button with icon and text 2023-03-09 16:14:36 +01:00
tychovrahe
e75f112ec2 feat(core/rust): expose touch processing functions to rust 2023-03-09 16:14:36 +01:00
tychovrahe
cacae36c73 feat(core/rust): bootloader compilation with rust 2023-03-09 16:14:36 +01:00
tychovrahe
3b23621bea feat(core): modify bootloader linkerscript to support rust 2023-03-09 16:14:36 +01:00
Andrew Kozlik
edeccde9f3 fix(core): Show app icon in Fido2ConfirmNoCredentials.
[no changelog]
2023-03-09 14:51:22 +01:00
Jan Šetina
d540c52c0c chore(core): change the homescreen 2023-03-09 14:03:48 +01:00
Jan Šetina
30b636079e chore(core): change the color definitions 2023-03-09 14:03:48 +01:00
David Misiak
79632d32c7 chore(cardano): update ui tests, add changelog 2023-03-06 11:27:13 +01:00
David Misiak
826ade2a8d chore(cardano): rename voting public key to vote public key 2023-03-06 11:27:13 +01:00
David Misiak
0754a008e9 chore(cardano): rename cvote reward_address to payment_address 2023-03-06 11:27:13 +01:00
David Misiak
2011ffe9c9 chore(cardano): replace governance by cvote 2023-03-06 11:27:13 +01:00
David Misiak
764e3c8d75 fix(cardano): update cvote bech32 prefix 2023-03-06 11:27:13 +01:00
David Misiak
ac58c1c25b feat(cardano): show governance registration reward address credentials 2023-03-06 11:27:13 +01:00
David Misiak
a94cfa1a13 feat(cardano): allow external reward addresses in governance registrations 2023-03-06 11:27:13 +01:00
grdddj
1215268ae9 chore(rust): decrease icon top margin on welcome screen to 48 px
[no changelog]
2023-03-02 15:58:58 +01:00
tychovrahe
ead61d1e90 refactor(core): improve flexibility of build, allow different touch panel driver, allow STM32F429
[no changelog]
2023-03-02 15:56:33 +01:00
Martin Milata
557e29769b feat(core/ui): redesigned passphrase dialogs
[no changelog]
2023-02-28 23:30:38 +01:00
Martin Milata
233a292fd2 Merge branch 'master' into secfix/23.03
Conflicts:
	core/Makefile
	core/SConscript.firmware
	core/embed/firmware/bootloader.bin
	core/embed/firmware/bootloaders/bootloader_T.bin
	core/embed/firmware/bootloaders/bootloader_T2T1.bin
	python/src/trezorlib/firmware/core.py
	python/src/trezorlib/firmware/models.py
2023-02-28 15:20:36 +01:00
Martin Milata
16a9f187bd chore(common): update chains and tokens
[no changelog]
2023-02-28 14:46:34 +01:00
Andrew Kozlik
423ce75b4f feat(core): Validate script type of change-outputs in Bitcoin signing. 2023-02-28 14:06:07 +01:00
Andrew Kozlik
102ab3c7d6 feat(core): Check script type match for change-outputs in Bitcoin signing. 2023-02-28 14:06:07 +01:00
Andrew Kozlik
9528e2f9eb feat(common): Add Apple to known FIDO services. 2023-02-28 10:54:48 +01:00
Andrew Kozlik
4372d19ceb feat(core): Remove authorization when rounds are depleted.
[no changelog]
2023-02-27 14:22:25 +01:00
grdddj
acec852aa4 feat(core): show welcome screen after device is connected
[no changelog]
2023-02-27 13:22:09 +01:00
grdddj
5d987b2bc9 feat(core): not showing Starting up progress loader after connecting device
[no changelog]
2023-02-27 13:22:09 +01:00
Andrew Kozlik
00dde0e312 feat(core): Handle .dummy RP ID in Chrome FIDO2. 2023-02-23 13:02:33 +01:00
Andrew Kozlik
2ee5b0aa15 fix(core): Fix FIDO2 falling back to U2F.
[no changelog]
2023-02-23 13:02:33 +01:00
Andrew Kozlik
deb38a2db5 feat(core): Ignore channel ID in U2F.
Safari browser changes the CID for every single operation. We need to
keep up the same U2F dialog for different CIDs as long as the dialog
corresponds to the same request data.
2023-02-23 13:02:33 +01:00
grdddj
107a7c93b1 chore(core): enable reboot-to-bootloader without experimental features 2023-02-22 10:21:24 +01:00
Martin Milata
d3dd0e3c6f build(core): fix filename when BITCOIN_ONLY is unset
[no changelog]
2023-02-19 23:23:27 +01:00
Andrew Kozlik
0a955b4ad6 feat(core): Force basic attestation in FIDO2 for google.com. 2023-02-17 16:00:41 +01:00
grdddj
20d280d7e0 feat(core): ability to not show passphrase coming from host
[no changelog]
2023-02-17 12:55:11 +01:00
Martin Milata
afb5c55416 feat(core/ui): reset_device copy change
[no changelog]
2023-02-17 12:35:19 +01:00
Andrew Kozlik
5715fbfc9c fix(tests): Fix ownership proof unit test to match test vector 2 from SLIP-19.
[no changelog]
2023-02-15 10:37:49 +01:00
grdddj
82bd908246 feat(core): EIP712 signing shows the ethereum address at the beginning 2023-02-14 15:30:05 +01:00
grdddj
aa283a8392 fix(core): remove the possibility of AssertionError in select_word
In case there are less than three unique word to choose from, duplicating the last word to make the length of 3.

[no changelog]
2023-02-14 15:28:37 +01:00