Commit Graph

116 Commits

Author SHA1 Message Date
Ben Hillis
14c60ff097 merge master -> feature/wsl-for-apps (#14465)
* test: enable virtiofs tests and enable WSLG during testing (#14387)

* test: enable virtiofs tests and enable WSLG during testing

* test fix

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* chore(distributions): Almalinux auto-update - 20260311 14:52:02 (#14404)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix CVE-2026-26127: bump .NET runtime from 10.0.0 to 10.0.4 (#14421)

Addresses Dependabot alerts #10 and #11. The Microsoft.NETCore.App.Runtime
packages (win-x64 and win-arm64) at version 10.0.0 are vulnerable to a
denial of service via out-of-bounds read when decoding malformed Base64Url
input (CVSS 7.5 High). Bumped to 10.0.4 which includes the fix.

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Notice change from build: 141806547 (#14423)

Co-authored-by: WSL notice <noreply@microsoft.com>

* Ship initrd.img in MSI using build-time generation via powershell script (#14424)

* Ship initrd.img in MSI using build-time generation via tar.exe

Replace the install-time CreateInitrd/RemoveInitrd custom actions with a
build-time step that generates initrd.img using the Windows built-in
tar.exe (libarchive/bsdtar) and ships it directly in the MSI.

The install-time approach had a race condition: wsl.exe could launch
before the CreateInitrd custom action completed, causing
ERROR_FILE_NOT_FOUND for initrd.img.

Changes:
- Add CMake custom command to generate initrd.img via tar.exe --format=newc
- Add initrd.img as a regular file in the MSI tools component
- Remove CreateInitrd/RemoveInitrd custom actions from WiX, DllMain,
  and wslinstall.def
- Remove CreateCpioInitrd helper and its tests (no longer needed)
- Update pipeline build targets to build initramfs instead of init

* pr feedback

* more pr feedback

* switch to using a powershell script instead of tar.exe

* powershell script feedback

* hopefully final pr feedback

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* virtiofs: update logic so querying virtiofs mount source does not require a call to the service (#14380)

* virtiofs: update logic so querying virtiofs mount source does not require a call to the service

* more pr feedback

* use std::filesystem::read_symlink

* pr feedback and use canonical path in virtiofs symlink

* make sure canonical path is always used

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* virtio networking: add support for ipv6 (#14350)

* VirtioProxy: Add IPv6 address, gateway, and route support

- Add PreferredIpv6Address field and GetBestGatewayV6* methods to NetworkSettings
- Extend GetHostEndpointSettings() to discover IPv6 unicast address and gateway
- Add UpdateIpv6Address() using ModifyGuestEndpointSettingRequest<IPAddress>
- Push IPv6 default route to guest via UpdateDefaultRoute(AF_INET6)
- Remove AF_INET6 early return in ModifyOpenPorts, use INETADDR_PORT()
- Add EndpointRoute::DefaultRoute() static factory
- Pass client_ip_ipv6 in devicehost options (not yet parsed by devicehost)
- Remove gateway_ip from devicehost options (only needed for DHCP)
- Include IPv6 DNS servers in non-tunneling DNS settings
- Add ConfigurationV6 and DnsResolutionAAAA tests

* cleanup and add more ipv6 tests

* added test coverage and minor updates

* clang format

* pr feedback

* format source

* pr feedback

* test fixes

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Track `bind` syscall when port is 0 (#14333)

* Initial work

* .

* pr feedback and add unit test

* minor tweaks an fix use after free in logging statement

* implement PR feedback

* hopefully final pr feedback

* pr feedback in test function

* Address PR feedback: add try/catch to TrackPort and PortZeroBind queue push

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Add iptables to list of apps to install in WSL (#14459)

There were instructions already on how to install tcpdump in WSL, but
iptables are also needed for the log collection to be complete, so this
PR adds instructions on how to also install iptables.

Co-authored-by: Andre Muezerie <andremue@linux.microsoft.com>

* Update Microsoft.WSL.DeviceHost to version 1.1.39-0 (#14460)

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Moves all Ubuntu distros to the tar-based format (#14463)

* Move all supported Ubuntu images to the new format

We backported the build pipeline so all current LTSes come out in the new tar-based format

* Remove the appx based distros

All WSL users can run tar-based distros by now, right?
There is no benefit in maintaining both formats.

* Enable DNS tunneling for VirtioProxy networking mode (#14461)

- Allow VirtioProxy to keep EnableDnsTunneling=true in config, but clear
  socket-specific options (BestEffortDnsParsing, DnsTunnelingIpAddress)
- Suppress dedicated DNS tunneling hvsocket for VirtioProxy; tunneling
  is handled through the VirtioNetworking device host instead
- Set DnsTunneling flag on VirtioNetworkingFlags so the device host
  knows to tunnel DNS
- Expand SWIOTLB kernel cmdline to cover VirtioFs and VirtioProxy
- Bump DeviceHost package to 1.1.39-0
- Add VirtioProxy DNS test coverage for tunneling on/off
- Skip GuestPortIsReleasedV6 on Windows 10

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* test: disable LoopbackExplicit due to OS build 29555 regression (#14477)

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* Refactor: trim unnecessary DLL deps from COMMON_LINK_LIBRARIES (#14426)

* Refactor: trim unnecessary DLL deps from COMMON_LINK_LIBRARIES

- Split MSI/Wintrust install functions from wslutil.cpp into install.cpp
- Remove MI.lib, wsldeps.lib, msi.lib, Wintrust.lib, computecore.lib,
  computenetwork.lib, Iphlpapi.lib from COMMON_LINK_LIBRARIES
- Add per-target MSI_LINK_LIBRARIES, HCS_LINK_LIBRARIES, SERVICE_LINK_LIBRARIES
- Delay-load msi.dll and WINTRUST.dll for wsl.exe and wslg.exe
- Result: wslhost, wslrelay, wslcsdk, testplugin lose msi/wintrust startup imports;
  wsl.exe and wslg.exe defer msi/wintrust loading until actually needed;
  wslservice is the only target that imports computecore/computenetwork/Iphlpapi

* minor fixes to install.cpp that were caught during PR

* move to wsl::windows::common::install namespace

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>

* wslc: enable IPv6 and DNS tunneling for virtio proxy networking mode

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
Co-authored-by: AlmaLinux Autobot <107999298+almalinuxautobot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Blue <OneBlue@users.noreply.github.com>
Co-authored-by: WSL notice <noreply@microsoft.com>
Co-authored-by: Daman Mulye <daman_mulye@hotmail.com>
Co-authored-by: Andre Muezerie <108841174+andremueiot@users.noreply.github.com>
Co-authored-by: Andre Muezerie <andremue@linux.microsoft.com>
Co-authored-by: Carlos Nihelton <carlos.santanadeoliveira@canonical.com>
2026-03-20 13:47:27 -07:00
Scott Bradnick
c6b609c13a Update SLE15SP7 [QU3] (#14353) 2026-03-04 13:43:35 -08:00
Ben Hillis
8c220dc083 Fix grammar, typos, and formatting in docs and source (#14286)
* Fix localization text, Intune capitalization, ADMX indentation, unused import

- distributions/validate.py: Remove unused 'import base64'
- en-US/en-GB Resources.resw: Fix word order 'the list distribution' -> 'the distribution list' in MessageCouldFetchDistributionList
- en-US/en-GB Resources.resw: Remove trailing space from MessageCorruptedDistroRegistration value
- intune/en-US/WSL.adml: Fix 'For Linux' -> 'for Linux' capitalization (5 occurrences) to match official product name
- intune/WSL.admx: Fix inconsistent 3-space indent to 4-space on AllowWSL1 and CustomKernelUserSettingConfigurable policies

* Fix grammar, typos, and formatting in docs and source code

- WmiService.h: Fix duplicated word 'of of' -> 'is of' in WQL comment
- drvfs.md: Fix 'which tell' -> 'which tells' (subject-verb agreement), double space, second 'tell' -> 'tells'
- systemd.md: Fix 'tries synchronizes' -> 'tries to synchronize'
- wslhost.exe.md: Fix 'processes terminates' -> 'process terminates'
- boot-process.md: Add missing 'in' preposition, fix C:/ -> C:\, fix lowercase 'linux' to 'Linux' (4 occurrences), fix misplaced parenthesis
- init.md: Fix double space before hvsocket backtick
- session-leader.md: Fix heading level ## -> ### to match sibling section
- CONTRIBUTING.md: Fix double period after bold security notice
- debugging.md: Fix missing word 'be' in 'can enabled', fix 'process' -> 'processes'
- index.md: Add missing period at end of sentence
- technical-documentation/index.md: Fix 'API's' -> 'APIs' (remove incorrect apostrophe)
- relay.md: Fix lowercase 'linux' to 'Linux' (3 occurrences)
- localhost.md: Fix lowercase 'linux' to 'Linux'
- plan9.md: Fix lowercase 'linux' to 'Linux'

* update errormessages testcase

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2026-03-03 18:13:59 -08:00
Arch Linux Technical User
8c659b56f9 archlinux: Release 2026.03.01.160197 (#14324)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2026-03-02 11:37:35 -08:00
Ben Hillis
d23a5c492e Add automount.cgroups to WSL_CONF_KEYS in validate-modern.py (#14285)
Fixes #13993

The validate-modern.py script was missing the 'automount.cgroups' setting
from WSL_CONF_KEYS, causing validation errors when distributions include
this setting in their /etc/wsl.conf files.

Note: windowsterminal.enabled was already present in the
wsl-distribution.conf validation list.

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2026-02-25 17:57:09 -08:00
Dimitris Chatzis
cb35b511cc Mask NetworkManager-wait-online.service during boot (#14272)
* Mask NetworkManager-wait-online.service during boot

Fixes #13772. Similar to PR #13611, this masks NetworkManager-wait-online.service to prevent 60-second timeouts during boot since WSL interfaces are unmanaged by NetworkManager. Also added the service to the discouraged units list in validate-modern.py and added a unit test.

* Addressed Copilot feedback

* Fix
2026-02-25 17:39:56 -08:00
Scott Bradnick
a439794b8b Update SLE16.0 [QU1] (#14227) 2026-02-18 12:38:32 -08:00
Carlos Nihelton
4b0d4a6d62 Update DistributionInfo.json due release of Ubuntu-24.04.4 (#14202) 2026-02-12 10:21:06 -08:00
Arch Linux Technical User
b8e9351958 archlinux: Release 2026.02.01.158360 (#14143)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2026-02-02 11:10:55 -08:00
rfu-cn
2a84749f91 Update eLxr distribution name (#14032)
Keep command-line install/unregister eLxr operations consistent
2026-01-13 17:09:24 -05:00
rfu-cn
94df1253b2 Add eLxr official WSL image to the distribution manifest (#14022)
Update DistributionInfo.json to add "eLxr" section to "ModenDistributions".
This commit adds eLxr to the Microsoft WSL's official distribution manifest,
allowing users to pull and install it in an automated way (`wsl --install eLxr`).
2026-01-06 14:31:16 -08:00
Scott Bradnick
e31c701ce9 Update openSUSE Tumbleweed v20260106.0 (#14024)
Updating .appx and .wsl offerings.
2026-01-06 14:30:26 -08:00
Blue
02105ba11f Add WindowsTerminal.enabled to the list of config keys for wsl-distribution.conf (#14021) 2026-01-05 13:49:50 -08:00
Arch Linux Technical User
a5b990e91a archlinux: Release 2026.01.01.156076 (#14011)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2026-01-02 10:29:35 -08:00
g0tmi1k
d04166095f Bump Kali to 2025.4 (#13961)
Release notes: https://www.kali.org/blog/kali-linux-2025-4-release/
2025-12-23 12:12:55 -08:00
Scott Bradnick
0f07dae96d Update SLE15SP7 [QU2] and SLE16.0 [QU0] (#13808) 2025-12-01 12:02:29 -08:00
Arch Linux Technical User
d23025b575 archlinux: Release 2025.12.01.153427 (#13804)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-12-01 12:01:55 -08:00
AlmaLinux Autobot
722eecafba chore(distributions): Almalinux auto-update - 20251124 17:13:02 (#13780)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 13:01:54 -08:00
AlmaLinux Autobot
dbf49f1ae9 chore(distributions): Almalinux auto-update - 20251119 12:04:35 (#13743)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-19 15:36:09 -08:00
Scott Bradnick
09c17eb6c6 Remove SLE15SP6; add SLE16.0 (#13647) 2025-11-04 15:56:49 -08:00
Arch Linux Technical User
bafd381aec archlinux: Release 2025.11.01.150831 (#13661)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-11-03 08:15:59 -08:00
AlmaLinux Autobot
d48ece45a4 chore(distributions): Almalinux auto-update - 20251030 17:08:25 (#13653)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-30 13:29:45 -07:00
Jeremy Cline
fdfe1eb843 fedora: Add Fedora 43 to the distribution list (#13643)
Six months have gone by, so it's time for another Fedora release. In
addition to the general Fedora updates this release, the WSL image is
now properly suffixed.
2025-10-28 14:45:41 -07:00
Blue
babf0c24f1 Add hypervkvpd.service to the list of discouraged systemd units (#13568) 2025-10-06 17:20:12 -07:00
Arch Linux Technical User
582e15e4e0 archlinux: Release 2025.10.01.148042 (#13547)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-10-01 11:08:41 -07:00
Scott Bradnick
004bb36f9e Swap Leap 16.0 in for Leap 15.6 (#13549)
If we can have Leap 15.6 AND Leap 16.0 (5 total distros), that would be great 

Tumbleweed
SLE 15SP6
SLE 15SP7
Leap 15.6
Leap 16.0
2025-10-01 11:08:29 -07:00
Scott Bradnick
95fcc56983 Update openSUSE Tumbleweed v20250923.0 (#13515)
Updating .appx and .wsl offerings.
2025-09-24 11:37:37 -07:00
g0tmi1k
2d976b2ef9 Bump Kali 2025.3 (#13516)
Release notes: https://www.kali.org/blog/kali-linux-2025-3-release/
2025-09-24 11:37:26 -07:00
Scott Bradnick
94f44b692c SLE15SP7 QU1 update (#13447)
Updating "Url" and "Sha256" for '"Name": "SUSE-Linux-Enterprise-15-SP7"'.
2025-09-03 12:46:07 -07:00
Arch Linux Technical User
513fc5c0c1 archlinux: Release 2025.09.01.145298 (#13442)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-09-03 08:54:16 -07:00
Carlos Nihelton
feb9ad97a4 More stable link for Ubuntu and Ubuntu-24.04 (#13418)
The existing AMD64 link (using the release name - noble in this case) will
break next year as it did two weeks ago when Ubuntu 24.04.3 LTS was
released.

The link I propose here will remain stable when the next point release
comes out, following the same pattern already in place for ARM64.

To prove my point we can use this pattern to fetch the previous version
of Ubuntu 24.04:

- This works:
https://releases.ubuntu.com/24.04.2/ubuntu-24.04.2-wsl-amd64.wsl

- This doesn't:
https://releases.ubuntu.com/noble/ubuntu-24.04.2-wsl-amd64.wsl
2025-08-22 11:03:21 -07:00
Carlos Nihelton
8de7016905 Remove Ubuntu-18.04 (#13419)
This distro is being out of standard support for a while now.
Users should really be on more recent LTS releases.
2025-08-22 11:02:58 -07:00
Blue
39b4cd8873 Various fixes in validate-modern.py (#13405)
* Various fixes in validate-modern.py

* Update distributions/validate-modern.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix copilot diff

* Fix copilot diff

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-18 14:07:40 -07:00
Robert Haist
267bbb7426 Update DistributionInfo.json for Debian 13 release (#13371) 2025-08-11 11:37:22 -07:00
Kevin Jagodic
4b237351a9 Ubuntu version links updated. (#13355)
* Update DistributionInfo.json

* Update SHA256 for Ubuntu WSL distributions

* Update distributions/DistributionInfo.json

Co-authored-by: Carlos Nihelton <cnihelton@ubuntu.com>

* Update distributions/DistributionInfo.json

Co-authored-by: Carlos Nihelton <cnihelton@ubuntu.com>

---------

Co-authored-by: Carlos Nihelton <cnihelton@ubuntu.com>
2025-08-07 13:03:58 -07:00
Arch Linux Technical User
8106556cec archlinux: Release 2025.08.01.138229 (#13319)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-08-04 11:14:59 -07:00
Kiran Cheparthi
227dc68783 Update DistributionInfo.json to remove old Oracle distros (#13240) 2025-07-09 12:20:58 -04:00
Craig Loewen
ec54df6362 Updated oracle distros (#13238) 2025-07-08 18:10:53 -04:00
Arch Linux Technical User
e563689b88 archlinux: Release 2025.07.01.132764 (#13208)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-07-01 12:29:53 -07:00
g0tmi1k
c4b6a6b392 Bump Kali 2025.2 (#13182)
Release notes: https://www.kali.org/blog/kali-linux-2025-2-release/
2025-06-24 12:06:33 -07:00
Blue
cc113d7c38 Exit with 1 if fatal errors are found while validating the distribution manifest (#13140) 2025-06-18 13:37:23 -07:00
Scott Bradnick
dd5dc89bc7 Remove SLE15SP5, update SUSE SLE15SP6, add SLE15SP7; update openSUSE Tumbleweed (#13139)
* Update DistributionInfo.json

* Updates for Tumbleweed (ARM64/X64 .appx & .wsl)
* Updates for SLE15SP6 (.appx & .wsl)
* Addition of SLE15SP7 (.wsl)
* Removal of SLE15SP5

* Change Default for SUSE

Switch from SP6 to SP7 as default for "SUSE".
2025-06-18 12:27:27 -07:00
Arch Linux Technical User
41e82228ff archlinux: Release 2025.06.01.129180 (#13023)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-06-02 14:56:06 -07:00
Elkhan Mammadli
07d7d29190 feat(distribution): add almalinux 10 (#13005)
Add AlmaLinux OS 10 and make it as the default AlmaLinux distribution.

Signed-off-by: Elkhan Mammadli <elkhan.mammadli@protonmail.com>
2025-05-29 15:00:02 -07:00
Jiaxing Liu
8c32233709 fix(validate-modern): correct f-string syntax (#12977) 2025-05-27 15:09:18 -07:00
Elkhan Mammadli
9000b49687 chore(almalinux): update to 9.6.20250522.0 (#12966)
Signed-off-by: Elkhan Mammadli <elkhan.mammadli@protonmail.com>
2025-05-24 09:29:54 -07:00
Arch Linux Technical User
28da506f69 archlinux: Release 2025.05.01.126391 (#12868)
This is an automated release [1].

[1] https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/.gitlab-ci.yml
2025-05-01 12:24:51 -07:00
Gamb1ts
15606ac19e Update Kali Linux to 2025.1c (#12865)
* Update Kali Linux to 2025.1c

* Update DistributionInfo.json
2025-04-30 13:51:22 -07:00
Robin Candau
420b7b22db Fix indentation in DistributionInfo.json (#12838)
* Fix indentation in DistributionInfo.json

Replace (accidental) tabs by spaces

* Add a json formatting check to the validate.py script

This should a coherent formatting for the future
2025-04-21 11:39:51 -07:00
Elkhan Mammadli
345816f03d chore(almalinux): update 8.10, 9.5 and kitten 10 (#12828)
Updated current AlmaLinux OS distributions:
- AlmaLinux OS 8.10.20250415.0
- AlmaLinux OS 9.5.20250415.0
- AlmaLinux OS Kitten 10.20250415.0

Signed-off-by: Elkhan Mammadli <elkhan.mammadli@protonmail.com>
2025-04-16 11:42:34 -07:00