diff options
| -rw-r--r-- | talpid-wireguard/src/lib.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/talpid-wireguard/src/lib.rs b/talpid-wireguard/src/lib.rs index 2e6584a848..64c65d2c4e 100644 --- a/talpid-wireguard/src/lib.rs +++ b/talpid-wireguard/src/lib.rs @@ -373,6 +373,16 @@ impl WireguardMonitor { log_path: Option<&Path>, args: TunnelArgs<'_, F>, ) -> Result<WireguardMonitor> { + let (close_obfs_sender, close_obfs_listener) = sync_mpsc::channel(); + // TODO: Document the side effect of starting this before opening the tunnel! + let obfuscator = args + .runtime + .block_on(obfuscation::apply_obfuscation_config( + &mut config, + close_obfs_sender.clone(), + args.tun_provider.clone(), + ))?; + let should_negotiate_ephemeral_peer = config.quantum_resistant || config.daita; let tunnel = Self::open_tunnel( args.runtime.clone(), @@ -386,15 +396,6 @@ impl WireguardMonitor { should_negotiate_ephemeral_peer, )?; - let (close_obfs_sender, close_obfs_listener) = sync_mpsc::channel(); - let obfuscator = args - .runtime - .block_on(obfuscation::apply_obfuscation_config( - &mut config, - close_obfs_sender.clone(), - args.tun_provider.clone(), - ))?; - let iface_name = tunnel.get_interface_name(); let (pinger_tx, pinger_rx) = sync_mpsc::channel(); |
