From 2a2028788222c48a7a75edcb193313d746df55cd Mon Sep 17 00:00:00 2001 From: Tomas Susanka Date: Mon, 11 Nov 2019 14:58:09 +0000 Subject: [PATCH] common/protobuf: add message for retrieving an increased u2f counter --- common/protob/messages-debug.proto | 2 +- common/protob/messages-management.proto | 18 ++++++++++++- common/protob/messages.proto | 2 ++ core/src/trezor/messages/GetNextU2FCounter.py | 14 ++++++++++ core/src/trezor/messages/MessageType.py | 2 ++ core/src/trezor/messages/NextU2FCounter.py | 26 +++++++++++++++++++ .../trezorlib/messages/GetNextU2FCounter.py | 14 ++++++++++ python/src/trezorlib/messages/MessageType.py | 2 ++ .../src/trezorlib/messages/NextU2FCounter.py | 26 +++++++++++++++++++ python/src/trezorlib/messages/__init__.py | 2 ++ 10 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 core/src/trezor/messages/GetNextU2FCounter.py create mode 100644 core/src/trezor/messages/NextU2FCounter.py create mode 100644 python/src/trezorlib/messages/GetNextU2FCounter.py create mode 100644 python/src/trezorlib/messages/NextU2FCounter.py diff --git a/common/protob/messages-debug.proto b/common/protob/messages-debug.proto index 8465cb22c..7d1a9697c 100644 --- a/common/protob/messages-debug.proto +++ b/common/protob/messages-debug.proto @@ -67,7 +67,7 @@ message DebugLinkState { optional uint32 recovery_word_pos = 10; // index of mnemonic word the device is expecting during RecoveryDevice workflow optional uint32 reset_word_pos = 11; // index of mnemonic word the device is expecting during ResetDevice workflow optional uint32 mnemonic_type = 12; // current mnemonic type (BIP-39/SLIP-39) - repeated string layout_lines = 13; // current layout text + repeated string layout_lines = 13; // current layout text } /** diff --git a/common/protob/messages-management.proto b/common/protob/messages-management.proto index e26d84ea3..be595c853 100644 --- a/common/protob/messages-management.proto +++ b/common/protob/messages-management.proto @@ -333,5 +333,21 @@ message WordAck { * @next Success */ message SetU2FCounter { - optional uint32 u2f_counter = 1; // counter + optional uint32 u2f_counter = 1; +} + +/** + * Request: Set U2F counter + * @start + * @next NextU2FCounter + */ +message GetNextU2FCounter { +} + +/** + * Request: Set U2F counter + * @end + */ +message NextU2FCounter { + optional uint32 u2f_counter = 1; } diff --git a/common/protob/messages.proto b/common/protob/messages.proto index 92d71162c..26117c364 100644 --- a/common/protob/messages.proto +++ b/common/protob/messages.proto @@ -62,6 +62,8 @@ enum MessageType { MessageType_GetFeatures = 55 [(wire_in) = true]; MessageType_SetU2FCounter = 63 [(wire_in) = true]; MessageType_SdProtect = 79 [(wire_in) = true]; + MessageType_GetNextU2FCounter = 80 [(wire_in) = true]; + MessageType_NextU2FCounter = 81 [(wire_out) = true]; // Bootloader MessageType_FirmwareErase = 6 [(wire_in) = true, (wire_bootloader) = true]; diff --git a/core/src/trezor/messages/GetNextU2FCounter.py b/core/src/trezor/messages/GetNextU2FCounter.py new file mode 100644 index 000000000..dae21a4ba --- /dev/null +++ b/core/src/trezor/messages/GetNextU2FCounter.py @@ -0,0 +1,14 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +if __debug__: + try: + from typing import Dict, List # noqa: F401 + from typing_extensions import Literal # noqa: F401 + except ImportError: + pass + + +class GetNextU2FCounter(p.MessageType): + MESSAGE_WIRE_TYPE = 80 diff --git a/core/src/trezor/messages/MessageType.py b/core/src/trezor/messages/MessageType.py index 3f58f8a0e..6bc5f8533 100644 --- a/core/src/trezor/messages/MessageType.py +++ b/core/src/trezor/messages/MessageType.py @@ -37,6 +37,8 @@ WordAck = 47 # type: Literal[47] GetFeatures = 55 # type: Literal[55] SetU2FCounter = 63 # type: Literal[63] SdProtect = 79 # type: Literal[79] +GetNextU2FCounter = 80 # type: Literal[80] +NextU2FCounter = 81 # type: Literal[81] FirmwareErase = 6 # type: Literal[6] FirmwareUpload = 7 # type: Literal[7] FirmwareRequest = 8 # type: Literal[8] diff --git a/core/src/trezor/messages/NextU2FCounter.py b/core/src/trezor/messages/NextU2FCounter.py new file mode 100644 index 000000000..8ac14efe5 --- /dev/null +++ b/core/src/trezor/messages/NextU2FCounter.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +if __debug__: + try: + from typing import Dict, List # noqa: F401 + from typing_extensions import Literal # noqa: F401 + except ImportError: + pass + + +class NextU2FCounter(p.MessageType): + MESSAGE_WIRE_TYPE = 81 + + def __init__( + self, + u2f_counter: int = None, + ) -> None: + self.u2f_counter = u2f_counter + + @classmethod + def get_fields(cls) -> Dict: + return { + 1: ('u2f_counter', p.UVarintType, 0), + } diff --git a/python/src/trezorlib/messages/GetNextU2FCounter.py b/python/src/trezorlib/messages/GetNextU2FCounter.py new file mode 100644 index 000000000..463fd6013 --- /dev/null +++ b/python/src/trezorlib/messages/GetNextU2FCounter.py @@ -0,0 +1,14 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import Dict, List # noqa: F401 + from typing_extensions import Literal # noqa: F401 + except ImportError: + pass + + +class GetNextU2FCounter(p.MessageType): + MESSAGE_WIRE_TYPE = 80 diff --git a/python/src/trezorlib/messages/MessageType.py b/python/src/trezorlib/messages/MessageType.py index 2b216a8de..a01db19b5 100644 --- a/python/src/trezorlib/messages/MessageType.py +++ b/python/src/trezorlib/messages/MessageType.py @@ -35,6 +35,8 @@ WordAck = 47 # type: Literal[47] GetFeatures = 55 # type: Literal[55] SetU2FCounter = 63 # type: Literal[63] SdProtect = 79 # type: Literal[79] +GetNextU2FCounter = 80 # type: Literal[80] +NextU2FCounter = 81 # type: Literal[81] FirmwareErase = 6 # type: Literal[6] FirmwareUpload = 7 # type: Literal[7] FirmwareRequest = 8 # type: Literal[8] diff --git a/python/src/trezorlib/messages/NextU2FCounter.py b/python/src/trezorlib/messages/NextU2FCounter.py new file mode 100644 index 000000000..42e547f60 --- /dev/null +++ b/python/src/trezorlib/messages/NextU2FCounter.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import Dict, List # noqa: F401 + from typing_extensions import Literal # noqa: F401 + except ImportError: + pass + + +class NextU2FCounter(p.MessageType): + MESSAGE_WIRE_TYPE = 81 + + def __init__( + self, + u2f_counter: int = None, + ) -> None: + self.u2f_counter = u2f_counter + + @classmethod + def get_fields(cls) -> Dict: + return { + 1: ('u2f_counter', p.UVarintType, 0), + } diff --git a/python/src/trezorlib/messages/__init__.py b/python/src/trezorlib/messages/__init__.py index b8e9cec64..2da185bb0 100644 --- a/python/src/trezorlib/messages/__init__.py +++ b/python/src/trezorlib/messages/__init__.py @@ -101,6 +101,7 @@ from .GetAddress import GetAddress from .GetECDHSessionKey import GetECDHSessionKey from .GetEntropy import GetEntropy from .GetFeatures import GetFeatures +from .GetNextU2FCounter import GetNextU2FCounter from .GetPublicKey import GetPublicKey from .HDNodePathType import HDNodePathType from .HDNodeType import HDNodeType @@ -187,6 +188,7 @@ from .NEMSignTx import NEMSignTx from .NEMSignedTx import NEMSignedTx from .NEMTransactionCommon import NEMTransactionCommon from .NEMTransfer import NEMTransfer +from .NextU2FCounter import NextU2FCounter from .PassphraseAck import PassphraseAck from .PassphraseRequest import PassphraseRequest from .PassphraseStateAck import PassphraseStateAck