wallet_rpc_server: reject --password with --wallet-dir

(cherry picked from commit 587315ce94c8c3f656ce3bbb5e046e4aa96942d4)
This commit is contained in:
Thomas
2026-10-04 18:50:23 -04:00
committed by such-gitea
parent cb4f6abd06
commit c9d51bd08a
4 changed files with 15 additions and 3 deletions
+5
View File
@@ -1300,6 +1300,11 @@ bool wallet2::has_stagenet_option(const boost::program_options::variables_map& v
return command_line::get_arg(vm, options().stagenet);
}
bool wallet2::has_password_option(const boost::program_options::variables_map& vm)
{
return command_line::has_arg(vm, options().password);
}
bool wallet2::has_proxy_option() const
{
return !m_proxy.empty();
+1
View File
@@ -280,6 +280,7 @@ private:
static bool has_testnet_option(const boost::program_options::variables_map& vm);
static bool has_stagenet_option(const boost::program_options::variables_map& vm);
static bool has_password_option(const boost::program_options::variables_map& vm);
static std::string device_name_option(const boost::program_options::variables_map& vm);
static std::string device_derivation_path_option(const boost::program_options::variables_map &vm);
static void init_options(boost::program_options::options_description& desc_params);
+6
View File
@@ -4919,6 +4919,12 @@ public:
return false;
}
if(!wallet_dir.empty() && tools::wallet2::has_password_option(vm))
{
LOG_ERROR(tools::wallet_rpc_server::tr("--password is not allowed in combination with --wallet-dir"));
return false;
}
if (!wallet_dir.empty())
{
wal = NULL;
+3 -3
View File
@@ -7,8 +7,8 @@ complete -c monero-wallet-rpc -l daemon-host -r -d "Use daemon instance at host
complete -c monero-wallet-rpc -l proxy -r -d "[<ip>:]<port> socks proxy to use for daemon connections"
complete -c monero-wallet-rpc -l trusted-daemon -d "Enable commands which rely on a trusted daemon"
complete -c monero-wallet-rpc -l untrusted-daemon -d "Disable commands which rely on a trusted daemon"
complete -c monero-wallet-rpc -l password -r -d "Wallet password (escape/quote as needed)"
complete -c monero-wallet-rpc -l password-file -r -F -d "Wallet password file"
complete -c monero-wallet-rpc -l password -r -n "not __fish_seen_argument -l wallet-dir" -d "Wallet password (escape/quote as needed)"
complete -c monero-wallet-rpc -l password-file -r -F -n "not __fish_seen_argument -l wallet-dir" -d "Wallet password file"
complete -c monero-wallet-rpc -l daemon-port -r -d "Use daemon instance at port <arg> instead of 18081. Default: 0"
complete -c monero-wallet-rpc -l daemon-login -r -d "Specify username[:password] for daemon RPC client"
complete -c monero-wallet-rpc -l daemon-ssl -x -a "enabled disabled autodetect" -d "Enable SSL on daemon RPC connections. Default: autodetect"
@@ -52,7 +52,7 @@ complete -c monero-wallet-rpc -l rpc-ssl-allow-chained -d "Allow user (via --rpc
complete -c monero-wallet-rpc -l disable-rpc-ban -d "Do not ban hosts on RPC errors"
complete -c monero-wallet-rpc -l wallet-file -r -F -d "Use wallet <arg>"
complete -c monero-wallet-rpc -l generate-from-json -r -k -a "(__fish_complete_suffix .json)" -d "Generate wallet from JSON format file"
complete -c monero-wallet-rpc -l wallet-dir -r -F -d "Directory for newly created wallets"
complete -c monero-wallet-rpc -l wallet-dir -r -F -n "not __fish_seen_argument -l password -l password-file" -d "Directory for newly created wallets"
complete -c monero-wallet-rpc -l prompt-for-password -d "Prompts for password when not provided"
complete -c monero-wallet-rpc -l rpc-client-secret-key -r -d "Set RPC client secret key for RPC payments"
complete -c monero-wallet-rpc -l detach -d "Run as daemon"