Commit graph

9929 commits

Author SHA1 Message Date
moneromooo-monero
23bf7c9813
cmake: fix "release" version string on tagged releases
It would not say "release" if we're on a previous tag
2020-12-11 07:51:17 +03:00
moneromooo-monero
97d3f9d408
protocol: one more sanity check on usable data from a peer 2020-12-11 07:50:41 +03:00
moneromooo-monero
f4fac80752
protocol: add a sanity check to the number of block hashes sent 2020-12-11 07:50:02 +03:00
moneromooo-monero
516555402d
protocol: fix asking for pruned blocks for v10
Old format is still alloewd there, this is a two fork update
2020-12-11 07:49:33 +03:00
moneromooo-monero
a42b6750b1
protocol: drop origin IP if a block fails to verify in sync mode
It would otherwise be possible for a peer to send bad blocks,
then disconnect and reconnect again, escaping bans
2020-12-11 07:48:33 +03:00
moneromooo-monero
09a2b6f2e8
protocol: more restrictive checks on chain entry response 2020-12-11 07:48:06 +03:00
Howard Chu
08b99c749d
depends: Update OpenSSL to 1.1.1i
Remove some obsolete patches (they were integrated upstream).
Tweak to work with Android support (they second-guess our CC definition, etc).
2020-12-11 07:46:42 +03:00
Lee Clagett
0b8bf308ce
Change epee binary output from std::stringstream to byte_stream 2020-12-11 07:46:14 +03:00
Lee Clagett
a3033e741b
Change to more efficient allocation strategy in byte_stream 2020-12-11 07:45:41 +03:00
mj-xmr
f37d960f75
Clang-tidy integrated into CMakeLists.txt
Can be called from the source directory with:
utils/health/clang-tidy-run.sh
2020-12-11 07:44:53 +03:00
mj-xmr
a76c6b9cae
Add ClangBuildAnalyzer under utils/health for analyzing build times 2020-12-11 07:44:16 +03:00
moneromooo-monero
eb6469b7a5
protocol: fix switchting to adding blocks if noone's adding the next span 2020-12-11 07:43:00 +03:00
moneromooo-monero
e608cea2a5
p2p: drop peers that spam peer lists
There's always some people who just want to abuse things
2020-12-09 21:50:22 +03:00
moneromooo-monero
117cdc4d50
p2p: fix race condition accessing a deleted context 2020-12-09 21:50:00 +03:00
moneromooo
27cfbe1a22
protocol: drop peers that don't reply to queries 2020-12-09 21:49:04 +03:00
moneromooo
f8ec114820
keep only the last seen node on a given host in the white list 2020-12-09 21:48:53 +03:00
moneromooo
0529d350ad
protocol: drop peers that decrease claimed height 2020-12-09 21:48:42 +03:00
moneromooo
868deaaf9e
protocol: add scoring system to drop peers that don't behave 2020-12-09 21:48:30 +03:00
moneromooo-monero
5ac11bb4d6
crypto: fix non zero scalar being 0 after reducing 2020-12-05 04:57:13 +03:00
xiphon
e0fc0ce7ad
rpc: get_info - add 'synchronized' field 2020-12-05 04:55:54 +03:00
Lee Clagett
a840b7e20c
Do not use peer_id tracking method over i2p/tor 2020-12-05 04:55:26 +03:00
Lee Clagett
3208d97f9c
Fix tx flush callback queueing 2020-12-04 09:41:45 +03:00
moneromooo-monero
1cc36a652b
util: fix escaping more than one ?* in glob_to_regex 2020-12-04 09:40:58 +03:00
xiphon
b353da51f9
wallet_api: TransactionHistory - fill unconfirmed out payments dests 2020-12-04 09:39:32 +03:00
Howard Chu
e49f87c8b3
Silence stupid warnings 2020-12-04 09:39:05 +03:00
moneromooo-monero
6815ddd270
epee: tighten the URL parsing regexp a little
fixes massive amounts of time spent on pathological inputs

Found by OSS-Fuzz
2020-12-04 09:38:42 +03:00
mj-xmr
5b43b61153
Add RELINK_TARGETS, monero_add_target_no_relink and use monero_add_executable/monero_add_library where possible (mj-xmr)
Add monero_add_minimal_executable and use in tests

This is done in order not to have to relink targets, when just an .so changed, but not its interface.
2020-12-04 09:36:13 +03:00
moneromooo-monero
7f8d14ecde
blockchain: remove some dead code
This is already done
2020-12-04 09:35:22 +03:00
SChernykh
67cc83a66c
Make Blockchain::get_fee_quantization_mask() compile time
This also removes potential thread safety bug in that function.
2020-12-04 09:34:59 +03:00
xiphon
b974ccde3a
core_rpc_server: on_send_raw_tx - fix bootstrap daemon mode check 2020-12-04 09:23:07 +03:00
TheCharlatan
4a971e575f
Unit Tests: Remove block reward upper bound size checks
Tests running after being compiled with `make debug-test` failed with
```
[  FAILED  ] block_reward_and_current_block_weight.fails_on_huge_median_size
[  FAILED  ] block_reward_and_current_block_weight.fails_on_huge_block_weight
```

With the introduction of the patch in
be82c40703 (diff-1a57d4e6013984c420da98d1adde0eafL113)
the assertions checking the weight of the median and current block
against a size limit were removed. Since the limit is now enforced by a
long divisor and a uint64_t type, checking in a separate test makes
little sense, so they are removed here.
2020-12-04 09:22:22 +03:00
Michal m@lbit Malicki
0051cbdc73
rpc_private_headers declaration fix 2020-12-04 09:21:52 +03:00
Tadeas Moravec
7441d939e0
Update error messages in daemon
When given a wrong argument, some daemon commands failed with "unknown
command" error, instead of a meaningful error message. This patch
brings consistency into the error messages.

In several places, this patch removes relatively useful messages,
and replaces them with more generic ones. E.g.,

-    std::cout << "use: print_pl [white] [gray] [<limit>] [pruned]
[publicrpc]" << std::endl;
+    std::cout << "Invalid syntax: Too many parameters. For more
details, use the help command." << std::endl;

There are two reasons for this:

1. Consistency.
2. Removing duplicates.

The detailed information about the parameters is present in
the help messages already. Having it in two places increases
the risk that the messages would get out of date.
2020-12-04 09:20:53 +03:00
selsta
d9973f4d48
wallet2: set propagation timeout to current max timeout 2020-12-04 09:15:25 +03:00
Howard Chu
2b25b1097e
Add rpc-restricted-bind-ip option
Fixes #6369
2020-12-04 09:15:02 +03:00
Crypto City
33103494d6
wallet2: check imported multisig curve points are in main subgroup 2020-11-26 09:36:53 +03:00
xiphon
6294fe26df
cryptonote_core: dandelion - use local height or median height if syncing 2020-11-26 09:36:28 +03:00
xiphon
cc70e33283
rpc: skip non-synced bootstrap daemons in --no-sync mode too 2020-11-26 09:36:05 +03:00
xiphon
0783e940e9
rpc: on_send_raw_tx - add missing CHECK_CORE_READY 2020-11-26 09:35:38 +03:00
Lee Clagett
ce3c13b46f
Change Dandelion++ fluff probability to 20%, and embargo timeout to 39s
A 20% fluff probability increases the precision of a spy connected to
every node by 10% on average, compared to a network using 0% fluff
probability. The current value (10% fluff) should increase precision by
~5% compared to baseline.

This decreases the expected stem length from 10 to 5. The embargo
timeout was therefore lowered to 39s; the fifth node in a stem is
expected to have a 90% chance of being the first to timeout, which is
the same probability we currently have with an expected stem length of
10 nodes.
2020-11-26 09:35:17 +03:00
Lee Clagett
ff1373149a
Fix timeout checks for forwarded and Dandelion++ stem txes 2020-11-26 09:34:49 +03:00
Howard Chu
41f5f36e16
Better log message for unusable anon networks 2020-11-26 09:34:06 +03:00
xiphon
711f8c9d34
epee: readline_buffer - fix thread safety, fix sync() after stop() 2020-11-08 00:50:39 +03:00
moneromooo-monero
4228f785c0
p2p: fix accessing non existent element of map 2020-11-07 10:38:45 +03:00
moneromooo-monero
9e86c1c90d
p2p: fix endianness when checking IPv6 addresses mapping to IPv4 2020-11-05 20:23:52 +03:00
moneromooo-monero
c40d8f5672
p2p: make this work with boost <= 1.65 (pffff) 2020-11-05 06:01:12 +03:00
moneromooo
0f998b9b55
p2p: rewrite boost's make_address_v4 to cater for < 1.66 2020-11-05 05:57:13 +03:00
moneromooo-monero
38f0472a6e
p2p: use /16 filtering on IPv4-within-IPv6 addresses
IPv6 addresses include a range that can map IPv4 addresses,
which allowed those mapped addresses to bypass filtering.

This filter should be replaced by AS filtering at some point.
2020-11-05 05:56:48 +03:00
xiphon
9774fc7868
rpc: on_send_raw_tx (bootstrap) - send to bootstrap daemon and P2P 2020-11-05 05:56:19 +03:00
moneromooo
c14276fb7c
p2p: remove banned peers from the white list 2020-11-05 05:55:52 +03:00