1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-25 15:58:08 +00:00
Commit Graph

801 Commits

Author SHA1 Message Date
Andrew Kozlik
a34637c0f2 core/sign_tx: Check multisig fingerprint before signing inputs. 2020-03-20 14:17:44 +00:00
Tomas Susanka
163220e4b7 core/wallet: properly check decred input 2020-03-20 14:17:44 +00:00
Ondřej Vejpustek
6274cfdf8b core: remove unreachable zcash code 2020-03-20 14:17:44 +00:00
Ondřej Vejpustek
d61181d7e8 core: fix transaction header for mixed segwit inputs 2020-03-20 14:17:44 +00:00
Tomas Susanka
f0a39df75d core/wallet: check inputs and outputs right after receiving them 2020-03-20 14:17:44 +00:00
Tomas Susanka
0903159d9b core, legacy: make sure OPRETURN ouput is not marked as change 2020-03-20 14:17:44 +00:00
Tomas Susanka
4af9aa547e core: forbid unnecessary fields in OPRETURN output 2020-03-20 14:17:44 +00:00
Andrew Kozlik
d800fcbf9f core/sign_tx: If there is a non-multisig input, then change output cannot be multisig.
(cherry picked from commit 8eb6ce0899)
2020-03-20 14:17:44 +00:00
Andrew Kozlik
b3cd760df0 core/webauthn: Disable CTAPHID_WINK function. 2020-03-20 15:07:06 +01:00
Andrew Kozlik
e5008eb332 core/webauthn: Remove indistinguishable credentials from the allow list. 2020-03-20 15:07:06 +01:00
Andrew Kozlik
cda9de8dd1 core/webauthn: Add maxCredentialCountInList and maxCredentialIdLength to authenticatorGetInfo response. 2020-03-20 15:07:06 +01:00
Andrew Kozlik
0af0e06d5b core/webauthn: Truncate names in credential data to at most 100 bytes. 2020-03-20 15:07:06 +01:00
matejcik
ccffefd667 core/boot: do not catch OSError in boot wait 2020-03-20 14:03:28 +01:00
matejcik
f6f041e269 core/sdcard: also catch OSError in the formatting phase 2020-03-20 14:03:28 +01:00
matejcik
3a71a5a05c core/sdcard: show "Wrong SD card" when unlocking SD protect with unformatted card 2020-03-20 14:03:28 +01:00
matejcik
3789a3372b core/sdcard: modify exception handling in fatfs
expose ff.c constants, raise them as arguments to FatFSError

introduce NotMounted and NoFilesystem as subclasses of FatFSError with
the appropriate error code set
2020-03-20 14:03:28 +01:00
Andrew Kozlik
8ee0026637 core: Allow PIN entry even when SD protect is enabled and the card is not present. 2020-03-19 15:04:33 +01:00
Konnor Klashinsky
70a1f957ed
Fix BackupDevice layout on 18-word seed wallets 2020-03-13 13:41:04 +13:00
Andrew Kozlik
2f905a1157 core/webauthn: Add algorithm and curve to WebAuthnListResidentCredentials response. 2020-03-12 15:45:26 +01:00
Andrew Kozlik
f610787f8d core/webauthn: Clean up bytes/bytearray typing around uctypes. 2020-03-12 15:45:26 +01:00
Andrew Kozlik
e378820f7f core/webauthn: Implement support for Ed25519 signatures in FIDO2. 2020-03-12 15:45:26 +01:00
Pavol Rusnak
624b639ba8
Merge pull request #886 from trezor/onvej-sl/monero-optimizations-squashed
xmr/bp: memory optimizations and improvements, fixed style
2020-03-02 17:54:30 +01:00
Tomas Susanka
f8de140271 core: add cancel to hold to confirm dialogs 2020-03-02 13:58:41 +00:00
Dusan Klinec
2658e253fa xmr/bp: memory optimizations and improvements
- different approach to vector manipulation - more on the fly operations. Prepared for fully offloaded operations, BP on Trezor with constant memory.
- memory requirements reduced from (4MN + const) to (2MN + const)
- more raw methods to avoid unnecessary encoding/decoding
- chunking improved, chunk size set as a constant, changed from 64 to 32, missing pieces implemented to cover also BP 16
- proof_v8 support discontinued, old hardfork, not needed anymore
- get_exponent register clash fixed (for large vectors)
- reduced heap fragmentation by removing some temporary allocations
- hashing with len and offset to reduce heap fragmentation by creating a sliced arrays
- use to() wherever possible to avoid allocations and return of mutable private object
- global functions start with _ prefix, reduce import footprint
- use __slots__ in classes to minimize footprint
2020-03-02 12:17:03 +01:00
Tomas Susanka
21676a0662 ore/tezos: better wording in delegation cancel 2020-03-02 08:49:34 +00:00
matejcik
7f91bc571c core: ensure default task restarts after a passphrase workflow (fixes #883) 2020-02-28 15:55:40 +01:00
Tomas Susanka
5ee6e56f56
Merge pull request #880 from trezor/tsusanka/sign-verify-ui
Unify sign/verify message dialogs and fix text overflow
2020-02-28 15:47:48 +01:00
matejcik
bd9663af79 common/defs: update token reference, add new tokens to 2.3.0/1.9.0, regenerate coins_details 2020-02-27 19:13:17 +01:00
Tomas Susanka
86b010a18b
Merge pull request #878 from trezor/matejcik/fatfs-corruption
FatFS API rework
2020-02-27 15:58:38 +01:00
Tomas Susanka
a8af9feebe core: fix text overflow in some dialogs 2020-02-27 12:43:33 +00:00
Tomas Susanka
744c32991f core: unify sign/verify functions
The UI records are modified because of two changes:
- Added a coin name to the Sign/Verify screen (ETH/Lisk).
- Unified to use mono.
2020-02-27 12:43:33 +00:00
Tomas Susanka
495a59c282 core: use wire errors instead of ValueErrors where applicable 2020-02-27 10:46:01 +00:00
matejcik
18ac4fc9ca core: update Python facing APIs 2020-02-27 10:56:23 +01:00
matejcik
b916072389 common: restore PassphraseAck.state 2020-02-24 15:15:09 +01:00
matejcik
d7b9582386 core/sdcard: add ensure_filesystem option (fixes #868)
It is possible to call `ensure_sdcard` in a way that requires only SD
card be inserted, but not necessarily formatted.

This is useful for SD-protect and possibly other use-cases where the SD
card is read-only, and "not formatted" is identical to "not containing
the right files".
2020-02-24 13:28:44 +01:00
matejcik
e9c275c24f core/sdcard: fix invalid state when filesystem mounting fails 2020-02-24 13:28:44 +01:00
Tomas Susanka
6c47bf8230 core: store multiple sessions/caches at the same time 2020-02-21 14:40:42 +01:00
Pavol Rusnak
562671401e
Merge pull request #860 from trezor/prusnak/multisig-show-yours-others
core: show yours/others in get_address for multisig
2020-02-20 13:49:13 +01:00
matejcik
ddee77ecb6 core: add SD clearing via debuglink 2020-02-20 12:51:48 +01:00
matejcik
1e9352b9e0 core: add SD format dialog, generalize sdcard usage 2020-02-20 12:51:48 +01:00
matejcik
5bac85f260 core: use filesystem wrapper instead of the ensure_filesystem decorator 2020-02-20 12:51:48 +01:00
matejcik
d08942be4a core: introduce filesystem wrapper 2020-02-20 12:51:48 +01:00
Tomas Susanka
ff1bb67abc common: return the PasshraseType button request 2020-02-20 08:04:35 +00:00
Pavol Rusnak
581e46ff87
Merge pull request #845 from trezor/prusnak/webusb-popup
Don't show WebUSB popup in firmware, in bootloader only if no firmware present
2020-02-19 18:18:01 +01:00
Pavol Rusnak
7944c1a837
core/monero: add confirmation dialog for unlock_time 2020-02-19 14:31:45 +00:00
Pavol Rusnak
a808cc9190
core/apps: await require_confirm should be called without return 2020-02-19 14:31:45 +00:00
Pavol Rusnak
b9486c0b33
core: show yours/others in get_address for multisig 2020-02-18 22:39:55 +00:00
matejcik
e61b7d28e9 all: do not send state in PassphraseAck (not needed for compatibility) 2020-02-13 15:44:50 +01:00
Pavol Rusnak
07cd73ce57
core: show webusb popup only in bootloader and only if firmware is not installed 2020-02-12 20:47:05 +00:00
matejcik
d3b88a37be core: do not catch SystemExit in handle_session (#826) 2020-02-12 10:36:42 +01:00
Tomas Susanka
f947fe97cc core: fix style 2020-02-11 16:41:43 +01:00
Tomas Susanka
0a13f7a441 core: properly limit passphrase to 50 bytes 2020-02-11 15:39:08 +00:00
Tomas Susanka
2c0504ad1c
Merge pull request #803 from trezor/passphrase
Passphrase Redesign
2020-02-11 16:01:59 +01:00
matejcik
05a1d6f771 core/debug: add "show arbitrary screen" capability, for easier prototyping 2020-02-11 11:53:34 +01:00
matejcik
c01d04f26e common/protob: drop a default field declaration
which triggers nanopb bug https://github.com/nanopb/nanopb/issues/487
2020-02-11 11:53:34 +01:00
matejcik
4c9689d7a7 common: return deprecated fields to protobuf, to allow cross-version compatible code 2020-02-10 12:35:28 +01:00
Pavol Rusnak
e58225fe02
core/boot: don't call mkfs in emulator 2020-02-07 15:30:21 +00:00
Pavol Rusnak
fdfa64ac2a
core/ui: fix HoldToConfirm redraw 2020-02-07 15:21:16 +00:00
Tomas Susanka
56dc952495 common: fix PassphraseAck.on_device id 2020-02-07 14:19:01 +00:00
Pavol Rusnak
73ed2f3450
legacy: small nitpicks related to the new passphrase handling 2020-02-07 11:41:03 +00:00
Tomas Susanka
15ed5cd19e
core: do not clear cache on ClearSession 2020-02-07 11:41:03 +00:00
Tomas Susanka
fd0dc8ed66
core/passphrase: merge 'get from user' functions 2020-02-07 11:41:03 +00:00
Tomas Susanka
7d7ffe3b67
cardano: derive the root and then cache 2020-02-07 11:41:02 +00:00
matejcik
938f347514
core: use DUMMY_CONTEXT constant instead of own instance 2020-02-07 11:41:02 +00:00
matejcik
1f50a13edf
core: use cache for Monero live refresh confirmation 2020-02-07 11:41:02 +00:00
Tomas Susanka
b96d7cafbb
core: rework cache and fix cardano caching 2020-02-07 11:41:01 +00:00
Tomas Susanka
aa6988a556
core/ui: introduce draw_simple 2020-02-07 11:41:01 +00:00
Tomas Susanka
d5763d9cab
all: implement code review comments 2020-02-07 11:41:01 +00:00
Tomas Susanka
f3553f63f1
common: remove PassphraseRequest.on_device completely 2020-02-07 11:41:00 +00:00
Tomas Susanka
c65b57affb
core, legacy: remove passphrase_cached 2020-02-07 11:41:00 +00:00
Tomas Susanka
8fa0d8f098
core/passphrase: show dialog to enter the passphrase on host 2020-02-07 11:41:00 +00:00
Tomas Susanka
a3f3d4fcdb
remove ping.passphrase/pin 2020-02-07 11:41:00 +00:00
Tomas Susanka
b5d6aaf77c
tests: test PassphraseAck options 2020-02-07 11:41:00 +00:00
Tomas Susanka
ece351c5e5
core: do not prompt for passphrase if 'always' setting is enabled 2020-02-07 11:40:59 +00:00
Tomas Susanka
466dc4732d
core/passphrase: add button requests 2020-02-07 11:40:59 +00:00
Tomas Susanka
4a0f727f13
core: fix monero 2020-02-07 11:40:59 +00:00
Tomas Susanka
cd09f9ce94
all: modify passphrase source to always on device 2020-02-07 11:40:59 +00:00
Tomas Susanka
eafd57c301
common, core: add passphrase entry capability 2020-02-07 11:40:58 +00:00
Tomas Susanka
90d5cdfd5b
all: rework passphrase
The `on_device` field is being moved to PassphraseAck, State messages
are removed. Features newly contain `session_id`.
2020-02-07 11:40:58 +00:00
Tomas Susanka
277e494ffa core/recovery: end dry run before showing success
updates #815
2020-02-03 12:12:49 +00:00
EtherCore Contributor
c03caaf76a
common/defs: switch ERE logo (#808) 2020-01-29 10:49:21 +01:00
matejcik
0df3c64855 core: fix unexpected messages in debug mode (fixes #809) 2020-01-27 19:41:41 +01:00
matejcik
4e82e69070 core: add missing type annotation 2020-01-24 16:55:24 +01:00
Tomas Susanka
0053511c66 utils: introduce format_plural and move format functions to strings.py 2020-01-24 16:25:14 +01:00
matejcik
75264a07a8
Emulator launcher scripts (#796)
Emulator launcher scripts
2020-01-24 16:18:18 +01:00
Pavol Rusnak
3de1b3aa54
core/embed: switch to unprivileged in main.c 2020-01-24 12:29:46 +00:00
matejcik
2294fb0453 core: drop unused env variables (TREZOR_TEST, TREZOR_SAVE_SCREEN) 2020-01-23 18:43:20 +01:00
matejcik
29e883ab59 core/monero: fix usage of ctx.wait in pagination 2020-01-23 15:46:09 +01:00
matejcik
a79279115e core: move confirm_signal evaluation into concrete Layout implementations
Apart from making the code more correct for its users in
apps.common.confirm and elsewhere, this fixes a problem where the
confirm_signal would be scheduled before the dialog is rendered.
By making sure that handle_rendering is scheduled (i.e., listed in
create_tasks) before confirm_signal, we can be sure to render at least
once and thus appear in the UI test results.
2020-01-23 15:45:10 +01:00
Pavol Rusnak
8a36ead915
common/defs: add Faceboook to recognized apps 2020-01-16 15:35:45 +00:00
Dušan Klinec
af6a607b39 common/xmr: message changes optimizing runtime and memory (#786) 2020-01-12 22:24:18 +01:00
Andrew Kozlik
289d8276eb core/fido2: check for HID timeout in send_cmd() (#791) 2020-01-11 14:33:24 +01:00
Tomas Susanka
7c41b40dff
tests: introduce UI tests for core with diffs (#784)
tests: introduce UI tests for core with diffs
2020-01-10 20:39:31 +01:00
Tomas Susanka
30858c4969 tests/ui: omit the red square from screenshots
except the first one on homescreen because it gets rendered only once
2020-01-10 08:25:12 +00:00
matejcik
f90ba10af3 core: modify function signatures to match python-shamir-mnemonic 2020-01-09 16:00:33 +01:00
Jan Pochyla
6afff3cc0e core/loop: remove unused code 2020-01-07 20:52:43 +01:00
Tomas Susanka
47419c7768 core/ui: simplify swipe if animation is disabled 2020-01-06 14:57:01 +00:00
Tomas Susanka
51ef963738 tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
Tomas Susanka
d8e956fc6d core/recovery: change exceptions types; modifications in tests 2019-12-30 11:35:56 +00:00
Tomas Susanka
7f730cb6f9 core/recovery: refactor to exceptions 2019-12-27 19:02:30 +00:00
Tomas Susanka
f4e11a9176 core/recovery: rework arguments 2019-12-27 18:46:22 +00:00
Tomas Susanka
faa9078c2b core/recovery: refactor word checks and add a test 2019-12-23 13:40:45 +01:00
Tomas Susanka
6594ee9368 core/recovery: correctly inform about share already entered inside first group 2019-12-19 17:07:44 +00:00
Pavol Rusnak
d6a3725955
common: remove coins with no trezor compatible wallets 2019-12-15 18:19:36 +00:00
Pavol Rusnak
e5bdf0d51b
Merge pull request #742 from trezor/language
common: change language field to IETF BCP 47 language tag
2019-12-12 18:07:54 +01:00
Andrew Kozlik
0432f5e801 webauthn: Add use_self_attestation flag to FIDO apps. 2019-12-11 15:29:52 +01:00
Andrew Kozlik
2e9db44434 core/webauthn: Add AAGUID to README.md. 2019-12-10 15:56:41 +01:00
Pavol Rusnak
7646b97dca
common: divisibility -> decimals 2019-12-09 17:43:47 +01:00
matejcik
3a132e594e core/stellar: make sure function that awaits is async 2019-12-09 16:31:46 +01:00
matejcik
ac6e23fb87 mako: improve local variable name 2019-12-09 16:31:46 +01:00
matejcik
558020be01 common: drop lastpass from FIDO apps
as it doesn't actually support FIDO/U2F
2019-12-09 16:31:46 +01:00
matejcik
67b2ba558b core: auto-generate list of FIDO known apps
and improve code for loading icons
2019-12-09 16:31:46 +01:00
matejcik
a46fd6f508 core: auto-generate FIDO icons 2019-12-09 16:31:46 +01:00
Pavol Rusnak
bb8d809a6d
common: change language field to IETF BCP 47 language tag 2019-12-08 11:27:10 +01:00
Tomas Susanka
61430d800e core/stellar: add screen for timebounds 2019-12-05 14:31:28 +00:00
Pavol Rusnak
3d50bb5ed8
common: add Peercoin, regenerate coins 2019-12-05 09:43:32 +00:00
Pavol Rusnak
5301c03607
common: add coin.divisibility attribute
legacy: remove has_address_type/has_address_type_p2sh
2019-12-05 04:30:51 +01:00
Andrew Kozlik
6ca0288092
Merge pull request #720 from trezor/andrewkozlik/wipe-code
Implement wipe code feature.
2019-12-04 15:24:49 +01:00
Andrew Kozlik
420a4b8ba7 core/webauthn: Close U2F confirmation screen if browser stops polling for more than 3 seconds. 2019-12-03 14:48:59 +01:00
Andrew Kozlik
0b851d6959 core/webauthn: Reply with ERR_CHANNEL_BUSY once a U2F request has been declined to stop Chrome from polling. 2019-12-03 14:48:59 +01:00
Andrew Kozlik
4d3c634732 core/webauthn: Use different return code when user verification is requested but PIN is not set to get better browser behavior. Related to cf6949332f. 2019-12-03 14:48:59 +01:00
Andrew Kozlik
a63ff8f9b4 core/webauthn: Add bogus app ID used by Firefox to indicate error in U2F. Figure out which error to display based on past U2F_AUTHENTICATE check-only requests on the same channel. 2019-12-03 14:48:59 +01:00
Andrew Kozlik
a704bfe184 core/webauthn: Allow only one CTAPHID_WINK command at a time on any given channel ID to fix continuous display blinking with Android. 2019-12-03 14:18:43 +01:00
Andrew Kozlik
3a4e9bd25c core/ui: Ignore any new alert requests if an alert is already in progress in order to avoid multiple alerts overlapping. 2019-12-03 14:18:43 +01:00
Andrew Kozlik
7c39e2f142 core/webauthn: Specify the exception raised by res.load(). 2019-11-26 15:44:05 +01:00
Andrew Kozlik
790178a442 fixup! core/webauthn: Allow new workflow to be set after a command response is sent, so that in device tests the next test doesn't fail with ERR_CHANNEL_BUSY while the previous workflow is closing. 2019-11-26 15:18:14 +01:00
Andrew Kozlik
c463069895 core/webauthn: Don't log an exception when a relying party is not listed in knownapps. 2019-11-26 15:18:14 +01:00
Andrew Kozlik
203853faed core/webauthn: Allow new workflow to be set after a command response is sent, so that in device tests the next test doesn't fail with ERR_CHANNEL_BUSY while the previous workflow is closing. 2019-11-26 15:18:14 +01:00
Andrew Kozlik
1bc8226a50 common, core: Add wipe_code_protection to the Features message. 2019-11-25 12:32:20 +01:00
Andrew Kozlik
a3b608d8dd storage, core: Reveal the wipe code status after the device is unlocked. 2019-11-25 12:32:20 +01:00
Andrew Kozlik
a168d661cf core: Add support for ChangeWipeCode message. 2019-11-25 12:32:20 +01:00
Andrew Kozlik
4381511930 common: Add ChangeWipeCode message. 2019-11-25 12:32:20 +01:00
Andrew Kozlik
2ae1d9a935 webauthn: Disable signature counter in FIDO2 for dropbox.com, gandi.net, secure.login.gov. 2019-11-21 13:59:45 +01:00
matejcik
1f6cc77dec upgrade black to 19.10b0 2019-11-20 16:02:47 +01:00
matejcik
34913a328a all: disallow most RecoveryDevice fields in dry-run (fixes #666) 2019-11-20 12:27:57 +01:00
Pavol Rusnak
d029920540
core/webauthn: update metadata 2019-11-16 10:53:10 +00:00
Pavol Rusnak
e1e081fb7a
core/webauthn: fix metadata 2019-11-13 17:16:23 +01:00
matejcik
09962708d3 core: move load_device to the debug app 2019-11-13 16:48:35 +01:00
matejcik
fd8aed6105 all: drop XPRV feature of LoadDevice 2019-11-13 16:48:35 +01:00
Pavol Rusnak
16af7f1353 common: add {needs,no}_backup flags to LoadDevice, make it debug only 2019-11-13 16:48:35 +01:00
Pavol Rusnak
cde944b565
Merge branch 'reorder-usb' 2019-11-13 16:23:07 +01:00
Tomas Susanka
85d7215bf3
Merge pull request #700 from trezor/tsusanka/upgrade-u2f-check
Get next u2f counter and add tests for it
2019-11-13 15:19:22 +01:00
Pavol Rusnak
df273bf836
core/usb: reorder endpoints 2019-11-13 13:21:39 +01:00
Pavol Rusnak
3b5a113304
core/usb: small reformat 2019-11-13 11:33:58 +00:00
Tomas Susanka
a8b82975a1 core/management: get next u2f counter 2019-11-13 10:55:52 +00:00
Tomas Susanka
2a20287882 common/protobuf: add message for retrieving an increased u2f counter 2019-11-13 10:55:52 +00:00
matejcik
c96d5ab1bc core/sd_salt: check if sd_salt is enabled before asking for SD card 2019-11-11 16:16:42 +01:00
matejcik
0c4fa03575 core/sd_salt: properly await ensure_sd_card 2019-11-11 16:14:43 +01:00
matejcik
75622d92d2 Merge branch 'master' into matejcik/storage-relocation 2019-11-11 14:39:00 +01:00
matejcik
dee47a06f2 core/sd_salt: ensure ProcessErrors are propagated properly 2019-11-11 14:37:20 +01:00
Tomas Susanka
597277725e core/recovery: end progress before showing success
This fixes #695. This was the default behaviour but we have changed it
because of Wallet, which was doing the polling. Since Wallet can now
send RecoveryDevice again and acquire Context this is no more needed.
2019-11-11 10:39:07 +00:00
matejcik
8225e5d8b2 core/sd_salt: remove forgotten fs.mount 2019-11-08 14:23:58 +01:00
matejcik
18ab677124 core/webauthn: rename storage.webauthn to storage.resident_credentials 2019-11-08 12:47:54 +01:00
matejcik
f03562cca0 core/sd_salt: decorate sd_salt functions to ensure proper finalization and power-off 2019-11-08 12:42:30 +01:00
matejcik
33bd4d3ba9 Merge branch 'master' into matejcik/storage-relocation 2019-11-07 12:51:02 +01:00
matejcik
51a5d8e30a core/boot: do not pass useless argument to request_sd_salt 2019-11-07 11:31:29 +01:00
matejcik
7de5cec4b0 core: halt if the script ever runs out of the loop in main.py 2019-11-07 11:27:45 +01:00
matejcik
5ffa395dec core: catch more exceptions for the purpose of halting 2019-11-07 11:27:45 +01:00
matejcik
7cb125d1cb core/recovery: properly replace homescreens 2019-11-07 11:27:45 +01:00
matejcik
1c59ba9423 core/workflow: improve comments and logic 2019-11-07 11:27:45 +01:00
matejcik
a3930d4bdb core: rename close_default to a more appropriate kill_default 2019-11-07 11:27:45 +01:00
Tomas Susanka
ca484b2c06 core: remove persistence boot and set recovery as a default workflow 2019-11-07 11:27:45 +01:00
matejcik
e9fe6c2943 core/boot: remove leftover print 2019-11-06 13:57:00 +01:00
matejcik
28d30ffd2f core/webauthn: unify signatures of Credential.from_bytes and friends 2019-11-06 13:56:52 +01:00
Tomas Susanka
7dba12cb6d core/log: print received message's name 2019-11-06 11:20:46 +01:00
Pavol Rusnak
0040b916d2
common/defs: remove inactive coins 2019-11-03 10:44:22 +00:00
Pavol Rusnak
2d8f70d49a
common/defs: add mojeid.cz definition to webauthn 2019-11-01 12:54:28 +00:00
Tomas Susanka
c261427d73
Merge pull request #667 from malinah/malinah/confirmbtn
core/trezor/ui/loader: fixes #655 Button hold-to-confirm press detection.
2019-11-01 11:39:31 +01:00
apollo
18c926a34b common/defs: fix zcore signing (#669) 2019-11-01 00:18:03 +01:00
Milan Rossa
2143978b12 core/trezor/ui/loader: fixes #655 Button hold-to-confirm press detection. 2019-10-31 23:04:46 +01:00
matejcik
5c93ecd53a core: create top-level storage module
This is to avoid including app-specific functionality in storage and
avoid circular imports. The following policy is now in effect: modules
from `storage` namespace must not import from `apps` namespace.

In most files, the change only involves changing import paths.

A minor refactor was needed in case of webauthn: basic get/set/delete
functionality was left in storage.webauthn, and more advanced logic on
top of it was moved to apps.webauthn.resident_credentials.

A significant refactor was needed for sd_salt, where application (and
UI) logic was tightly coupled with the IO code. This is now separated,
and storage.sd_salt deals exclusively with the IO side, while the app/UI
logic is implemented on top of it in apps.common.sd_salt and
apps.management.sd_protect.
2019-10-31 16:21:56 +01:00
Pavol Rusnak
39a532c8b1
core/webauthn: increase limit for resident credentials to 100 2019-10-31 14:27:46 +00:00
Pavol Rusnak
4979e17e86
core/webauthn: improve metadata 2019-10-30 17:53:09 +01:00
Tomas Susanka
26e2960532 core/webauthn: move boot to regular firmware block 2019-10-30 15:20:21 +01:00
Tomas Susanka
809b30ddcf core/webauthn: set webauthn interface in its app not in main.py
This way the other messages (WebAuthnListResidentCredentials etc.) get
registered in device debug build and can be tested.

Updates #591
2019-10-30 14:38:04 +01:00
Pavol Rusnak
727b7f8cd3
core/webauthn: add u2f/ctap2 metadata 2019-10-28 21:33:15 +01:00
Tomas Susanka
64a218eea0 bitcoin: simplify if expression 2019-10-28 15:35:58 +00:00
Pavol Rusnak
0f1e30b235
core: fix typo in get_address 2019-10-24 11:42:40 +02:00
Pavol Rusnak
5fe2f7e59c common/protob: remove ButtonRequest.data field 2019-10-24 11:11:43 +02:00
Pavol Rusnak
9a3d8ef2c4
core: show xpubs in GetAddress for multisig
also fix not showing MultisigRedeemScriptType.nodes correctly
2019-10-24 09:11:01 +00:00
Pavol Rusnak
322417d9ed
core/tezos: refactor bytes constants 2019-10-23 16:29:21 +00:00
Adrian Nagy
384275ac73
core/tezos: support the new protocol update (005-BABYLON) 2019-10-23 17:53:10 +02:00
matejcik
a5ccf95260 core: fix mypy problems 2019-10-22 17:06:49 +02:00
matejcik
8d2ae142f3 core/debug: at start, wait for first layout to show up 2019-10-22 17:06:49 +02:00
matejcik
a8fc569016 debug: add support for general layout waiting 2019-10-22 17:06:49 +02:00
matejcik
97525654bb core/debug: avoid running a handler when waiting for layout change
otherwise a running handler would prevent the default task from
starting, which would deadlock a test waiting for the default task
2019-10-22 17:06:49 +02:00
matejcik
3664a5f06f core/debug: reading layouts, inserting synthetic events 2019-10-22 17:06:49 +02:00
matejcik
8c3d93619e core: allow inserting synthetic touch events into event loop 2019-10-22 16:55:30 +02:00
matejcik
a1a543f781 core: boot debuglink in recovery homescreen 2019-10-22 16:55:30 +02:00
matejcik
06e10f948d protobuf: send x/y coordinates, allow waiting for layout change 2019-10-22 16:55:30 +02:00
matejcik
b25537f6b0 core: nicer output for cancellations 2019-10-22 16:54:49 +02:00
matejcik
d17f879d97 mypy: use GenericContext protocol to work-around DummyContext 2019-10-22 14:36:25 +00:00
matejcik
ed190c772c core: avoid circular import in sd_salt 2019-10-22 14:36:25 +00:00
Tomas Susanka
0511cc8b8c core: add final mypy fixes! 2019-10-22 14:36:25 +00:00
Tomas Susanka
8f34b4c5de
Merge pull request #628 from trezor/tsusanka/sdprotect-fix
Skip sd protect test on device
2019-10-22 15:40:03 +02:00
Pavol Rusnak
ddd9bee059
common/defs: regenerate coins 2019-10-22 09:03:32 +00:00
Pavol Rusnak
c2aa8a04c0
common/defs: update tokens 2019-10-22 10:59:52 +02:00
Pavol Rusnak
178d58c763
common/defs: remove BTDX as it has no Trezor compatible wallet 2019-10-21 09:48:19 +00:00
Pavol Rusnak
4e5b60ec2b
common/defs: remove BITC per maintainer request 2019-10-20 17:11:43 +00:00
Pavol Rusnak
3ebc79f9b2
common/defs: remove MEC per maintainer request 2019-10-19 17:14:32 +00:00
Andrew Kozlik
60f6ab9087 core: Fix mypy warnings. 2019-10-18 14:36:40 +02:00
Andrew Kozlik
39b4376b65 core/sd-protect: If writing to the SD card fails in request_sd_salt(), inform the user and allow them to retry or abort. 2019-10-18 14:34:43 +02:00
Pavol Rusnak
7644cb4c79
core: rework exception handling in boot.py 2019-10-18 10:20:11 +00:00
Pavol Rusnak
9b7a2095b3
common/defs: update coins info 2019-10-18 10:14:33 +00:00
Tomas Susanka
0f34b50c05 core/features: add sd card and protection 2019-10-17 16:04:11 +02:00
Tomas Susanka
f0cd99c545 common/protob: add sd card/protection to Features 2019-10-17 15:58:12 +02:00
Pavol Rusnak
d17ced9305
common/defs: remove ZCL as per maintainer request 2019-10-16 20:50:45 +00:00
Pavol Rusnak
d28bc3c3a6
common/defs: remove BSD - website does not exist, maintainer not reachable 2019-10-16 10:18:33 +00:00
Pavol Rusnak
3e20c51dbf
common/defs: remove MTNS - maintainer not reachable
website does not exist, backends don't work
2019-10-16 10:15:19 +00:00
apollo
74bcc05e2e common/defs: add ZCR (#611) 2019-10-11 21:01:11 +02:00
Pavol Rusnak
ab534c18d3
Merge pull request #612 from trezor/andrewkozlik/sd-protect-ui
SD-protect error handling
2019-10-10 15:48:27 +02:00
Andrew Kozlik
564b24191e debug: Add left and right swipe direction to DebugLinkDecision message and unify terminology around swipe direction. 2019-10-10 14:56:49 +02:00
Andrew Kozlik
9a641b6b01 core/sd-protect: Allow user to retry if write fails. 2019-10-10 12:17:36 +02:00
Andrew Kozlik
795fa07822 core/sd-protect: Add SD_CARD_HOT_SWAPPABLE option and improve error handling. 2019-10-10 12:17:36 +02:00
Andrew Kozlik
710866074b core/webauthn: Fix mypy warnings. 2019-10-09 18:13:48 +02:00
Andrew Kozlik
c25a41aa57 core: Fix mypy warnings in FatFS and SD salt code. 2019-10-09 17:07:25 +02:00
Andrew Kozlik
5401f88d52 core/webauthn: Fix user input timeout bug. 2019-10-09 15:18:25 +02:00
Tomas Susanka
a2fed79f7e
Merge pull request #603 from trezor/tsusanka/groups-info
Small refactor in Info dialog
2019-10-09 10:15:34 +02:00
Andrew Kozlik
e385eae433 core/webauthn: Use popups for webauthn error messages instead of confirmation dialogs to simplify device testing. 2019-10-08 13:29:15 +02:00
Andrew Kozlik
8ce8916beb core/webauthn: Remove AUTOCONFIRM option. 2019-10-08 13:29:04 +02:00
Sirak Ghazaryan
8317774e06 common/defs: enable CRW (#600) 2019-10-07 14:39:37 +02:00
Tomas Susanka
29bb2dcb95
Add unit test for process_slip39 function (#601)
Add unit test for process_slip39 function
2019-10-04 21:57:37 +02:00
Tomas Susanka
74a283c271 core/recovery: small refactor in Info dialog 2019-10-04 15:21:39 +02:00
Andrew Kozlik
ba9eee3b8f core, legacy: Don't allow change_pin if device is not initialized. 2019-10-04 13:54:43 +02:00
Tomas Susanka
75dfcacc21 core/tests: add unit test for process_slip39 function
updates #542
2019-10-03 16:54:35 +02:00
Tomas Susanka
07b4f6e399 core/recovery: remove unused get/set_slip39_threshold 2019-10-03 09:57:35 +00:00
Pavol Rusnak
adbec13779
core/sd_salt: fix bug introduced in ede1a0bae3 2019-10-02 16:46:42 +00:00
Pavol Rusnak
04466402ce
core/monero: use const where possible 2019-10-02 15:45:36 +00:00
Pavol Rusnak
ed0336c0a9
core/monero: add gc.collect before large allocations in bulletproof code 2019-10-02 15:45:33 +00:00
Pavol Rusnak
5f980b50a0
core/monero: refactor bulletproof look-up-tables 2019-10-02 15:43:03 +00:00
Pavol Rusnak
ede1a0bae3
core/sd_salt: introduce _get_device_dir, _get_salt_path
prefix dialog functions with underscore
2019-10-02 15:39:42 +00:00
Pavol Rusnak
2e877b5762
core: refactor fido2 stuff into webauthn/fido2 2019-10-01 14:02:28 +00:00
matejcik
3c62db2696 stellar: fix ManageDataOp value padding 2019-10-01 15:12:37 +02:00
Andrew Kozlik
18998ff42f core/webauth: Remove "alg" parameter validation for key-agreement public keys to avoid compatibility issues. 2019-10-01 12:05:14 +02:00
Andrew Kozlik
4a81101c84 core/webauthn: Modify error handling to match fido2-tests. 2019-10-01 11:55:36 +02:00
Andrew Kozlik
9537bc40a5 core/webauthn: Use ECDH_ES_HKDF_256 instead of ES256 as the algorithm type for key-agreement keys.
ECDH_ES_HKDF_256 is the wrong type to use, since the key-agreement does not use HKDF, but ES256 is even more wrong, because it is an ECDSA type rather than an ECDH type. Currently there is no correct algorithm type defined. ES256 is used by libfido2, whereas ECDH_ES_HKDF_256 is used by Chrome, YubiKey and SoloKey, so it has the majority.
2019-09-30 19:37:46 +02:00
Andrew Kozlik
500401d81f core/webauthn: Place a 500 ms timeout on CTAP HID continuation packets. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
0495d18b1e core/webauthn: Fix CTAP HID protocol to correctly handle invalid channel IDs and interleaving packets from different channels. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
9ea8136545 u2f: Add keepersecurity.eu to knownapps. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
e4c13b6357 u2f: Store hashes of U2F application parameters instead of pre-images. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
6a33889706 common/webauthn: Add new URLs for gandi.net and Slush Pool. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
528ee9ccf1 core/webauthn: Ensure user-presence option is not present in MakeCredential requests. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
e341f133a3 core/webauthn: Add length checks in CTAPHID protocol. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
ae70741e48 core/webauthn: Add more type checking for CBOR command parameters and return CTAP2_ERR_CBOR_UNEXPECTED_TYPE. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
5ca4ed2347 core/webauth: Add _AUTOCONFIRM option for testing. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
7ad1467dbf core/webauthn: Process debuglink signals in Fido2ConfirmGetAssertion. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
3d91cb5c5b core/webauthn: Return ERR_MISSING_PARAMETER instead of generic error. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
eaf63fff45 core/webauthn: In GetAssertion do not return user ID for server resident credentials. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
f54c968039 core/webauthn: Validate U2F key handle length. 2019-09-25 21:06:36 +02:00
Andrew Kozlik
638a861137 core/webauthn: Add U2F_V2 to authenticatorGetInfo supported versions. 2019-09-25 20:00:11 +02:00
Andrew Kozlik
cf6949332f core/webauthn: Claim that PIN is set even when it's not, because login.live.com shows an error, but doesn't instruct the user to set a PIN. 2019-09-25 20:00:11 +02:00
Andrew Kozlik
5e99058832 common/webauthn: Add webauthn RP ID for google.com. 2019-09-25 19:59:59 +02:00
Pavol Rusnak
40c66e6d85
core: handle removal of non-existing PIN in require_confirm_change_pin 2019-09-25 17:35:37 +00:00
Pavol Rusnak
6c14ee7ec0
core: initialize fatfs only after we know the SD card is powered 2019-09-25 12:13:52 +02:00
Pavol Rusnak
7394ecfa77
core: add exist_ok parameter to fatfs.mkdir 2019-09-25 12:13:52 +02:00
Pavol Rusnak
d393fc6e85
Revert "core: replace BITCOIN_ONLY with a constant only in src/trezor/utils.py"
This reverts commit b9e7e93bcf.

Unfortunately this does not work, compiler cannot see it is a literal constant,
so it won't get optimized out, even when we use const(0). Also const(False)
is not supported at all.
2019-09-25 12:05:13 +02:00
Tomas Susanka
f53694c3fe core/recovery: rename variable and add a comment in Info button 2019-09-24 16:12:19 +02:00
Tomas Susanka
6c6bd44ee8 core/recovery: fix Info button when the threshold was reached (#566) 2019-09-24 16:10:09 +02:00
matejcik
65d2a55bff core/recovery: improve comment 2019-09-24 14:07:46 +02:00
matejcik
02ee0b63c0 core/recovery: fix type signature of _process_words 2019-09-24 14:07:08 +02:00
matejcik
1c53c2bdf2 core/recovery: allow changing word count again (fixes #554) 2019-09-24 14:04:51 +02:00
Tomas Susanka
7f959250e7
Merge pull request #563 from trezor/tsusanka/562-fix-info-btn
core/recovery: fix Info dialog
2019-09-24 13:20:14 +02:00
ciny
1337ff97b7 core: fixed confirmation screen during advanced slip39 reset flow 2019-09-24 12:11:18 +02:00
Tomas Susanka
51bf0dde12 core/recovery: fix Info dialog
closes #562
2019-09-24 11:23:29 +02:00
Pavol Rusnak
78041d261b
crypto: refactor bip39 api 2019-09-23 17:56:36 +02:00
Andrew Kozlik
524a2ac721 core: Show success dialogs in sd-protect. 2019-09-23 10:38:58 +02:00
Andrew Kozlik
a7485c0840 core: In sd-salt and webauthn error dialogs replace "X" button with "Close" button. 2019-09-23 10:38:58 +02:00
Andrew Kozlik
de74750569 core: Show success and failure dialogs in change-pin. 2019-09-23 10:38:58 +02:00
Pavol Rusnak
b9e7e93bcf
core: replace BITCOIN_ONLY with a constant only in src/trezor/utils.py 2019-09-22 15:07:04 +02:00
matejcik
03f1403c93 core: clean up backup type handling in reset_device 2019-09-20 18:00:14 +02:00
matejcik
78ecc38b1b core: fix BIP39 backup
Refers to #550. Not marking fixed because we need more tests.
2019-09-20 17:14:59 +02:00
Pavol Rusnak
702f865e8d
core/webauthn: let's use Self Attestation for now 2019-09-20 12:07:49 +02:00
Andrew Kozlik
576a211c3d core: Clarify the messages on the screens and get rid of overflows. 2019-09-20 12:06:32 +02:00
Tomas Susanka
bf518665a0
Merge pull request #546 from trezor/tsusanka/1of1
core: enable 1of1 in reset device
2019-09-20 10:37:37 +02:00
Tomas Susanka
e25686e079 core: enable 1of1 in reset device
updates #500
2019-09-20 10:12:33 +02:00
Tomas Susanka
871e159bee core/recovery: remove group threshold from storage 2019-09-20 09:47:15 +02:00
Tomas Susanka
6731d1bbf2 core/recovery: remove word count and backup type 2019-09-20 09:46:49 +02:00
Tomas Susanka
cf5a794436 core/storage: swap arguments in recovery_shares.set 2019-09-20 09:22:30 +02:00
Tomas Susanka
6938d2b238
Merge pull request #541 from trezor/ciny/slip39_various_fixes
core: various fixes to slip39
2019-09-20 09:20:31 +02:00
Pavol Rusnak
39a1e308a0
core/webauthn: change the default icon 2019-09-20 00:33:48 +02:00
Andrew Kozlik
9efc3b4431
core/webauthn: Use basic attestation in FIDO2 MakeCredential responses. 2019-09-19 20:28:51 +02:00
Pavol Rusnak
8da121ff5c
core+python: regenerate coins 2019-09-19 20:17:35 +02:00
matejcik
e14edd77a9 core: simplify confirm_share_words 2019-09-19 17:34:02 +02:00
matejcik
e4ac47b0b3 core: simplify fetch_slip39_remaining_shares 2019-09-19 17:27:23 +02:00
Andrew Kozlik
8024f6d069 core/storage: Rename APP_FIDO2 to APP_WEBAUTHN. 2019-09-19 17:17:22 +02:00
Pavol Rusnak
68513a0b39
Merge pull request #538 from trezor/andrewkozlik/fido2-signcount
Disable FIDO2 signature counter for some relying parties
2019-09-19 17:00:51 +02:00
ciny
cb029fa905 core: various fixes to slip39 2019-09-19 16:42:10 +02:00
Tomas Susanka
cefb1cf4fd core: refactor slip39 2019-09-19 16:38:29 +02:00
Andrew Kozlik
315a30b42b core/webauthn: Disable FIDO2 signature counter for some relying parties 2019-09-19 16:16:58 +02:00
Andrew Kozlik
f5ea81f905 core: Move some PIN-related functions to apps.common.request_pin and implement verify_user_pin(). 2019-09-18 18:55:58 +02:00
Andrew Kozlik
262434ea1b python/tests: Add SD protection device test. 2019-09-18 18:55:58 +02:00
Andrew Kozlik
6350b1c61c core: Implement SD card protection. 2019-09-18 18:55:58 +02:00
Andrew Kozlik
06fc676cc9 common/messages: Add SdProtect message. 2019-09-18 18:53:42 +02:00
Tomas Susanka
5c9fd5875a core/recovery: inform about ToS
updates #495
2019-09-18 12:26:53 +02:00
Andrew Kozlik
b89a9dc590 core: Implement credential management. 2019-09-17 18:32:31 +02:00
Andrew Kozlik
091053507d common/messages: Add credential management message. 2019-09-17 18:32:31 +02:00
Andrew Kozlik
5472499326 core/webauthn: Process debuglink signals in dialogs (#519) 2019-09-13 18:34:23 +02:00
Ciny
a0180d233e
Merge pull request #494 from notatestuser/improve-binance-ux
Binance UX improvements
2019-09-13 15:05:55 +02:00
Tomas Susanka
e4c8cb1315
core: move public_key_to_wif to helpers 2019-09-13 12:55:04 +02:00
Tomas Susanka
adedb7df97
core: remove underscores in symbols used externally
closes #504
2019-09-13 12:55:04 +02:00