This commit is contained in:
Ferdinand Schober
2024-07-12 01:29:03 +02:00
parent 39d6a3cace
commit 73a57ee892
4 changed files with 4 additions and 5 deletions

View File

@@ -108,7 +108,6 @@ impl LibeiEmulation {
let stream = UnixStream::from(eifd);
stream.set_nonblocking(true)?;
let context = ei::Context::new(stream)?;
context.flush().map_err(|e| io::Error::new(e.kind(), e))?;
let mut events = EiEventStream::new(context.clone())?;
let handshake = ei_handshake(
&mut events,

View File

@@ -152,7 +152,7 @@ impl Server {
// create dns resolver
let resolver = DnsResolver::new().await?;
let resolver = resolver_task::new(resolver, dns_rx, self.clone(), frontend_tx);
let resolver = resolver_task::new(self.clone(), resolver, dns_rx, frontend_tx);
// frontend listener
let frontend = frontend_task::new(

View File

@@ -35,14 +35,14 @@ pub(crate) fn new(
resolve_ch: Sender<DnsRequest>,
port_tx: Sender<u16>,
) -> JoinHandle<()> {
let request = request_tx.clone();
let request_tx = request_tx.clone();
tokio::task::spawn_local(async move {
let mut join_handles = vec![];
loop {
tokio::select! {
stream = frontend.accept() => {
match stream {
Ok(s) => join_handles.push(handle_frontend_stream(server.clone(), &request, s)),
Ok(s) => join_handles.push(handle_frontend_stream(server.clone(), &request_tx, s)),
Err(e) => log::warn!("error accepting frontend connection: {e}"),
};
}

View File

@@ -16,9 +16,9 @@ pub struct DnsRequest {
}
pub fn new(
server: Server,
resolver: DnsResolver,
dns_rx: Receiver<DnsRequest>,
server: Server,
frontend: Sender<FrontendEvent>,
) -> JoinHandle<()> {
tokio::task::spawn_local(async move {