bring private key to the noise handshake. still does nothing though

This commit is contained in:
Simon Wicky
2023-07-21 14:41:31 +02:00
parent 5424568e81
commit 044251d60f
10 changed files with 90 additions and 23 deletions
@@ -1,12 +1,14 @@
// Copyright 2020 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::node::identity::SECRET_KEY_LENGTH;
use crate::node::listener::connection_handler::packet_processing::{
MixProcessingResult, PacketProcessor,
};
use crate::node::packet_delayforwarder::PacketDelayForwardSender;
use crate::node::TaskClient;
use futures::StreamExt;
use nym_crypto::asymmetric::identity;
use nym_mixnode_common::measure;
use nym_noise::upgrade_noise_responder;
use nym_sphinx::forwarding::packet::MixPacket;
@@ -26,16 +28,19 @@ pub(crate) mod packet_processing;
pub(crate) struct ConnectionHandler {
packet_processor: PacketProcessor,
delay_forwarding_channel: PacketDelayForwardSender,
private_identity_key: [u8; SECRET_KEY_LENGTH],
}
impl ConnectionHandler {
pub(crate) fn new(
packet_processor: PacketProcessor,
delay_forwarding_channel: PacketDelayForwardSender,
private_identity_key: &identity::PrivateKey,
) -> Self {
ConnectionHandler {
packet_processor,
delay_forwarding_channel,
private_identity_key: private_identity_key.to_bytes(),
}
}
@@ -88,7 +93,7 @@ impl ConnectionHandler {
debug!("Starting connection handler for {:?}", remote);
shutdown.mark_as_success();
let noise_stream = match upgrade_noise_responder(conn) {
let noise_stream = match upgrade_noise_responder(conn, &self.private_identity_key) {
Ok(noise_stream) => noise_stream,
Err(err) => {
error!("Failed to perform Noise handshake with {remote} - {err}");
+10 -2
View File
@@ -159,7 +159,11 @@ impl MixNode {
let packet_processor =
PacketProcessor::new(self.sphinx_keypair.private_key(), node_stats_update_sender);
let connection_handler = ConnectionHandler::new(packet_processor, delay_forwarding_channel);
let connection_handler = ConnectionHandler::new(
packet_processor,
delay_forwarding_channel,
self.identity_keypair.private_key(),
);
let listening_address = SocketAddr::new(
self.config.mixnode.listening_address,
@@ -186,7 +190,11 @@ impl MixNode {
);
let mut packet_forwarder = DelayForwarder::new(
nym_mixnet_client::Client::new(client_config, topology_access),
nym_mixnet_client::Client::new(
client_config,
topology_access,
self.identity_keypair.private_key(),
),
node_stats_update_sender,
shutdown,
);