Use a bucket, not a single bridgeline
This commit is contained in:
parent
3b1bb2a5ac
commit
c17333e5c0
19
src/main.rs
19
src/main.rs
|
@ -7,6 +7,7 @@ use client_net::HyperNet;
|
|||
use curve25519_dalek::scalar::Scalar;
|
||||
use getopts::Options;
|
||||
use lox_library::bridge_table::BridgeLine;
|
||||
use lox_library::bridge_table::MAX_BRIDGES_PER_BUCKET;
|
||||
use lox_library::IssuerPubKey;
|
||||
use serde::Serialize;
|
||||
use std::env::args;
|
||||
|
@ -98,25 +99,29 @@ async fn main() {
|
|||
|
||||
// Get Lox Credential and BridgeLine
|
||||
let lox_cred_filename = "lox_cred.json";
|
||||
let bridgeline_filename = "bridgeline.json";
|
||||
let (lox_cred, bridgeline) = if matches.opt_present("N")
|
||||
let bucket_filename = "bucket.json";
|
||||
let (lox_cred, bucket) = if matches.opt_present("N")
|
||||
|| !Path::new(lox_cred_filename).exists()
|
||||
|| !Path::new(bridgeline_filename).exists()
|
||||
|| !Path::new(bucket_filename).exists()
|
||||
{
|
||||
// get new Lox Credential
|
||||
let open_invite = get_open_invitation(&net).await;
|
||||
let (cred, bl) =
|
||||
get_lox_credential(&net, &open_invite, get_lox_pub(&lox_auth_pubkeys)).await;
|
||||
let mut bucket = [BridgeLine::default(); MAX_BRIDGES_PER_BUCKET];
|
||||
// note: this is a bucket with one real bridgeline and n-1
|
||||
// default (zeroed out) bridgelines
|
||||
bucket[0] = bl;
|
||||
|
||||
// save to files for next time
|
||||
save_object(&cred, &lox_cred_filename);
|
||||
save_object(&bl, &bridgeline_filename);
|
||||
(cred, bl)
|
||||
save_object(&bucket, &bucket_filename);
|
||||
(cred, bucket)
|
||||
} else {
|
||||
// Read existing Lox Credential and BridgeLine from files
|
||||
let cred = serde_json::from_reader(File::open(lox_cred_filename).unwrap()).unwrap();
|
||||
let bl = serde_json::from_reader(File::open(bridgeline_filename).unwrap()).unwrap();
|
||||
(cred, bl)
|
||||
let bucket = serde_json::from_reader(File::open(bucket_filename).unwrap()).unwrap();
|
||||
(cred, bucket)
|
||||
};
|
||||
|
||||
let lox_cred = if matches.opt_present("L") {
|
||||
|
|
Loading…
Reference in New Issue