Skip to content

Comments

fix onion= outbound when proxy= is not specified#106

Open
hairetikos wants to merge 1 commit intoZclassicCommunity:masterfrom
hairetikos:patch-4
Open

fix onion= outbound when proxy= is not specified#106
hairetikos wants to merge 1 commit intoZclassicCommunity:masterfrom
hairetikos:patch-4

Conversation

@hairetikos
Copy link

this was a bug/quirk inherited from earlier BTC/Zcash code

quirk: when zclassic was configured with onion=127.0.0.1:9050 but WITHOUT also proxy=127.0.0.1:9050, it caused outbound onion V3 to silently fail, but inbound V3 was working.

use-case: we want this configuration to work for example in a scenario where you want a node to have IPv4 + IPv6 over regular network, not via proxy (or an independent proxy=), but then allow Onion V3 exclusively via the onion proxy, as specified just with onion=.

proxy= can still be used together with onion= to have a different proxy for IPv4+6, independent from onion proxy/

technical cause: When a node uses -onion= without -proxy=, HaveNameProxy() returns false, causing ThreadOpenAddedConnections() to take the Lookup() branch — which silently drops .onion addnode peers since they can't be DNS-resolved.

Added support for .onion addresses routing through the NET_ONION proxy even when proxy= is not specified along with onion=

quirk:  when zclassic was configured with `onion=127.0.0.1:9050` but WITHOUT also `proxy=127.0.0.1:9050`, it caused outbound onion V3 to silently fail, but inbound V3 was working.  this was a bug/quirk inherited from earlier BTC/Zcash code

technical cause:  When a node uses -onion= without -proxy=, HaveNameProxy() returns false, causing ThreadOpenAddedConnections() to take the Lookup() branch — which silently drops .onion addnode peers since they can't be DNS-resolved.

Added support for .onion addresses routing through the NET_ONION proxy even when `proxy=` is not specified along with `onion=`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant