Bläddra i källkod

Make sure we're using the right fingerprint everywhere

Vecna 7 månader sedan
förälder
incheckning
c30ab6a0b4
2 ändrade filer med 18 tillägg och 20 borttagningar
  1. 1 0
      src/bridge.rs
  2. 17 20
      src/user.rs

+ 1 - 0
src/bridge.rs

@@ -4,6 +4,7 @@ use troll_patrol::{extra_info::ExtraInfo, get_date};
 
 // The Bridge struct only tracks data for today
 pub struct Bridge {
+    // This is the hashed fingerprint
     pub fingerprint: [u8; 20],
 
     // The following four values are Julian dates used to track

+ 17 - 20
src/user.rs

@@ -81,15 +81,14 @@ impl User {
         let (bucket, _reachcred) = get_bucket(&config.la_net, &cred).await?;
         for bridgeline in bucket {
             if bridgeline != BridgeLine::default() {
-                if !bridges.contains_key(&bridgeline.get_hashed_fingerprint()) {
+                let fingerprint = bridgeline.get_hashed_fingerprint();
+                if !bridges.contains_key(&fingerprint) {
                     let bridge = Bridge::from_bridge_line(&bridgeline);
-                    bridges.insert(bridgeline.get_hashed_fingerprint(), bridge);
+                    bridges.insert(fingerprint, bridge);
                 }
-                let bridge = bridges
-                    .get_mut(&bridgeline.get_hashed_fingerprint())
-                    .unwrap();
+                let bridge = bridges.get_mut(&fingerprint).unwrap();
                 if is_censor {
-                    censor.learn_bridge(&bridgeline.get_hashed_fingerprint());
+                    censor.learn_bridge(&fingerprint);
                 } else {
                     // If this is the first time the bridge has been
                     // distributed to a real user, store that info
@@ -474,10 +473,7 @@ impl User {
                     if bridgeline != BridgeLine::default() {
                         let fingerprint = bridgeline.get_hashed_fingerprint();
                         if !bridges.contains_key(&fingerprint) {
-                            bridges.insert(
-                                bridgeline.fingerprint,
-                                Bridge::from_bridge_line(&bridgeline),
-                            );
+                            bridges.insert(fingerprint, Bridge::from_bridge_line(&bridgeline));
                         }
 
                         // If this is the first time the bridge has been
@@ -517,16 +513,15 @@ impl User {
                     for bridgeline in &succeeded {
                         // If we haven't received a positive report yet,
                         // add a record about it with today's date
-                        let bridge = bridges
-                            .get_mut(&bridgeline.get_hashed_fingerprint())
-                            .unwrap();
+                        let fingerprint = bridgeline.get_hashed_fingerprint();
+                        let bridge = bridges.get_mut(&fingerprint).unwrap();
                         if bridge.first_positive_report == 0 {
                             bridge.first_positive_report = get_date();
                         }
 
                         positive_reports.push(
                             PositiveReport::from_lox_credential(
-                                bridgeline.get_hashed_fingerprint(),
+                                fingerprint,
                                 None,
                                 &self.primary_cred,
                                 get_lox_pub(&config.la_pubkeys),
@@ -690,11 +685,12 @@ impl User {
         // censor
         for bridgeline in bucket {
             if bridgeline != BridgeLine::default() {
-                if !bridges.contains_key(&bridgeline.get_hashed_fingerprint()) {
+                let fingerprint = bridgeline.get_hashed_fingerprint();
+                if !bridges.contains_key(&fingerprint) {
                     let bridge = Bridge::from_bridge_line(&bridgeline);
-                    bridges.insert(bridgeline.get_hashed_fingerprint(), bridge);
+                    bridges.insert(fingerprint, bridge);
                 }
-                censor.learn_bridge(&bridgeline.get_hashed_fingerprint());
+                censor.learn_bridge(&fingerprint);
             }
         }
 
@@ -779,11 +775,12 @@ impl User {
                         // set and known by censor
                         for bridgeline in bucket {
                             if bridgeline != BridgeLine::default() {
-                                if !bridges.contains_key(&bridgeline.get_hashed_fingerprint()) {
+                                let fingerprint = bridgeline.get_hashed_fingerprint();
+                                if !bridges.contains_key(&fingerprint) {
                                     let bridge = Bridge::from_bridge_line(&bridgeline);
-                                    bridges.insert(bridgeline.get_hashed_fingerprint(), bridge);
+                                    bridges.insert(fingerprint, bridge);
                                 }
-                                censor.learn_bridge(&bridgeline.get_hashed_fingerprint());
+                                censor.learn_bridge(&fingerprint);
                             }
                         }
                     }