aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-04-16remove unneeded cwd option from cpp-subprocessSebastian Falbesoner
2024-04-16remove unneeded bufsize option from cpp-subprocessSebastian Falbesoner
2024-04-16remove unneeded close_fds option from cpp-subprocessSebastian Falbesoner
2024-04-16remove unneeded session_leader option from cpp-subprocessSebastian Falbesoner
2024-04-16remove unneeded defer_spawn option from cpp-subprocessSebastian Falbesoner
For our use-case, there doesn't seem to be any need for this.
2024-04-16remove unneeded preexec function option from cpp-subprocessSebastian Falbesoner
We don't seem to ever need this, so remove it.
2024-04-16remove unneeded shell option from cpp-subprocessSebastian Falbesoner
We don't use this option and it's not supported on Windows anyways, so we can get as well rid of it.
2024-04-16[doc] restore comment about why we check if ptx HasWitness before caching ↵glozow
rejected txid
2024-04-16guard against MempoolAcceptResult::m_replaced_transactionsglozow
It should never be a nullopt when the transaction result is valid - Assume() this is the case. However, as a belt-and-suspenders just in case it is nullopt, use an empty list.
2024-04-15Merge bitcoin/bitcoin#29869: rpc, bugfix: Enforce maximum value for setmocktimeglozow
c2e0489b7125cceaeef355fc274dd8988822fff4 [rpc, bugfix] Enforce maximum value for setmocktime (dergoegge) Pull request description: The maximum value for our mocktime must be representable in nanoseconds, otherwise we end up with negative values returned from `NodeClock::now()`. Found through fuzzing: ``` $ echo "c2V0bW9ja3RpbWVcZTptYf9w/3NldG3///////////////9p////ZP///ymL//////89////Nv9L////////LXkBAABpAA==" | base64 --decode > rpc-8cab9148ab4418ebd1923c213e9d3fe9c9b49b39.crash $ FUZZ=rpc ./src/test/fuzz/fuzz rpc-8cab9148ab4418ebd1923c213e9d3fe9c9b49b39.crash fuzz_libfuzzer: util/time.cpp:28: static NodeClock::time_point NodeClock::now(): Assertion `ret > 0s' failed. ``` ACKs for top commit: maflcko: re-ACK c2e0489b7125cceaeef355fc274dd8988822fff4 brunoerg: crACK c2e0489b7125cceaeef355fc274dd8988822fff4 glozow: ACK c2e0489b7125cceaeef355fc274dd8988822fff4 Tree-SHA512: d7e237ca37bedd74a6b085fb6e726a142705371044c77488f593f35afe70aeca756fdba86920294b1d322c7a9b2cde9ce4e1b7d410a6ccc1fd7c6f3a6e77200a
2024-04-15chore: fix some typos in commentsStevenMia
Signed-off-by: StevenMia <flite@foxmail.com>
2024-04-15Merge bitcoin/bitcoin#28874: doc: fixup help output for -upnp and -natpmpmerge-script
92f88a962908c49dde99c03a4608e63e4a6eec71 doc: fixup NAT-PMP help doc (fanquake) 02395edca9e99454388ae9b91ee174fbccc38021 init: remove redundant upnp #ifdef (fanquake) Pull request description: This is a very belated followup to #26896 (which removed the configure options for setting the upnp and natpmp runtime default) and corrects the `-help` docs for `-upnp` and `-natpmp`. ACKs for top commit: davidgumberg: ACK https://github.com/bitcoin/bitcoin/commit/92f88a962908c49dde99c03a4608e63e4a6eec71 hernanmarino: ACK 92f88a962908c49dde99c03a4608e63e4a6eec71 Tree-SHA512: 795dc8a8703bf322b5831d845de85f2428ee0dd45d3064b48ff47d147147381af26c0a9d00c596db12009b254763844b209989daf4e7470d20e8a1753b640966
2024-04-15refactor: Use chrono type for g_mock_timeMarcoFalke
This avoids verbose casts in the lines where the symbol is used.
2024-04-15test: Add missing Assert(mock_time_in >= 0s) to SetMockTimeMarcoFalke
Also, inline the deprecated alias to avoid having the two go out of sync again in the future.
2024-04-15[rpc, bugfix] Enforce maximum value for setmocktimedergoegge
2024-04-15rpc: Reword SighashFromStr error messageMarcoFalke
2024-04-12build: remove minisketch clz checkfanquake
2024-04-12Squashed 'src/minisketch/' changes from a571ba20f9..3472e2f5ecfanquake
3472e2f5ec Merge sipa/minisketch#81: Avoid overflowing shift by special casing inverse of 1 653d8b2e26 Avoid overflowing shift by special casing inverse of 1 33b7c200b9 Merge sipa/minisketch#80: Add c++20 version of CountBits 4a48f31a37 Merge sipa/minisketch#83: ci: Fix "s390x (big-endian)" task 82b6488acb Add c++20 version of CountBits 0498084d31 ci: Fix "s390x (big-endian)" task 71709dca9e Merge sipa/minisketch#82: ci: Fix `x86_64-w64-mingw32` task 9e6127fa98 Merge sipa/minisketch#74: Avoid >> above type width in BitWriter ed420bc170 ci: Fix `x86_64-w64-mingw32` task fe1040f227 Drop -Wno-shift-count-overflow compile flag 154bcd43bd Avoid >> above type width in BitWriter 67b87acdb6 Merge sipa/minisketch#78: ci: Update macOS image for CI 7de7250416 ci: Update macOS image for CI 83d812ea9f Merge sipa/minisketch#73: ci: Use correct variable to designate C++ compiler e051a7d690 ci: Install wine32 package for Windows tests 2d2c695d78 build: Drop unused `CC` variable 1810fcbd11 ci: Use correct variable to designate C++ compiler 022b959049 Merge sipa/minisketch#77: Add missing include 08443c4892 Add missing include git-subtree-dir: src/minisketch git-subtree-split: 3472e2f5ec75ace39ce9243af6b3fee233a67492
2024-04-12Update minisketch subtree to latest masterfanquake
2024-04-11psbt: Check non witness utxo outpoint earlyAva Chow
A common issue that our fuzzers keep finding is that outpoints don't exist in the non witness utxos. Instead of trying to track this down and checking in various individual places, do the check early during deserialization.
2024-04-11Merge bitcoin/bitcoin#29849: Fix typos in `subprocess.hpp`merge-script
13f5391bbb45cd8aebc6ae70cad08aff632ebd55 Fix typos in `subprocess.hpp` (Hennadii Stepanov) Pull request description: Resolves one item in the https://github.com/bitcoin/bitcoin/pull/28981#pullrequestreview-1991272752: > - Remove linter exclusions and fix all issues. Based on upstream https://github.com/arun11299/cpp-subprocess/pull/101. ACKs for top commit: fanquake: ACK 13f5391bbb45cd8aebc6ae70cad08aff632ebd55 Tree-SHA512: 2ee27a5b7d1ba6f47a5148add155c918eadaaffb94a4b5dd3edea00e63440b87291c559361bf25a8db1567debff78cf7e9466dc34f14331ca1d426994837df93
2024-04-11Merge bitcoin/bitcoin#29735: AcceptMultipleTransactions: Fix workspace not ↵glozow
being set as client_maxfeerate failure 4ba1d0b55339c3ea90e2bcd64662a06f0f90dd46 fuzz: Add coverage for client_maxfeerate (Greg Sanders) 91d7d8f22a1c528db14fa743c66cd861ea00e84b AcceptMultipleTransactions: Fix workspace client_maxfeerate (Greg Sanders) f3aa5bd5eb6d1088f98a4dc7daaab0e17a7d5529 fill_mempool: assertions and docsctring update (Greg Sanders) a3da63e8febe475f2250f6432bca237d31fa9107 Move fill_mempool to util function (Greg Sanders) 73b68bd8b4f9447e30091c7f8c3dc91a086bd93b fill_mempool: remove subtest-specific comment (Greg Sanders) Pull request description: Bug causes an `Assume()` failure due to the expectation that the individual result should be invalid when done over `submitpackage` via rpc. Bug introduced by https://github.com/bitcoin/bitcoin/pull/28950 , and I discovered it rebasing https://github.com/bitcoin/bitcoin/pull/28984 since it's easier to hit in that test scenario. Tests in place were only checking `AcceptSingleTransaction`-level checks due to package evaluation only triggering when minfee is too high for the parent transaction. Added test along with fix, moving the fill_mempool utility into a common area for re-use. ACKs for top commit: glozow: reACK 4ba1d0b55339c3ea90e2bcd64662a06f0f90dd46 theStack: ACK 4ba1d0b55339c3ea90e2bcd64662a06f0f90dd46 ismaelsadeeq: re-ACK https://github.com/bitcoin/bitcoin/commit/4ba1d0b55339c3ea90e2bcd64662a06f0f90dd46 via [diff](https://github.com/bitcoin/bitcoin/compare/4fe7d150eb3c85a6597d8fc910fe1490358197ad..4ba1d0b55339c3ea90e2bcd64662a06f0f90dd46) Tree-SHA512: 3729bdf7f25d04e232f173ccee04ddbb2afdaafa3d04292a01cecf58fb11b3b2bc133e8490277f1a67622b62d17929c242dc980f9bb647896beea4332ee35306
2024-04-11net: Decrease nMaxIPs when learning from DNS seedslaanwj
Limit number of IPs learned from a single DNS seed to 32, to prevent the results from one DNS seed from dominating AddrMan. Note that the number of results from a UDP DNS query is bounded to 33 already, but it is possible for it to use TCP where a potentially enormous number of results can be returned. Closes #16070.
2024-04-11Fix typos in `subprocess.hpp`Hennadii Stepanov
2024-04-10Remove timedatastickies-v
With the introduction and usage of TimeOffsets, there is no more need for this file. Remove it.
2024-04-10[net processing] Move IgnoresIncomingTxs to PeerManagerInfodergoegge
2024-04-10[net processing] Introduce PeerManagerInfodergoegge
For querying statistics/info from PeerManager. The median outbound time offset is the only initial field.
2024-04-10Add TimeOffsets helper classstickies-v
This helper class is an alternative to CMedianFilter, but without a lot of the special logic and exceptions that we needed while it was still used for consensus.
2024-04-10[net processing] Use std::chrono for type-safe time offsetsstickies-v
2024-04-10[net processing] Move nTimeOffset to net_processingdergoegge
2024-04-10Merge bitcoin/bitcoin#28981: Replace Boost.Process with cpp-subprocessmerge-script
d5a715536e497c160a2520f81334aab6c7490213 build: remove boost::process dependency for building external signer support (Sebastian Falbesoner) 70434b1c443d9251a880d0193af771f574c40617 external_signer: replace boost::process with cpp-subprocess (Sebastian Falbesoner) cc8b9875b104c31f0a5b5e4195a8278ec55f35f7 Add `cpp-subprocess` header-only library (Hennadii Stepanov) Pull request description: Closes https://github.com/bitcoin/bitcoin/issues/24907. This PR is based on **theStack**'s [work](https://github.com/bitcoin/bitcoin/issues/24907#issuecomment-1466087049). The `subprocess.hpp` header has been sourced from the [upstream repo](https://github.com/arun11299/cpp-subprocess) with the only modification being the removal of convenience functions, which are not utilized in our codebase. Windows-related changes will be addressed in subsequent follow-ups. ACKs for top commit: achow101: reACK d5a715536e497c160a2520f81334aab6c7490213 Sjors: re-tACK d5a715536e497c160a2520f81334aab6c7490213 theStack: Light re-ACK d5a715536e497c160a2520f81334aab6c7490213 fanquake: ACK d5a715536e497c160a2520f81334aab6c7490213 - with the expectation that this code is going to be maintained as our own. Next PRs should: Tree-SHA512: d7fb6fecc3f5792496204190afb7d85b3e207b858fb1a75efe483c05260843b81b27d14b299323bb667c990e87a07197059afea3796cf218ed8b614086bd3611
2024-04-09Merge bitcoin/bitcoin#29820: refactor, bench, fuzz: Drop unneeded ↵merge-script
`UCharCast` calls 56e1e5dd10cbe51d3abc3fbf532b6b41bf62a889 refactor, bench, fuzz: Drop unneeded `UCharCast` calls (Hennadii Stepanov) Pull request description: The `CKey::Set()` template function handles `std::byte` just fine: https://github.com/bitcoin/bitcoin/blob/b5d21182e5a66110ce2796c2c99da39c8ebf0d72/src/key.h#L105 Noticed in https://github.com/bitcoin/bitcoin/pull/29774#discussion_r1546288181. ACKs for top commit: maflcko: lgtm ACK 56e1e5dd10cbe51d3abc3fbf532b6b41bf62a889 laanwj: Seems fine, code review ACK 56e1e5dd10cbe51d3abc3fbf532b6b41bf62a889 hernanmarino: ACK 56e1e5dd10cbe51d3abc3fbf532b6b41bf62a889 Tree-SHA512: 0f6b6e66692e70e083c7768aa4859c7db11aa034f555d19df0e5d33b18c0367ba1c886bcb6be3fdea78248a3cf8285576120812da55b995ef5e6c94a9dbd9f7c
2024-04-09gui: Hide peers details@RandyMcMillan
Add a close (X) button to the Peers Detail panel. Reuse the same icon used in the Console Tab. The close button deselects the peer highlighted in the PeerTableView and hides the detail panel. This PR addresses issue #485: Co-authored-by: @w0xlt <w0xlt@users.noreply.github.com>
2024-04-09Merge bitcoin/bitcoin#29834: build: Change MAC_OSX macro to __APPLE__ in cryptomerge-script
a71eadf66bed8d3ea4282c8499f533a8eeed9900 Change MAC_OSX macro to __APPLE__ in crypto package (Lőrinc) Pull request description: Split out from https://github.com/bitcoin/bitcoin/pull/29450#issuecomment-2044405345 to avoid the uncertainties and simplify review. ACKs for top commit: theuni: ACK a71eadf66bed8d3ea4282c8499f533a8eeed9900 fanquake: ACK a71eadf66bed8d3ea4282c8499f533a8eeed9900 Tree-SHA512: b6a7bd7ca95585dd9110cefe7c1213f4a1a72bdfc88670abf4a0d9a8bbc12e093544524adce46aa9ca714c472d417f74ca4a678af682ed2488053059434eaa02
2024-04-09fuzz: Add coverage for client_maxfeerateGreg Sanders
2024-04-09AcceptMultipleTransactions: Fix workspace client_maxfeerateGreg Sanders
If we do not set the Failure for the workspace when there is a client_maxfeerate related error, we hit an Assume() to the contrary. Properly set it.
2024-04-09Merge bitcoin/bitcoin#29752: refactor: Use typesafe Wtxid in compact block ↵glozow
encodings a8203e94123b6ea6e4f4a6320e3ad20457f44a28 refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef> (AngusP) c3c18433ae1d5b024d4cb92c762f5ca0ec7849c8 refactor: Use typesafe Wtxid in compact block encoding message, instead of ambiguous uint256. (AngusP) Pull request description: The first commit replaces `uint256` with typesafe `Wtxid` (or `Txid`) types introduced in #28107. The second commit then simplifies the extra tx `vector` to just be of `CTransactionRef`s instead of a `std::pair<Wtxid, CTransactionRef>`, as it's easy to get a `Wtxid` from a transaction ref. ACKs for top commit: glozow: ACK a8203e94123b6ea6e4f4a6320e3ad20457f44a28 dergoegge: ACK a8203e94123b6ea6e4f4a6320e3ad20457f44a28 Tree-SHA512: b4ba1423a8059f9fc118782bd8a668213d229c822f22b01267de74d6ea97fe4f2aad46b5da7c0178ecc9905293e9a0eafba1d75330297c055e27fd53c8c8ebfd
2024-04-09Change MAC_OSX macro to __APPLE__ in crypto packageLőrinc
2024-04-09Merge bitcoin/bitcoin#29786: Drop Windows Socket dependency for `randomenv.cpp`fanquake
03b87a3e64305ba651e22a730e35271dea8fea64 Drop Windows Socket dependency for `randomenv.cpp` (Hennadii Stepanov) Pull request description: This change drops a dependency on the ws2_32 library for our libbitcoinkernel by switching to [`GetComputerName`](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getcomputernamew) function. ACKs for top commit: sipsorcery: utACK 03b87a3e64305ba651e22a730e35271dea8fea64. laanwj: Code review ACK 03b87a3e64305ba651e22a730e35271dea8fea64. fanquake: ACK 03b87a3e64305ba651e22a730e35271dea8fea64 Tree-SHA512: a4abd5499176634d5f3fbf4e794a7504c40232fb73bd7f41955fbfb2cc7c44bc7ea4518c5203836e52f552c30414c6c3e1b24f0922641dbf1c8377981c0ffaf0
2024-04-08Merge bitcoin/bitcoin#29691: Change Luke Dashjr seed to ↵fanquake
dashjr-list-of-p2p-nodes.us 4f273ab4360c9aa72c2feb78787e1811ab58dc16 Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us (Luke Dashjr) Pull request description: To avoid issues with DNS blacklisting, I've setup a separate domain for my DNS seed. (This time, without a potentially alarming name) ACKs for top commit: kevkevinpal: Concept ACK [4f273ab](https://github.com/bitcoin/bitcoin/pull/29691/commits/4f273ab4360c9aa72c2feb78787e1811ab58dc16), name looks good to me petertodd: ACK https://github.com/bitcoin/bitcoin/pull/29691/commits/4f273ab4360c9aa72c2feb78787e1811ab58dc16 mzumsande: ACK 4f273ab4360c9aa72c2feb78787e1811ab58dc16 fanquake: ACK 4f273ab4360c9aa72c2feb78787e1811ab58dc16 Tree-SHA512: 689698e3c735df3ed0c2756a9d4adb5644bb9d8a6954e23d66bfa9d94ee10954f77fb241d9593f750054d731aa1532368a0fc8277884f6c2a98ac47cd0bdeeb7
2024-04-07[clang-tidy] Enable the misc-no-recursion checkdergoegge
Co-authored-by: stickies-v <stickies-v@protonmail.com> Co-authored-by: Gloria Zhao <gloriajzhao@gmail.com>
2024-04-06Merge bitcoin/bitcoin#29815: crypto: chacha20: always use our fallback ↵fanquake
timingsafe_bcmp rather than libc's 2d1819455cb4c516f6cdf81c11e869a23dee3e6b crypto: chacha20: always use our fallback timingsafe_bcmp rather than libc's (Cory Fields) Pull request description: Looking at libc sources, apple and openbsd implementations match our naive fallback. Only FreeBSD (and only x86_64) seems to [implement an optimized version](https://github.com/freebsd/freebsd-src/blob/main/lib/libc/amd64/string/timingsafe_bcmp.S). It's not worth the hassle of using a platform-specific function for such little gain. Additionally, as mentioned below, this is the only case outside of sha2 that requires an autoconf check, and I have upcoming PRs to remove the sha2 ones. Apple's [impl is unoptimized](https://opensource.apple.com/source/Libc/Libc-1244.1.7/string/FreeBSD/timingsafe_bcmp.c.auto.html). As-is [OpenBSD's impl](https://github.com/openbsd/src/blob/master/lib/libc/string/timingsafe_bcmp.c). Relevant IRC conversation with sipa: > \<cfields\> sipa: chacha20poly1305.cpp uses libc's timingsafe_bcmp when possible. But looking around at apple/freebsd/openbsd, I don't see any impl that doesn't use the naive implementation that matches our fallback... > \<cfields\> is there any reason to belive there's an optimized impl somewhere that we're actually hitting? > \<cfields\> asking because after cleaning up sha2, timingsafe_bcmp is the last autoconf check that remains in all of crypto. It'd make life easy if we could just always use our internal one. > \<cfields\> *all of crypto/ > \<sipa\> cfields: let's get rid of the dependency then > \<sipa\> it's a trivial function > \<sipa\> and if we need it for some platforms, no real reason not to use it on all After the above discusstion, I did end up finding the x86_64-optimized FreeBSD impl, but I don't think that's all that significant. ACKs for top commit: sipa: utACK 2d1819455cb4c516f6cdf81c11e869a23dee3e6b fanquake: ACK 2d1819455cb4c516f6cdf81c11e869a23dee3e6b TheCharlatan: ACK 2d1819455cb4c516f6cdf81c11e869a23dee3e6b theStack: ACK 2d1819455cb4c516f6cdf81c11e869a23dee3e6b Tree-SHA512: b9583e19ac2f77c5d572aa5b95bc4b53669d5717e5708babef930644980de7c5d06a9c7decd5c2b559d70b8597328ecfe513375e3d8c3ef523db80012dfe9266
2024-04-06refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a ↵AngusP
vec of pair<Wtxid, CTransactionRef> All `CTransactionRef` have `.GetWitnessHash()` that returns a cached `const Wtxid` (since fac1223a568fa1ad6dd602350598eed278d115e8), so we don't need to pass transaction refs around with their IDs as they're easy to get from a ref.
2024-04-06refactor, bench, fuzz: Drop unneeded `UCharCast` callsHennadii Stepanov
The `CKey::Set()` template function handles `std::byte` just fine.
2024-04-06Merge bitcoin/bitcoin#29803: Update libsecp256k1 subtree to latest masterfanquake
53eec53dca1cb677d11564b055d3b8581ddd6747 Squashed 'src/secp256k1/' changes from efe85c70a2..d8311688bd (fanquake) Pull request description: Updates the libsecp256k1 subtree to https://github.com/bitcoin-core/secp256k1/commit/d8311688bd383d3a923a1b11789cded3cc8e5e03. Part of #29742. See that PR for more details, the particularly relevant changes are: * https://github.com/bitcoin-core/secp256k1/pull/1496 * https://github.com/bitcoin-core/secp256k1/pull/1512 ACKs for top commit: theuni: ACK 4654cc32248d788ac1160ca320ea68d31357d0c9 jonasnick: utACK 4654cc32248d788ac1160ca320ea68d31357d0c9 Tree-SHA512: 84e711e9245ced6cc679e082f597d096361d8824c6ff7de2d4d7f59adb3316464b3643ffa588a899345cb88532672a66968b6c66c51b1924adf4441f54427277
2024-04-05Merge bitcoin/bitcoin#29805: test: Fix debug recommendation in argsman_testsfanquake
561a650e0f669159699224ddd4eb5b1c91cf9ac3 test: Fix debug recommendation in argsman_tests (Fabian Jahr) Pull request description: There are recommendations in the `argsman_tests` comments on how to re-run and debug a test failure to see if it reflects an expected or unexpected change. The command tries to run a test in `util_tests` but this is in `argsman_tests` so the command doesn't work with just copy+paste. I didn't investigate further but I suspect that these tests were moved between files. ACKs for top commit: fanquake: ACK 561a650e0f669159699224ddd4eb5b1c91cf9ac3 Tree-SHA512: b3bb94ba1635c9455149b455f2b30ee37a8067a6242339531ab54d428177a288da29a4a10702652305eb34aa7638f51dad35fa6b0e7b74617e445327b8c4c053
2024-04-05Merge bitcoin/bitcoin#29081: refactor: Remove gmtime*fanquake
fa9f36babaceba6ab2f88e64bc4bc2956f58871f build: Remove HAVE_GMTIME_R (MarcoFalke) fa72dcbfa56177ca878375bae7c7bca6ca6a1f40 refactor: FormatISO8601* without gmtime* (MarcoFalke) fa2c486afc8501f2678cc19c9e9518a23c4ebcbd Revert "time: add runtime sanity check" (MarcoFalke) Pull request description: Now that the `ChronoSanityCheck` has passed for everyone with C++17 and is guaranteed by C++20 to always pass, remove it. Also, remove `gmtime_r` and `gmtime_s` and replace them with `year_month_day`+`hh_mm_ss` from C++20. ACKs for top commit: sipa: utACK fa9f36babaceba6ab2f88e64bc4bc2956f58871f fanquake: ACK fa9f36babaceba6ab2f88e64bc4bc2956f58871f - more std lib & even less stuff to port. Tree-SHA512: a9e7e805b757b7dade0bcc3f95273a7dc4f68622630d74838339789dd203ad7542d36b2e090a93b2bc5a7ecc383207dd7ec82c68147108bdac7ce44f088c8c9a
2024-04-05crypto: chacha20: always use our fallback timingsafe_bcmp rather than libc'sCory Fields
Looking at apple/freebsd/openbsd sources, their implementations match our naive fallback. It's not worth the hassle of using a platform-specific function for no gain.
2024-04-04gui: don't permit port in proxy IP optionwillcl-ark
Fixes: #809 Previously it was possible through the GUI to enter an IP address:port into the "Proxy IP" configuration box. After the node was restarted the errant setting would prevent the node starting back up until manually removed from settings.json.
2024-04-04Merge bitcoin/bitcoin#29776: ThreadSanitizer: Fix #29767Ryan Ofsky
bbe82c116e72ca0638751e063bf564cd1fe5c4d5 Fix #29767, set m_synced = true after Commit() (nanlour) Pull request description: I think this problem https://github.com/bitcoin/bitcoin/issues/29767#issue-2216373048 is because of in BaseIndex::Sync https://github.com/bitcoin/bitcoin/blob/61de64df6790077857faba84796bb874b59c5d15/src/index/base.cpp#L163-L168 Setup m_synced = true; before Commit(); So this may cause a race condition window to BaseIndex::BlockConnected https://github.com/bitcoin/bitcoin/blob/61de64df6790077857faba84796bb874b59c5d15/src/index/base.cpp#L271-L274 So i try to fix it with move m_synced = true after Commit(). Also see comment of Sync(): https://github.com/bitcoin/bitcoin/blob/61de64df6790077857faba84796bb874b59c5d15/src/index/base.h#L151-L156 I am a newcomer interested in Bitcoin, trying to become a member of the Bitcoin Core development team. Please give me some feedback if you could, as I may be doing something wrong. Thank you! ACKs for top commit: fjahr: Code review ACK bbe82c116e72ca0638751e063bf564cd1fe5c4d5 ryanofsky: Code review ACK bbe82c116e72ca0638751e063bf564cd1fe5c4d5 Tree-SHA512: 89a09498a232c87ef1e083d4cc4ed9bb15f045ad0624d5d150a87187b2b8a48a41137974dbc7ea5c37f73da90742c43259f5aa7f84b4179eb8d62033e44fa479