Make sure we're using the right fingerprint everywhere

This commit is contained in:
Vecna 2024-06-19 20:55:56 -04:00
parent 289b6e81cc
commit c30ab6a0b4
2 changed files with 18 additions and 20 deletions

View File

@ -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

View File

@ -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);
}
}
}