open-trade лет назад: 4
Родитель
Сommit
411e963187
4 измененных файлов с 13 добавлено и 7 удалено
  1. 1 1
      Cargo.lock
  2. 1 1
      Cargo.toml
  3. 1 1
      src/lic.rs
  4. 10 4
      src/rendezvous_server.rs

+ 1 - 1
Cargo.lock

@@ -546,7 +546,7 @@ dependencies = [
546 546
 
547 547
 [[package]]
548 548
 name = "hbbs"
549
-version = "1.1.3"
549
+version = "1.1.4"
550 550
 dependencies = [
551 551
  "base64 0.13.0",
552 552
  "clap",

+ 1 - 1
Cargo.toml

@@ -1,6 +1,6 @@
1 1
 [package]
2 2
 name = "hbbs"
3
-version = "1.1.3"
3
+version = "1.1.4"
4 4
 authors = ["open-trade <info@opentradesolutions.com>"]
5 5
 edition = "2018"
6 6
 build= "build.rs"

+ 1 - 1
src/lic.rs

@@ -1,8 +1,8 @@
1 1
 use hbb_common::{bail, log, ResultType};
2
+use rand::Rng;
2 3
 use serde_derive::{Deserialize, Serialize};
3 4
 use std::io::prelude::*;
4 5
 use std::path::Path;
5
-use rand::Rng;
6 6
 
7 7
 #[derive(Debug, PartialEq, Default, Serialize, Deserialize, Clone)]
8 8
 pub struct Machine {

+ 10 - 4
src/rendezvous_server.rs

@@ -400,7 +400,9 @@ impl RendezvousServer {
400 400
                     }
401 401
                     let id = rk.id;
402 402
                     let mut res = register_pk_response::Result::OK;
403
-                    if let Some(peer) = self.pm.get(&id).await {
403
+                    if id.len() < 6 {
404
+                      res = register_pk_response::Result::UUID_MISMATCH;
405
+                    } else if let Some(peer) = self.pm.get(&id).await {
404 406
                         if peer.uuid.is_empty() {
405 407
                             self.pm.update_pk(id, addr, rk.uuid, rk.pk);
406 408
                         } else if peer.uuid != rk.uuid {
@@ -585,9 +587,13 @@ impl RendezvousServer {
585 587
             &addr
586 588
         );
587 589
         let mut msg_out = RendezvousMessage::new();
588
-        let pk = match self.pm.get(&la.id).await {
589
-            Some(peer) => peer.pk,
590
-            _ => Vec::new(),
590
+        let pk = if la.id.is_empty() {
591
+            Vec::new()
592
+        } else {
593
+            match self.pm.get(&la.id).await {
594
+                Some(peer) => peer.pk,
595
+                _ => Vec::new(),
596
+            }
591 597
         };
592 598
         let mut p = PunchHoleResponse {
593 599
             socket_addr: la.local_addr.clone(),