From 06fc676cc96eb63f6b639c0380224e2107622c47 Mon Sep 17 00:00:00 2001 From: Andrew Kozlik Date: Fri, 9 Aug 2019 19:19:00 +0200 Subject: [PATCH] common/messages: Add SdProtect message. --- common/protob/messages-management.proto | 18 ++++++++++++ common/protob/messages.proto | 1 + core/src/trezor/messages/MessageType.py | 1 + core/src/trezor/messages/SdProtect.py | 28 +++++++++++++++++++ .../trezor/messages/SdProtectOperationType.py | 5 ++++ python/src/trezorlib/messages/MessageType.py | 1 + python/src/trezorlib/messages/SdProtect.py | 28 +++++++++++++++++++ .../messages/SdProtectOperationType.py | 5 ++++ python/src/trezorlib/messages/__init__.py | 2 ++ 9 files changed, 89 insertions(+) create mode 100644 core/src/trezor/messages/SdProtect.py create mode 100644 core/src/trezor/messages/SdProtectOperationType.py create mode 100644 python/src/trezorlib/messages/SdProtect.py create mode 100644 python/src/trezorlib/messages/SdProtectOperationType.py diff --git a/common/protob/messages-management.proto b/common/protob/messages-management.proto index 58c5dbd3d..83d99b057 100644 --- a/common/protob/messages-management.proto +++ b/common/protob/messages-management.proto @@ -131,6 +131,24 @@ message ChangePin { optional bool remove = 1; // is PIN removal requested? } +/** + * Request: Starts workflow for enabling/regenerating/disabling SD card protection + * @start + * @next Success + * @next Failure + */ +message SdProtect { + optional SdProtectOperationType operation = 1; + /** + * Structure representing SD card protection operation + */ + enum SdProtectOperationType { + DISABLE = 0; + ENABLE = 1; + REFRESH = 2; + } +} + /** * Request: Test if the device is alive, device sends back the message in Success response * @start diff --git a/common/protob/messages.proto b/common/protob/messages.proto index 0ad3c5dae..4bfa3e941 100644 --- a/common/protob/messages.proto +++ b/common/protob/messages.proto @@ -61,6 +61,7 @@ enum MessageType { MessageType_WordAck = 47 [(wire_in) = true]; MessageType_GetFeatures = 55 [(wire_in) = true]; MessageType_SetU2FCounter = 63 [(wire_in) = true]; + MessageType_SdProtect = 79 [(wire_in) = true]; // Bootloader MessageType_FirmwareErase = 6 [(wire_in) = true, (wire_bootloader) = true]; diff --git a/core/src/trezor/messages/MessageType.py b/core/src/trezor/messages/MessageType.py index a4fb1eb4a..9c7223d7c 100644 --- a/core/src/trezor/messages/MessageType.py +++ b/core/src/trezor/messages/MessageType.py @@ -33,6 +33,7 @@ WordRequest = 46 WordAck = 47 GetFeatures = 55 SetU2FCounter = 63 +SdProtect = 79 FirmwareErase = 6 FirmwareUpload = 7 FirmwareRequest = 8 diff --git a/core/src/trezor/messages/SdProtect.py b/core/src/trezor/messages/SdProtect.py new file mode 100644 index 000000000..38fc0c62c --- /dev/null +++ b/core/src/trezor/messages/SdProtect.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +if __debug__: + try: + from typing import Dict, List, Optional + from typing_extensions import Literal # noqa: F401 + EnumTypeSdProtectOperationType = Literal[0, 1, 2] + except ImportError: + Dict, List, Optional = None, None, None # type: ignore + EnumTypeSdProtectOperationType = None # type: ignore + + +class SdProtect(p.MessageType): + MESSAGE_WIRE_TYPE = 79 + + def __init__( + self, + operation: EnumTypeSdProtectOperationType = None, + ) -> None: + self.operation = operation + + @classmethod + def get_fields(cls) -> Dict: + return { + 1: ('operation', p.EnumType("SdProtectOperationType", (0, 1, 2)), 0), + } diff --git a/core/src/trezor/messages/SdProtectOperationType.py b/core/src/trezor/messages/SdProtectOperationType.py new file mode 100644 index 000000000..c3960723b --- /dev/null +++ b/core/src/trezor/messages/SdProtectOperationType.py @@ -0,0 +1,5 @@ +# Automatically generated by pb2py +# fmt: off +DISABLE = 0 +ENABLE = 1 +REFRESH = 2 diff --git a/python/src/trezorlib/messages/MessageType.py b/python/src/trezorlib/messages/MessageType.py index fab7070f0..75f0ccfe6 100644 --- a/python/src/trezorlib/messages/MessageType.py +++ b/python/src/trezorlib/messages/MessageType.py @@ -31,6 +31,7 @@ WordRequest = 46 WordAck = 47 GetFeatures = 55 SetU2FCounter = 63 +SdProtect = 79 FirmwareErase = 6 FirmwareUpload = 7 FirmwareRequest = 8 diff --git a/python/src/trezorlib/messages/SdProtect.py b/python/src/trezorlib/messages/SdProtect.py new file mode 100644 index 000000000..48493f952 --- /dev/null +++ b/python/src/trezorlib/messages/SdProtect.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import Dict, List, Optional + from typing_extensions import Literal # noqa: F401 + EnumTypeSdProtectOperationType = Literal[0, 1, 2] + except ImportError: + Dict, List, Optional = None, None, None # type: ignore + EnumTypeSdProtectOperationType = None # type: ignore + + +class SdProtect(p.MessageType): + MESSAGE_WIRE_TYPE = 79 + + def __init__( + self, + operation: EnumTypeSdProtectOperationType = None, + ) -> None: + self.operation = operation + + @classmethod + def get_fields(cls) -> Dict: + return { + 1: ('operation', p.EnumType("SdProtectOperationType", (0, 1, 2)), 0), + } diff --git a/python/src/trezorlib/messages/SdProtectOperationType.py b/python/src/trezorlib/messages/SdProtectOperationType.py new file mode 100644 index 000000000..c3960723b --- /dev/null +++ b/python/src/trezorlib/messages/SdProtectOperationType.py @@ -0,0 +1,5 @@ +# Automatically generated by pb2py +# fmt: off +DISABLE = 0 +ENABLE = 1 +REFRESH = 2 diff --git a/python/src/trezorlib/messages/__init__.py b/python/src/trezorlib/messages/__init__.py index 1310b657b..5019c2bf5 100644 --- a/python/src/trezorlib/messages/__init__.py +++ b/python/src/trezorlib/messages/__init__.py @@ -201,6 +201,7 @@ from .RippleGetAddress import RippleGetAddress from .RipplePayment import RipplePayment from .RippleSignTx import RippleSignTx from .RippleSignedTx import RippleSignedTx +from .SdProtect import SdProtect from .SelfTest import SelfTest from .SetU2FCounter import SetU2FCounter from .SignIdentity import SignIdentity @@ -274,6 +275,7 @@ from . import PinMatrixRequestType from . import RecoveryDeviceType from . import RequestType from . import ResetDeviceBackupType +from . import SdProtectOperationType from . import TezosBallotType from . import TezosContractType from . import WordRequestType