changed encryptor to ArcSwap
This commit is contained in:
parent
9cba4a976d
commit
b10c721179
@ -117,7 +117,7 @@ async fn daemonize_me(
|
||||
|
||||
let (tx, rx) = std::sync::mpsc::channel();
|
||||
|
||||
let hostname = "118.178.229.213".to_owned();
|
||||
let hostname = "root.punchsky.com".to_owned();
|
||||
let host = format!("{}:80", hostname);
|
||||
let mut server = String::new();
|
||||
if let Ok(addrs) = host.to_socket_addrs() {
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
use arc_swap::ArcSwap;
|
||||
use dashmap::DashMap;
|
||||
use quinn::Endpoint;
|
||||
use rsa::RsaPrivateKey;
|
||||
@ -163,7 +164,7 @@ impl IdentityID {
|
||||
pub struct Node {
|
||||
packet_id: AtomicU32,
|
||||
|
||||
pub encryptor: RwLock<MyEncryptor>,
|
||||
pub encryptor: ArcSwap<MyEncryptor>,
|
||||
|
||||
pub network_id: AtomicU32,
|
||||
pub network_domain: RwLock<String>,
|
||||
@ -390,7 +391,8 @@ impl Node {
|
||||
|
||||
Self {
|
||||
packet_id: AtomicU32::new(1),
|
||||
encryptor: RwLock::new(MyEncryptor::new()),
|
||||
encryptor: ArcSwap::from(Arc::new(MyEncryptor::new())),
|
||||
// encryptor: RwLock::new(MyEncryptor::new()),
|
||||
|
||||
network_id: AtomicU32::new(0),
|
||||
hostname: RwLock::new(hostname),
|
||||
|
||||
@ -861,7 +861,8 @@ async fn handle_tun_packet(
|
||||
|
||||
// test_aes(key.as_slice());
|
||||
|
||||
let origin = eee.encryptor.read().unwrap().decrypt(&payload);
|
||||
let origin = eee.encryptor.load().decrypt(&payload);
|
||||
// let origin = eee.encryptor.read().unwrap().decrypt(&payload);
|
||||
// let origin = aes_decrypt(&payload);
|
||||
if let Err(_e) = origin {
|
||||
error!("failed to decrypt original data");
|
||||
|
||||
@ -321,7 +321,8 @@ impl TunTapPacketHandler for Iface {
|
||||
}
|
||||
let size = data.len();
|
||||
|
||||
let Ok(encrypted) = edge.encryptor.read().unwrap().encrypt(&data) else {
|
||||
let Ok(encrypted) = edge.encryptor.load().encrypt(&data) else {
|
||||
// let Ok(encrypted) = edge.encryptor.read().unwrap().encrypt(&data) else {
|
||||
// let Ok(encrypted) = aes_encrypt(encrypt_key, &data) else {
|
||||
error!("failed to encrypt packet request");
|
||||
return Ok(());
|
||||
|
||||
@ -88,7 +88,8 @@ impl ArpWaitList {
|
||||
|
||||
let pkt_size = packet.len();
|
||||
|
||||
let Ok(encrypted) = edge.encryptor.read().unwrap().encrypt(&packet) else {
|
||||
let Ok(encrypted) = edge.encryptor.load().encrypt(&packet) else {
|
||||
// let Ok(encrypted) = edge.encryptor.read().unwrap().encrypt(&packet) else {
|
||||
// let Ok(encrypted) = aes_encrypt(&encrypt_key, &packet) else {
|
||||
error!("failed to encrypt packet request");
|
||||
return;
|
||||
|
||||
@ -133,10 +133,12 @@ async fn handle_tcp_message(msg: SdlanTcp) {
|
||||
|
||||
match ack.algorithm.to_ascii_lowercase().as_str() {
|
||||
"chacha20" => {
|
||||
*edge.encryptor.write().unwrap() = MyEncryptor::ChaChao20(Chacha20Encryptor::new(key, ack.region_id));
|
||||
edge.encryptor.store(Arc::new(MyEncryptor::ChaChao20(Chacha20Encryptor::new(key, ack.region_id))))
|
||||
// *edge.encryptor.write().unwrap() = MyEncryptor::ChaChao20(Chacha20Encryptor::new(key, ack.region_id));
|
||||
}
|
||||
"aes" => {
|
||||
*edge.encryptor.write().unwrap() = MyEncryptor::Aes(AesEncryptor::new(key));
|
||||
edge.encryptor.store(Arc::new(MyEncryptor::Aes(AesEncryptor::new(key))))
|
||||
// *edge.encryptor.write().unwrap() = MyEncryptor::Aes(AesEncryptor::new(key));
|
||||
}
|
||||
_other => {
|
||||
|
||||
@ -330,7 +332,8 @@ async fn handle_tcp_message(msg: SdlanTcp) {
|
||||
});
|
||||
*/
|
||||
edge.set_authorized(false);
|
||||
*edge.encryptor.write().unwrap() = MyEncryptor::Invalid;
|
||||
edge.encryptor.store(Arc::new(MyEncryptor::Invalid));
|
||||
// *edge.encryptor.write().unwrap() = MyEncryptor::Invalid;
|
||||
// std::process::exit(0);
|
||||
}
|
||||
PacketType::Command => {
|
||||
@ -689,7 +692,7 @@ impl ReadWriteActor {
|
||||
async fn on_disconnected_callback() {
|
||||
let edge = get_edge();
|
||||
edge.set_authorized(false);
|
||||
*edge.encryptor.write().unwrap() = MyEncryptor::Invalid;
|
||||
edge.encryptor.store(Arc::new(MyEncryptor::Invalid));
|
||||
}
|
||||
|
||||
async fn on_connected_callback(local_ip: Option<IpAddr>, stream: &mut SendStream, _pkt_id: Option<u32>) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user