522 Commits

Author SHA1 Message Date
Pooja Trivedi
ab85d1ae21 WSLAUserSession and WSLASession changes
* Add WSLASession creation and tracking in WSLAUserSession
* Wire up WSLASession to contain and create WSLAVirtualMachine
2025-11-05 11:26:18 -05:00
Blue
46db45c39a
Add a temporary flag to wsl.exe to create a WSLA shell (#13664)
* Add a temporary flag to wsl.exe to create a WSLA shell

* Improve some error paths

* Add dependency
2025-11-04 13:09:20 -08:00
Blue
2abbe8baf3
wsla: Update the CreateProcess logic to support allocating file descr… (#13655)
* wsla: Update the CreateProcess logic to support allocating file descriptors from the guest

* PR feedback
2025-11-01 01:49:25 +00:00
Blue
1a6cbe560b
Fix various issues with the interactive shell (#13634)
* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Cleanup for review

* Update ServiceMain.cpp comment

* Remove duplicated definitions from wslservice.idl

* poc: Prototype interactive shell improvments

* Format

* Merge

* Save state

* Correctly configure terminal

* Format

* PR feedback
2025-10-31 17:18:34 -07:00
Blue
8b62d5a662
Implement DNS tunelling support for WSLA (#13651) 2025-10-30 15:24:04 -07:00
Blue
cedbb94d36
Create structure for WSLASession COM class & implementation (#13638)
* Create structure for WSLASession COM class & implementation

* Fix COM security pointer

* Add missing files

* Add copyright header

* Update src/windows/wslaservice/exe/WSLASession.cpp

Co-authored-by: Pooja Trivedi <poojatrivedi@gmail.com>

---------

Co-authored-by: Pooja Trivedi <poojatrivedi@gmail.com>
2025-10-28 14:44:33 -07:00
Blue
451a7e103a
wsla: Create wslaservice.exe (#13623)
* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Save state

* Cleanup for review

* Update ServiceMain.cpp comment

* Remove duplicated definitions from wslservice.idl
2025-10-23 17:44:57 -07:00
Blue
3f24caaf73
Move wslaclient.dll under the 'Windows folder' (#13628) 2025-10-23 10:57:58 -07:00
Blue
c6eecd90db
wsla: Add the wsla-team to codeowners (#13622) 2025-10-21 15:47:36 -07:00
Blue
9d505519ea Merge merge into feature/wsl-for-apps 2025-10-20 12:40:02 -07:00
Blue
f2bd6d60bc
wsla: Implement kernel module support (#13522)
* wsla: Implement kernel module support

* Expand tests

* Fix non-dev paths

* Skip disk permission change on read-only disks
2025-09-26 14:04:17 -07:00
yao-msft
87a7546638
Increase file descriptor limit in wsla init (#13524) 2025-09-26 11:30:00 -07:00
Blue
7e7bc436df
wsla: Implement writeable overlayfs support for GPU mounts (#13518)
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)

* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

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

* Implement WSL for apps TCP port forwarding  (#13299)

* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)

* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

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

* Save state

* Progress

* Save state

* Move tests to socat

* Increase test coverage

* More test coverage

* Cleanup before PR

* Cleanup before PR

* Refresh branch

* Update comment

* Only run LSW tests on wsl2

* Fix missing '.0' in flight-stage.yml

* Revert "Fix missing '.0' in flight-stage.yml"

This reverts commit 9b3e9ae38f5086b201f2100bf4196a7afe14d9eb.

* PR suggestions

---------

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

* Various fixes and improvements to the WSLA VM logic (#13338)

* Various fixes in the WSLA VM logic

* Update tests

* Fix ARM build

* LF

* Disable Firewall in WSLA VM config (#13345)

* Disable Firewall in WSLA VM config

* Add a version check

* Update setup-vm-for-tests.ps1 to include WSLA dll (#13362)

* Implement WSLA API's to query installed components, and install them when needed (#13363)

* Save state

* Save state

* Add tests

* Finalize tests

* Remove test logic

* Implement WSLA API to unmount & detach disks (#13364)

* Implement WSLA API to unmount & detach disks

* Add WSL2_TEST_ONLY();

* Fix wslg path

* Extend WslWaitForLinuxProcess test coverage (#13366)

* Add pipeline logic to publish nuget packages in the nightly pipeline (#13337)

* Add pipeline logic to publish nuget packages in the nightly pipeline

* Yaml

* Remove condition

* Fix version number

* Fix path

* Fix path

* Add support for using Linux files as processes' file descriptors (#13382)

* Save state

* Save state

* Add support for using Linux files as processes' file descriptors

* Cosmetics

* Missing return

* Signal the VM termination event to unblock any pending call when the service stops (#13389)

* Implement WSLA API to mount and unmount Windows folders via plan9 (#13393)

* Implement WSLA API to mount and unmount Windows folders via plan9

* Better handle when the folder is manually unmounted from the guest

* Add a test case to cover non plan9 mounts

* Update test

* wsla: do not leak fd's to user processes (#13406)

* Remove leftover logline in WSLA init (#13407)

* Implement WSLA GPU support (#13400)

* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline

* wsla: Refactor API to define `wsl` prefix on all types (#13410)

* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline

* Save state

* Reduce enum name

* Format

* Merge

* Fix merge

* Prepare for PR

* Update nuspec

* Pipeline update

* Implement WSL package version check (#13457)

* wsla: Mount the target on / when the chroot flag is set (#13455)

* wsla: Mount the target on / when the chroot flag is set

* Reuse existing helper

* wsa: Signa wsaclient.dll when building for release (#13466)

* wsa: Signal wsaclient.dll when building for release

* Typo

* Debug

* Debug

* Explicitely set targets to be built

* Build bundle

* Build tests before msipackage

* Build tests before msipackage

* Simplify

* Simplify

* wsla: Use a mount timeout when mounting a disk (#13471)

* Add an option to put a nuget suffix in the release pipeline parameters (#13474)

* Add an option to put a nuget suffix in the release pipeline parameters

* Yaml

* Yaml

* Yaml

* wsla: Implement writeable overlayfs support for GPU mounts

* Cleanup

* Typo

* Conflicts

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-25 11:36:44 -07:00
Blue
cc69ee0e10 Add an option to put a nuget suffix in the release pipeline parameters (#13474)
* Add an option to put a nuget suffix in the release pipeline parameters

* Yaml

* Yaml

* Yaml
2025-09-24 17:27:42 -07:00
Blue
ff2f490abe wsla: Use a mount timeout when mounting a disk (#13471) 2025-09-24 17:27:41 -07:00
Blue
fe5cd2d55a wsa: Signa wsaclient.dll when building for release (#13466)
* wsa: Signal wsaclient.dll when building for release

* Typo

* Debug

* Debug

* Explicitely set targets to be built

* Build bundle

* Build tests before msipackage

* Build tests before msipackage

* Simplify

* Simplify
2025-09-24 17:27:41 -07:00
Blue
9167e58679 wsla: Mount the target on / when the chroot flag is set (#13455)
* wsla: Mount the target on / when the chroot flag is set

* Reuse existing helper
2025-09-24 17:27:41 -07:00
Blue
0388a6dbfb Implement WSL package version check (#13457) 2025-09-24 17:27:41 -07:00
Blue
e6e380e556 wsla: Refactor API to define wsl prefix on all types (#13410)
* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline

* Save state

* Reduce enum name

* Format

* Merge

* Fix merge

* Prepare for PR

* Update nuspec

* Pipeline update
2025-09-24 17:27:41 -07:00
Blue
b45a5b8034 Implement WSLA GPU support (#13400)
* Implement WSLA GPU support

* Spelling

* Fix remaining typos

* More typos

* Merge

* Remove extra logline
2025-09-24 17:27:41 -07:00
Blue
449a8fc1a8 Remove leftover logline in WSLA init (#13407) 2025-09-24 17:27:41 -07:00
Blue
5949c06db2 wsla: do not leak fd's to user processes (#13406) 2025-09-24 17:27:41 -07:00
Blue
631ee32cc5 Implement WSLA API to mount and unmount Windows folders via plan9 (#13393)
* Implement WSLA API to mount and unmount Windows folders via plan9

* Better handle when the folder is manually unmounted from the guest

* Add a test case to cover non plan9 mounts

* Update test
2025-09-24 17:27:41 -07:00
Blue
d6a2f83837 Signal the VM termination event to unblock any pending call when the service stops (#13389) 2025-09-24 17:27:41 -07:00
Blue
914b81777f Add support for using Linux files as processes' file descriptors (#13382)
* Save state

* Save state

* Add support for using Linux files as processes' file descriptors

* Cosmetics

* Missing return
2025-09-24 17:27:41 -07:00
Blue
9fe5484658 Add pipeline logic to publish nuget packages in the nightly pipeline (#13337)
* Add pipeline logic to publish nuget packages in the nightly pipeline

* Yaml

* Remove condition

* Fix version number

* Fix path

* Fix path
2025-09-24 17:27:41 -07:00
Blue
e9b36a1aac Extend WslWaitForLinuxProcess test coverage (#13366) 2025-09-24 17:27:40 -07:00
Blue
28bcfe39d6 Implement WSLA API to unmount & detach disks (#13364)
* Implement WSLA API to unmount & detach disks

* Add WSL2_TEST_ONLY();

* Fix wslg path
2025-09-24 17:27:40 -07:00
Blue
3451e8213d Implement WSLA API's to query installed components, and install them when needed (#13363)
* Save state

* Save state

* Add tests

* Finalize tests

* Remove test logic
2025-09-24 17:27:40 -07:00
Blue
5438e046f9 Update setup-vm-for-tests.ps1 to include WSLA dll (#13362) 2025-09-24 17:27:40 -07:00
Blue
e44b01447d Disable Firewall in WSLA VM config (#13345)
* Disable Firewall in WSLA VM config

* Add a version check
2025-09-24 17:27:40 -07:00
Blue
82bb9a29a8 Various fixes and improvements to the WSLA VM logic (#13338)
* Various fixes in the WSLA VM logic

* Update tests

* Fix ARM build

* LF
2025-09-24 17:27:40 -07:00
Blue
c07fa29f0d Implement WSL for apps TCP port forwarding (#13299)
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)

* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

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

* Save state

* Progress

* Save state

* Move tests to socat

* Increase test coverage

* More test coverage

* Cleanup before PR

* Cleanup before PR

* Refresh branch

* Update comment

* Only run LSW tests on wsl2

* Fix missing '.0' in flight-stage.yml

* Revert "Fix missing '.0' in flight-stage.yml"

This reverts commit 9b3e9ae38f5086b201f2100bf4196a7afe14d9eb.

* PR suggestions

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-24 17:27:40 -07:00
Blue
b5769b4f97 Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)
* Save state

* Save state

* Save state

* Get the VM booting

* VM booting

* Disk mounting

* CreateLinuxProcess

* Move to a proper API

* Implement env

* Progress on fd

* Redesign fork model

* Add process wait & signal

* Include nuget package

* Format

* Format

* Format

* Cleanup

* Format

* Format

* Format

* Fix nuspec

* Implement VM termination

* Add lsw dll

* Implement termination callbacks

* Save state

* Various fixes in API header

* Save state

* Test coverage

* Don't block all signals by default

* Writeable overlay

* Add struct keyword

* rename WslCreateVirualMachine -> WslCreateVirtualMachine

* rename Environmnent -> Environment

* rename HandleToUlong -> HandleToULong

* ensure correct amount of memory is used to create the LSW VM

* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission

* Add missing struct keyword

* PR feedback

* PR review

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-24 17:27:38 -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
rodeka
f8c26f7c32
fix: UnboundLocalError in create-release.py (#13499) 2025-09-22 14:18:54 -07:00
Blue
7b17a7a7ab
Add WININET_E_TIMEOUT to g_commonErrors (#13506) 2025-09-22 13:32:12 -07:00
Blue
259ec4e5a9
Remove explicit '--tags' argument from find-release.py (#13481) 2025-09-17 11:27:21 -07:00
Blue
04eb4d4e8f
Increase the MSI installation timeout to 20 minutes (#13489)
* Increase the MSI installation timeout to 20 minutes

* Increase the MSI installation timeout to 20 minutes
2025-09-17 11:27:12 -07:00
Blue
b9e74a3361
Set TargetLatestRuntimePatch to false to prevent automatic framework version increases (#13483)
* Add lock files to wslsettings target to prevent automatic nuget version increases

* Update lock

* Update lock

* Enable strict mode

* Experiment

* Save state

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Try to set a matching version in packages.config

* Try to set a matching version in packages.config

* Experiment

* Experiment

* Experiment

* Restore pipeline

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Experiment

* Simplify

* Remove lock files
2025-09-16 17:46:53 -07:00
Blue
146a7511a5
Add VID event providers to WSL log profile (#13488) 2025-09-16 14:12:38 -07:00
Blue
2eac1dafec
Configure defender process exceptions when running tests (#13470)
* Configure defender process exceptions when running tests

* Use explicit %ls

* Save state

* Save state

* Add exceptions before the package is installed

* Remove extra call
2025-09-10 19:36:25 -07:00
Ben Hillis
25f7a7b38c
Notice change from build: 129899373 (#13475)
Co-authored-by: WSL notice <noreply@microsoft.com>
2025-09-10 19:35:02 -07:00
Ben Hillis
d43b725b3d
Fix: Always use 'WSLInterop` as the binfmt name (#13467)
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-09 09:28:11 -07:00
Ben Hillis
36c077bd69
logging: add more settings to vm create begin / end events. (#13412)
* logging: add more settings to vm create begin / end events.

* pr feedback, less string allocations'

* Handle empty user module list differently

* pr feedback

---------

Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-08 15:32:35 -07:00
Ben Hillis
3e322b719c
Update Microsoft .NET and AppSDK nuget packages. (#13450)
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
2025-09-07 12:00:21 -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