Commit Graph

9466 Commits

Author SHA1 Message Date
Alexander Blair e160e0b517
Merge pull request #6283
a84131ce p2p: fix off by one adding fallback peers (moneromooo-monero)
2020-03-27 12:19:55 -07:00
Alexander Blair a762084b15
Merge pull request #6282
66472074 Daemon: Guard against reporting "synchronized" too early (rbrunner7)
2020-03-27 12:19:07 -07:00
Alexander Blair a5acebfb6f
Merge pull request #6281
6772ce70 10 block time is for incoming outputs, not transactions (rating89us)
2020-03-27 12:18:21 -07:00
Alexander Blair c038cc8b79
Merge pull request #6280
b818522d p2p: fix spurious warning when we're connected to at last one seed (moneromooo-monero)
2020-03-27 12:17:54 -07:00
Alexander Blair 3baa68bbab
Merge pull request #6279
36bdf402 p2p: fix adding wrong indices to the filtered peer list (moneromooo-monero)
2020-03-27 12:17:07 -07:00
Alexander Blair a22cf5de1b
Merge pull request #6275
aa93e388 p2p: remove old debug commands (Aaron Hook)
2020-03-27 12:16:30 -07:00
Alexander Blair 338824add3
Merge pull request #6227
f8d76f39 core: move the LockedTXN class out of txpool so it may be reused (moneromooo-monero)
2020-03-27 12:15:37 -07:00
Lee Clagett 02d887c2e5 Adding Dandelion++ support to public networks:
- New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode
  - Stem loops detected in tx_pool.cpp
  - Embargo timeout for a blackhole attack during stem phase
2020-03-26 15:01:30 +00:00
moneromooo-monero f5a11f05fe
functional_tests: speed up signature generation
Executing a new binary for each signature can get really slow
2020-03-26 11:33:58 +00:00
moneromooo-monero e69acffdc8
functional_tests: update cookie at 10 seconds interval
Otherwise the daemon will start rejecting
2020-03-26 11:33:55 +00:00
moneromooo-monero 054b4c7f41
protocol: request txpool contents when synced
A newly synced Alice sends a (typically quite small) list of
txids in the local tpxool to a random peer Bob, who then uses
the existing tx relay system to send Alice any tx in his txpool
which is not in the list Alice sent
2020-03-22 16:03:31 +00:00
rbrunner7 387fd668d1 Daemon: Print estimates for time until fully synced 2020-03-21 07:32:55 +01:00
Aaron Hook aa93e38862 p2p: remove old debug commands 2020-03-20 22:09:44 -07:00
Sumo Gr 8688b467ce
depends: update qt 5.7.1 download link
5.7.1 was removed from official qt.io archive, this is one of the few mirrors remaining that keep a copy.
I think it would be better if @TheCharlatan updated to a newer version soon than merging this PR
2020-03-20 21:18:49 +02:00
xiphon 323a9e3a8d depends: libsodium disable getrandom()/getentropy() (glibc < 2.25) 2020-03-20 17:42:51 +00:00
moneromooo-monero bcae95a22e
p2p: do not add recently failed addresses to the peerlist 2020-03-20 15:45:26 +00:00
Lee Clagett ad13a4b2ac Fixing static_asserts in ZMQ JSON 2020-03-19 19:49:51 -04:00
luigi1111 d1cf16364f
Merge pull request #6388
c075aa7 workaround for GetObject windows.h macro and rapidjson conflict (xiphon)
2020-03-15 10:50:36 -04:00
Lee Clagett 5de2295f3c Correct key image check in tx_pool 2020-03-14 19:17:15 +00:00
xiphon c075aa7a6c workaround for GetObject windows.h macro and rapidjson conflict 2020-03-14 00:46:47 +00:00
xiphon 0dbdba876e epee: avoid spamming 'Generating SSL certificate' in the logs 2020-03-13 22:48:04 +00:00
luigi1111 f52e0f40c6
Merge pull request #6383
a26cbce easylogging++: fix 'ELPP_OS_EMSCRIPTEN is not defined' warning (xiphon)
2020-03-13 18:12:19 -04:00
selsta 68ffc1ca19
README: clean up TOC 2020-03-13 18:29:19 +01:00
moneromooo-monero f8d76f395b
core: move the LockedTXN class out of txpool so it may be reused
for example, in the RPC server
2020-03-12 11:30:05 +00:00
moneromooo-monero 320bc845b3
rpc: add --rpc-payment-allow-free-loopback
This allows RPC coming from the loopback interface to not have
to pay for service. This makes it possible to run an externally
accessible RPC server for payment while also having a local RPC
server that can be run unrestricted and payment free.
2020-03-12 11:27:34 +00:00
Alexander Blair 820ab9fdea
Merge pull request #6273
0f78b06e Various improvements to the ZMQ JSON-RPC handling: (Lee Clagett)
2020-03-12 01:13:49 -07:00
Alexander Blair d500bbe68f
Merge pull request #6268
a6c24412 wallet: fix exceptions getting the hash of a pruned tx (moneromooo-monero)
2020-03-12 01:02:31 -07:00
Alexander Blair 179965c974
Merge pull request #6263
c11e64fc Gitian: Change lxc ip link (TheCharlatan)
2020-03-12 01:01:55 -07:00
Alexander Blair 2eee9bcdf8
Merge pull request #6251
0eac0c43 depends: set several missing build tags (moneromooo-monero)
2020-03-12 00:57:22 -07:00
Alexander Blair 857abc368c
Merge pull request #6244
352bd132 abstract_tcp_server2: guard against negative timeouts (moneromooo-monero)
2020-03-12 00:56:29 -07:00
Alexander Blair 092a57df99
Merge pull request #6243
4771a7ae p2p: remove obsolete local time in handshake (moneromooo-monero)
2fbbc4a2 p2p: avoid sending the same peer list over and over (moneromooo-monero)
3004835b epee: remove backward compatible endian specific address serialization (moneromooo-monero)
39a343d7 p2p: remove backward compatible peer list (moneromooo-monero)
60631802 p2p: simplify last_seen serialization now we have optional stores (moneromooo-monero)
9467b2e4 cryptonote_protocol: omit top 64 bits of difficulty when 0 (moneromooo-monero)
b595583f serialization: do not write optional fields with default value (moneromooo-monero)
5f98b46d p2p: remove obsolete local time from TIMED_SYNC (moneromooo-monero)
2020-03-12 00:32:46 -07:00
moneromooo-monero ec01077720
db_lmdb: fix race crash using a stale cursor
If a db resize happened, the txpool meta cursor might be stale,
and was not being renewed when necessary.
It would cause this SEGSEGV:

in mdb_cursor_set ()
in mdb_cursor_get ()
in cryptonote::BlockchainLMDB::get_txpool_tx_blob(crypto::hash const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cryptonote::relay_category) const ()
in cryptonote::tx_memory_pool::get_transaction(crypto::hash const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cryptonote::relay_category) const ()
in cryptonote::t_cryptonote_protocol_handler<cryptonote::core>::handle_notify_new_fluffy_block(int, epee::misc_utils::struct_init<cryptonote::NOTIFY_NEW_FLUFFY_BLOCK::request_t>&, cryptonote::cryptonote_connection_context&) ()
2020-03-12 00:57:32 +00:00
xiphon a26cbcef92 easylogging++: fix 'ELPP_OS_EMSCRIPTEN is not defined' warning 2020-03-11 17:58:37 +00:00
Martijn Otto 6079042cce
Use boost::asio::ssl::context::sslv23 for backwards compatibility
All the insecure protocols that this enables are then disabled, so they
cannot be actually used. The end-result is the same.
2020-03-11 09:28:02 +01:00
Martijn Otto 3031debfd6
Bump downloaded boost version to 1.72 2020-03-11 09:16:30 +01:00
Lee Clagett e719760253 Fix receive order leakage with tx fluffing 2020-03-10 22:30:07 -04:00
Lee Clagett 3387f0e327 Reduce template bloat in hex->bin for ZMQ json 2020-03-09 17:55:55 +00:00
Lee Clagett 5fcc23ae0a Move hex->bin conversion to monero copyright files and with less includes 2020-03-09 05:23:59 +00:00
Lee Clagett 81c5943453 Remove temporary std::string creation in some hex->bin calls 2020-03-09 05:23:59 +00:00
Aaron Hook 7b9017f671
p2p: plug tor to clearnet association vector
During the handshake for an incoming connection, the peer id is checked against the local node's peer id only for the specific zone of the incoming peer, in order to avoid linking public addresses to tor addresses:
5d7ae2d279/src/p2p/net_node.inl (L2343)

However, on handshakes for outgoing connections, all zones are checked:
5d7ae2d279/src/p2p/net_node.inl (L1064)

If an attacker wanted to link a specific tor node to a public node, they could potentially connect to as many public nodes as possible, get themselves added to the peer whitelist, maybe stuff some more attacker-owned addresses into the greylist, then disconnect, and for any future incoming connections, respond with the tor node's id in an attempt to link the public/tor addresses.
2020-03-07 18:12:59 +00:00
moneromooo-monero 9c1f970b82
wallet2: remember daemon address overrides when loading a new wallet 2020-03-07 18:09:31 +00:00
Lee Clagett ebf3c10fcb Added logging for dropped local txes with no i2p/tor connections 2020-03-07 00:03:17 +00:00
selsta b40c27cd42
cppzmq: remove leftovers 2020-03-06 02:30:07 +01:00
Lee Clagett 0f78b06e8c Various improvements to the ZMQ JSON-RPC handling:
- Finding handling function in ZMQ JSON-RPC now uses binary search
  - Temporary `std::vector`s in JSON output now use `epee::span` to
    prevent allocations.
  - Binary -> hex in JSON output no longer allocates temporary buffer
  - C++ structs -> JSON skips intermediate DOM creation, and instead
    write directly to an output stream.
2020-03-05 14:20:56 +00:00
xiphon 6e1cb5a4d0 device: Ledger - fix wide char hidapi error string conversion 2020-03-01 11:42:48 +00:00
Alexander Blair 4764d18eeb
Merge pull request #6248
21c3d42e p2p: drop the peerlist dump to TRACE (moneromooo-monero)
2020-02-28 20:21:27 -08:00
Alexander Blair da617ac1b0
Merge pull request #6238
f717d593 wallet2: guard against race with multiple decrypt_keys users (moneromooo-monero)
2020-02-28 20:21:06 -08:00
Alexander Blair ea6396ea66
Merge pull request #6222
a6a2ad6c simplewallet: set manual refresh mode in rescan_bc (moneromooo-monero)
2020-02-28 19:59:43 -08:00
Alexander Blair af1be51740
Merge pull request #6209
94853487 easylogging++: add emscripten support (moneromooo-monero)
2020-02-28 19:58:07 -08:00
Alexander Blair ff8a60b61c
Merge pull request #6061
f1091c41 core_tests: remove some useless verbose logs (moneromooo-monero)
2020-02-28 19:57:13 -08:00