Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

maintenance(systemd): support the Windows Subsystem for Linux #605

Merged
merged 1 commit into from
Sep 23, 2023

Commits on Sep 21, 2023

  1. maintenance(systemd): support the Windows Subsystem for Linux

    When running in the Windows Subsystem for Linux (WSL), it is usually
    necessary to use the Git Credential Manager for authentication when
    performing the background fetches.
    
    This requires interoperability between the Windows Subsystem for Linux
    and the Windows host to work, which uses so-called vsocks, i.e. sockets
    intended for communcations between virtual machines and the host they
    are running on.
    
    However, when Git is configured to run background maintenance via
    `systemd`, the address families available to those maintenance processes
    are restricted, and did not include `AF_VSOCK`. This leads to problems
    e.g. when a background fetch tries to access github.com:
    
    	systemd[437]: Starting Optimize Git repositories data...
    	git[747387]: WSL (747387) ERROR: UtilBindVsockAnyPort:285: socket failed 97
    	git[747381]: fatal: could not read Username for 'https://github.com': No such device or address
    	git[747381]: error: failed to prefetch remotes
    	git[747381]: error: task 'prefetch' failed
    	systemd[437]: git-maintenance@hourly.service: Main process exited, code=exited, status=1/FAILURE
    	systemd[437]: git-maintenance@hourly.service: Failed with result 'exit-code'.
    	systemd[437]: Failed to start Optimize Git repositories data.
    
    Address this (pun intended) by adding the `AF_VSOCK` address family to
    the allow list.
    
    This fixes microsoft#604, and is a
    backport of 5e8515e (maintenance(systemd): support the Windows
    Subsystem for Linux, 2023-09-10).
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    dscho committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    ebf93cb View commit details
    Browse the repository at this point in the history