diff --git a/src/bridge.rs b/src/bridge.rs index 515dd3c..01269db 100644 --- a/src/bridge.rs +++ b/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 diff --git a/src/user.rs b/src/user.rs index 615a99e..02c08c1 100644 --- a/src/user.rs +++ b/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); } } }