From eda51a0dc36946af9528ee82216d73330587e145 Mon Sep 17 00:00:00 2001 From: Riccardo Spagni Date: Mon, 21 Mar 2016 12:53:49 +0200 Subject: set fork date for September, add hyc's GPG key, remove aabramov's --- utils/gpg_keys/aabramov.asc | 31 ------------------------------- utils/gpg_keys/hyc.asc | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 31 deletions(-) delete mode 100644 utils/gpg_keys/aabramov.asc create mode 100644 utils/gpg_keys/hyc.asc (limited to 'utils') diff --git a/utils/gpg_keys/aabramov.asc b/utils/gpg_keys/aabramov.asc deleted file mode 100644 index 1626f95b2..000000000 --- a/utils/gpg_keys/aabramov.asc +++ /dev/null @@ -1,31 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 - -mQENBFQwICMBCACyHKYHaSEdNyE8kqYm+V37IsX5xxqMTkOCuVmaWt8i8FP2aPDz -TgsITQ8tHoJubL0wh/y6Z/KQY8cSWT/JU39gP64I1XdGVgaPErF3kZ7n2jh+K5HY -vBWrFvw4Xj2XvHaJZW6rVVX5dc4rxqnnOjfKTPI6/tQhT16dwbMuCyZOyMfStAF9 -q+14I9M2MAbMlgNO0el0aR3GMVjoDeaWBk/qWxTaHjyOBAVyryoFpwIl7Gmwkk1d -+jv4542LjJOiiwBEDcWUmNvlsRk5sXMcXImJSpaCN1Ta9Eyu2NBIK/qAbuC6YgLe -nn/0DaA7TOpeIMU/WNq/Dpbathst+fMJNK6BABEBAAG0JkFsZXhhbmRlciBBYnJh -bW92IDxhYWJyYW1vdkBnbWFpbC5jb20+iQE+BBMBAgAoBQJUMCAjAhsDBQkDwmcA -BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRA/57nKbsMV+F/+B/9f7C1iiEFD -18Af48WLJXZaJJTqxMeWzztWhZ2LS27rFOGJcj50UeON7aVu8LWU8gvyPJct6wJA -T1hvPWc6TTsbYp8KHP/nUfUWWV+np0qVSj91eGHp7NjAxXYe4NnWt1JUtINxvNll -BKY2l0MHHHKwuWxky6zug48CToB8Y0RBDUgFM0pmnCzmySs6OAJbLmnnvesTDFZk -m6wycq4/SrbVByTZHVqBmZNnypMQxbqXTti9ltpXWqO89RpQQ+QBQQlrNy9QRHJq -VW9Qn5eL4O4IdmXpHqln1ppSu2il+pqQCGc5O9xFxqG6YRHljQEngBfgKLxOsqa1 -OGJHu1pLyUYRuQENBFQwICMBCACmQ+1DRgm9AMNo4iDur47obDzUTQ/1g2ah1+AT -IYNhhltBD3jURsRZ6lMeancxU2/6hyUzCon5ETKfnF0+ujqldSDuo+XY9CDgmXLC -s3wPAKZvyjScwMFTyW1hGfyT9SFwYVDaXOeW+VrJ97Xh5FWHx8LU7eieYIl8tOUY -YWEeIps/y5zBkk7bB4LVNVc3AlKPS4vb/py5szA5fMg8ix/ggvpq8be4BnImP3a1 -yrl+W9HUtcTs8jBnFLMoZYaUklZ9LR7yfnjhhtKqW833UB07qYQY//dJGy4kVnit -M5LX9VKa+wnWsgP+w5jElPX0bweV6+V/yFRhjLLwV7dv/MJnABEBAAGJASUEGAEC -AA8FAlQwICMCGwwFCQPCZwAACgkQP+e5ym7DFfgrvAf/bnQD5iR/HiNsH0HQE96G -Wsrr9VW/ucnm06pd1D/r7ogYcVWuNIglx3QdvFla4uZDvYR0PhyjNrOyPzUgLWp/ -fjQw9buyI3BawAScbPuN06zHLUIvDQpaPq2+uBRq7sCcdsox6sMiUH6x5QcD3lbR -nh6aAGwSkTabW5a/GVZTIHSicGbhXUaIIh3w+sQZ/y5xTVjgVi4I4XdrxOZoo5RN -nF5oyn74n5p9euxJMWgvC/tz/bD7VKYWJHRnuyeumLTPudLjPFFQpTX+I+gMJ5FT -Vs7byaOlrZbQxzXd4G0uBnCvJ1FH3cL6Ddqlsz/l2WzddMknMbVMn7+fSVMdpbIm -hw== -=7XDh ------END PGP PUBLIC KEY BLOCK----- diff --git a/utils/gpg_keys/hyc.asc b/utils/gpg_keys/hyc.asc new file mode 100644 index 000000000..4d174e989 --- /dev/null +++ b/utils/gpg_keys/hyc.asc @@ -0,0 +1,44 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQGiBERuNuERBACY9KGBcxSvy6D9Sxk51L59/7ACWQf/Mk2B5jWCxcadEZHokKf4 +mYBBH963B1v04S8QKsm1avt4amS3dEEfxJ920RWtg5XkVCW0HfErsZ58XobIcPLD +pd7u3btGHObQfJ5fzyRuIaWpBg59gGJAw13Rz/ILuDpXHBP0ppI9OOq6nwCgnG+I +B56YTz9oGLiVXFsa8LItTI0D/jBTd5UWQ+BYCU8HdHq+fRm6l/N921yrFO4hF1jU +4Mi6t9srHkQVW5ro9cxVhAWKCbVum5ogylcfH1WK//R2HkSdKJXNVxZdBieGD/tL +YYSJj3qU7UA9ZTH5QGUkNqcHH7bV+o+5oZdhIhpcMuG1TFudGkQcnTWW0X69S6bR +uBa1A/9Zg6Hk2uL0ytbHtASWKZHr80f1hhe6catT314nqJNU5rufYHHHCvQJVDPs +NWkj4OfkBE5xG1VxMPulvMTJIKm1FdXK+1B9OfcXUk/+zyCiYLGbrAjuUlHDmVDH +P1YQEn+a8S8QowXl+tAL62lO3mDCiPny6ohuIJiTfLLPrE1+bLQaSG93YXJkIENo +dSA8aHljQHN5bWFzLmNvbT6IRgQQEQIABgUCRukakgAKCRCZSHtC+KtbW2rTAJ9/ +j5IiB0Fvq7gAs2Zf/eqc4wqLzwCeLicSAHhaXSRrKd7ZEFTnAFW/qWSIRgQQEQIA +BgUCSDbdawAKCRBsEnep072iJdceAJ44GfpthT4ZPN8XEob5pn8qsFPKIgCfbcNI +wsWoHybiovYiHBZTpW50/QqIRgQQEQIABgUCSDbe8wAKCRBDbTC1hOUd3UFUAKCn +CAhM4Hpe2QNGZM8lYewn2bVRogCeKs5eOlG4vqzYsH1ro1evBsKFXLyIZAQTEQIA +JAUCRG424QIbAwUJEswDAAYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRD9KnC0SrEb +p72rAJ44Keweij6d4EFjROG6PdF8J64vYACfZ99qH7+wzvBxaMuAIAw558lBaY2I +XgQTEQIAHgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCVpAQGAAKCRD9KnC0SrEb +p+3XAJwNjg2sFjNTwzf5LaTT/wl2sWwqbgCgiX9jv1OS+pzJHH4OpjTt5+lHuUO5 +AQ0ERG424RAEAIrOpREkyhB6FTmYo+Tw3r1/pfO0gHC1FcuTrL0lsRVOYwiwVwmk +gVME4gvHRNqnT1gG/RMQm6kKGz07RvzVaRrrT7B/nOG9kbVMzRQIqBbk1o+u7TFr +EYSvXF9xfl3Sq2/UYqIURCW9ZIOF6JLGcF0qGrhheg9eDq97tAfZDwvXAAMFA/4u +38QVNe0Izqc9FTGkO6VijsfXvsn3tCKqm7v/vkJa8Rpu3dumChwMtiGwkzLCJMpC +TbnL0dW4hChHjT/DOWKV84WZwP6vmuMlhNFFrsRh9wqi6LjBNdhVHHfjx2JU0R4L +kID4FSiU20TH4Z/Vm+JSC1E272kw3xfacga4e3DpN4hPBBgRAgAPBQJEbjbhAhsM +BQkSzAMAAAoJEP0qcLRKsRun3wAAn1BnosO00oGZ0sVX5N+m8haWI6YeAJ9HV/RG +L4t04ykgAnU8LLAOaNCWV7kCDQRWkBA0EAgAmQ81PiXqJmk475469zKLWyxjrvG/ +utPTzE4jgah7Ib3I591J6cGmpoOWeM9bdaLc2DGxWqpjcZd/6dFo4CyIFLMPXsgv +JH0iwh5gUt/YBUHkz3kVpN+UqoE+5d+6LVoJQrio/lHAUpFBtpnrx2BeolWRmG6m +uTQwOkyNXUbFgSIwpKuN1rqe2U4KuvFEBTX1QCCzGIOEYtbmtBdGtg/FLwt/+pIF +QHY4tQe/bykX+XLYyLCChoq5Kkq+KZv0Ebafg3vm+xUMwbeqQwUNFLPjIFpHeeKi +nQk8BPNvFjf+MmZ/y/tbsA/156WfMldHsXOV/nD6JWk2HPv8/BL7Fz4bvwADBQf+ +M+6GDIWUpZFfix7eDBZhtyNbehQ6sqSGu97LljKZXb0SxOM5jTkAguuVmjOM8bi4 +cVs9LJt1nFD+PmNRLuju4tda4xk61fvueqv1T0c59fFak5STejzrpWhDeEJZmJMw +EwSv4e0OTFsKlmWJSvfoOavPhbw+Tuhgza1WFLjedqo+RQnCQmXMNlcblD6otgSV +X1uadZBWODmHX/nBmgyDzSILZsy3mJkspAIx/bH95oTMaGQAkVH++WLLGUmjr6tb +uru3e8+mCUvpEptaaBcIq8minoVvfkIZKUgISKf4Yize1PoEuCQbnETcfekZyY94 +m/RwmduzBwMXzMikPOyRwYhPBBgRAgAPBQJWkBA0AhsMBQkSzAMAAAoJEP0qcLRK +sRunqSUAnRenNWORvzTRRy0qmF5xVFlDIUGpAJ4pUZgkE7YRyjSzdhxcaRBOjAQa +GQ== +=sUzZ +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file -- cgit v1.2.3 From 287e88283cba79cf74b4282c76931713dc0ee9c2 Mon Sep 17 00:00:00 2001 From: Riccardo Spagni Date: Fri, 25 Mar 2016 14:52:19 +0200 Subject: remove connectivity tool, comment it out from munin plugins too --- src/CMakeLists.txt | 1 - src/connectivity_tool/CMakeLists.txt | 46 --- src/connectivity_tool/conn_tool.cpp | 377 ------------------------- utils/munin_plugins/alt_blocks_count | 2 +- utils/munin_plugins/difficulty | 2 +- utils/munin_plugins/grey_peerlist_size | 2 +- utils/munin_plugins/height | 2 +- utils/munin_plugins/incoming_connections_count | 2 +- utils/munin_plugins/outgoing_connections_count | 2 +- utils/munin_plugins/tx_count | 2 +- utils/munin_plugins/tx_pool_size | 2 +- utils/munin_plugins/white_peerlist_size | 2 +- 12 files changed, 9 insertions(+), 433 deletions(-) delete mode 100644 src/connectivity_tool/CMakeLists.txt delete mode 100644 src/connectivity_tool/conn_tool.cpp (limited to 'utils') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0ac4a0aa1..e2349744d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -87,7 +87,6 @@ add_subdirectory(wallet) add_subdirectory(p2p) add_subdirectory(cryptonote_protocol) -add_subdirectory(connectivity_tool) add_subdirectory(miner) add_subdirectory(simplewallet) add_subdirectory(daemonizer) diff --git a/src/connectivity_tool/CMakeLists.txt b/src/connectivity_tool/CMakeLists.txt deleted file mode 100644 index 0ade952d2..000000000 --- a/src/connectivity_tool/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright (c) 2014-2016, The Monero Project -# -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are -# permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of -# conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list -# of conditions and the following disclaimer in the documentation and/or other -# materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be -# used to endorse or promote products derived from this software without specific -# prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -set(connectivity_tool_sources - conn_tool.cpp) - -set(connectivity_tool_private_headers) - -bitmonero_add_executable(connectivity_tool - ${connectivity_tool_sources} - ${connectivity_tool_private_headers}) -target_link_libraries(connectivity_tool - LINK_PRIVATE - cryptonote_core - crypto - common - ${CMAKE_THREAD_LIBS_INIT} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_REGEX_LIBRARY} - ${Boost_CHRONO_LIBRARY} - ${Boost_SYSTEM_LIBRARY}) diff --git a/src/connectivity_tool/conn_tool.cpp b/src/connectivity_tool/conn_tool.cpp deleted file mode 100644 index 458d30cc3..000000000 --- a/src/connectivity_tool/conn_tool.cpp +++ /dev/null @@ -1,377 +0,0 @@ -// Copyright (c) 2014-2016, The Monero Project -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, are -// permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this list of -// conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, this list -// of conditions and the following disclaimer in the documentation and/or other -// materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its contributors may be -// used to endorse or promote products derived from this software without specific -// prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers - -#include "include_base_utils.h" -#include "version.h" - -using namespace epee; -#include -#include "p2p/p2p_protocol_defs.h" -#include "common/command_line.h" -#include "cryptonote_core/cryptonote_core.h" -#include "cryptonote_protocol/cryptonote_protocol_handler.h" -#include "net/levin_client.h" -#include "storages/levin_abstract_invoke2.h" -#include "cryptonote_core/cryptonote_core.h" -#include "storages/portable_storage_template_helper.h" -#include "crypto/crypto.h" -#include "storages/http_abstract_invoke.h" -#include "net/http_client.h" - -namespace po = boost::program_options; -using namespace cryptonote; -using namespace nodetool; - -namespace -{ - const command_line::arg_descriptor arg_ip = {"ip", "set ip"}; - const command_line::arg_descriptor arg_port = {"port", "set port"}; - const command_line::arg_descriptor arg_rpc_port = {"rpc_port", "set rpc port"}; - const command_line::arg_descriptor arg_timeout = {"timeout", "set timeout"}; - const command_line::arg_descriptor arg_priv_key = {"private_key", "private key to subscribe debug command", "", true}; - const command_line::arg_descriptor arg_peer_id = {"peer_id", "peer_id if known(if not - will be requested)", 0}; - const command_line::arg_descriptor arg_generate_keys = {"generate_keys_pair", "generate private and public keys pair"}; - const command_line::arg_descriptor arg_request_stat_info = {"request_stat_info", "request statistics information"}; - const command_line::arg_descriptor arg_request_net_state = {"request_net_state", "request network state information (peer list, connections count)"}; - const command_line::arg_descriptor arg_get_daemon_info = {"rpc_get_daemon_info", "request daemon state info vie rpc (--rpc_port option should be set ).", "", true}; -} - -typedef COMMAND_REQUEST_STAT_INFO_T::stat_info> COMMAND_REQUEST_STAT_INFO; - -struct response_schema -{ - std::string status; - std::string COMMAND_REQUEST_STAT_INFO_status; - std::string COMMAND_REQUEST_NETWORK_STATE_status; - enableable si_rsp; - enableable ns_rsp; - - BEGIN_KV_SERIALIZE_MAP() - KV_SERIALIZE(status) - KV_SERIALIZE(COMMAND_REQUEST_STAT_INFO_status) - KV_SERIALIZE(COMMAND_REQUEST_NETWORK_STATE_status) - KV_SERIALIZE(si_rsp) - KV_SERIALIZE(ns_rsp) - END_KV_SERIALIZE_MAP() -}; - - std::string get_response_schema_as_json(response_schema& rs) - { - std::stringstream ss; - ss << "{" << ENDL - << " \"status\": \"" << rs.status << "\"," << ENDL - << " \"COMMAND_REQUEST_NETWORK_STATE_status\": \"" << rs.COMMAND_REQUEST_NETWORK_STATE_status << "\"," << ENDL - << " \"COMMAND_REQUEST_STAT_INFO_status\": \"" << rs.COMMAND_REQUEST_STAT_INFO_status << "\""; - if(rs.si_rsp.enabled) - { - ss << "," << ENDL << " \"si_rsp\": " << epee::serialization::store_t_to_json(rs.si_rsp.v, 1); - } - if(rs.ns_rsp.enabled) - { - ss << "," << ENDL << " \"ns_rsp\": {" << ENDL - << " \"local_time\": " << rs.ns_rsp.v.local_time << "," << ENDL - << " \"my_id\": \"" << rs.ns_rsp.v.my_id << "\"," << ENDL - << " \"connections_list\": [" << ENDL; - - size_t i = 0; - BOOST_FOREACH(const connection_entry& ce, rs.ns_rsp.v.connections_list) - { - ss << " {\"peer_id\": \"" << ce.id << "\", \"ip\": \"" << string_tools::get_ip_string_from_int32(ce.adr.ip) << "\", \"port\": " << ce.adr.port << ", \"is_income\": "<< ce.is_income << "}"; - if(rs.ns_rsp.v.connections_list.size()-1 != i) - ss << ","; - ss << ENDL; - i++; - } - ss << " ]," << ENDL; - ss << " \"local_peerlist_white\": [" << ENDL; - i = 0; - BOOST_FOREACH(const peerlist_entry& pe, rs.ns_rsp.v.local_peerlist_white) - { - ss << " {\"peer_id\": \"" << pe.id << "\", \"ip\": \"" << string_tools::get_ip_string_from_int32(pe.adr.ip) << "\", \"port\": " << pe.adr.port << ", \"last_seen\": "<< rs.ns_rsp.v.local_time - pe.last_seen << "}"; - if(rs.ns_rsp.v.local_peerlist_white.size()-1 != i) - ss << ","; - ss << ENDL; - i++; - } - ss << " ]," << ENDL; - - ss << " \"local_peerlist_gray\": [" << ENDL; - i = 0; - BOOST_FOREACH(const peerlist_entry& pe, rs.ns_rsp.v.local_peerlist_gray) - { - ss << " {\"peer_id\": \"" << pe.id << "\", \"ip\": \"" << string_tools::get_ip_string_from_int32(pe.adr.ip) << "\", \"port\": " << pe.adr.port << ", \"last_seen\": "<< rs.ns_rsp.v.local_time - pe.last_seen << "}"; - if(rs.ns_rsp.v.local_peerlist_gray.size()-1 != i) - ss << ","; - ss << ENDL; - i++; - } - ss << " ]" << ENDL << " }" << ENDL; - } - ss << "}"; - return std::move(ss.str()); - } -//--------------------------------------------------------------------------------------------------------------- -bool print_COMMAND_REQUEST_STAT_INFO(const COMMAND_REQUEST_STAT_INFO::response& si) -{ - std::cout << " ------ COMMAND_REQUEST_STAT_INFO ------ " << ENDL; - std::cout << "Version: " << si.version << ENDL; - std::cout << "OS Version: " << si.os_version << ENDL; - std::cout << "Connections: " << si.connections_count << ENDL; - std::cout << "INC Connections: " << si.incoming_connections_count << ENDL; - - - std::cout << "Tx pool size: " << si.payload_info.tx_pool_size << ENDL; - std::cout << "BC height: " << si.payload_info.blockchain_height << ENDL; - std::cout << "Mining speed: " << si.payload_info.mining_speed << ENDL; - std::cout << "Alternative blocks: " << si.payload_info.alternative_blocks << ENDL; - std::cout << "Top block id: " << si.payload_info.top_block_id_str << ENDL; - return true; -} -//--------------------------------------------------------------------------------------------------------------- -bool print_COMMAND_REQUEST_NETWORK_STATE(const COMMAND_REQUEST_NETWORK_STATE::response& ns) -{ - std::cout << " ------ COMMAND_REQUEST_NETWORK_STATE ------ " << ENDL; - std::cout << "Peer id: " << ns.my_id << ENDL; - std::cout << "Active connections:" << ENDL; - BOOST_FOREACH(const connection_entry& ce, ns.connections_list) - { - std::cout << ce.id << "\t" << string_tools::get_ip_string_from_int32(ce.adr.ip) << ":" << ce.adr.port << (ce.is_income ? "(INC)":"(OUT)") << ENDL; - } - - std::cout << "Peer list white:" << ns.my_id << ENDL; - BOOST_FOREACH(const peerlist_entry& pe, ns.local_peerlist_white) - { - std::cout << pe.id << "\t" << string_tools::get_ip_string_from_int32(pe.adr.ip) << ":" << pe.adr.port << "\t" << misc_utils::get_time_interval_string(ns.local_time - pe.last_seen) << ENDL; - } - - std::cout << "Peer list gray:" << ns.my_id << ENDL; - BOOST_FOREACH(const peerlist_entry& pe, ns.local_peerlist_gray) - { - std::cout << pe.id << "\t" << string_tools::get_ip_string_from_int32(pe.adr.ip) << ":" << pe.adr.port << "\t" << misc_utils::get_time_interval_string(ns.local_time - pe.last_seen) << ENDL; - } - - - return true; -} -//--------------------------------------------------------------------------------------------------------------- -bool handle_get_daemon_info(po::variables_map& vm) -{ - if(!command_line::has_arg(vm, arg_rpc_port)) - { - std::cout << "ERROR: rpc port not set" << ENDL; - return false; - } - - epee::net_utils::http::http_simple_client http_client; - - cryptonote::COMMAND_RPC_GET_INFO::request req = AUTO_VAL_INIT(req); - cryptonote::COMMAND_RPC_GET_INFO::response res = AUTO_VAL_INIT(res); - std::string daemon_addr = command_line::get_arg(vm, arg_ip) + ":" + std::to_string(command_line::get_arg(vm, arg_rpc_port)); - bool r = net_utils::invoke_http_json_remote_command2(daemon_addr + "/getinfo", req, res, http_client, command_line::get_arg(vm, arg_timeout)); - if(!r) - { - std::cout << "ERROR: failed to invoke request" << ENDL; - return false; - } - std::cout << "OK" << ENDL - << "height: " << res.height << ENDL - << "difficulty: " << res.difficulty << ENDL - << "tx_count: " << res.tx_count << ENDL - << "tx_pool_size: " << res.tx_pool_size << ENDL - << "alt_blocks_count: " << res.alt_blocks_count << ENDL - << "outgoing_connections_count: " << res.outgoing_connections_count << ENDL - << "incoming_connections_count: " << res.incoming_connections_count << ENDL - << "white_peerlist_size: " << res.white_peerlist_size << ENDL - << "grey_peerlist_size: " << res.grey_peerlist_size << ENDL; - - return true; -} -//--------------------------------------------------------------------------------------------------------------- -bool handle_request_stat(po::variables_map& vm, peerid_type peer_id) -{ - - if(!command_line::has_arg(vm, arg_priv_key)) - { - std::cout << "{" << ENDL << " \"status\": \"ERROR: " << "secret key not set \"" << ENDL << "}"; - return false; - } - crypto::secret_key prvk = AUTO_VAL_INIT(prvk); - if(!string_tools::hex_to_pod(command_line::get_arg(vm, arg_priv_key) , prvk)) - { - std::cout << "{" << ENDL << " \"status\": \"ERROR: " << "wrong secret key set \"" << ENDL << "}"; - return false; - } - - - response_schema rs = AUTO_VAL_INIT(rs); - - levin::levin_client_impl2 transport; - if(!transport.connect(command_line::get_arg(vm, arg_ip), static_cast(command_line::get_arg(vm, arg_port)), static_cast(command_line::get_arg(vm, arg_timeout)))) - { - std::cout << "{" << ENDL << " \"status\": \"ERROR: " << "Failed to connect to " << command_line::get_arg(vm, arg_ip) << ":" << command_line::get_arg(vm, arg_port) << "\"" << ENDL << "}"; - return false; - }else - rs.status = "OK"; - - if(!peer_id) - { - COMMAND_REQUEST_PEER_ID::request req = AUTO_VAL_INIT(req); - COMMAND_REQUEST_PEER_ID::response rsp = AUTO_VAL_INIT(rsp); - if(!net_utils::invoke_remote_command2(COMMAND_REQUEST_PEER_ID::ID, req, rsp, transport)) - { - std::cout << "{" << ENDL << " \"status\": \"ERROR: " << "Failed to connect to " << command_line::get_arg(vm, arg_ip) << ":" << command_line::get_arg(vm, arg_port) << "\"" << ENDL << "}"; - return false; - }else - { - peer_id = rsp.my_id; - } - } - - - nodetool::proof_of_trust pot = AUTO_VAL_INIT(pot); - pot.peer_id = peer_id; - pot.time = time(NULL); - crypto::public_key pubk = AUTO_VAL_INIT(pubk); - string_tools::hex_to_pod(::config::P2P_REMOTE_DEBUG_TRUSTED_PUB_KEY, pubk); - crypto::hash h = tools::get_proof_of_trust_hash(pot); - crypto::generate_signature(h, pubk, prvk, pot.sign); - - if(command_line::get_arg(vm, arg_request_stat_info)) - { - COMMAND_REQUEST_STAT_INFO::request req = AUTO_VAL_INIT(req); - req.tr = pot; - if(!net_utils::invoke_remote_command2(COMMAND_REQUEST_STAT_INFO::ID, req, rs.si_rsp.v, transport)) - { - std::stringstream ss; - ss << "ERROR: " << "Failed to invoke remote command COMMAND_REQUEST_STAT_INFO to " << command_line::get_arg(vm, arg_ip) << ":" << command_line::get_arg(vm, arg_port); - rs.COMMAND_REQUEST_STAT_INFO_status = ss.str(); - }else - { - rs.si_rsp.enabled = true; - rs.COMMAND_REQUEST_STAT_INFO_status = "OK"; - } - } - - - if(command_line::get_arg(vm, arg_request_net_state)) - { - ++pot.time; - h = tools::get_proof_of_trust_hash(pot); - crypto::generate_signature(h, pubk, prvk, pot.sign); - COMMAND_REQUEST_NETWORK_STATE::request req = AUTO_VAL_INIT(req); - req.tr = pot; - if(!net_utils::invoke_remote_command2(COMMAND_REQUEST_NETWORK_STATE::ID, req, rs.ns_rsp.v, transport)) - { - std::stringstream ss; - ss << "ERROR: " << "Failed to invoke remote command COMMAND_REQUEST_NETWORK_STATE to " << command_line::get_arg(vm, arg_ip) << ":" << command_line::get_arg(vm, arg_port); - rs.COMMAND_REQUEST_NETWORK_STATE_status = ss.str(); - }else - { - rs.ns_rsp.enabled = true; - rs.COMMAND_REQUEST_NETWORK_STATE_status = "OK"; - } - } - std::cout << get_response_schema_as_json(rs); - return true; -} -//--------------------------------------------------------------------------------------------------------------- -bool generate_and_print_keys() -{ - crypto::public_key pk = AUTO_VAL_INIT(pk); - crypto::secret_key sk = AUTO_VAL_INIT(sk); - generate_keys(pk, sk); - std::cout << "PUBLIC KEY: " << epee::string_tools::pod_to_hex(pk) << ENDL - << "PRIVATE KEY: " << epee::string_tools::pod_to_hex(sk); - return true; -} -int main(int argc, char* argv[]) -{ - string_tools::set_module_name_and_folder(argv[0]); - log_space::get_set_log_detalisation_level(true, LOG_LEVEL_0); - - // Declare the supported options. - po::options_description desc_general("General options"); - command_line::add_arg(desc_general, command_line::arg_help); - - po::options_description desc_params("Connectivity options"); - command_line::add_arg(desc_params, arg_ip); - command_line::add_arg(desc_params, arg_port); - command_line::add_arg(desc_params, arg_rpc_port); - command_line::add_arg(desc_params, arg_timeout); - command_line::add_arg(desc_params, arg_request_stat_info); - command_line::add_arg(desc_params, arg_request_net_state); - command_line::add_arg(desc_params, arg_generate_keys); - command_line::add_arg(desc_params, arg_peer_id); - command_line::add_arg(desc_params, arg_priv_key); - command_line::add_arg(desc_params, arg_get_daemon_info); - - - po::options_description desc_all; - desc_all.add(desc_general).add(desc_params); - - po::variables_map vm; - bool r = command_line::handle_error_helper(desc_all, [&]() - { - po::store(command_line::parse_command_line(argc, argv, desc_general, true), vm); - if (command_line::get_arg(vm, command_line::arg_help)) - { - std::cout << desc_all << ENDL; - return false; - } - - po::store(command_line::parse_command_line(argc, argv, desc_params, false), vm); - po::notify(vm); - - return true; - }); - if (!r) - return 1; - - if(command_line::has_arg(vm, arg_request_stat_info) || command_line::has_arg(vm, arg_request_net_state)) - { - return handle_request_stat(vm, command_line::get_arg(vm, arg_peer_id)) ? 0:1; - } - if(command_line::has_arg(vm, arg_get_daemon_info)) - { - return handle_get_daemon_info(vm) ? 0:1; - } - else if(command_line::has_arg(vm, arg_generate_keys)) - { - return generate_and_print_keys() ? 0:1; - } - else - { - std::cerr << "Not enough arguments." << ENDL; - std::cerr << desc_all << ENDL; - } - - return 1; -} - diff --git a/utils/munin_plugins/alt_blocks_count b/utils/munin_plugins/alt_blocks_count index d68289c34..cf6b3651b 100644 --- a/utils/munin_plugins/alt_blocks_count +++ b/utils/munin_plugins/alt_blocks_count @@ -42,4 +42,4 @@ EOM esac printf "alt_blocks_count.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep alt_blocks_count | cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep alt_blocks_count | cut -d ' ' -f2 diff --git a/utils/munin_plugins/difficulty b/utils/munin_plugins/difficulty index e22b76829..edfd2bf16 100644 --- a/utils/munin_plugins/difficulty +++ b/utils/munin_plugins/difficulty @@ -42,4 +42,4 @@ EOM esac printf "difficulty.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep difficulty | cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep difficulty | cut -d ' ' -f2 diff --git a/utils/munin_plugins/grey_peerlist_size b/utils/munin_plugins/grey_peerlist_size index e18c4cd06..d7b1bd6a7 100644 --- a/utils/munin_plugins/grey_peerlist_size +++ b/utils/munin_plugins/grey_peerlist_size @@ -42,4 +42,4 @@ EOM esac printf "grey_peerlist_size.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep grey_peerlist_size | cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep grey_peerlist_size | cut -d ' ' -f2 diff --git a/utils/munin_plugins/height b/utils/munin_plugins/height index ca68b31b9..3f79fa302 100644 --- a/utils/munin_plugins/height +++ b/utils/munin_plugins/height @@ -43,4 +43,4 @@ EOM esac printf "height.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep height | cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep height | cut -d ' ' -f2 diff --git a/utils/munin_plugins/incoming_connections_count b/utils/munin_plugins/incoming_connections_count index 2521d4c99..7232e5736 100644 --- a/utils/munin_plugins/incoming_connections_count +++ b/utils/munin_plugins/incoming_connections_count @@ -42,4 +42,4 @@ EOM esac printf "incoming_connections_count.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep incoming_connections_count | cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep incoming_connections_count | cut -d ' ' -f2 diff --git a/utils/munin_plugins/outgoing_connections_count b/utils/munin_plugins/outgoing_connections_count index 92edb3d67..773ce4624 100644 --- a/utils/munin_plugins/outgoing_connections_count +++ b/utils/munin_plugins/outgoing_connections_count @@ -42,4 +42,4 @@ EOM esac printf "outgoing_connections_count.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep outgoing_connections_count | cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep outgoing_connections_count | cut -d ' ' -f2 diff --git a/utils/munin_plugins/tx_count b/utils/munin_plugins/tx_count index 95bb8b540..f2504cd5f 100644 --- a/utils/munin_plugins/tx_count +++ b/utils/munin_plugins/tx_count @@ -43,4 +43,4 @@ EOM esac printf "tx_count.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep tx_count| cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep tx_count| cut -d ' ' -f2 diff --git a/utils/munin_plugins/tx_pool_size b/utils/munin_plugins/tx_pool_size index 58717cf1f..3bf952071 100644 --- a/utils/munin_plugins/tx_pool_size +++ b/utils/munin_plugins/tx_pool_size @@ -42,4 +42,4 @@ EOM esac printf "tx_pool_size.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep tx_pool_size| cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep tx_pool_size| cut -d ' ' -f2 diff --git a/utils/munin_plugins/white_peerlist_size b/utils/munin_plugins/white_peerlist_size index 2b92622e5..9e5771cc3 100644 --- a/utils/munin_plugins/white_peerlist_size +++ b/utils/munin_plugins/white_peerlist_size @@ -42,4 +42,4 @@ EOM esac printf "white_peerlist_size.value " -/home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep white_peerlist_size | cut -d ' ' -f2 +# rewrite using curl or similar: /home/user/bitmonero/build/release/src/connectivity_tool --ip=127.0.0.1 --rpc_port=8081 --timeout=1000 --rpc_get_daemon_info | grep white_peerlist_size | cut -d ' ' -f2 -- cgit v1.2.3