Fixed Ordering::Acquire -> Ordering::SeqCst typo

This commit is contained in:
Mathias Hall-Andersen
2019-10-23 14:14:08 +02:00
parent 8107973342
commit 3e829c04d1
4 changed files with 12 additions and 8 deletions

View File

@@ -7,7 +7,7 @@ use std::sync::Arc;
use std::sync::Mutex; use std::sync::Mutex;
use super::super::bind::*; use super::super::bind::*;
use super::super::Endpoint;
use super::UnitEndpoint; use super::UnitEndpoint;
pub struct VoidOwner {} pub struct VoidOwner {}

View File

@@ -1,3 +1,4 @@
use std::cmp::min;
use std::error::Error; use std::error::Error;
use std::fmt; use std::fmt;
use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::atomic::{AtomicUsize, Ordering};
@@ -84,9 +85,10 @@ impl Reader for TunReader {
fn read(&self, buf: &mut [u8], offset: usize) -> Result<usize, Self::Error> { fn read(&self, buf: &mut [u8], offset: usize) -> Result<usize, Self::Error> {
match self.rx.recv() { match self.rx.recv() {
Ok(m) => { Ok(msg) => {
buf[offset..].copy_from_slice(&m[..]); let n = min(buf.len() - offset, msg.len());
Ok(m.len()) buf[offset..offset + n].copy_from_slice(&msg[..n]);
Ok(n)
} }
Err(_) => Err(TunError::Disconnected), Err(_) => Err(TunError::Disconnected),
} }

View File

@@ -109,4 +109,6 @@ fn test_pure_wireguard() {
"192.168.2.20".parse().unwrap(), // src "192.168.2.20".parse().unwrap(), // src
"192.168.1.10".parse().unwrap(), // dst "192.168.1.10".parse().unwrap(), // dst
); );
fake1.write(packet_p1_to_p2);
} }

View File

@@ -100,7 +100,7 @@ impl <B: bind::Bind>PeerInner<B> {
*/ */
pub fn sent_handshake_initiation(&self) { pub fn sent_handshake_initiation(&self) {
*self.last_handshake.lock() = SystemTime::now(); *self.last_handshake.lock() = SystemTime::now();
self.handshake_queued.store(false, Ordering::Acquire); self.handshake_queued.store(false, Ordering::SeqCst);
self.timers_any_authenticated_packet_traversal(); self.timers_any_authenticated_packet_traversal();
self.timers_any_authenticated_packet_sent(); self.timers_any_authenticated_packet_sent();
} }
@@ -150,8 +150,8 @@ impl Timers {
let peer = peer.clone(); let peer = peer.clone();
runner.timer(move || { runner.timer(move || {
info!( info!(
"Retrying handshake with {}, because we stopped hearing back after {} seconds", "Retrying handshake with {}, because we stopped hearing back after {} seconds",
peer, peer,
(KEEPALIVE_TIMEOUT + REKEY_TIMEOUT).as_secs() (KEEPALIVE_TIMEOUT + REKEY_TIMEOUT).as_secs()
); );
peer.new_handshake(); peer.new_handshake();
@@ -256,7 +256,7 @@ impl<T: tun::Tun, B: bind::Bind> Callbacks for Events<T, B> {
/* Called every time the router detects that a key is required, /* Called every time the router detects that a key is required,
* but no valid key-material is available for the particular peer. * but no valid key-material is available for the particular peer.
* *
* The message is called continuously * The message is called continuously
* (e.g. for every packet that must be encrypted, until a key becomes available) * (e.g. for every packet that must be encrypted, until a key becomes available)
*/ */