aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-08-21 19:22:25 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-08-24 12:36:10 +0000
commit87d2f063af2d1f1b51a82da9af5ea55e0dd364a3 (patch)
treed26c134faec1732801076b0ea936c137da62a8d8 /src
parentMerge pull request #5696 (diff)
downloadmonero-87d2f063af2d1f1b51a82da9af5ea55e0dd364a3.tar.xz
simplewallet: moan harder about untrusted nodes
Diffstat (limited to 'src')
-rw-r--r--src/simplewallet/simplewallet.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp
index 9bae6c028..fe66e2230 100644
--- a/src/simplewallet/simplewallet.cpp
+++ b/src/simplewallet/simplewallet.cpp
@@ -4082,7 +4082,22 @@ bool simple_wallet::init(const boost::program_options::variables_map& vm)
}
if (!m_wallet->is_trusted_daemon())
- message_writer() << (boost::format(tr("Warning: using an untrusted daemon at %s, privacy will be lessened")) % m_wallet->get_daemon_address()).str();
+ {
+ message_writer(console_color_red, true) << (boost::format(tr("Warning: using an untrusted daemon at %s")) % m_wallet->get_daemon_address()).str();
+ message_writer(console_color_red, true) << boost::format(tr("Using a third party daemon can be detrimental to your security and privacy"));
+ bool ssl = false;
+ if (m_wallet->check_connection(NULL, &ssl) && !ssl)
+ message_writer(console_color_red, true) << boost::format(tr("Using your own without SSL exposes your RPC traffic to monitoring"));
+ message_writer(console_color_red, true) << boost::format(tr("You are strongly encouraged to connect to the Monero network using your own daemon"));
+ message_writer(console_color_red, true) << boost::format(tr("If you or someone you trust are operating this daemon, you can use --trusted-daemon"));
+
+ COMMAND_RPC_GET_INFO::request req;
+ COMMAND_RPC_GET_INFO::response res;
+ bool r = m_wallet->invoke_http_json("/get_info", req, res);
+ std::string err = interpret_rpc_response(r, res.status);
+ if (r && err.empty() && (res.was_bootstrap_ever_used || !res.bootstrap_daemon_address.empty()))
+ message_writer(console_color_red, true) << boost::format(tr("Moreover, a daemon is also less secure when running in bootstrap mode"));
+ }
if (m_wallet->get_ring_database().empty())
fail_msg_writer() << tr("Failed to initialize ring database: privacy enhancing features will be inactive");