< bitcoin-git> [bitcoin] sipa closed pull request #18367: Avoid strncpy for CMessageHeader::pchCommand (master...202003_strncopy_warning) https://github.com/bitcoin/bitcoin/pull/18367
< fanquake> sipa did you want to review #16995 ?
< gribble> https://github.com/bitcoin/bitcoin/issues/16995 | Fix gcc 9 warnings by laanwj · Pull Request #16995 · bitcoin/bitcoin · GitHub
< sipa> fanquake: of course
< * fanquake> moves away from the merge button
< sipa> give me 15 min
< fanquake> No worries, no rush
< bitcoin-git> [bitcoin] fanquake opened pull request #18371: test: use fs namespace in dbwrapper unicodepath test (master...dbwrapper_use_fs_namespace) https://github.com/bitcoin/bitcoin/pull/18371
< bitcoin-git> [bitcoin] sipa opened pull request #18374: Bugfix in bn2vch: avoid excessive padding (master...202003_fix_bn2vch) https://github.com/bitcoin/bitcoin/pull/18374
< * fanquake> kills his terminal
< * fanquake> realises he should have respected LLDBs advice that there were too many frame variables to print
< fanquake> vasild: see #18372 for why master is broken
< gribble> https://github.com/bitcoin/bitcoin/issues/18372 | sanitizer: heap-use-after-free in checkinputs_test · Issue #18372 · bitcoin/bitcoin · GitHub
< vasild> fanquake: so, its not the .md changes that broke it ;D
< vasild> any idea how did this sneak into master?
< fanquake> vasild: no, I haven't investigated yet
< vasild> maybe one of 1. it is undeterministic failure and the PR that introduced it was lucky to get green. or 2. somebody merged a red/broken PR or 3. changes in the travis environment that revealed an existent problem.
< aj> vasild: or it only comes about because of two changes that were independently okay
< vasild> aj: right! lets see...
< bitcoin-git> [bitcoin] AleGiovanardi opened pull request #18375: Merge pull request #1 from bitcoin/master (master...master) https://github.com/bitcoin/bitcoin/pull/18375
< bitcoin-git> [bitcoin] AleGiovanardi closed pull request #18375: Merge pull request #1 from bitcoin/master (master...master) https://github.com/bitcoin/bitcoin/pull/18375
< bitcoin-git> [bitcoin] vasild opened pull request #18376: net: fix use-after-free in tests (master...fix_use_after_free_issue18372) https://github.com/bitcoin/bitcoin/pull/18376
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/ce87d5613a55...3a8d25064e70
< bitcoin-git> bitcoin/master 6afaf2f fanquake: test: use fs namespace in dbwrapper unicodepath test
< bitcoin-git> bitcoin/master 3a8d250 MarcoFalke: Merge #18371: test: use fs namespace in dbwrapper unicodepath test
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #18371: test: use fs namespace in dbwrapper unicodepath test (master...dbwrapper_use_fs_namespace) https://github.com/bitcoin/bitcoin/pull/18371
< vasild> MarcoFalke: wrt https://github.com/bitcoin/bitcoin/pull/18376#discussion_r394349862 - I will change it as you suggest to just "=" once travis confirms the fix (if I push now it will restart the tests)
< vasild> now, if we can explain why travis was green on the PR that introduced the issue I will sleep well tonight
< bitcoin-git> [bitcoin] brakmic opened pull request #18377: build: fix libevent linking errors for bench-only builds (master...bench-compilation) https://github.com/bitcoin/bitcoin/pull/18377
< willcl_ark> Is it worth me opening an issue for this project related to with a specific clang version segfaulting during tests, if the solution is to simply upgrade clang?
< fanquake> willcl_ark: what version of Clang?
< willcl_ark> fanquake: 11.0.0 (bundled with commandlinetools). Upgrading to 11.0.3 fixed.
< fanquake> So Apple Clang?
< willcl_ark> Indeed
< fanquake> Was the issue related to stack checking?
< fanquake> Possibly libsecp related?
< willcl_ark> yes libsecp test segfaulted too. wait I'll just recall the error
< willcl_ark> it was unaligned stack stuff
< willcl_ark> I guess this is pretty much the same issue: https://github.com/jedisct1/libsodium/issues/848
< fanquake> Yea I assume you're seeing https://github.com/bitcoin-core/secp256k1/issues/674
< willcl_ark> ah great, I just wanted to make sure it was documented within this project in some way :)
< fanquake> willcl_ark: no worries, thanks for asking
< stevenroose> I'd like to get a clear summary of the peering strategy for Core nodes. Especially regarding limits (incoming and outgoing) and how the limit applies to `connect=`. Is that written up somewhere?
< stevenroose> Personally I assumed that `connect=` configs would have no limit as they are a clear order "make sure you connect to this peer always". But it seems that they might fall under the 8- (or 12?) peer outgoing connection limit?
< stevenroose> These policies are quite hard to find in the code, tbh. Hence my Q here :)
< harding> stevenroose: the -help documentation for connect= says "Connect only to the specified node"
< harding> Oh, your question is how many times you can specify -connect?
< stevenroose> Yeah..
< stevenroose> No mostly it is "if I specify 30, will it connect to all 30 or will it stop at the 8 (or 12?) limit?"
< sipa> i think 8 times
< stevenroose> IMO "Connect only to the specified node" should be "Connect to the specified node"
< sipa> no
< stevenroose> Hmm no
< sipa> -connect disables the normal automatic connection mechanism
< stevenroose> Indeed, because that doesn't rule out that it doesn't connect to others.
< stevenroose> sipa: so your understanding is as well that with 9 `connect=`'s, it will just pick 8 of them to connect to? And probably pick the 9th if one of the 9 goes down?
< sipa> stevenroose: i believe it's something like that
< stevenroose> Is there a way to make a node connect to *all* `connect=`'s? By upping the limit? By config? Or can that only be done through a code change?
< sipa> no
< sipa> and yes, intentionally
< stevenroose> The docs don't mention the limit, though: "This option can be specified multiple times to connect to multiple nodes."
< sipa> (because a while ago there was a flurry of people who believed that more connections means better, faster, safer, ...; and were causing the network to run out of connectable ports)
< stevenroose> Hmm. Well I understand that having a `-outgoinglimit` flag is exploitable.
< stevenroose> But letting `-connect=` go over the limit is way harder to exploit.
< yevaud> if you think you need more outgoing connections, you almost certainly don't.
< stevenroose> These people would have to keep adding nodes to their config files.
< sipa> yeah, generally there is no point
< stevenroose> yevaud: special-case situation
< yevaud> there's no special cases that justify it, honestly. manually pinning certain peers causes a bunch of issues.
< yevaud> for running nodes behind a network of external gateways, sure, but that's a very specific use case which doesn't need a large number of them.
< stevenroose> yevaud: briefly explained we're trying to bridge a bunch of internla nodes that only interconnect with the public network through 2 bridges. And we want to ensure the bridges connect to the internal nodes but also at least a few public connections
< sipa> stevenroose: you can use -addnode instead
< yevaud> you want addnode, which has a different connection pool to outgoing connections.
< sipa> which works like -connect, but doesn't disable the normal random peer mechanism
< yevaud> and you have that backwards anyway.
< yevaud> internal nodes want to be connecting to the bridges, not the other way around.
< yevaud> just from a management perspective it's a lot less painful.
< stevenroose> yeah so somehow we've been trying to make the bridge not accept incoming connections to prevent them from being DoS'ed (I think), but I'm starting to quesiton that requirement
< stevenroose> AFAIU if some public nodes we have and all the internal ones just -addnode the bridges, it should all work
< yevaud> read about whitebind, and the docs in general.
< sipa> stevenroose: all these nodes (bridges, internal ones) connect over the public internet, right? no VPN or so
< stevenroose> sipa: all tor
< sipa> so if the onion addresses are kept secret, there is no risk for incoming DOS to the bridge nodes
< sipa> whitebind won't help in this case
< yevaud> for bridges you definitely want whitebind for the transaction relay logic.
< stevenroose> hmm yeah I think I'm getting the gist of what we should do. Thanks.
< yevaud> don't listen on bridges, whitebind on them, and use connect on the "hidden" peers.
< bitcoin-git> [bitcoin] sipa opened pull request #18378: Bugfix & simplify bn2vch using int.to_bytes (master...202003_simple_bn2vch) https://github.com/bitcoin/bitcoin/pull/18378
< bitcoin-git> [bitcoin] sipa closed pull request #18374: Bugfix in bn2vch: avoid excessive padding (master...202003_fix_bn2vch) https://github.com/bitcoin/bitcoin/pull/18374
< bitcoin-git> [bitcoin] 4d55397500 opened pull request #18379: Comment fix merkle.cpp (master...4d55397500-patch-1-1) https://github.com/bitcoin/bitcoin/pull/18379
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/3a8d25064e70...dbb067da389d
< bitcoin-git> bitcoin/master 5b59a19 4d55397500: Update merkle.cpp
< bitcoin-git> bitcoin/master dbb067d MarcoFalke: Merge #18379: doc: Comment fix merkle.cpp
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #18379: doc: Comment fix merkle.cpp (master...4d55397500-patch-1-1) https://github.com/bitcoin/bitcoin/pull/18379
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/dbb067da389d...e83a1de4c03f
< bitcoin-git> bitcoin/master 5e47b19 practicalswift: tests: Add harness which fuzzes EvalScript and VerifyScript using a fuzzed...
< bitcoin-git> bitcoin/master e83a1de MarcoFalke: Merge #18155: tests: Add harness which fuzzes EvalScript and VerifyScript ...
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #18155: tests: Add harness which fuzzes EvalScript and VerifyScript using a fuzzed signature checker (master...fuzzers-signature_checker) https://github.com/bitcoin/bitcoin/pull/18155
< bitcoin-git> [bitcoin] MarcoFalke pushed 4 commits to master: https://github.com/bitcoin/bitcoin/compare/e83a1de4c03f...5c9d408b2dd8
< bitcoin-git> bitcoin/master fa4fa88 MarcoFalke: doc: Remove --disable-ccache from docs
< bitcoin-git> bitcoin/master aaaa055 MarcoFalke: fuzz: Add option to merge input dir to test runner
< bitcoin-git> bitcoin/master fa3fa27 MarcoFalke: fuzz: Remove option --export_coverage from test_runner
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #18300: fuzz: Add option to merge input dir to test runner (master...Mf1902-fuzzMerge) https://github.com/bitcoin/bitcoin/pull/18300
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/5c9d408b2dd8...a421e0a22f12
< bitcoin-git> bitcoin/master 7d8e1de Vasil Dimov: net: fix use-after-free in tests
< bitcoin-git> bitcoin/master a421e0a MarcoFalke: Merge #18376: net: fix use-after-free in tests
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #18376: net: fix use-after-free in tests (master...fix_use_after_free_issue18372) https://github.com/bitcoin/bitcoin/pull/18376
< bitcoin-git> [bitcoin] MarcoFalke opened pull request #18380: doc: Remove html comment in PULL_REQUEST_TEMPLATE (master...2003-docGitHubTemplateNoComment) https://github.com/bitcoin/bitcoin/pull/18380
< bitcoin-git> [bitcoin] practicalswift closed pull request #18308: depends: Make it possible to build Boost dependency using a clang toolset (./b2 toolset=clang) (master...b2-toolset-clang) https://github.com/bitcoin/bitcoin/pull/18308