diff options
-rw-r--r-- | server/registry/src/register.rs | 9 |
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 { |