aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/registry/src/register.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/server/registry/src/register.rs b/server/registry/src/register.rs
index 603f5a4a..1e90fc68 100644
--- a/server/registry/src/register.rs
+++ b/server/registry/src/register.rs
@@ -51,7 +51,8 @@ async fn register_inner(
registry: &Arc<RwLock<Registry>>,
submission: &Submission,
) -> Result<(), &'static str> {
- debug!("submission {submission:?}");
+ debug!("submission {submission:?} from {client_addr}");
+ let client_addr = client_addr.to_canonical();
let uri = Uri::from_str(&submission.uri).map_err(|_| "invalid uri")?;
let scheme = uri.scheme().ok_or("no scheme")?.as_str();
@@ -74,6 +75,8 @@ async fn register_inner(
if addr.is_multicast() {
return Err("multicast address");
}
+ info!("{client_addr} != {addr}");
+ let addr = addr.to_canonical();
if client_addr == addr {
let saddr = SocketAddr::new(addr, port);
(saddr, format!("{scheme}://{saddr}"))
@@ -85,10 +88,10 @@ async fn register_inner(
if let Some(addr) = lookup_host(format!("{host}:0"))
.await
.map_err(|_| "dns lookup failed")?
- .find(|a| a.ip() == client_addr)
+ .find(|a| a.ip().to_canonical() == client_addr)
{
(
- SocketAddr::new(addr.ip(), port),
+ SocketAddr::new(addr.ip().to_canonical(), port),
format!("{scheme}://{host}:{port}"),
)
} else {