Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rootlesskit for openSUSE:Factory 
checked in at 2025-05-20 09:31:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rootlesskit (Old)
 and      /work/SRC/openSUSE:Factory/.rootlesskit.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rootlesskit"

Tue May 20 09:31:13 2025 rev:14 rq:1277816 version:2.3.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/rootlesskit/rootlesskit.changes  2025-03-16 
18:57:57.202879939 +0100
+++ /work/SRC/openSUSE:Factory/.rootlesskit.new.30101/rootlesskit.changes       
2025-05-20 09:31:19.464287784 +0200
@@ -1,0 +2,14 @@
+Mon May 12 05:14:06 UTC 2025 - Madhankumar Chellamuthu 
<madhankumar.chellamu...@suse.com>
+
+- Update to version 2.3.5:
+  * v2.3.5
+  * Dockerfile: update test deps
+  * Build(deps): Bump github.com/moby/vpnkit from 0.5.0 to 0.6.0
+  * Build(deps): Bump github.com/containernetworking/plugins
+  * Build(deps): Bump golang.org/x/sys from 0.31.0 to 0.32.0
+  * Build(deps): Bump golang.org/x/net from 0.36.0 to 0.38.0
+  * Parameter for ISA of binaries
+  * Build(deps): Bump golang.org/x/net from 0.33.0 to 0.36.0
+  * v2.3.4+dev
+
+-------------------------------------------------------------------

Old:
----
  rootlesskit-2.3.4.tar.gz

New:
----
  rootlesskit-2.3.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rootlesskit.spec ++++++
--- /var/tmp/diff_new_pack.uBtBYm/_old  2025-05-20 09:31:20.192317738 +0200
+++ /var/tmp/diff_new_pack.uBtBYm/_new  2025-05-20 09:31:20.192317738 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           rootlesskit
-Version:        2.3.4
+Version:        2.3.5
 Release:        0
 Summary:        Linux-native fakeroot using user namespaces
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.uBtBYm/_old  2025-05-20 09:31:20.224319055 +0200
+++ /var/tmp/diff_new_pack.uBtBYm/_new  2025-05-20 09:31:20.228319220 +0200
@@ -4,7 +4,7 @@
     <param 
name="url">https://github.com/rootless-containers/rootlesskit.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v2.3.4</param>
+    <param name="revision">v2.3.5</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.uBtBYm/_old  2025-05-20 09:31:20.248320043 +0200
+++ /var/tmp/diff_new_pack.uBtBYm/_new  2025-05-20 09:31:20.252320207 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/rootless-containers/rootlesskit.git</param>
-              <param 
name="changesrevision">59a459df858d39ad5f4eafa305545907bf0c48ab</param></service></servicedata>
+              <param 
name="changesrevision">0cc0811acc6e4daee71817383e62fb811590bc13</param></service></servicedata>
 (No newline at EOF)
 

++++++ rootlesskit-2.3.4.tar.gz -> rootlesskit-2.3.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/.github/dependabot.yml 
new/rootlesskit-2.3.5/.github/dependabot.yml
--- old/rootlesskit-2.3.4/.github/dependabot.yml        2025-03-10 
02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/.github/dependabot.yml        1970-01-01 
01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-version: 2
-updates:
-- package-ecosystem: gomod
-  directory: "/"
-  schedule:
-    interval: daily
-  open-pull-requests-limit: 10
-  reviewers:
-  - AkihiroSuda
-- package-ecosystem: github-actions
-  directory: "/"
-  schedule:
-    interval: daily
-  open-pull-requests-limit: 10
-  reviewers:
-  - AkihiroSuda
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/.github/workflows/main.yaml 
new/rootlesskit-2.3.5/.github/workflows/main.yaml
--- old/rootlesskit-2.3.4/.github/workflows/main.yaml   2025-03-10 
02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/.github/workflows/main.yaml   1970-01-01 
01:00:00.000000000 +0100
@@ -1,242 +0,0 @@
-name: Main
-on: [push, pull_request]
-jobs:
-  test-unit:
-    name: "Unit test"
-    runs-on: ubuntu-24.04
-    steps:
-    - name: "Check out"
-      uses: actions/checkout@v4
-    - name: "Build unit test image"
-      run: DOCKER_BUILDKIT=1 docker build -t rootlesskit:test-unit --target 
test-unit .
-    - name: "Unit test"
-      run: docker run --rm --privileged rootlesskit:test-unit
-  test-cross:
-    name: "Cross compilation test"
-    runs-on: ubuntu-24.04
-    steps:
-    - uses: actions/checkout@v4
-    - name: "Build binaries"
-      run: DOCKER_BUILDKIT=1 docker build -o /tmp/artifact --target 
cross-artifact .
-  test-integration:
-    name: "Integration test"
-    runs-on: ubuntu-24.04
-    steps:
-    - name: "Set up AppArmor"
-      run: |
-        cat <<EOT | sudo tee "/etc/apparmor.d/home.user.bin.rootlesskit"
-        abi <abi/4.0>,
-        include <tunables/global>
-
-        /home/user/bin/rootlesskit flags=(unconfined) {
-          userns,
-        }
-        EOT
-        sudo systemctl restart apparmor.service
-    - name: "Check out"
-      uses: actions/checkout@v4
-    - name: "Build integration test image"
-      run: DOCKER_BUILDKIT=1 docker build -t rootlesskit:test-integration 
--target test-integration .
-    - name: "Integration test: exit-code"
-      run: docker run --rm --privileged rootlesskit:test-integration 
./integration-exit-code.sh
-    - name: "Integration test: propagation"
-      run: docker run --rm --privileged rootlesskit:test-integration 
./integration-propagation.sh
-    - name: "Integration test: propagation (with `mount --make-rshared /`)"
-      run: docker run --rm --privileged rootlesskit:test-integration sh -exc 
"sudo mount --make-rshared / && ./integration-propagation.sh"
-    - name: "Integration test: restart"
-      run: docker run --rm --privileged rootlesskit:test-integration 
./integration-restart.sh
-    - name: "Integration test: port"
-      # NOTE: "--net=host" is a bad hack to enable IPv6
-      run: docker run --rm --net=host --privileged 
rootlesskit:test-integration ./integration-port.sh
-    - name: "Integration test: IPv6 routing"
-      run: docker run  --rm --privileged --sysctl 
net.ipv6.conf.all.disable_ipv6=0 rootlesskit:test-integration 
./integration-ipv6.sh
-    - name: "Integration test: systemd socket activation"
-      run: docker run --rm --net=none --privileged 
rootlesskit:test-integration ./integration-systemd-socket.sh
-    - name: "Integration test: Network (network driver=slirp4netns)"
-      run: |
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh slirp4netns
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh slirp4netns --detach-netns
-    - name: "Integration test: Network (network driver=vpnkit)"
-      run: |
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh vpnkit
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh vpnkit --detach-netns
-    - name: "Integration test: Network (network driver=lxc-user-nic)"
-      run: |
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh lxc-user-nic
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh lxc-user-nic --detach-netns
-    - name: "Integration test: Network (network driver=pasta)"
-      run: |
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh pasta
-        docker run --rm --privileged rootlesskit:test-integration 
./integration-net.sh pasta --detach-netns
-# ===== Benchmark: Network (MTU=1500) =====
-    - name: "Benchmark: Network (MTU=1500, network driver=slirp4netns)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh slirp4netns 
1500
-    - name: "Benchmark: Network (MTU=1500, network driver=slirp4netns with 
sandbox and seccomp)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh slirp4netns 
1500 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto
-    - name: "Benchmark: Network (MTU=1500, network driver=slirp4netns with 
sandbox and seccomp) with detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh slirp4netns 
1500 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --detach-netns
-# NOTE: MTU greater than 16424 is known not to work for VPNKit.
-# Also, MTU greather than 4K might not be effective for VPNKit: 
https://twitter.com/mugofsoup/status/1017665057738641408
-    - name: "Benchmark: Network (MTU=1500, network driver=vpnkit)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh vpnkit 1500
-    - name: "Benchmark: Network (MTU=1500, network driver=vpnkit) with 
detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh vpnkit 1500 
--detach-netns
-    - name: "Benchmark: Network (MTU=1500, network driver=pasta)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh pasta 1500
-    - name: "Benchmark: Network (MTU=1500, network driver=pasta) with 
detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh pasta 1500 
--detach-netns
-    - name: "Benchmark: Network (MTU=1500, network driver=lxc-user-nic)"
-      run: |
-          docker run --rm --privileged \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh lxc-user-nic 
1500
-    - name: "Benchmark: Network (MTU=1500, network driver=lxc-user-nic) with 
detach-netns"
-      run: |
-        docker run --rm --privileged \
-        rootlesskit:test-integration ./benchmark-iperf3-net.sh lxc-user-nic 
1500 --detach-netns
-    - name: "Benchmark: Network (MTU=1500, rootful veth for comparison)"
-      run: |
-          docker run --rm --privileged \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh rootful_veth 
1500
-# ===== Benchmark: Network (MTU=65520) =====
-    - name: "Benchmark: Network (MTU=65520, network driver=slirp4netns)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh slirp4netns 
65520
-    - name: "Benchmark: Network (MTU=65520, network driver=slirp4netns with 
sandbox and seccomp)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh slirp4netns 
65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto
-    - name: "Benchmark: Network (MTU=65520, network driver=pasta)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh pasta 65520
-    - name: "Benchmark: Network (MTU=65520, network driver=lxc-user-nic)"
-      run: |
-          docker run --rm --privileged \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh lxc-user-nic 
65520
-    - name: "Benchmark: Network (MTU=65520, rootful veth for comparison)"
-      run: |
-          docker run --rm --privileged \
-          rootlesskit:test-integration ./benchmark-iperf3-net.sh rootful_veth 
65520
-# ===== Benchmark: TCP Ports =====
-    - name: "Benchmark: TCP Ports (network driver=slirp4netns, port 
driver=slirp4netns)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port.sh slirp4netns
-    - name: "Benchmark: TCP Ports (network driver=slirp4netns, port 
driver=slirp4netns) with detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port.sh slirp4netns 
--detach-netns
-    - name: "Benchmark: TCP Ports (network driver=slirp4netns, port 
driver=builtin)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port.sh builtin
-    - name: "Benchmark: TCP Ports (network driver=slirp4netns, port 
driver=builtin) with detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port.sh builtin 
--detach-netns
-    - name: "Benchmark: TCP Ports (network driver=pasta, port driver=implicit)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port.sh implicit 
--net=pasta
-    - name: "Benchmark: TCP Ports (network driver=pasta, port driver=implicit) 
with detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port.sh implicit 
--net=pasta --detach-netns
-# ===== Benchmark: UDP Ports =====
-    - name: "Benchmark: UDP Ports (port driver=slirp4netns)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port-udp.sh 
slirp4netns
-    - name: "Benchmark: UDP Ports (port driver=slirp4netns) with detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port-udp.sh 
slirp4netns --detach-netns
-    - name: "Benchmark: UDP Ports (network driver=pasta, port driver=implicit)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port-udp.sh implicit 
--net=pasta
-    - name: "Benchmark: UDP Ports (network driver=pasta, port driver=implicit) 
with detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port-udp.sh implicit 
--net=pasta --detach-netns
-    - name: "Benchmark: UDP Ports (port driver=builtin)"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port-udp.sh builtin
-    - name: "Benchmark: UDP Ports (port driver=builtin) with detach-netns"
-      run: |
-          docker run --rm --security-opt seccomp=unconfined --security-opt 
apparmor=unconfined --device /dev/net/tun \
-          rootlesskit:test-integration ./benchmark-iperf3-port-udp.sh builtin 
--detach-netns
-
-  test-integration-docker:
-    name: "Integration test (Docker)"
-    runs-on: ubuntu-24.04
-    strategy:
-      fail-fast: false
-      matrix:
-        # The design of the proxy was changed in Docker v28.
-        # rootlesskit-docker-proxy is no longer used since Docker v28.
-        docker_version: [27.5.1, 28.0.1]
-    steps:
-    - name: "Set up AppArmor"
-      run: |
-        cat <<EOT | sudo tee "/etc/apparmor.d/home.user.bin.rootlesskit"
-        abi <abi/4.0>,
-        include <tunables/global>
-
-        /home/user/bin/rootlesskit flags=(unconfined) {
-          userns,
-        }
-        EOT
-        sudo systemctl restart apparmor.service
-    - name: "Check out"
-      uses: actions/checkout@v4
-    - name: "Build integration test image"
-      run: DOCKER_BUILDKIT=1 docker build -t 
rootlesskit:test-integration-docker --target test-integration-docker 
--build-arg DOCKER_VERSION .
-      env:
-        DOCKER_VERSION: ${{ matrix.docker_version }}
-    - name: "Create a custom network to avoid IP confusion"
-      run: docker network create custom
-    - name: "Docker Integration test: net=slirp4netns, port-driver=builtin"
-      run: |
-        docker run -d --name test --network custom --privileged -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_NET=slirp4netns -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=builtin 
rootlesskit:test-integration-docker
-        sleep 2
-        docker exec test docker info
-        docker exec test ./integration-docker.sh
-        docker rm -f test
-    - name: "Docker Integration test: net=slirp4netns, port-driver=slirp4netns"
-      run: |
-        docker run -d --name test --network custom --privileged -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_NET=slirp4netns -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=slirp4netns 
rootlesskit:test-integration-docker
-        sleep 2
-        docker exec test docker info
-        docker exec test ./integration-docker.sh
-        docker rm -f test
-    - name: "Docker Integration test: net=vpnkit, port-driver=builtin"
-      run: |
-        docker run -d --name test --network custom --privileged -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_NET=vpnkit      -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=builtin 
rootlesskit:test-integration-docker
-        sleep 2
-        docker exec test docker info
-        docker exec test ./integration-docker.sh
-        docker rm -f test
-    - name: "Docker Integration test: net=pasta, port-driver=implicit"
-      run: |
-        docker run -d --name test --network custom --privileged -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_NET=pasta       -e 
DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=implicit 
rootlesskit:test-integration-docker
-        sleep 2
-        docker exec test docker info
-        docker exec test ./integration-docker.sh
-        docker rm -f test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/.github/workflows/release.yaml 
new/rootlesskit-2.3.5/.github/workflows/release.yaml
--- old/rootlesskit-2.3.4/.github/workflows/release.yaml        2025-03-10 
02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/.github/workflows/release.yaml        1970-01-01 
01:00:00.000000000 +0100
@@ -1,64 +0,0 @@
-# Release guide (since v0.9.0):
-# 1. Bump up the version string to `vX.Y.Z` (or `vX.Y.Z-beta.W`) in 
`pkg/version/version.go`.
-# 2. `git commit -a -s -m vX.Y.Z`
-# 3. Bump up the version string to `vX.Y.Z+dev` (or `vX.Y.Z-beta.W`+dev) in 
`pkg/version/version.go`.
-# 4. `git commit -a -s -m vX.Y.Z+dev`
-# 5. Open a PR and merge it.
-# 6. Create a tag `v.X.Y.Z` for the `vX.Y.Z` commit, and push the tag to the 
upstream: `git push upstream vX.Y.Z`
-# 7. GitHub Actions automatically ships a draft release with a statically 
compiled binary: https://github.com/rootless-containers/rootlesskit/releases
-#    If it fails, check the GitHub Actions log: 
https://github.com/rootless-containers/rootlesskit/actions?query=workflow%3ARelease
-# 8. Add release notes to the draft release and ship the release.
-name: Release
-on:
-  push:
-    tags:
-    - 'v*'
-
-jobs:
-  release:
-    runs-on: ubuntu-24.04
-    # The maximum access is "read" for PRs from public forked repos
-    # 
https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token
-    permissions:
-      contents: write  # for releases
-      id-token: write  # for provenances
-      attestations: write  # for provenances
-    steps:
-    - uses: actions/checkout@v4
-    - name: "Build binaries"
-      run: DOCKER_BUILDKIT=1 docker build -o /tmp/artifact --target 
cross-artifact .
-    - name: "SHA256SUMS"
-      run: (cd /tmp/artifact; sha256sum *) | tee /tmp/SHA256SUMS
-    - name: "The sha256sum of the SHA256SUMS file"
-      run: sha256sum /tmp/SHA256SUMS
-    - name: "Prepare the release note"
-      run: |
-        shasha=$(sha256sum /tmp/SHA256SUMS | awk '{print $1}')
-        cat << EOF | tee /tmp/release-note.txt
-        #### Changes
-        (To be documented)
-
-        #### Install
-        \`\`\`
-        mkdir -p ~/bin
-        curl -sSL https://github.com/${{ github.repository 
}}/releases/download/${tag}/rootlesskit-\$(uname -m).tar.gz | tar Cxzv ~/bin
-        \`\`\`
-
-        #### About the binaries
-        The binaries were built automatically on GitHub Actions.
-        See the log to verify SHA256SUMS.
-        https://github.com/${{ github.repository }}/actions/runs/${{ 
github.run_id }}
-        The sha256sum of the SHA256SUMS file itself is ${shasha} .
-        EOF
-    - uses: actions/attest-build-provenance@v2
-      if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
-      with:
-        subject-path: |
-          /tmp/artifact/*
-          /tmp/SHA256SUMS
-    - name: "Create release"
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      run: |
-        tag="${GITHUB_REF##*/}"
-        gh release create -F /tmp/release-note.txt --draft --title "${tag}" 
"${tag}" /tmp/artifact/* /tmp/SHA256SUMS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/.gitignore 
new/rootlesskit-2.3.5/.gitignore
--- old/rootlesskit-2.3.4/.gitignore    2025-03-10 02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/.gitignore    1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-bin/
-_artifact/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/Dockerfile 
new/rootlesskit-2.3.5/Dockerfile
--- old/rootlesskit-2.3.4/Dockerfile    2025-03-10 02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/Dockerfile    2025-05-08 07:12:43.000000000 +0200
@@ -1,10 +1,10 @@
 ARG GO_VERSION=1.24
 ARG UBUNTU_VERSION=24.04
-ARG SHADOW_VERSION=4.16.0
+ARG SHADOW_VERSION=4.17.4
 ARG SLIRP4NETNS_VERSION=v1.3.2
-ARG VPNKIT_VERSION=0.5.0
-ARG PASST_VERSION=2025_02_17.a1e48a0
-ARG DOCKER_VERSION=28.0.1
+ARG VPNKIT_VERSION=0.6.0
+ARG PASST_VERSION=2025_04_15.2340bbf
+ARG DOCKER_VERSION=28.1.1
 ARG DOCKER_CHANNEL=stable
 
 FROM golang:${GO_VERSION}-alpine AS build
@@ -44,7 +44,7 @@
   make && \
   cp src/newuidmap src/newgidmap /usr/bin
 
-FROM djs55/vpnkit:${VPNKIT_VERSION} AS vpnkit
+FROM moby/vpnkit-bin:${VPNKIT_VERSION} AS vpnkit
 
 FROM ubuntu:${UBUNTU_VERSION} AS passt
 ENV DEBIAN_FRONTEND=noninteractive
@@ -77,7 +77,7 @@
 COPY --from=artifact /rootlesskit /home/user/bin/
 COPY --from=artifact /rootlessctl /home/user/bin/
 ARG SLIRP4NETNS_VERSION
-RUN curl -sSL -o /home/user/bin/slirp4netns 
https://github.com/rootless-containers/slirp4netns/releases/download/${SLIRP4NETNS_VERSION}/slirp4netns-x86_64
 && \
+RUN curl -sSL -o /home/user/bin/slirp4netns 
https://github.com/rootless-containers/slirp4netns/releases/download/${SLIRP4NETNS_VERSION}/slirp4netns-$(uname
 -m) && \
   chmod +x /home/user/bin/slirp4netns
 COPY --from=vpnkit /vpnkit /home/user/bin/vpnkit
 COPY --from=passt /usr/local /usr/local
@@ -94,7 +94,7 @@
 FROM test-integration AS test-integration-docker
 ARG DOCKER_VERSION
 ARG DOCKER_CHANNEL
-RUN curl -fsSL 
https://download.docker.com/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz
 | tar xz --strip-components=1 -C /home/user/bin/
+RUN curl -fsSL 
https://download.docker.com/linux/static/${DOCKER_CHANNEL}/$(uname 
-m)/docker-${DOCKER_VERSION}.tgz | tar xz --strip-components=1 -C 
/home/user/bin/
 RUN curl -fsSL -o /home/user/bin/dockerd-rootless.sh 
https://raw.githubusercontent.com/moby/moby/v${DOCKER_VERSION}/contrib/dockerd-rootless.sh
 && \
   chmod +x /home/user/bin/dockerd-rootless.sh
 # rootlesskit-docker-proxy is no longer needed since Docker v28
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/go.mod new/rootlesskit-2.3.5/go.mod
--- old/rootlesskit-2.3.4/go.mod        2025-03-10 02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/go.mod        2025-05-08 07:12:43.000000000 +0200
@@ -4,26 +4,26 @@
 
 require (
        github.com/Masterminds/semver/v3 v3.3.1
-       github.com/containernetworking/plugins v1.6.2
+       github.com/containernetworking/plugins v1.7.1
        github.com/gofrs/flock v0.12.1
        github.com/google/uuid v1.6.0
        github.com/gorilla/mux v1.8.1
        github.com/insomniacslk/dhcp v0.0.0-20250109001534-8abf58130905
        github.com/moby/sys/mountinfo v0.7.2
-       github.com/moby/vpnkit v0.5.0
+       github.com/moby/vpnkit v0.6.0
        github.com/sirupsen/logrus v1.9.3
        github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8
        github.com/urfave/cli/v2 v2.27.6
-       golang.org/x/sys v0.31.0
+       golang.org/x/sys v0.32.0
        gotest.tools/v3 v3.5.2
 )
 
 require (
        github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
-       github.com/google/go-cmp v0.6.0 // indirect
+       github.com/google/go-cmp v0.7.0 // indirect
        github.com/pierrec/lz4/v4 v4.1.21 // indirect
        github.com/russross/blackfriday/v2 v2.1.0 // indirect
        github.com/u-root/uio v0.0.0-20240224005618-d2acac8f3701 // indirect
        github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
-       golang.org/x/net v0.33.0 // indirect
+       golang.org/x/net v0.38.0 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/go.sum new/rootlesskit-2.3.5/go.sum
--- old/rootlesskit-2.3.4/go.sum        2025-03-10 02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/go.sum        2025-05-08 07:12:43.000000000 +0200
@@ -1,9 +1,9 @@
 github.com/Masterminds/semver/v3 v3.3.1 
h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
 github.com/Masterminds/semver/v3 v3.3.1/go.mod 
h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
-github.com/containernetworking/cni v1.2.3 
h1:hhOcjNVUQTnzdRJ6alC5XF+wd9mfGIUaj8FuJbEslXM=
-github.com/containernetworking/cni v1.2.3/go.mod 
h1:DuLgF+aPd3DzcTQTtp/Nvl1Kim23oFKdm2okJzBQA5M=
-github.com/containernetworking/plugins v1.6.2 
h1:pqP8Mq923TLyef5g97XfJ/xpDeVek4yF8A4mzy9Tc4U=
-github.com/containernetworking/plugins v1.6.2/go.mod 
h1:SP5UG3jDO9LtmfbBJdP+nl3A1atOtbj2MBOYsnaxy64=
+github.com/containernetworking/cni v1.3.0 
h1:v6EpN8RznAZj9765HhXQrtXgX+ECGebEYEmnuFjskwo=
+github.com/containernetworking/cni v1.3.0/go.mod 
h1:Bs8glZjjFfGPHMw6hQu82RUgEPNGEaBb9KS5KtNMnJ4=
+github.com/containernetworking/plugins v1.7.1 
h1:CNAR0jviDj6FS5Vg85NTgKWLDzZPfi/lj+VJfhMDTIs=
+github.com/containernetworking/plugins v1.7.1/go.mod 
h1:xuMdjuio+a1oVQsHKjr/mgzuZ24leAsqUYRnzGoXHy0=
 github.com/cpuguy83/go-md2man/v2 v2.0.5 
h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc=
 github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod 
h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/davecgh/go-spew v1.1.0/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -15,10 +15,10 @@
 github.com/go-task/slim-sprig/v3 v3.0.0/go.mod 
h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
 github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
 github.com/gofrs/flock v0.12.1/go.mod 
h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
-github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
-github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db 
h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo=
-github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod 
h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
+github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
+github.com/google/go-cmp v0.7.0/go.mod 
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
+github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 
h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8=
+github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod 
h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
 github.com/google/uuid v1.6.0/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
@@ -27,12 +27,12 @@
 github.com/insomniacslk/dhcp v0.0.0-20250109001534-8abf58130905/go.mod 
h1:VvGYjkZoJyKqlmT1yzakUs4mfKMNB0XdODP0+rdml6k=
 github.com/moby/sys/mountinfo v0.7.2 
h1:1shs6aH5s4o5H2zQLn796ADW1wMrIwHsyJ2v9KouLrg=
 github.com/moby/sys/mountinfo v0.7.2/go.mod 
h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4=
-github.com/moby/vpnkit v0.5.0 h1:VcDpS9y+PmT9itf+mH5Qdh9GME7ungLMt9yjf9o4REY=
-github.com/moby/vpnkit v0.5.0/go.mod 
h1:KyjUrL9cb6ZSNNAUwZfqRjhwwgJ3BJN+kXh0t43WTUQ=
-github.com/onsi/ginkgo/v2 v2.22.0 
h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg=
-github.com/onsi/ginkgo/v2 v2.22.0/go.mod 
h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
-github.com/onsi/gomega v1.36.0 h1:Pb12RlruUtj4XUuPUqeEWc6j5DkVVVA49Uf6YLfC95Y=
-github.com/onsi/gomega v1.36.0/go.mod 
h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
+github.com/moby/vpnkit v0.6.0 h1:HEh3iQ57oigvPNbR89R14pw3difgPyFOMMD3JAoqPoY=
+github.com/moby/vpnkit v0.6.0/go.mod 
h1:CNuEpfSK4ZY/NKFWD5M79GUZcYFydh81XQ2GZnT44cQ=
+github.com/onsi/ginkgo/v2 v2.23.4 
h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus=
+github.com/onsi/ginkgo/v2 v2.23.4/go.mod 
h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8=
+github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
+github.com/onsi/gomega v1.37.0/go.mod 
h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
 github.com/pierrec/lz4/v4 v4.1.21 
h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
 github.com/pierrec/lz4/v4 v4.1.21/go.mod 
h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -51,19 +51,21 @@
 github.com/u-root/uio v0.0.0-20240224005618-d2acac8f3701/go.mod 
h1:P3a5rG4X7tI17Nn3aOIAYr5HbIMukwXG0urG0WuL8OA=
 github.com/urfave/cli/v2 v2.27.6 
h1:VdRdS98FNhKZ8/Az8B7MTyGQmpIr36O1EHybx/LaZ4g=
 github.com/urfave/cli/v2 v2.27.6/go.mod 
h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ=
-github.com/vishvananda/netns v0.0.4 
h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8=
-github.com/vishvananda/netns v0.0.4/go.mod 
h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM=
+github.com/vishvananda/netns v0.0.5 
h1:DfiHV+j8bA32MFM7bfEunvT8IAqQ/NzSJHtcmW5zdEY=
+github.com/vishvananda/netns v0.0.5/go.mod 
h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM=
 github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 
h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4=
 github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod 
h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
-golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
-golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
+go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
+go.uber.org/automaxprocs v1.6.0/go.mod 
h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
+golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
+golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
-golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
-golang.org/x/text v0.21.0/go.mod 
h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
-golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
-golang.org/x/tools v0.26.0/go.mod 
h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
+golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
+golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
+golang.org/x/text v0.23.0/go.mod 
h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
+golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
+golang.org/x/tools v0.31.0/go.mod 
h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod 
h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rootlesskit-2.3.4/pkg/version/version.go 
new/rootlesskit-2.3.5/pkg/version/version.go
--- old/rootlesskit-2.3.4/pkg/version/version.go        2025-03-10 
02:52:05.000000000 +0100
+++ new/rootlesskit-2.3.5/pkg/version/version.go        2025-05-08 
07:12:43.000000000 +0200
@@ -1,3 +1,3 @@
 package version
 
-const Version = "2.3.4"
+const Version = "2.3.5"

++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-cmp/cmp/internal/function/func.go 
new/vendor/github.com/google/go-cmp/cmp/internal/function/func.go
--- old/vendor/github.com/google/go-cmp/cmp/internal/function/func.go   
2025-03-13 06:20:57.000000000 +0100
+++ new/vendor/github.com/google/go-cmp/cmp/internal/function/func.go   
2025-05-12 07:14:06.000000000 +0200
@@ -19,6 +19,7 @@
 
        tbFunc  // func(T) bool
        ttbFunc // func(T, T) bool
+       ttiFunc // func(T, T) int
        trbFunc // func(T, R) bool
        tibFunc // func(T, I) bool
        trFunc  // func(T) R
@@ -28,11 +29,13 @@
        Transformer       = trFunc  // func(T) R
        ValueFilter       = ttbFunc // func(T, T) bool
        Less              = ttbFunc // func(T, T) bool
+       Compare           = ttiFunc // func(T, T) int
        ValuePredicate    = tbFunc  // func(T) bool
        KeyValuePredicate = trbFunc // func(T, R) bool
 )
 
 var boolType = reflect.TypeOf(true)
+var intType = reflect.TypeOf(0)
 
 // IsType reports whether the reflect.Type is of the specified function type.
 func IsType(t reflect.Type, ft funcType) bool {
@@ -49,6 +52,10 @@
                if ni == 2 && no == 1 && t.In(0) == t.In(1) && t.Out(0) == 
boolType {
                        return true
                }
+       case ttiFunc: // func(T, T) int
+               if ni == 2 && no == 1 && t.In(0) == t.In(1) && t.Out(0) == 
intType {
+                       return true
+               }
        case trbFunc: // func(T, R) bool
                if ni == 2 && no == 1 && t.Out(0) == boolType {
                        return true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/google/go-cmp/cmp/options.go 
new/vendor/github.com/google/go-cmp/cmp/options.go
--- old/vendor/github.com/google/go-cmp/cmp/options.go  2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/github.com/google/go-cmp/cmp/options.go  2025-05-12 
07:14:06.000000000 +0200
@@ -232,7 +232,15 @@
                if t := s.curPath.Index(-2).Type(); t.Name() != "" {
                        // Named type with unexported fields.
                        name = fmt.Sprintf("%q.%v", t.PkgPath(), t.Name()) // 
e.g., "path/to/package".MyType
-                       if _, ok := reflect.New(t).Interface().(error); ok {
+                       isProtoMessage := func(t reflect.Type) bool {
+                               m, ok := 
reflect.PointerTo(t).MethodByName("ProtoReflect")
+                               return ok && m.Type.NumIn() == 1 && 
m.Type.NumOut() == 1 &&
+                                       m.Type.Out(0).PkgPath() == 
"google.golang.org/protobuf/reflect/protoreflect" &&
+                                       m.Type.Out(0).Name() == "Message"
+                       }
+                       if isProtoMessage(t) {
+                               help = `consider using 
"google.golang.org/protobuf/testing/protocmp".Transform to compare 
proto.Message types`
+                       } else if _, ok := reflect.New(t).Interface().(error); 
ok {
                                help = "consider using cmpopts.EquateErrors to 
compare error values"
                        } else if t.Comparable() {
                                help = "consider using cmpopts.EquateComparable 
to compare comparable Go types"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/moby/vpnkit/go/pkg/vmnet/vmnet.go 
new/vendor/github.com/moby/vpnkit/go/pkg/vmnet/vmnet.go
--- old/vendor/github.com/moby/vpnkit/go/pkg/vmnet/vmnet.go     2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/github.com/moby/vpnkit/go/pkg/vmnet/vmnet.go     2025-05-12 
07:14:06.000000000 +0200
@@ -576,15 +576,14 @@
                if err != nil {
                        return nil, err
                }
+
                ethernet, err = ParseEthernetFrame(response)
                if err != nil {
                        continue
                }
-               for i, x := range ethernet.Dst {
-                       if i > len(v.ClientMAC) || v.ClientMAC[i] != x {
-                               // intended for someone else
-                               continue
-                       }
+               if !hwaddrIsBroadcast(ethernet.Dst) && 
!hwaddrIsEqual(ethernet.Dst, v.ClientMAC) {
+                       // intended for someone else
+                       continue
                }
                ipv4, err = ParseIpv4(ethernet.Data)
                if err != nil {
@@ -604,10 +603,14 @@
                        // truncated
                        continue
                }
-               if udpv4.Data[240] != 53 || udpv4.Data[241] != 1 || 
udpv4.Data[242] != 2 {
+               if udpv4.Data[0] != 2 {
                        // not a DHCP offer
                        continue
                }
+               if udpv4.Data[4] != 1 || udpv4.Data[5] != 0 || udpv4.Data[6] != 
0 || udpv4.Data[7] != 0 {
+                       // not our XID
+                       continue
+               }
                var ip net.IP
                ip = udpv4.Data[16:20]
                finished = true // will terminate sending goroutine
@@ -615,3 +618,21 @@
        }
 
 }
+
+func hwaddrIsBroadcast(mac net.HardwareAddr) bool {
+       for _, b := range mac {
+               if b != 0xff {
+                       return false
+               }
+       }
+       return true
+}
+
+func hwaddrIsEqual(a, b net.HardwareAddr) bool {
+       for i, x := range a {
+               if i > len(b) || b[i] != x {
+                       return false
+               }
+       }
+       return true
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_darwin.go 
new/vendor/golang.org/x/sys/unix/syscall_darwin.go
--- old/vendor/golang.org/x/sys/unix/syscall_darwin.go  2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_darwin.go  2025-05-12 
07:14:06.000000000 +0200
@@ -602,7 +602,150 @@
        return
 }
 
-//sys  connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags 
uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
+// sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags 
uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
+const minIovec = 8
+
+func Readv(fd int, iovs [][]byte) (n int, err error) {
+       if !darwinKernelVersionMin(11, 0, 0) {
+               return 0, ENOSYS
+       }
+
+       iovecs := make([]Iovec, 0, minIovec)
+       iovecs = appendBytes(iovecs, iovs)
+       n, err = readv(fd, iovecs)
+       readvRacedetect(iovecs, n, err)
+       return n, err
+}
+
+func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
+       if !darwinKernelVersionMin(11, 0, 0) {
+               return 0, ENOSYS
+       }
+       iovecs := make([]Iovec, 0, minIovec)
+       iovecs = appendBytes(iovecs, iovs)
+       n, err = preadv(fd, iovecs, offset)
+       readvRacedetect(iovecs, n, err)
+       return n, err
+}
+
+func Writev(fd int, iovs [][]byte) (n int, err error) {
+       if !darwinKernelVersionMin(11, 0, 0) {
+               return 0, ENOSYS
+       }
+
+       iovecs := make([]Iovec, 0, minIovec)
+       iovecs = appendBytes(iovecs, iovs)
+       if raceenabled {
+               raceReleaseMerge(unsafe.Pointer(&ioSync))
+       }
+       n, err = writev(fd, iovecs)
+       writevRacedetect(iovecs, n)
+       return n, err
+}
+
+func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
+       if !darwinKernelVersionMin(11, 0, 0) {
+               return 0, ENOSYS
+       }
+
+       iovecs := make([]Iovec, 0, minIovec)
+       iovecs = appendBytes(iovecs, iovs)
+       if raceenabled {
+               raceReleaseMerge(unsafe.Pointer(&ioSync))
+       }
+       n, err = pwritev(fd, iovecs, offset)
+       writevRacedetect(iovecs, n)
+       return n, err
+}
+
+func appendBytes(vecs []Iovec, bs [][]byte) []Iovec {
+       for _, b := range bs {
+               var v Iovec
+               v.SetLen(len(b))
+               if len(b) > 0 {
+                       v.Base = &b[0]
+               } else {
+                       v.Base = (*byte)(unsafe.Pointer(&_zero))
+               }
+               vecs = append(vecs, v)
+       }
+       return vecs
+}
+
+func writevRacedetect(iovecs []Iovec, n int) {
+       if !raceenabled {
+               return
+       }
+       for i := 0; n > 0 && i < len(iovecs); i++ {
+               m := int(iovecs[i].Len)
+               if m > n {
+                       m = n
+               }
+               n -= m
+               if m > 0 {
+                       raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
+               }
+       }
+}
+
+func readvRacedetect(iovecs []Iovec, n int, err error) {
+       if !raceenabled {
+               return
+       }
+       for i := 0; n > 0 && i < len(iovecs); i++ {
+               m := int(iovecs[i].Len)
+               if m > n {
+                       m = n
+               }
+               n -= m
+               if m > 0 {
+                       raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
+               }
+       }
+       if err == nil {
+               raceAcquire(unsafe.Pointer(&ioSync))
+       }
+}
+
+func darwinMajorMinPatch() (maj, min, patch int, err error) {
+       var un Utsname
+       err = Uname(&un)
+       if err != nil {
+               return
+       }
+
+       var mmp [3]int
+       c := 0
+Loop:
+       for _, b := range un.Release[:] {
+               switch {
+               case b >= '0' && b <= '9':
+                       mmp[c] = 10*mmp[c] + int(b-'0')
+               case b == '.':
+                       c++
+                       if c > 2 {
+                               return 0, 0, 0, ENOTSUP
+                       }
+               case b == 0:
+                       break Loop
+               default:
+                       return 0, 0, 0, ENOTSUP
+               }
+       }
+       if c != 2 {
+               return 0, 0, 0, ENOTSUP
+       }
+       return mmp[0], mmp[1], mmp[2], nil
+}
+
+func darwinKernelVersionMin(maj, min, patch int) bool {
+       actualMaj, actualMin, actualPatch, err := darwinMajorMinPatch()
+       if err != nil {
+               return false
+       }
+       return actualMaj > maj || actualMaj == maj && (actualMin > min || 
actualMin == min && actualPatch >= patch)
+}
+
 //sys  sendfile(infd int, outfd int, offset int64, len *int64, hdtr 
unsafe.Pointer, flags int) (err error)
 
 //sys  shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
@@ -705,3 +848,7 @@
 //sys  write(fd int, p []byte) (n int, err error)
 //sys  mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos 
int64) (ret uintptr, err error)
 //sys  munmap(addr uintptr, length uintptr) (err error)
+//sys  readv(fd int, iovecs []Iovec) (n int, err error)
+//sys  preadv(fd int, iovecs []Iovec, offset int64) (n int, err error)
+//sys  writev(fd int, iovecs []Iovec) (n int, err error)
+//sys  pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_linux.go 
new/vendor/golang.org/x/sys/unix/syscall_linux.go
--- old/vendor/golang.org/x/sys/unix/syscall_linux.go   2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_linux.go   2025-05-12 
07:14:06.000000000 +0200
@@ -13,6 +13,7 @@
 
 import (
        "encoding/binary"
+       "slices"
        "strconv"
        "syscall"
        "time"
@@ -417,7 +418,7 @@
                return nil, 0, EINVAL
        }
        sa.raw.Family = AF_UNIX
-       for i := 0; i < n; i++ {
+       for i := range n {
                sa.raw.Path[i] = int8(name[i])
        }
        // length is family (uint16), name, NUL.
@@ -507,7 +508,7 @@
        psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm))
        psm[0] = byte(sa.PSM)
        psm[1] = byte(sa.PSM >> 8)
-       for i := 0; i < len(sa.Addr); i++ {
+       for i := range len(sa.Addr) {
                sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i]
        }
        cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid))
@@ -589,11 +590,11 @@
        sa.raw.Family = AF_CAN
        sa.raw.Ifindex = int32(sa.Ifindex)
        rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
-       for i := 0; i < 4; i++ {
+       for i := range 4 {
                sa.raw.Addr[i] = rx[i]
        }
        tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
-       for i := 0; i < 4; i++ {
+       for i := range 4 {
                sa.raw.Addr[i+4] = tx[i]
        }
        return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil
@@ -618,11 +619,11 @@
        sa.raw.Family = AF_CAN
        sa.raw.Ifindex = int32(sa.Ifindex)
        n := (*[8]byte)(unsafe.Pointer(&sa.Name))
-       for i := 0; i < 8; i++ {
+       for i := range 8 {
                sa.raw.Addr[i] = n[i]
        }
        p := (*[4]byte)(unsafe.Pointer(&sa.PGN))
-       for i := 0; i < 4; i++ {
+       for i := range 4 {
                sa.raw.Addr[i+8] = p[i]
        }
        sa.raw.Addr[12] = sa.Addr
@@ -911,7 +912,7 @@
        // These are EBCDIC encoded by the kernel, but we still need to pad them
        // with blanks. Initializing with blanks allows the caller to feed in 
either
        // a padded or an unpadded string.
-       for i := 0; i < 8; i++ {
+       for i := range 8 {
                sa.raw.Nodeid[i] = ' '
                sa.raw.User_id[i] = ' '
                sa.raw.Name[i] = ' '
@@ -1148,7 +1149,7 @@
                var user [8]byte
                var name [8]byte
 
-               for i := 0; i < 8; i++ {
+               for i := range 8 {
                        user[i] = byte(pp.User_id[i])
                        name[i] = byte(pp.Name[i])
                }
@@ -1173,11 +1174,11 @@
                                Ifindex: int(pp.Ifindex),
                        }
                        name := (*[8]byte)(unsafe.Pointer(&sa.Name))
-                       for i := 0; i < 8; i++ {
+                       for i := range 8 {
                                name[i] = pp.Addr[i]
                        }
                        pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN))
-                       for i := 0; i < 4; i++ {
+                       for i := range 4 {
                                pgn[i] = pp.Addr[i+8]
                        }
                        addr := (*[1]byte)(unsafe.Pointer(&sa.Addr))
@@ -1188,11 +1189,11 @@
                                Ifindex: int(pp.Ifindex),
                        }
                        rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
-                       for i := 0; i < 4; i++ {
+                       for i := range 4 {
                                rx[i] = pp.Addr[i]
                        }
                        tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
-                       for i := 0; i < 4; i++ {
+                       for i := range 4 {
                                tx[i] = pp.Addr[i+4]
                        }
                        return sa, nil
@@ -2216,10 +2217,7 @@
                return
        }
        for i := 0; n > 0 && i < len(iovecs); i++ {
-               m := int(iovecs[i].Len)
-               if m > n {
-                       m = n
-               }
+               m := min(int(iovecs[i].Len), n)
                n -= m
                if m > 0 {
                        raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
@@ -2270,10 +2268,7 @@
                return
        }
        for i := 0; n > 0 && i < len(iovecs); i++ {
-               m := int(iovecs[i].Len)
-               if m > n {
-                       m = n
-               }
+               m := min(int(iovecs[i].Len), n)
                n -= m
                if m > 0 {
                        raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
@@ -2320,12 +2315,7 @@
                return false
        }
 
-       for _, g := range groups {
-               if g == gid {
-                       return true
-               }
-       }
-       return false
+       return slices.Contains(groups, gid)
 }
 
 func isCapDacOverrideSet() bool {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go 
new/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go   2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go   2025-05-12 
07:14:06.000000000 +0200
@@ -2512,6 +2512,90 @@
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), 
uintptr(_p0), uintptr(len(iovecs)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), 
uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), 
uintptr(_p0), uintptr(len(iovecs)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, 
uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Fstat(fd int, stat *Stat_t) (err error) {
        _, _, e1 := syscall_syscall(libc_fstat64_trampoline_addr, uintptr(fd), 
uintptr(unsafe.Pointer(stat)), 0)
        if e1 != 0 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s 
new/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s    2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s    2025-05-12 
07:14:06.000000000 +0200
@@ -738,6 +738,26 @@
 GLOBL  ·libc_munmap_trampoline_addr(SB), RODATA, $8
 DATA   ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
 
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_readv(SB)
+GLOBL  ·libc_readv_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_preadv(SB)
+GLOBL  ·libc_preadv_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_writev(SB)
+GLOBL  ·libc_writev_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_pwritev(SB)
+GLOBL  ·libc_pwritev_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
+
 TEXT libc_fstat64_trampoline<>(SB),NOSPLIT,$0-0
        JMP     libc_fstat64(SB)
 GLOBL  ·libc_fstat64_trampoline_addr(SB), RODATA, $8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go 
new/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go   2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go   2025-05-12 
07:14:06.000000000 +0200
@@ -2512,6 +2512,90 @@
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func readv(fd int, iovecs []Iovec) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), 
uintptr(_p0), uintptr(len(iovecs)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_readv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_readv readv "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), 
uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_preadv_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_preadv preadv "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func writev(fd int, iovecs []Iovec) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), 
uintptr(_p0), uintptr(len(iovecs)))
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_writev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_writev writev "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
+       var _p0 unsafe.Pointer
+       if len(iovecs) > 0 {
+               _p0 = unsafe.Pointer(&iovecs[0])
+       } else {
+               _p0 = unsafe.Pointer(&_zero)
+       }
+       r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, 
uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
+       n = int(r0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+var libc_pwritev_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pwritev pwritev "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Fstat(fd int, stat *Stat_t) (err error) {
        _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), 
uintptr(unsafe.Pointer(stat)), 0)
        if e1 != 0 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s 
new/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s    2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s    2025-05-12 
07:14:06.000000000 +0200
@@ -738,6 +738,26 @@
 GLOBL  ·libc_munmap_trampoline_addr(SB), RODATA, $8
 DATA   ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
 
+TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_readv(SB)
+GLOBL  ·libc_readv_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
+
+TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_preadv(SB)
+GLOBL  ·libc_preadv_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
+
+TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_writev(SB)
+GLOBL  ·libc_writev_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
+
+TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
+       JMP     libc_pwritev(SB)
+GLOBL  ·libc_pwritev_trampoline_addr(SB), RODATA, $8
+DATA   ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
+
 TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0
        JMP     libc_fstat(SB)
 GLOBL  ·libc_fstat_trampoline_addr(SB), RODATA, $8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/registry/key.go 
new/vendor/golang.org/x/sys/windows/registry/key.go
--- old/vendor/golang.org/x/sys/windows/registry/key.go 2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/registry/key.go 2025-05-12 
07:14:06.000000000 +0200
@@ -164,7 +164,12 @@
 func CreateKey(k Key, path string, access uint32) (newk Key, openedExisting 
bool, err error) {
        var h syscall.Handle
        var d uint32
-       err = regCreateKeyEx(syscall.Handle(k), syscall.StringToUTF16Ptr(path),
+       var pathPointer *uint16
+       pathPointer, err = syscall.UTF16PtrFromString(path)
+       if err != nil {
+               return 0, false, err
+       }
+       err = regCreateKeyEx(syscall.Handle(k), pathPointer,
                0, nil, _REG_OPTION_NON_VOLATILE, access, nil, &h, &d)
        if err != nil {
                return 0, false, err
@@ -174,7 +179,11 @@
 
 // DeleteKey deletes the subkey path of key k and its values.
 func DeleteKey(k Key, path string) error {
-       return regDeleteKey(syscall.Handle(k), syscall.StringToUTF16Ptr(path))
+       pathPointer, err := syscall.UTF16PtrFromString(path)
+       if err != nil {
+               return err
+       }
+       return regDeleteKey(syscall.Handle(k), pathPointer)
 }
 
 // A KeyInfo describes the statistics of a key. It is returned by Stat.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/registry/value.go 
new/vendor/golang.org/x/sys/windows/registry/value.go
--- old/vendor/golang.org/x/sys/windows/registry/value.go       2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/registry/value.go       2025-05-12 
07:14:06.000000000 +0200
@@ -340,7 +340,11 @@
 
 // DeleteValue removes a named value from the key k.
 func (k Key) DeleteValue(name string) error {
-       return regDeleteValue(syscall.Handle(k), syscall.StringToUTF16Ptr(name))
+       namePointer, err := syscall.UTF16PtrFromString(name)
+       if err != nil {
+               return err
+       }
+       return regDeleteValue(syscall.Handle(k), namePointer)
 }
 
 // ReadValueNames returns the value names of key k.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/types_windows.go 
new/vendor/golang.org/x/sys/windows/types_windows.go
--- old/vendor/golang.org/x/sys/windows/types_windows.go        2025-03-13 
06:20:57.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/types_windows.go        2025-05-12 
07:14:06.000000000 +0200
@@ -1074,6 +1074,7 @@
        IP_ADD_MEMBERSHIP  = 0xc
        IP_DROP_MEMBERSHIP = 0xd
        IP_PKTINFO         = 0x13
+       IP_MTU_DISCOVER    = 0x47
 
        IPV6_V6ONLY         = 0x1b
        IPV6_UNICAST_HOPS   = 0x4
@@ -1083,6 +1084,7 @@
        IPV6_JOIN_GROUP     = 0xc
        IPV6_LEAVE_GROUP    = 0xd
        IPV6_PKTINFO        = 0x13
+       IPV6_MTU_DISCOVER   = 0x47
 
        MSG_OOB       = 0x1
        MSG_PEEK      = 0x2
@@ -1132,6 +1134,15 @@
        WSASYS_STATUS_LEN  = 128
 )
 
+// enum PMTUD_STATE from ws2ipdef.h
+const (
+       IP_PMTUDISC_NOT_SET = 0
+       IP_PMTUDISC_DO      = 1
+       IP_PMTUDISC_DONT    = 2
+       IP_PMTUDISC_PROBE   = 3
+       IP_PMTUDISC_MAX     = 4
+)
+
 type WSABuf struct {
        Len uint32
        Buf *byte
@@ -1146,6 +1157,22 @@
        Flags       uint32
 }
 
+type WSACMSGHDR struct {
+       Len   uintptr
+       Level int32
+       Type  int32
+}
+
+type IN_PKTINFO struct {
+       Addr    [4]byte
+       Ifindex uint32
+}
+
+type IN6_PKTINFO struct {
+       Addr    [16]byte
+       Ifindex uint32
+}
+
 // Flags for WSASocket
 const (
        WSA_FLAG_OVERLAPPED             = 0x01
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt      2025-03-13 06:20:57.000000000 +0100
+++ new/vendor/modules.txt      2025-05-12 07:14:06.000000000 +0200
@@ -1,8 +1,8 @@
 # github.com/Masterminds/semver/v3 v3.3.1
 ## explicit; go 1.21
 github.com/Masterminds/semver/v3
-# github.com/containernetworking/plugins v1.6.2
-## explicit; go 1.23
+# github.com/containernetworking/plugins v1.7.1
+## explicit; go 1.23.0
 github.com/containernetworking/plugins/pkg/ns
 # github.com/cpuguy83/go-md2man/v2 v2.0.5
 ## explicit; go 1.11
@@ -10,8 +10,8 @@
 # github.com/gofrs/flock v0.12.1
 ## explicit; go 1.21.0
 github.com/gofrs/flock
-# github.com/google/go-cmp v0.6.0
-## explicit; go 1.13
+# github.com/google/go-cmp v0.7.0
+## explicit; go 1.21
 github.com/google/go-cmp/cmp
 github.com/google/go-cmp/cmp/internal/diff
 github.com/google/go-cmp/cmp/internal/flags
@@ -33,8 +33,8 @@
 # github.com/moby/sys/mountinfo v0.7.2
 ## explicit; go 1.17
 github.com/moby/sys/mountinfo
-# github.com/moby/vpnkit v0.5.0
-## explicit
+# github.com/moby/vpnkit v0.6.0
+## explicit; go 1.19
 github.com/moby/vpnkit/go/pkg/vmnet
 # github.com/pierrec/lz4/v4 v4.1.21
 ## explicit; go 1.14
@@ -62,13 +62,13 @@
 # github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1
 ## explicit; go 1.15
 github.com/xrash/smetrics
-# golang.org/x/net v0.33.0
-## explicit; go 1.18
+# golang.org/x/net v0.38.0
+## explicit; go 1.23.0
 golang.org/x/net/bpf
 golang.org/x/net/internal/iana
 golang.org/x/net/internal/socket
 golang.org/x/net/ipv4
-# golang.org/x/sys v0.31.0
+# golang.org/x/sys v0.32.0
 ## explicit; go 1.23.0
 golang.org/x/sys/unix
 golang.org/x/sys/windows

Reply via email to