fixup! PY-59608: Support ``wslproxy`` when routing is broken by VPN.
When user runs VPN with default gateway pointing to the VPN server and configures interface weight, we can't connect to WSL using its egress IP (traffic to ``172.0.0.0/8`` goes to VPN instead of WSL).
With ``wsl.proxy.connect.localhost`` enabled in registry we bind ``wslproxy`` to ``127.0.0.1`` which could be used in latest WSL2 to connect from Windows to Linux. It is a little bit slow, but still works.
fixup! PY-59608: Support ``wslproxy`` when routing is broken by VPN.
PY-59608: Support ``wslproxy`` when routing is broken by VPN.
When user runs VPN with default gateway pointing to the VPN server and configures interface weight, we can't connect to WSL using its egress IP (traffic to ``172.0.0.0/8`` goes to VPN instead of WSL).
With ``wsl.proxy.connect.localhost`` enabled in registry we bind ``wslproxy`` to ``127.0.0.1`` which could be used in latest WSL2 to connect from Windows to Linux. It is a little bit slow, but still works.
Co-authored-by: Vladimir Lagunov <vladimir.lagunov@jetbrains.com>
Merge-request: IJ-MR-105285
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>
GitOrigin-RevId: 74b5ad4df9c5e95ca4ef53a465f07855a92aa324
Currently, filters support only includes and excludes of files matching the regex patterns. But it should be fairly easy to extend this with other types of filters in the future.
Reviewed-by: IJ-CR-102814
GitOrigin-RevId: 80b7e33aa4d6f89b8a9279d4aa2648783e363bf4
``ifaddrs->ifa_addr`` may be NULL according to ``getifaddr(3)``.
This is a case for the tailscale VPN at least
GitOrigin-RevId: 134cd2bcf03a01b6c52536e23b86a1135450d67b
Symlinks on Windows are junctions (since no UAC required), so only directory symlinks are supported.
GitOrigin-RevId: 9f9134d59597d2987a7c1b95602dc6e477651dfb
``rsync`` is slow because every file system access call from WSL to Windows and vice versa is slow.
We need to decrement number of such calls.
This approach does the following:
* Calculates hashes on Windows side using Intellij process
* Calculates hashes on WSL side using native Linux process
* Compares them searching for differences
* Splits different files into groups, tars each group and copies them on the other side.
From what I checked this is the fastest approach to sync WSL and Windows.
* How to use *
`WslSyncAction` is a temporary internal only action. Run it and try to sync some folder.
`WslSync` is a class with static method you can use to sync to folders.
GitOrigin-RevId: 6c63329d73ff32b7ee5e4436bfde39e72fe35a44
There is no need in Python on linux anymore to obtain environment variables
Python script changed to direct `env -0` call on linux
printenv binary for macOS and its source code updated to write output directly to stdout, not to temporary file
Added tests with testcontainers to detect problems on different linux distros
(cherry picked from commit 72f7f7ad782cdb4632980d2622023d117e4485dc)
IJ-CR-19090
GitOrigin-RevId: 95b4cc5cca0cff27856a4e92d4ed26fd8aead416
Ingress port (127.0.0.1:some-port) or WSL must accept several connections.
All of them are forwarded to application port.
Django debug doesn't work without it because it uses several processes, each connected to port on WSL.
See wslproxy.svg and wslproxy.c doc
GitOrigin-RevId: 4623aef93409c1ea8f282908ae0ba8a810652413
cmake -G "Unix Makefiles" does not honor CMAKE_OSX_ARCHITECTURES and does not produce universal binary. Changed to "Xcode".
GitOrigin-RevId: cc86b53eb342a60c55d4247485d53c1339f4a53d