From 47bc77fd6b9e49301bd3e1db900da2598f0a8a0f Mon Sep 17 00:00:00 2001 From: Kristaps Kaupe Date: Wed, 13 Sep 2023 05:39:04 +0300 Subject: [PATCH] Fix some internal dependencies --- jmbase/setup.py | 3 ++- jmclient/jmclient/fidelity_bond.py | 10 ++++++---- jmdaemon/setup.py | 3 +-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/jmbase/setup.py b/jmbase/setup.py index ded4df0..652899f 100644 --- a/jmbase/setup.py +++ b/jmbase/setup.py @@ -10,6 +10,7 @@ setup(name='joinmarketbase', license='GPL', packages=['jmbase'], install_requires=['twisted==22.4.0', 'service-identity==21.1.0', - 'chromalog==1.0.5', 'pyaes==1.6.1'], + 'chromalog==1.0.5', 'pyaes==1.6.1', + 'txtorcon==22.0.0'], python_requires='>=3.7', zip_safe=False) diff --git a/jmclient/jmclient/fidelity_bond.py b/jmclient/jmclient/fidelity_bond.py index 5ad2c40..da7c43c 100644 --- a/jmclient/jmclient/fidelity_bond.py +++ b/jmclient/jmclient/fidelity_bond.py @@ -2,7 +2,6 @@ import struct import base64 import json from jmbitcoin import ecdsa_sign, ecdsa_verify -from jmdaemon import fidelity_bond_sanity_check import binascii def assert_is_utxo(utxo): @@ -114,9 +113,12 @@ class FidelityBondProof: @classmethod def parse_and_verify_proof_msg(cls, maker_nick, taker_nick, data): - if not fidelity_bond_sanity_check.fidelity_bond_sanity_check(data): - raise ValueError("sanity check failed") - decoded_data = base64.b64decode(data) + try: + decoded_data = base64.b64decode(data, validate=True) + except binascii.Error: + raise ValueError("decode error") + if len(decoded_data) != 252: + raise ValueError("invalid length") unpacked_data = struct.unpack(cls.SER_STUCT_FMT, decoded_data) try: diff --git a/jmdaemon/setup.py b/jmdaemon/setup.py index d14c72a..3c687b6 100644 --- a/jmdaemon/setup.py +++ b/jmdaemon/setup.py @@ -9,8 +9,7 @@ setup(name='joinmarketdaemon', author_email='', license='GPL', packages=['jmdaemon'], - install_requires=['txtorcon==22.0.0', - 'cryptography==3.3.2; platform_machine != "aarch64" and platform_machine != "amd64" and platform_machine != "x86_64"', + install_requires=['cryptography==3.3.2; platform_machine != "aarch64" and platform_machine != "amd64" and platform_machine != "x86_64"', 'cryptography==41.0.2; platform_machine == "aarch64" or platform_machine == "amd64" or platform_machine == "x86_64"', 'pyopenssl==23.2.0', 'libnacl==1.8.0', 'joinmarketbase==0.9.11dev'],