Skip to content

Commit e5eaeb2

Browse files
benhillisBen Hillis
andauthored
wslc: ensure dns tunneling is disabled with virtioproxy networking mode (#40057)
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
1 parent c98558e commit e5eaeb2

2 files changed

Lines changed: 6 additions & 11 deletions

File tree

src/windows/common/WslCoreConfig.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -474,19 +474,15 @@ void wsl::core::Config::Initialize(_In_opt_ HANDLE UserToken)
474474
EnableVirtio9p = false;
475475
}
476476

477-
if (NetworkingMode != NetworkingMode::Nat && NetworkingMode != NetworkingMode::Mirrored && NetworkingMode != NetworkingMode::VirtioProxy)
477+
if (NetworkingMode != NetworkingMode::Nat && NetworkingMode != NetworkingMode::Mirrored)
478478
{
479-
VALIDATE_CONFIG_OPTION(
480-
(NetworkingMode != NetworkingMode::Nat && NetworkingMode != NetworkingMode::Mirrored && NetworkingMode != NetworkingMode::VirtioProxy),
481-
EnableDnsTunneling,
482-
false);
479+
VALIDATE_CONFIG_OPTION((NetworkingMode != NetworkingMode::Nat && NetworkingMode != NetworkingMode::Mirrored), EnableDnsTunneling, false);
483480
}
484481

485-
if (!EnableDnsTunneling || NetworkingMode == NetworkingMode::VirtioProxy)
482+
if (!EnableDnsTunneling)
486483
{
487-
VALIDATE_CONFIG_OPTION(!EnableDnsTunneling || NetworkingMode == NetworkingMode::VirtioProxy, BestEffortDnsParsing, false);
488-
VALIDATE_CONFIG_OPTION(
489-
!EnableDnsTunneling || NetworkingMode == NetworkingMode::VirtioProxy, DnsTunnelingIpAddress, std::optional<uint32_t>{});
484+
VALIDATE_CONFIG_OPTION(!EnableDnsTunneling, BestEffortDnsParsing, false);
485+
VALIDATE_CONFIG_OPTION(!EnableDnsTunneling, DnsTunnelingIpAddress, std::optional<uint32_t>{});
490486
}
491487

492488
if (NetworkingMode != NetworkingMode::Mirrored)

src/windows/service/exe/WslCoreVm.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ void WslCoreVm::Initialize(const GUID& VmId, const wil::shared_handle& UserToken
513513
message->MemoryReclaimMode = static_cast<LX_MINI_INIT_MEMORY_RECLAIM_MODE>(m_vmConfig.MemoryReclaim);
514514
message->EnableDebugShell = m_vmConfig.EnableDebugShell;
515515
message->EnableSafeMode = m_vmConfig.EnableSafeMode;
516-
message->EnableDnsTunneling = m_vmConfig.EnableDnsTunneling && m_vmConfig.NetworkingMode != NetworkingMode::VirtioProxy;
516+
message->EnableDnsTunneling = m_vmConfig.EnableDnsTunneling;
517517
message->DefaultKernel = m_defaultKernel;
518518
message->KernelModulesDeviceId = m_kernelModulesDeviceId;
519519
message.WriteString(message->HostnameOffset, wsl::windows::common::filesystem::GetLinuxHostName());
@@ -571,7 +571,6 @@ void WslCoreVm::Initialize(const GUID& VmId, const wil::shared_handle& UserToken
571571
{
572572
wsl::core::VirtioNetworkingFlags flags = wsl::core::VirtioNetworkingFlags::Ipv6;
573573
WI_SetFlagIf(flags, wsl::core::VirtioNetworkingFlags::LocalhostRelay, m_vmConfig.EnableLocalhostRelay);
574-
WI_SetFlagIf(flags, wsl::core::VirtioNetworkingFlags::DnsTunneling, m_vmConfig.EnableDnsTunneling);
575574
m_networkingEngine = std::make_unique<wsl::core::VirtioNetworking>(
576575
std::move(gnsChannel), flags, LX_INIT_RESOLVCONF_FULL_HEADER, m_guestDeviceManager, m_userToken);
577576
}

0 commit comments

Comments
 (0)