mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-05 14:06:27 -05:00
net: Add alternative port for onion service
This change allows to distinguish incoming Tor connections from others.
This commit is contained in:
parent
b3273cf403
commit
a5266d4546
2 changed files with 12 additions and 5 deletions
|
@ -37,16 +37,20 @@ const CBaseChainParams& BaseParams()
|
||||||
return *globalChainBaseParams;
|
return *globalChainBaseParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Port numbers for incoming Tor connections (8334, 18334, 38334, 18445) have
|
||||||
|
* been chosen arbitrarily to keep ranges of used ports tight.
|
||||||
|
*/
|
||||||
std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const std::string& chain)
|
std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const std::string& chain)
|
||||||
{
|
{
|
||||||
if (chain == CBaseChainParams::MAIN) {
|
if (chain == CBaseChainParams::MAIN) {
|
||||||
return MakeUnique<CBaseChainParams>("", 8332);
|
return MakeUnique<CBaseChainParams>("", 8332, 8334);
|
||||||
} else if (chain == CBaseChainParams::TESTNET) {
|
} else if (chain == CBaseChainParams::TESTNET) {
|
||||||
return MakeUnique<CBaseChainParams>("testnet3", 18332);
|
return MakeUnique<CBaseChainParams>("testnet3", 18332, 18334);
|
||||||
} else if (chain == CBaseChainParams::SIGNET) {
|
} else if (chain == CBaseChainParams::SIGNET) {
|
||||||
return MakeUnique<CBaseChainParams>("signet", 38332);
|
return MakeUnique<CBaseChainParams>("signet", 38332, 38334);
|
||||||
} else if (chain == CBaseChainParams::REGTEST) {
|
} else if (chain == CBaseChainParams::REGTEST) {
|
||||||
return MakeUnique<CBaseChainParams>("regtest", 18443);
|
return MakeUnique<CBaseChainParams>("regtest", 18443, 18445);
|
||||||
}
|
}
|
||||||
throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain));
|
throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain));
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,12 +27,15 @@ public:
|
||||||
|
|
||||||
const std::string& DataDir() const { return strDataDir; }
|
const std::string& DataDir() const { return strDataDir; }
|
||||||
int RPCPort() const { return nRPCPort; }
|
int RPCPort() const { return nRPCPort; }
|
||||||
|
uint16_t OnionServiceTargetPort() const { return m_onion_service_target_port; }
|
||||||
|
|
||||||
CBaseChainParams() = delete;
|
CBaseChainParams() = delete;
|
||||||
CBaseChainParams(const std::string& data_dir, int rpc_port) : nRPCPort(rpc_port), strDataDir(data_dir) {}
|
CBaseChainParams(const std::string& data_dir, int rpc_port, uint16_t onion_service_target_port)
|
||||||
|
: nRPCPort(rpc_port), m_onion_service_target_port(onion_service_target_port), strDataDir(data_dir) {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int nRPCPort;
|
int nRPCPort;
|
||||||
|
const uint16_t m_onion_service_target_port;
|
||||||
std::string strDataDir;
|
std::string strDataDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue