💬 jonatack commented on pull request "Handle CJDNS from LookupSubNet()":
(https://github.com/bitcoin/bitcoin/pull/27071#discussion_r1106360822)
nit, while touching this it may be good to add the missing brackets to `if (net == NET_UNROUTABLE)`, feel free to ignore
(https://github.com/bitcoin/bitcoin/pull/27071#discussion_r1106360822)
nit, while touching this it may be good to add the missing brackets to `if (net == NET_UNROUTABLE)`, feel free to ignore
💬 jonatack commented on pull request "Handle CJDNS from LookupSubNet()":
(https://github.com/bitcoin/bitcoin/pull/27071#discussion_r1106381226)
As BIP155 networks are added or removed over time, `m_reachable` could go out of sync with `enum Network` in `netaddress.h` ... perhaps construct it programmatically (maybe in a follow-up)?
(https://github.com/bitcoin/bitcoin/pull/27071#discussion_r1106381226)
As BIP155 networks are added or removed over time, `m_reachable` could go out of sync with `enum Network` in `netaddress.h` ... perhaps construct it programmatically (maybe in a follow-up)?
💬 jonatack commented on pull request "Handle CJDNS from LookupSubNet()":
(https://github.com/bitcoin/bitcoin/pull/27071#discussion_r1106375231)
Add `AssertLockNotHeld(m_mutex);` to the `RemoveAll()` and both the `Contains()` class methods?
(https://github.com/bitcoin/bitcoin/pull/27071#discussion_r1106375231)
Add `AssertLockNotHeld(m_mutex);` to the `RemoveAll()` and both the `Contains()` class methods?
💬 AdmiralNeo commented on issue "Stop the GPG verification madness":
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430388543)
And I guess it is mounted?
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430388543)
And I guess it is mounted?
💬 willcl-ark commented on issue "Stop the GPG verification madness":
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430388997)
Yes it's mounted.
@AdmiralNeo Perhaps you could try this workaround: https://github.com/bitcoin/bitcoin/issues/24140#issuecomment-1021062326
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430388997)
Yes it's mounted.
@AdmiralNeo Perhaps you could try this workaround: https://github.com/bitcoin/bitcoin/issues/24140#issuecomment-1021062326
💬 jonatack commented on pull request "fuzz: extend ConsumeNetAddr() to return I2P and CJDNS addresses":
(https://github.com/bitcoin/bitcoin/pull/26859#issuecomment-1430397018)
Concept ACK. Reviewed prerequisite PR #27071.
(https://github.com/bitcoin/bitcoin/pull/26859#issuecomment-1430397018)
Concept ACK. Reviewed prerequisite PR #27071.
💬 AdmiralNeo commented on issue "Stop the GPG verification madness":
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430401991)
Wow! Somehow I started a process of Bitcoin Core loading. THX a lot and let's see of a Dummy like me is really able to run a node. Ordinals brought me to this. THX bro a lot! Let's see if it works.
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430401991)
Wow! Somehow I started a process of Bitcoin Core loading. THX a lot and let's see of a Dummy like me is really able to run a node. Ordinals brought me to this. THX bro a lot! Let's see if it works.
💬 achow101 commented on pull request "Signing support for Miniscript Descriptors":
(https://github.com/bitcoin/bitcoin/pull/24149#issuecomment-1430404755)
ACK 6c7a17a8e0eec377f83ed1399f003ae70b898270
Reviewed code and non-fuzz tests.
(https://github.com/bitcoin/bitcoin/pull/24149#issuecomment-1430404755)
ACK 6c7a17a8e0eec377f83ed1399f003ae70b898270
Reviewed code and non-fuzz tests.
💬 AdmiralNeo commented on issue "Stop the GPG verification madness":
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430410700)
<img width="815" alt="Bildschirmfoto 2023-02-14 um 22 37 12" src="https://user-images.githubusercontent.com/125405780/218868760-4e6dd03d-c849-4b41-85d2-e66524802876.png">
(https://github.com/bitcoin/bitcoin/issues/25395#issuecomment-1430410700)
<img width="815" alt="Bildschirmfoto 2023-02-14 um 22 37 12" src="https://user-images.githubusercontent.com/125405780/218868760-4e6dd03d-c849-4b41-85d2-e66524802876.png">
💬 achow101 commented on pull request "wallet: SecureString to allow null characters":
(https://github.com/bitcoin/bitcoin/pull/27068#issuecomment-1430493423)
ACK d73721b2be27afd9906ed362e286dd3d0a414413
(https://github.com/bitcoin/bitcoin/pull/27068#issuecomment-1430493423)
ACK d73721b2be27afd9906ed362e286dd3d0a414413
💬 achow101 commented on pull request "test: p2p: check that headers message with invalid proof-of-work disconnects peer":
(https://github.com/bitcoin/bitcoin/pull/26184#issuecomment-1430533462)
ACK 772671245d50d94fd5087deb2542854604eba174
(https://github.com/bitcoin/bitcoin/pull/26184#issuecomment-1430533462)
ACK 772671245d50d94fd5087deb2542854604eba174
✳️ achow101 pushed commits to a branch: bitcoin/bitcoin:master
(https://github.com/bitcoin/bitcoin/compare/fb2f0934799a...576e16e7026f)
Merge bitcoin/bitcoin#26184: test: p2p: check that headers message with invalid proof-of-work disconnects peer
772671245d50d94fd5087deb2542854604eba174 test: p2p: check that headers message with invalid proof-of-work disconnects peer (Sebastian Falbesoner)
Pull request description:
One of the earliest anti-DoS checks done after receiving and deserializing a `headers` message from a peer is verifying whether the proof-of-work is valid (called in method `PeerManagerImpl::ProcessHeadersMessage`):
https://github.com/bitcoin/bitcoin/blob/f227e153e80c8c50c30d76e1ac638d7206c7ff61/src/net_processing.cpp#L2752-L2762
The called method `PeerManagerImpl::CheckHeadersPoW` calls `Misbehaving` with a score of 100, i.e. leading to an immediate disconnect of the peer:
https://github.com/bitcoin/bitcoin/blob/f227e153e80c8c50c30d76e1ac638d7206c7ff61/src/net_processing.cpp#L2368-L2372
This PR adds a simple test for both the misbehaving log and the resulting disconnect. For creating a block header with invalid proof-of-work, we first create one that is accepted by the node (the difficulty field `nBits` is copied from the genesis block) and based on that the nonce is modified until we have block header hash prefix that is too high to fulfill even the minimum difficulty.
ACKs for top commit:
Sjors:
ACK 772671245d50d94fd5087deb2542854604eba174
achow101:
ACK 772671245d50d94fd5087deb2542854604eba174
brunoerg:
crACK 772671245d50d94fd5087deb2542854604eba174
furszy:
Code review ACK 77267124 with a non-blocking speedup.
Tree-SHA512: 680aa7939158d1dc672b90aa6554ba2b3a92584b6d3bcb0227776035858429feb8bc66eed18b47de0fe56df7d9b3ddaee231aaeaa360136603b9ad4b19e6ac11
(https://github.com/bitcoin/bitcoin/compare/fb2f0934799a...576e16e7026f)
Merge bitcoin/bitcoin#26184: test: p2p: check that headers message with invalid proof-of-work disconnects peer
772671245d50d94fd5087deb2542854604eba174 test: p2p: check that headers message with invalid proof-of-work disconnects peer (Sebastian Falbesoner)
Pull request description:
One of the earliest anti-DoS checks done after receiving and deserializing a `headers` message from a peer is verifying whether the proof-of-work is valid (called in method `PeerManagerImpl::ProcessHeadersMessage`):
https://github.com/bitcoin/bitcoin/blob/f227e153e80c8c50c30d76e1ac638d7206c7ff61/src/net_processing.cpp#L2752-L2762
The called method `PeerManagerImpl::CheckHeadersPoW` calls `Misbehaving` with a score of 100, i.e. leading to an immediate disconnect of the peer:
https://github.com/bitcoin/bitcoin/blob/f227e153e80c8c50c30d76e1ac638d7206c7ff61/src/net_processing.cpp#L2368-L2372
This PR adds a simple test for both the misbehaving log and the resulting disconnect. For creating a block header with invalid proof-of-work, we first create one that is accepted by the node (the difficulty field `nBits` is copied from the genesis block) and based on that the nonce is modified until we have block header hash prefix that is too high to fulfill even the minimum difficulty.
ACKs for top commit:
Sjors:
ACK 772671245d50d94fd5087deb2542854604eba174
achow101:
ACK 772671245d50d94fd5087deb2542854604eba174
brunoerg:
crACK 772671245d50d94fd5087deb2542854604eba174
furszy:
Code review ACK 77267124 with a non-blocking speedup.
Tree-SHA512: 680aa7939158d1dc672b90aa6554ba2b3a92584b6d3bcb0227776035858429feb8bc66eed18b47de0fe56df7d9b3ddaee231aaeaa360136603b9ad4b19e6ac11
🚀 achow101 merged a pull request: "test: p2p: check that headers message with invalid proof-of-work disconnects peer"
(https://github.com/bitcoin/bitcoin/pull/26184)
(https://github.com/bitcoin/bitcoin/pull/26184)
💬 sipa commented on pull request "Add simulation-based `CCoinsViewCache` fuzzer":
(https://github.com/bitcoin/bitcoin/pull/27011#issuecomment-1430564995)
> I saw that the fuzzer in coins_view.cpp still uses CCoinsMap coins_map;
I think that should probably be addressed.
> and doesn't use the deterministic seeds, shouldn't this fuzzer do that as well?
I believe it does?
```c++
CCoinsViewCache coins_view_cache{&backend_coins_view, /*deterministic=*/true};
```
> EDIT: I had a look what happens when I remove the default bool deterministic = false in SaltedOutpointHasher, and found another use of the map in the fuzzer, in tx_pool.
...
(https://github.com/bitcoin/bitcoin/pull/27011#issuecomment-1430564995)
> I saw that the fuzzer in coins_view.cpp still uses CCoinsMap coins_map;
I think that should probably be addressed.
> and doesn't use the deterministic seeds, shouldn't this fuzzer do that as well?
I believe it does?
```c++
CCoinsViewCache coins_view_cache{&backend_coins_view, /*deterministic=*/true};
```
> EDIT: I had a look what happens when I remove the default bool deterministic = false in SaltedOutpointHasher, and found another use of the map in the fuzzer, in tx_pool.
...
👍 ponury1990 approved a pull request: "wallet: SecureString to allow null characters"
(https://github.com/bitcoin/bitcoin/pull/27068)
(https://github.com/bitcoin/bitcoin/pull/27068)
💬 chinggg commented on pull request "fuzz: extend ConsumeNetAddr() to return I2P and CJDNS addresses":
(https://github.com/bitcoin/bitcoin/pull/26859#issuecomment-1430748624)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/26859#issuecomment-1430748624)
Concept ACK
💬 martinus commented on pull request "Add simulation-based `CCoinsViewCache` fuzzer":
(https://github.com/bitcoin/bitcoin/pull/27011#issuecomment-1430768763)
> I believe it does?
It does [in line 49 for `CCoinsViewCache`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/coins_view.cpp#L49), but not [in line 118 for the `CCoinsMap coins_map;`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/coins_view.cpp#L118). I've added that in #25325 [here](https://github.com/bitcoin/bitcoin/pull/25325/commits/78f597be2879c39d9d2b98e21ed0120d2308de20#diff-1ef3b6a1936b50f3d5ec4a1786d9e2d63d1a3e1815b103e67f20601995f355b4R119)
(https://github.com/bitcoin/bitcoin/pull/27011#issuecomment-1430768763)
> I believe it does?
It does [in line 49 for `CCoinsViewCache`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/coins_view.cpp#L49), but not [in line 118 for the `CCoinsMap coins_map;`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/coins_view.cpp#L118). I've added that in #25325 [here](https://github.com/bitcoin/bitcoin/pull/25325/commits/78f597be2879c39d9d2b98e21ed0120d2308de20#diff-1ef3b6a1936b50f3d5ec4a1786d9e2d63d1a3e1815b103e67f20601995f355b4R119)
🤔 LarryRuane requested changes to a pull request: "rpc, p2p: add `addpermissionflags` RPC and allow whitelisting outbound"
(https://github.com/bitcoin/bitcoin/pull/26441)
(https://github.com/bitcoin/bitcoin/pull/26441)
💬 LarryRuane commented on pull request "rpc, p2p: add `addpermissionflags` RPC and allow whitelisting outbound":
(https://github.com/bitcoin/bitcoin/pull/26441#discussion_r1106652331)
The first commit ("net: Move PF_ISIMPLICIT interpretation from AcceptConnection to ...") doesn't compile; this call to `AddWhitelistPermissionFlags()` should not have the `vWhitelistedRange` until the third commit, "Accept "in" and "out" flags to -whitelist...".
(https://github.com/bitcoin/bitcoin/pull/26441#discussion_r1106652331)
The first commit ("net: Move PF_ISIMPLICIT interpretation from AcceptConnection to ...") doesn't compile; this call to `AddWhitelistPermissionFlags()` should not have the `vWhitelistedRange` until the third commit, "Accept "in" and "out" flags to -whitelist...".
💬 LarryRuane commented on pull request "rpc, p2p: add `addpermissionflags` RPC and allow whitelisting outbound":
(https://github.com/bitcoin/bitcoin/pull/26441#discussion_r1106665680)
I got a compile error with the third commit, "Accept "in" and "out" flags to -whitelist..." because these are out of order, which you fixed later, but each commit should compile.
(https://github.com/bitcoin/bitcoin/pull/26441#discussion_r1106665680)
I got a compile error with the third commit, "Accept "in" and "out" flags to -whitelist..." because these are out of order, which you fixed later, but each commit should compile.