diff options
Diffstat (limited to 'src/router')
-rw-r--r-- | src/router/peer.rs | 4 | ||||
-rw-r--r-- | src/router/workers.rs | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/router/peer.rs b/src/router/peer.rs index 9451b2c..234c353 100644 --- a/src/router/peer.rs +++ b/src/router/peer.rs @@ -243,7 +243,7 @@ impl<T: Opaque, S: Callback<T>, R: Callback<T>, K: KeyCallback<T>> Peer<T, S, R, keys.previous.as_ref().map(|k| release.push(k.recv.id)); // update key-wheel - if new.confirmed { + if new.initiator { // start using key for encryption *self.0.ekey.lock() = Some(EncryptionState { id: new.send.id, @@ -276,7 +276,7 @@ impl<T: Opaque, S: Callback<T>, R: Callback<T>, K: KeyCallback<T>> Peer<T, S, R, recv.insert( new.recv.id, DecryptionState { - confirmed: AtomicBool::new(new.confirmed), + confirmed: AtomicBool::new(new.initiator), keypair: Arc::downgrade(&new), key: new.recv.key, protector: spin::Mutex::new(AntiReplay::new()), diff --git a/src/router/workers.rs b/src/router/workers.rs index f02ee15..1fd2cdf 100644 --- a/src/router/workers.rs +++ b/src/router/workers.rs @@ -125,6 +125,8 @@ pub fn worker_inbound<T: Opaque, S: Callback<T>, R: Callback<T>, K: KeyCallback< peer.confirm_key(state.keypair.clone()); } + // update enpoint, TODO + // write packet to TUN device, TODO // trigger callback |