diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 89046097c698ba1e8afc1939c4c4bd44ee7d14ce..2aa446bd15e95d5425477696196e8a9ec6aee3a4 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2083,11 +2083,15 @@ int l_arg_index = 1, l_rc, cmd_num = CMD_NONE; break; case -EBUSY: dap_json_rpc_error_add(DAP_CHAIN_NODE_CLI_COM_TX_WALLET_ALREADY_ERR, - "Error: wallet %s is already %sactivated\n", l_wallet_name, l_prefix); + "Wallet %s is already %sactivated\n", l_wallet_name, l_prefix); break; case -EAGAIN: dap_json_rpc_error_add(DAP_CHAIN_NODE_CLI_COM_TX_WALLET_PASS_ERR, - "Error: wrong password for wallet %s\n", l_wallet_name); + "Wrong password for wallet %s\n", l_wallet_name); + break; + case -101: + dap_json_rpc_error_add(DAP_CHAIN_NODE_CLI_COM_TX_WALLET_PASS_ERR, + "Can't activate unprotected wallet %s\n", l_wallet_name); break; default: { char l_buf[512] = { '\0' }; diff --git a/modules/wallet/dap_chain_wallet.c b/modules/wallet/dap_chain_wallet.c index 38986922299ee3aa5c5bd9cd36dcbe8da9f6e7f3..0797c8b6f19f3f536833fa7461633174e55108b9 100644 --- a/modules/wallet/dap_chain_wallet.c +++ b/modules/wallet/dap_chain_wallet.c @@ -169,6 +169,12 @@ char *c_wallets_path; memset(l_prec->pass, 0, l_prec->pass_len), l_prec->pass_len = 0; /* Say <what> again ?! */ return log_it(L_ERROR, "Wallet's password is invalid, say <password> again"), -EAGAIN; } + if(!(l_wallet->flags & DAP_WALLET$M_FL_ACTIVE)) { + HASH_FIND_STR(s_wallet_n_pass, a_name, l_prec); + HASH_DEL(s_wallet_n_pass, l_prec); + log_it(L_ERROR, "Can't activate unprotected wallet"); + l_rc = -101; + } dap_chain_wallet_close( l_wallet);