electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 43c5df2ab5797a357b359e20c7fc1b6319b48026
parent 7e18e2ea3199380d78e75dec0da4e85939ddf170
Author: ThomasV <thomasv@electrum.org>
Date:   Wed, 25 Nov 2020 11:47:25 +0100

Setconfig: set rpc_user rpc_password in daemon (fix #6762).
Do not disable auth if password is an empty string.

Diffstat:
Melectrum/commands.py | 5+++++
Melectrum/daemon.py | 6++++--
2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/electrum/commands.py b/electrum/commands.py @@ -293,6 +293,7 @@ class Commands: def _setconfig_normalize_value(cls, key, value): if key not in ('rpcuser', 'rpcpassword'): value = json_decode(value) + # call literal_eval for backward compatibility (see #4225) try: value = ast.literal_eval(value) except: @@ -303,6 +304,10 @@ class Commands: async def setconfig(self, key, value): """Set a configuration variable. 'value' may be a string or a Python expression.""" value = self._setconfig_normalize_value(key, value) + if self.daemon and key == 'rpcuser': + self.daemon.commands_server.rpc_user = value + if self.daemon and key == 'rpcpassword': + self.daemon.commands_server.rpc_password = value self.config.set_key(key, value) return True diff --git a/electrum/daemon.py b/electrum/daemon.py @@ -120,6 +120,10 @@ def request(config: SimpleConfig, endpoint, args=(), timeout=60): def get_rpc_credentials(config: SimpleConfig) -> Tuple[str, str]: rpc_user = config.get('rpcuser', None) rpc_password = config.get('rpcpassword', None) + if rpc_user == '': + rpc_user = None + if rpc_password == '': + rpc_password = None if rpc_user is None or rpc_password is None: rpc_user = 'user' bits = 128 @@ -130,8 +134,6 @@ def get_rpc_credentials(config: SimpleConfig) -> Tuple[str, str]: rpc_password = to_string(pw_b64, 'ascii') config.set_key('rpcuser', rpc_user) config.set_key('rpcpassword', rpc_password, save=True) - elif rpc_password == '': - _logger.warning('RPC authentication is disabled.') return rpc_user, rpc_password