diff --git a/Cargo.lock b/Cargo.lock index 5e0c0b4..42578e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -514,6 +514,7 @@ dependencies = [ "protobuf-codegen-pure", "quinn", "rand", + "regex", "serde", "serde_derive", "serde_json", diff --git a/libs/hbb_common b/libs/hbb_common index 7bf9906..4d5b935 160000 --- a/libs/hbb_common +++ b/libs/hbb_common @@ -1 +1 @@ -Subproject commit 7bf9906c1fabc2e4437871715db4ef7883fca3d4 +Subproject commit 4d5b935f16abe33e106b13f30877edb2960f53e9 diff --git a/src/rendezvous_server.rs b/src/rendezvous_server.rs index 94daf88..79ed121 100644 --- a/src/rendezvous_server.rs +++ b/src/rendezvous_server.rs @@ -392,7 +392,9 @@ impl RendezvousServer { } let id = rk.id; let mut res = register_pk_response::Result::OK; - if let Some(peer) = self.pm.get(&id).await { + if !hbb_common::is_valid_custom_id(&id) { + res = register_pk_response::Result::INVALID_ID_FORMAT; + } else if let Some(peer) = self.pm.get(&id).await { if peer.uuid != rk.uuid { log::warn!( "Peer {} uuid mismatch: {:?} vs {:?}",