diff --git a/client/core/src/core.rs b/client/core/src/core.rs index 8e2929e..5f2d266 100644 --- a/client/core/src/core.rs +++ b/client/core/src/core.rs @@ -203,10 +203,10 @@ impl Core { .create(true) .open(filename) .unwrap(); - write!(f, "--------------------------\n"); - write!(f, "op: {}\n", payload); - write!(f, "sender: {}\n", self.idkey()); - write!(f, "#recipients: {}\n", &dst_idkeys.len()); + let _ = write!(f, "--------------------------\n"); + let _ = write!(f, "op: {}\n", payload); + let _ = write!(f, "sender: {}\n", self.idkey()); + let _ = write!(f, "#recipients: {}\n", &dst_idkeys.len()); let num_op_pt_bytes = bincode::serialize(&payload).unwrap().len() as f64; let num_common_pt_bytes = bincode::serialize(&common_payload).unwrap().len() as f64; @@ -218,16 +218,16 @@ impl Core { (num_common_ct_bytes / num_common_pt_bytes) * 100.0; //let total_len_diff = num_common_ct_bytes - num_op_pt_bytes; let both_perc: f64 = (num_common_ct_bytes / num_op_pt_bytes) * 100.0; - write!(f, "---common overhead\n"); - write!(f, "#op_pt_bytes: {}\n", &num_op_pt_bytes); - write!(f, "#common_pt_bytes: {}\n", &num_common_pt_bytes); - write!(f, "#common_ct_bytes: {}\n", &num_common_ct_bytes); + let _ = write!(f, "---common overhead\n"); + let _ = write!(f, "#op_pt_bytes: {}\n", &num_op_pt_bytes); + let _ = write!(f, "#common_pt_bytes: {}\n", &num_common_pt_bytes); + let _ = write!(f, "#common_ct_bytes: {}\n", &num_common_ct_bytes); //write!(f, "rcpt_list_len_diff: {}\n", &rcpt_list_len_diff); - write!(f, "rcpt_list %: {}\n", &rcpt_list_perc); + let _ = write!(f, "rcpt_list %: {}\n", &rcpt_list_perc); //write!(f, "symenc_len_diff: {}\n", &symenc_len_diff); - write!(f, "symenc %: {}\n", &symenc_perc); + let _ = write!(f, "symenc %: {}\n", &symenc_perc); //write!(f, "total_len_diff: {}\n", &total_len_diff); - write!(f, "both %: {}\n", &both_perc); + let _ = write!(f, "both %: {}\n", &both_perc); } if bench && self.benchmark_send.read().await.is_some() { @@ -263,14 +263,14 @@ impl Core { .create(true) .open(filename) .unwrap(); - write!(f, "---per recipient overhead\n"); + let _ = write!(f, "---per recipient overhead\n"); if idkey.clone() == self.idkey() { - write!(f, "RCPT == SELF: {}\n", &idkey); + let _ = write!(f, "RCPT == SELF: {}\n", &idkey); } else { - write!(f, "RCPT == OTHER: {}\n", &idkey); + let _ = write!(f, "RCPT == OTHER: {}\n", &idkey); } - write!(f, "val_pt: {:?}\n", &val_payload); - write!(f, "perrcpt_pt: {:?}\n", &perrcpt_pt); + let _ = write!(f, "val_pt: {:?}\n", &val_payload); + let _ = write!(f, "perrcpt_pt: {:?}\n", &perrcpt_pt); let num_val_pt_bytes = bincode::serialize(&val_payload).unwrap().len() as f64; let num_perrcpt_pt_bytes = @@ -280,19 +280,19 @@ impl Core { // num_perrcpt_pt_bytes; let perrcpt_perc: f64 = (num_perrcpt_ct_bytes / num_perrcpt_pt_bytes) * 100.0; - write!(f, "#val_pt_bytes: {}\n", &num_val_pt_bytes); - write!(f, "#perrcpt_pt_bytes: {}\n", &num_perrcpt_pt_bytes); - write!(f, "#perrcpt_ct_bytes: {}\n", &num_perrcpt_ct_bytes); + let _ = write!(f, "#val_pt_bytes: {}\n", &num_val_pt_bytes); + let _ = write!(f, "#perrcpt_pt_bytes: {}\n", &num_perrcpt_pt_bytes); + let _ = write!(f, "#perrcpt_ct_bytes: {}\n", &num_perrcpt_ct_bytes); + let _ = write!(f, "perrcpt %: {}\n", &perrcpt_perc); //write!(f, "num_perrcpt_len_diff: {}\n", // &num_perrcpt_len_diff); - write!(f, "perrcpt %: {}\n", &perrcpt_perc); // storage measurements let sessionlock = self.crypto.sessions.lock(); if let Some(val) = sessionlock.get(&idkey) { let session = &val.1[0]; let pickled = session.pickle(olm_rs::PicklingMode::Unencrypted); - write!(f, "--storage overhead\n"); - write!(f, "pickled session len: {:?}\n", &pickled.len()); + let _ = write!(f, "--storage overhead\n"); + let _ = write!(f, "pickled session len: {:?}\n", &pickled.len()); } } @@ -338,7 +338,7 @@ impl Core { .unwrap(); let vec = self.send_timestamp_vec.lock().await; for entry in vec.iter() { - write!(f, "{:?}\n", entry); + let _ = write!(f, "{:?}\n", entry); } } else if cur_count > 1 { *self.benchmark_send.write().await = Some(cur_count - 1); @@ -518,7 +518,7 @@ impl Core { .unwrap(); let vec = self.recv_timestamp_vec.lock().await; for entry in vec.iter() { - write!(f, "{:?}\n", entry); + let _ = write!(f, "{:?}\n", entry); } } else if cur_count > 1 { *self.benchmark_recv.write().await = Some(cur_count - 1); @@ -599,10 +599,10 @@ pub mod stream_client { impl CoreClient for StreamClient { async fn client_callback( &self, - seq: crate::core::SequenceNumber, + _seq: crate::core::SequenceNumber, sender: String, message: String, - bench: bool, + _bench: bool, ) { use futures::SinkExt; self.sender diff --git a/client/core/src/crypto.rs b/client/core/src/crypto.rs index 92bf732..de1efb9 100644 --- a/client/core/src/crypto.rs +++ b/client/core/src/crypto.rs @@ -46,9 +46,9 @@ impl Crypto { mut pt: Vec, ) -> (Vec, [u8; 16], [u8; 32], [u8; 12]) { use aes_gcm::{ - aead::{Aead, AeadInPlace, KeyInit, OsRng}, + aead::{AeadInPlace, KeyInit}, Aes256Gcm, - Nonce, // Or `Aes128Gcm` + //Nonce, // Or `Aes128Gcm` }; // Convert the plain text to bytes and short-circuit if encryption is @@ -87,9 +87,9 @@ impl Crypto { nonce: [u8; 12], ) -> Vec { use aes_gcm::{ - aead::{Aead, AeadInPlace, KeyInit, OsRng}, + aead::{AeadInPlace, KeyInit}, Aes256Gcm, - Nonce, // Or `Aes128Gcm` + //Nonce, // Or `Aes128Gcm` }; if self.turn_encryption_off { diff --git a/client/core/src/hash_vectors.rs b/client/core/src/hash_vectors.rs index ff25dc3..9d3e2b8 100644 --- a/client/core/src/hash_vectors.rs +++ b/client/core/src/hash_vectors.rs @@ -239,7 +239,7 @@ impl HashVectors { common_payload.recipients, common_payload.message.clone(), ) { - Ok(local_seq) => { + Ok(_local_seq) => { let validation_payload = match ( recipient_payload.validation_seq, recipient_payload.validation_digest, diff --git a/client/core/src/server_comm.rs b/client/core/src/server_comm.rs index 2e64108..c0cad47 100644 --- a/client/core/src/server_comm.rs +++ b/client/core/src/server_comm.rs @@ -79,8 +79,8 @@ pub struct ServerCommImpl { impl ServerCommImpl { pub async fn new<'a>( - ip_arg: Option<&'a str>, - port_arg: Option<&'a str>, + _ip_arg: Option<&'a str>, + _port_arg: Option<&'a str>, idkey: String, core_option: Option>>, ) -> Self { diff --git a/client/tank/.cargo/config.toml b/client/tank/.cargo/config.toml index dee0d8b..d73aadd 100644 --- a/client/tank/.cargo/config.toml +++ b/client/tank/.cargo/config.toml @@ -1,7 +1,12 @@ [env] +#TOOLCHAIN="/home/np/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64" +#RANLIB="/home/np/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" +ANDROID_NDK="/Users/np/Library/Android/sdk/ndk/27.0.11718014" +TOOLCHAIN="/Users/np/Library/Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64" +RANLIB="/Users/np/Library/Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + #HOME="/home/np" #ANDROID_NDK_HOME="$HOME/Android/Sdk/ndk/25.2.9519653/" -TOOLCHAIN="/home/np/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64" #TARGET="aarch64-linux-android" #API="33" #AR="$TOOLCHAIN/bin/llvm-ar" @@ -9,18 +14,23 @@ TOOLCHAIN="/home/np/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux- #AS="$CC" #CXX="$TOOLCHAIN/bin/$TARGET$API-clang++" #LD="$TOOLCHAIN/bin/ld" -RANLIB="/home/np/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" #STRIP="$TOOLCHAIN/bin/llvm-strip" # Arm -#[target.arm7-linux-androideabi] +#[target.armv7-linux-androideabi] # Arm64 [target.aarch64-linux-android] -linker = "/home/np/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang" +# linux +#linker = "/home/np/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang" +# macOS +linker = "/Users/np/Library/Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android34-clang" # X86 #[target.i686-linux-android] # X86_64 #[target.x86_64-linux-android] + +[build] +target-dir = "target" diff --git a/client/tank/src/client.rs b/client/tank/src/client.rs index f5c3068..222844a 100644 --- a/client/tank/src/client.rs +++ b/client/tank/src/client.rs @@ -3,7 +3,7 @@ use async_recursion::async_recursion; use async_trait::async_trait; use parking_lot::{Mutex, RwLock}; use serde::{Deserialize, Serialize}; -use std::collections::hash_map::Values; +//use std::collections::hash_map::Values; use std::collections::{BTreeMap, HashMap, HashSet}; use std::fs::File; use std::io::Write; @@ -135,7 +135,7 @@ impl Operation { fn get_data_id(operation: &Operation) -> String { match operation { - Operation::UpdateData(data_id, data_val) => data_id.to_string(), + Operation::UpdateData(data_id, _data_val) => data_id.to_string(), Operation::DeleteData(data_id) => data_id.to_string(), // TODO confirm this is never used _ => "".to_string(), @@ -178,13 +178,13 @@ impl Transaction { } } - fn to_string(msg: &Transaction) -> Result { - serde_json::to_string(msg) - } + //fn to_string(msg: &Transaction) -> Result { + // serde_json::to_string(msg) + //} - fn from_string(msg: String) -> Result { - serde_json::from_str(msg.as_str()) - } + //fn from_string(msg: String) -> Result { + // serde_json::from_str(msg.as_str()) + //} } pub struct TxCoordinator { @@ -526,7 +526,7 @@ impl CoreClient for TankClient { .unwrap(); let vec = self.recv_update_timestamp_vec.lock(); for entry in vec.iter() { - write!(f, "{:?}\n", entry); + let _ = write!(f, "{:?}\n", entry); } } else if cur_count > 1 { *self.benchmark_recv_update.write() = Some(cur_count - 1); @@ -551,7 +551,7 @@ impl CoreClient for TankClient { .unwrap(); let vec = self.recv_dummy_timestamp_vec.lock(); for entry in vec.iter() { - write!(f, "{:?}\n", entry); + let _ = write!(f, "{:?}\n", entry); } } else if cur_count > 1 { *self.benchmark_recv_dummy.write() = Some(cur_count - 1); @@ -712,7 +712,7 @@ impl TankClient { for op in tx.ops.clone().into_iter() { //call into data store to apply // TODO: handle errors - self.demux(tx_id.clone(), op).await; + let _ = self.demux(tx_id.clone(), op).await; } Ok(()) } @@ -740,12 +740,12 @@ impl TankClient { false, )); } - self.send_message(txn_series).await; + let _ = self.send_message(txn_series).await; } async fn send_abort_to_coordinator(&self, sender: String, tx_id: SequenceNumber) { let recipients = vec![self.idkey(), sender]; - self.send_message(vec![( + let _ = self.send_message(vec![( recipients, Operation::to_string(&Operation::TxAbort(self.idkey(), tx_id)).unwrap(), false, @@ -761,7 +761,7 @@ impl TankClient { .get_transaction(tx_id) .unwrap() .clone(); - self.send_message(vec![( + let _ = self.send_message(vec![( tx.recipients, Operation::to_string(&Operation::TxAbort(self.idkey(), tx_id)).unwrap(), false, @@ -777,7 +777,7 @@ impl TankClient { .get_transaction(tx_id) .unwrap() .clone(); - self.send_message(vec![( + let _ = self.send_message(vec![( tx.recipients, Operation::to_string(&Operation::TxCommit(self.idkey(), tx_id)).unwrap(), false, @@ -796,9 +796,9 @@ impl TankClient { ) -> Result<(), Error> { match operation { /* Test op */ - Operation::Test(msg) => Ok(()), + Operation::Test(_msg) => Ok(()), /* Dummy op */ - Operation::Dummy(num) => Ok(()), + Operation::Dummy(_num) => Ok(()), // TODO need manual checks //Operation::UpdateLinked( // sender, @@ -813,7 +813,7 @@ impl TankClient { //Operation::AddContact => Ok(()), //Operation::ConfirmAddContact => Ok(()), /* Special case: use pending idkey */ - Operation::ConfirmUpdateLinked(new_linked_name, new_groups, new_data) => { + Operation::ConfirmUpdateLinked(_new_linked_name, _new_groups, _new_data) => { let pending_idkey_opt = self .device .read() @@ -836,7 +836,7 @@ impl TankClient { Ok(()) } /* Need metadata-mod permissions */ - Operation::SetPerm(perm_id, perm_val) => { + Operation::SetPerm(perm_id, _perm_val) => { // if permissions set with this id already exists, return error // this prevents malicious clients from replacing an existing // permissions object with one of their choosing, giving them @@ -856,7 +856,7 @@ impl TankClient { } Ok(()) } - Operation::AddPermMembers(perm_id, group_id_opt, new_members) => { + Operation::AddPermMembers(perm_id, _group_id_opt, _new_members) => { // must have valid permissions given existing permissions // object if !self @@ -900,15 +900,15 @@ impl TankClient { } // FIXME groups may need to be sent in a particular order in order // for the above check to work in a loop - Operation::SetGroups(groups) => Ok(()), + Operation::SetGroups(_groups) => Ok(()), //Operation::LinkGroups(parent_id, child_id) => Ok(()), //Operation::DeleteGroup(group_id) => Ok(()), // TODO do permission check - Operation::AddParent(group_id, parent_id) => Ok(()), + Operation::AddParent(_group_id, _parent_id) => Ok(()), //Operation::RemoveParent(group_id, parent_id) => Ok(()), //Operation::AddChild(group_id, child_id) => Ok(()), /* Need data-mod permissions */ - Operation::UpdateData(data_id, data_val) => { + Operation::UpdateData(_data_id, _data_val) => { // FIXME need perm owner group when data is sent to a do-reader //if !self // .device @@ -1171,7 +1171,7 @@ impl TankClient { .unwrap() .commit_message(self.idkey(), sender, &tx_id, seq); if resp == Ok(()) { - self.apply_locally(tx_id).await; + let _ = self.apply_locally(tx_id).await; } Ok(()) } @@ -1378,7 +1378,7 @@ impl TankClient { temp_linked_name: String, members_to_add: HashMap, ) -> Result<(), Error> { - self.device + let _ = self.device .read() .as_ref() .unwrap() @@ -1594,7 +1594,7 @@ impl TankClient { contact_name: String, contact_devices: HashMap, ) -> Result<(), Error> { - self.device + let _ = self.device .read() .as_ref() .unwrap() @@ -1689,7 +1689,7 @@ impl TankClient { .await { Ok(_) => { - self.device + let _ = self.device .read() .as_ref() .unwrap() @@ -2438,7 +2438,7 @@ impl TankClient { .unwrap(); let vec = self.send_timestamp_vec.lock(); for entry in vec.iter() { - write!(f, "{:?}\n", entry); + let _ = write!(f, "{:?}\n", entry); } } else if cur_count > 1 { *self.benchmark_send.write() = Some(cur_count - 1); @@ -2554,7 +2554,7 @@ impl TankClient { &self, data_id: String, new_members: PermType, - mut new_members_refs: Vec<&String>, // FIXME one or the other + new_members_refs: Vec<&String>, // FIXME one or the other ) -> Result<(), Error> { // check if can have multiple outstanding ops, or if not, check that // no other ops are outstanding @@ -2575,13 +2575,13 @@ impl TankClient { } let device_guard = self.device.read(); - let mut data_store_guard = device_guard.as_ref().unwrap().data_store.read(); + let data_store_guard = device_guard.as_ref().unwrap().data_store.read(); // check that data exists match data_store_guard.get_data(&data_id) { None => return Err(Error::NonexistentData(data_id)), Some(data_val) => { - let mut meta_store_guard = + let meta_store_guard = device_guard.as_ref().unwrap().meta_store.read(); let perm_val = meta_store_guard @@ -2820,8 +2820,8 @@ impl TankClient { } mod tests { - use crate::client::{Operation, TankClient}; - use crate::data::ScubaData; + //use crate::client::{Operation, TankClient}; + //use crate::data::ScubaData; #[tokio::test] async fn test_send_one_message() { diff --git a/client/tank/src/data.rs b/client/tank/src/data.rs index 8e9419f..80706b8 100644 --- a/client/tank/src/data.rs +++ b/client/tank/src/data.rs @@ -152,8 +152,8 @@ impl DataStore { } mod tests { - use crate::data::{BasicData, DataStore}; - use std::collections::HashMap; + //use crate::data::{BasicData, DataStore}; + //use std::collections::HashMap; #[test] fn test_new() { diff --git a/client/tank/src/devices.rs b/client/tank/src/devices.rs index de16b17..644f72e 100644 --- a/client/tank/src/devices.rs +++ b/client/tank/src/devices.rs @@ -60,10 +60,10 @@ impl Device { ), ); // link linked and device groups - meta_store.link_groups(&linked_name, &idkey); + let _ = meta_store.link_groups(&linked_name, &idkey); // add linked_group as owner in permissions set - meta_store.add_permissions( + let _ = meta_store.add_permissions( linked_perm_set.perm_id(), None, PermType::Owners(vec![linked_name.clone()]), @@ -110,9 +110,9 @@ impl Device { self.pending_link_idkey.read().clone() } - fn set_pending_link_idkey(&self, idkey: String) { - *self.pending_link_idkey.write() = Some(idkey); - } + //fn set_pending_link_idkey(&self, idkey: String) { + // *self.pending_link_idkey.write() = Some(idkey); + //} fn clear_pending_link_idkey(&self) { *self.pending_link_idkey.write() = None; @@ -146,12 +146,12 @@ impl Device { // merge temp_linked_name group into perm_linked_name group for parent in temp_linked_group.parents() { - self.meta_store + let _ = self.meta_store .write() .add_parent(&perm_linked_name, parent); } for child in temp_linked_group.children().as_ref().unwrap() { - self.meta_store.write().add_child(&perm_linked_name, child); + let _ = self.meta_store.write().add_child(&perm_linked_name, child); } Ok(()) @@ -246,7 +246,7 @@ impl Device { // remove child link to this device from // every parent (should have no children) for parent in device_group.parents().iter() { - self.meta_store.write().remove_child(parent, &to_delete); + let _ = self.meta_store.write().remove_child(parent, &to_delete); } self.meta_store.write().delete_group(&to_delete); @@ -256,9 +256,9 @@ impl Device { } mod tests { - use crate::data::BasicData; - use crate::devices::Device; - use std::collections::HashSet; + //use crate::data::BasicData; + //use crate::devices::Device; + //use std::collections::HashSet; #[test] fn test_new_standalone() { diff --git a/client/tank/src/metadata.rs b/client/tank/src/metadata.rs index 2be33bd..97f8675 100644 --- a/client/tank/src/metadata.rs +++ b/client/tank/src/metadata.rs @@ -303,9 +303,9 @@ impl MetadataStore { Some(existing_group_id) => { // add children to existing group match self.get_group(existing_group_id) { - Some(existing_group) => { + Some(_existing_group) => { for new_member in new_members.iter() { - self.link_groups(existing_group_id, new_member); + let _ = self.link_groups(existing_group_id, new_member); } // perm_set does not change b/c using existing // group id @@ -324,7 +324,7 @@ impl MetadataStore { ); self.set_group(new_group.group_id().to_string(), new_group.clone()); for new_member in new_members { - self.add_parent(&new_member, new_group.group_id()); + let _ = self.add_parent(&new_member, new_group.group_id()); } // set perm @@ -558,7 +558,7 @@ impl MetadataStore { if to_parent_group.children.is_none() { return Err(Error::GroupHasNoChildren(to_parent_id.to_string())); } - to_parent_group.add_child(to_child_id.to_string()); + let _ = to_parent_group.add_child(to_child_id.to_string()); self.set_group(to_parent_id.to_string(), to_parent_group); // set parent of to_child group @@ -587,7 +587,7 @@ impl MetadataStore { if parent_group.children.is_none() { return Err(Error::GroupHasNoChildren(parent_id.to_string())); } - parent_group.remove_child(child_id); + let _ = parent_group.remove_child(child_id); self.set_group(parent_id.to_string(), parent_group); // unset parent of child group @@ -608,7 +608,7 @@ impl MetadataStore { // delete from all parents' children lists for parent_id in &group_val.parents { let mut parent_group = self.get_group(&parent_id).unwrap().clone(); - parent_group.remove_child(group_id); + let _ = parent_group.remove_child(group_id); self.set_group(parent_id.to_string(), parent_group); } @@ -633,7 +633,7 @@ impl MetadataStore { pub fn add_members(&mut self, base_group_id: &String, ids_to_add: Vec<&String>) { for id_to_add in ids_to_add { - self.link_groups(base_group_id, id_to_add); + let _ = self.link_groups(base_group_id, id_to_add); } } @@ -643,7 +643,7 @@ impl MetadataStore { ids_to_remove: Vec<&String>, ) { for id_to_remove in ids_to_remove { - self.unlink_groups(base_group_id, id_to_remove); + let _ = self.unlink_groups(base_group_id, id_to_remove); } } @@ -779,9 +779,9 @@ impl MetadataStore { if group.remove_parent(&id_to_replace) { group.add_parent(replacement_id.clone()); } - group.remove_child(&id_to_replace).map(|result| { + let _ = group.remove_child(&id_to_replace).map(|result| { if result { - group.add_child(replacement_id); + let _ = group.add_child(replacement_id); } }); }