Merge pull request #364 from LedgerHQ/apr/bugfix/eip712_latency_weakness
Fix potential crash with slow APDU transport
This commit is contained in:
4
.github/workflows/ci-workflow.yml
vendored
4
.github/workflows/ci-workflow.yml
vendored
@@ -209,7 +209,7 @@ jobs:
|
||||
cd tests/ragger
|
||||
python3 -m venv ./venv
|
||||
. ./venv/bin/activate
|
||||
pip3 install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt speculos
|
||||
pip3 install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt
|
||||
# Used for the cache key
|
||||
echo "py_deps=$(pip freeze | md5sum | cut -d' ' -f1)" >> $GITHUB_ENV
|
||||
|
||||
@@ -275,4 +275,4 @@ jobs:
|
||||
run: |
|
||||
cd tests/ragger
|
||||
. ./venv/bin/activate
|
||||
pytest --path ./elfs --model ${{ matrix.model }}
|
||||
pytest --path ./elfs --model ${{ matrix.model }} -s -v
|
||||
|
||||
@@ -16,6 +16,10 @@ static void dummy_cb(void) {
|
||||
ux_flow_prev();
|
||||
ui_pos = UI_712_POS_REVIEW;
|
||||
}
|
||||
} else {
|
||||
// temporarily disable button clicks, they will be re-enabled as soon as new data
|
||||
// is received and the page is redrawn with ux_flow_init()
|
||||
G_ux.stack[0].button_push_callback = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ from ethereum_client.setting import SettingType, SettingImpl
|
||||
from ethereum_client.eip712 import EIP712FieldType
|
||||
from ethereum_client.response_parser import EthereumRespParser
|
||||
import signal
|
||||
import time
|
||||
|
||||
|
||||
class EthereumClient:
|
||||
@@ -92,6 +93,7 @@ class EthereumClient:
|
||||
|
||||
def eip712_sign_new(self, bip32):
|
||||
with self._send(self._cmd_builder.eip712_sign_new(bip32)):
|
||||
time.sleep(0.5) # tight on timing, needed by the CI otherwise might fail sometimes
|
||||
if not self._settings[SettingType.VERBOSE_EIP712].value and \
|
||||
not self._eip712_filtering: # need to skip the message hash
|
||||
self._client.right_click()
|
||||
|
||||
Reference in New Issue
Block a user