Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Soft-locking for Trezor T #958

Merged
merged 64 commits into from
Jun 4, 2020
Merged

Soft-locking for Trezor T #958

merged 64 commits into from
Jun 4, 2020

Commits on Jun 4, 2020

  1. Configuration menu
    Copy the full SHA
    94ad9bd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8040dc2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bb27bdb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d5b841b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e9198f9 View commit details
    Browse the repository at this point in the history
  6. core: use wire.PinCancelled/PinInvalid instead of custom versions

    also refactor show_pin_invalid and its usages so that it raises directly
    
    note that we are now using PinCancelled instead of ActionCancelled where
    appropriate
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    30a5c23 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8427673 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e89c618 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5149d41 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    afcdecd View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    bcf6194 View commit details
    Browse the repository at this point in the history
  12. core: consider lockscreen to be a separate homescreen

    this involves some changes to the workflow defaults:
    
    * workflow.start_default() takes no arguments
    * workflow.set_default() (originally replace_default) configures the
      default that will be started by next call to start_default().
      The intended usecase is to set_default() first and then start it
      separately.
    * apps.base.set_homescreen() factors out the logic originally in
      main.py, that decides which homescreen should be launched. This uses
      set_default() call. start_default() is then used explicitly in main.py
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    c5bf806 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    614af52 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    4507254 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    9387f2b View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3dd4518 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    78c475a View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    8bf45bb View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    dc8f029 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    bdd0dae View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    1211528 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    8a4e590 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    174c888 View commit details
    Browse the repository at this point in the history
  24. core: refactor usage of input_signals

    this prevents a certain class of UI test failure. It also localizes the
    use of debuglink signals into the layout classes instead of call sites,
    which is a design we were already using for confirm_signals
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    56c32cb View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    9508ab2 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    7d5b26d View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    6840cf0 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    b38a5e6 View commit details
    Browse the repository at this point in the history
  29. core/webauthn: Allow confirm_dialog() to return a new state as an alt…

    …ernative to the user response.
    andrewkozlik authored and matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    6ca645e View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    0751369 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    26c2a94 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    8995ccb View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    61be017 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    4242a69 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    65c9281 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    f1980f3 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    6ad7139 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    d99bdbc View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    7709a9d View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    88fa079 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    7ca167e View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    5835d0b View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    9b0e7c4 View commit details
    Browse the repository at this point in the history
  44. tests: rename test_address to get_test_address

    so that pytest doesn't think it is a testcase
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    92a5ea9 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    36d4927 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    f4cb1d4 View commit details
    Browse the repository at this point in the history
  47. core: rework wait_layout()

    The original wait_layout was unreliable, because there are no guarantees
    re order of arrival of the respective events. Still, TT's event handling
    is basically deterministic, so as long as the host sent its messages
    close enough to each other, the order worked out.
    
    This is no longer the case with the introduction of loop.spawn: TT's
    behavior is still deterministic, but now ButtonAck is processed *before*
    the corresponding wait_layout, so the waiting side waits forever.
    
    In the new process, the host must first register to receive layout
    events, and then receives all of them (so the number of calls to
    wait_layout must match the number of layout changes).
    
    DebugLinkWatchLayout message must be version-gated, because of an
    unfortunate collection of bugs in previous versions wrt unknown message
    handling; and this interests us because upgrade-tests are using
    wait_layout feature.
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    4be66fc View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    3a2f742 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    44ddba8 View commit details
    Browse the repository at this point in the history
  50. core: call close_others() in place of ButtonRequest

    this makes sense, really: close_others() requests UI exclusivity, and
    that is something that generally happens at the same places we emit a
    ButtonRequest
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    ac4fa36 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    c4f5719 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    f53a103 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    a433b89 View commit details
    Browse the repository at this point in the history
  54. core: debuglink interface avoids workflow management

    This will have unintended consequences if you call a wirelink function
    on the debulink interface. TT allows this ... and will behave badly.
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    c736eeb View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    d6a98b7 View commit details
    Browse the repository at this point in the history
  56. core: start USB after booting apps

    This prevents a race condition where sometimes an Initialize message
    could arrive before the homescreen was fully booted -- and Recovery
    homescreen would cancel it as part of its bootup sequence.
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    61e8b9c View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    6bee7a7 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    f43220b View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    3ccf0b5 View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    cfb4acc View commit details
    Browse the repository at this point in the history
  61. core: lower scheduler resolution to milliseconds

    This avoids problems with large timeouts causing the scheduler queue to
    think the time counter has overflown, and ordering the autolock task before
    immediate tasks.
    
    The maximum reasonable time difference is 0x20000000, which in
    microseconds is ~8 minutes, but in milliseconds a more reasonable ~6
    days.
    matejcik committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    2dde7f3 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    c63b5e5 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    caf7a87 View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    38bb3ff View commit details
    Browse the repository at this point in the history