diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2019-12-12 13:36:05 -0600 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2019-12-12 13:36:05 -0600 |
| commit | dad4cf121ee15408f18d671d10eb14357d46ceeb (patch) | |
| tree | 20ae4e8e6aaf4f5f257ad9526e2bcab35b421e3d /src/daemon/rpc_command_executor.cpp | |
| parent | 3531cc5fd2889ec5cdd3aecd0e3ba6672fec2e02 (diff) | |
| parent | dce6f055f90d076bc7afc0bc97110d049eb036df (diff) | |
| download | monzero-core-dad4cf121ee15408f18d671d10eb14357d46ceeb.tar.gz monzero-core-dad4cf121ee15408f18d671d10eb14357d46ceeb.tar.xz monzero-core-dad4cf121ee15408f18d671d10eb14357d46ceeb.zip | |
Merge pull request #6018
dce6f05 rpc: Only show version string if it matches expected pattern (ndorf)
3293780 daemon: Use rpc for 'version' command (ndorf)
Diffstat (limited to 'src/daemon/rpc_command_executor.cpp')
| -rw-r--r-- | src/daemon/rpc_command_executor.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/daemon/rpc_command_executor.cpp b/src/daemon/rpc_command_executor.cpp index ed614a89b..eb9dfdf1e 100644 --- a/src/daemon/rpc_command_executor.cpp +++ b/src/daemon/rpc_command_executor.cpp @@ -38,6 +38,7 @@ #include "cryptonote_basic/difficulty.h" #include "cryptonote_basic/hardfork.h" #include "rpc/rpc_payment_signature.h" +#include "rpc/rpc_version_str.h" #include <boost/format.hpp> #include <ctime> #include <string> @@ -2442,4 +2443,39 @@ bool t_rpc_command_executor::rpc_payments() return true; } +bool t_rpc_command_executor::version() +{ + cryptonote::COMMAND_RPC_GET_INFO::request req; + cryptonote::COMMAND_RPC_GET_INFO::response res; + + const char *fail_message = "Problem fetching info"; + + if (m_is_rpc) + { + if (!m_rpc_client->rpc_request(req, res, "/getinfo", fail_message)) + { + return true; + } + } + else + { + if (!m_rpc_server->on_get_info(req, res) || res.status != CORE_RPC_STATUS_OK) + { + tools::fail_msg_writer() << make_error(fail_message, res.status); + return true; + } + } + + if (res.version.empty() || !cryptonote::rpc::is_version_string_valid(res.version)) + { + tools::fail_msg_writer() << "The daemon software version is not available."; + } + else + { + tools::success_msg_writer() << res.version; + } + + return true; +} + }// namespace daemonize |
