aboutsummaryrefslogtreecommitdiff
path: root/src/net/tor_address.cpp
diff options
context:
space:
mode:
authortobtoht <tob@featherwallet.org>2026-05-29 21:09:07 +0000
committertobtoht <tob@featherwallet.org>2026-05-29 21:09:07 +0000
commit54802803daca89250064ac05751f52e7a3f11b7d (patch)
treef208b5b6537501041d4ae66f3e8559b40a1726e4 /src/net/tor_address.cpp
parent9da54d01008fc4c9ca1662e0210b479395c850e9 (diff)
parent7d339778135c44370199f5c84e8c90b3d60f6717 (diff)
downloadmonzero-core-54802803daca89250064ac05751f52e7a3f11b7d.tar.gz
monzero-core-54802803daca89250064ac05751f52e7a3f11b7d.tar.xz
monzero-core-54802803daca89250064ac05751f52e7a3f11b7d.zip
Merge pull request #10638
7d33977 net: canonicalize Tor and I2P hostnames (selsta)
Diffstat (limited to 'src/net/tor_address.cpp')
-rw-r--r--src/net/tor_address.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/net/tor_address.cpp b/src/net/tor_address.cpp
index ac36dbffd..35bd8e9a2 100644
--- a/src/net/tor_address.cpp
+++ b/src/net/tor_address.cpp
@@ -37,6 +37,7 @@
#include <limits>
#include "net/error.h"
+#include "net/host.h"
#include "serialization/keyvalue_serialization.h"
#include "storages/portable_storage.h"
#include "string_tools_lexical.h"
@@ -112,7 +113,9 @@ namespace net
const boost::string_ref port =
address.substr(host.size() + (host.size() == address.size() ? 0 : 1));
- MONERO_CHECK(host_check(host));
+ std::string normalized_host{host};
+ net::canonicalize_host(normalized_host);
+ MONERO_CHECK(host_check(normalized_host));
std::uint16_t porti = default_port;
if (!port.empty() && !epee::string_tools::get_xtype_from_string(porti, std::string{port}))
@@ -120,7 +123,7 @@ namespace net
static_assert(v2_length <= v3_length, "bad internal host size");
static_assert(v3_length + sizeof(tld) == sizeof(tor_address::host_), "bad internal host size");
- return tor_address{host, porti};
+ return tor_address{normalized_host, porti};
}
bool tor_address::_load(epee::serialization::portable_storage& src, epee::serialization::section* hparent)