Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package docker for openSUSE:Factory checked 
in at 2022-06-08 14:24:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/docker (Old)
 and      /work/SRC/openSUSE:Factory/.docker.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "docker"

Wed Jun  8 14:24:21 2022 rev:121 rq:981223 version:20.10.17_ce

Changes:
--------
--- /work/SRC/openSUSE:Factory/docker/docker.changes    2022-05-01 
18:53:34.267161987 +0200
+++ /work/SRC/openSUSE:Factory/.docker.new.1548/docker.changes  2022-06-08 
14:24:40.332483867 +0200
@@ -1,0 +2,13 @@
+Tue Jun  7 07:18:41 UTC 2022 - Aleksa Sarai <asa...@suse.com>
+
+- Update to Docker 20.10.17-ce. See upstream changelog online at
+  <https://docs.docker.com/engine/release-notes/#201017>. bsc#1200145
+- Rebase patches:
+  * 0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch
+  * 0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch
+  * 0003-PRIVATE-REGISTRY-add-private-registry-mirror-support.patch
+  * 0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch
+  * 0005-bsc1183855-btrfs-Do-not-disable-quota-on-cleanup.patch
+  * 0006-bsc1193930-vendor-update-golang.org-x-crypto.patch
+
+-------------------------------------------------------------------

Old:
----
  docker-20.10.14_ce_87a90dc786bd.tar.xz
  docker-cli-20.10.14_ce.tar.xz
  docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8.tar.xz

New:
----
  docker-20.10.17_ce_a89b84221c85.tar.xz
  docker-cli-20.10.17_ce.tar.xz
  docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea.tar.xz

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

Other differences:
------------------
++++++ docker.spec ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.104484824 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.108484829 +0200
@@ -42,24 +42,24 @@
 # helpfully injects into our build environment from the changelog). If you want
 # to generate a new git_commit_epoch, use this:
 #  $ date --date="$(git show --format=fuller --date=iso $COMMIT_ID | grep -oP 
'(?<=^CommitDate: ).*')" '+%s'
-%define git_version 87a90dc786bd
-%define git_commit_epoch 1649909084
+%define git_version a89b84221c85
+%define git_commit_epoch 1654554758
 
 # We require a specific pin of libnetwork because it doesn't really do
 # versioning and minor version mismatches in libnetwork can break Docker
 # networking. All other key runtime dependencies (containerd, runc) are stable
 # enough that this isn't necessary.
-%define libnetwork_version 64b7a4574d1426139437d20e81c0b6d391130ec8
+%define libnetwork_version f6ccccb1c082a432c2a5814aaedaca56af33d9ea
 
 %define dist_builddir  %{_builddir}/dist-suse
 %define cli_builddir   %{dist_builddir}/src/github.com/docker/cli
 %define proxy_builddir %{dist_builddir}/src/github.com/docker/libnetwork
 
 Name:           %{realname}%{name_suffix}
-Version:        20.10.14_ce
+Version:        20.10.17_ce
 # This "nice version" is so that docker --version gives a result that can be
 # parsed by other people. boo#1182476
-%define nice_version 20.10.14-ce
+%define nice_version 20.10.17-ce
 Release:        0
 Summary:        The Moby-project Linux container runtime
 License:        Apache-2.0
@@ -111,8 +111,10 @@
 BuildRequires:  zsh
 BuildRequires:  fish
 BuildRequires:  go-go-md2man
-BuildRequires:  go1.16
 BuildRequires:  pkgconfig(libsystemd)
+# Due to a limitation in openSUSE's Go packaging we cannot have a BuildRequires
+# for 'golang(API) >= 1.17' here, so just require 1.17 exactly. bsc#1172608
+BuildRequires:  go1.17
 Requires:       apparmor-parser
 Requires:       ca-certificates-mozilla
 # The docker-proxy binary used to be in a separate package. We obsolete it,
@@ -121,8 +123,8 @@
 Provides:       docker-libnetwork%{name_suffix} = 0.7.0.2.%{version}
 # Required to actually run containers. We require the minimum version that is
 # pinned by Docker, but in order to avoid headaches we allow for updates.
-Requires:       runc >= 1.0.2
-Requires:       containerd >= 1.5
+Requires:       runc >= 1.1.2
+Requires:       containerd >= 1.6.6
 # Needed for --init support. We don't use "tini", we use our own implementation
 # which handles edge-cases better.
 Requires:       catatonit

++++++ 0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.132484858 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.132484858 +0200
@@ -1,4 +1,4 @@
-From 63d19d6ef58457e8aba6346157c9601e38f60929 Mon Sep 17 00:00:00 2001
+From 37dfb97c0016300dd6453fc718805ccdf341bfd6 Mon Sep 17 00:00:00 2001
 From: Aleksa Sarai <asa...@suse.de>
 Date: Wed, 8 Mar 2017 12:41:54 +1100
 Subject: [PATCH 1/6] SECRETS: daemon: allow directory creation in /run/secrets
@@ -10,17 +10,14 @@
 Signed-off-by: Antonio Murdaca <run...@redhat.com>
 Signed-off-by: Aleksa Sarai <asa...@suse.de>
 ---
- daemon/container_operations_unix.go | 25 ++++++++++++++++++++++---
- 1 file changed, 22 insertions(+), 3 deletions(-)
+ daemon/container_operations_unix.go | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
 
 diff --git a/daemon/container_operations_unix.go 
b/daemon/container_operations_unix.go
-index 6a50b99bd29e..583db20aa459 100644
+index 75b4b09b8dc4..583db20aa459 100644
 --- a/daemon/container_operations_unix.go
 +++ b/daemon/container_operations_unix.go
-@@ -1,8 +1,10 @@
-+//go:build linux || freebsd
- // +build linux freebsd
- 
+@@ -4,6 +4,7 @@
  package daemon // import "github.com/docker/docker/daemon"
  
  import (
@@ -28,7 +25,7 @@
        "fmt"
        "io/ioutil"
        "os"
-@@ -12,6 +14,7 @@ import (
+@@ -13,6 +14,7 @@ import (
        "github.com/docker/docker/container"
        "github.com/docker/docker/daemon/links"
        "github.com/docker/docker/errdefs"
@@ -36,7 +33,7 @@
        "github.com/docker/docker/pkg/idtools"
        "github.com/docker/docker/pkg/stringid"
        "github.com/docker/docker/pkg/system"
-@@ -205,9 +208,6 @@ func (daemon *Daemon) setupSecretDir(c 
*container.Container) (setupErr error) {
+@@ -206,9 +208,6 @@ func (daemon *Daemon) setupSecretDir(c 
*container.Container) (setupErr error) {
                if err != nil {
                        return errors.Wrap(err, "unable to get secret from 
secret store")
                }
@@ -46,7 +43,7 @@
  
                uid, err := strconv.Atoi(s.File.UID)
                if err != nil {
-@@ -218,6 +218,25 @@ func (daemon *Daemon) setupSecretDir(c 
*container.Container) (setupErr error) {
+@@ -219,6 +218,25 @@ func (daemon *Daemon) setupSecretDir(c 
*container.Container) (setupErr error) {
                        return err
                }
  
@@ -73,6 +70,6 @@
                        return errors.Wrap(err, "error setting ownership for 
secret")
                }
 -- 
-2.35.1
+2.36.1
 
 

++++++ 0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.144484874 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.148484879 +0200
@@ -1,4 +1,4 @@
-From a472a5da8d0aeb21b4cb6fbd2dc348a753c0a883 Mon Sep 17 00:00:00 2001
+From 11ac23e5620ee53c9527334d2222b32ca5098876 Mon Sep 17 00:00:00 2001
 From: Aleksa Sarai <asa...@suse.de>
 Date: Wed, 8 Mar 2017 11:43:29 +1100
 Subject: [PATCH 2/6] SECRETS: SUSE: implement SUSE container secrets
@@ -451,6 +451,6 @@
 +      return nil
 +}
 -- 
-2.35.1
+2.36.1
 
 

++++++ 0003-PRIVATE-REGISTRY-add-private-registry-mirror-support.patch ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.160484893 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.164484899 +0200
@@ -1,4 +1,4 @@
-From 098dd769a226407da7a695ae44cf2e41a5d13a4a Mon Sep 17 00:00:00 2001
+From cf3c6ccefda39c60dc656404674628ac48b55de9 Mon Sep 17 00:00:00 2001
 From: Valentin Rothberg <vrothb...@suse.com>
 Date: Mon, 2 Jul 2018 13:37:34 +0200
 Subject: [PATCH 3/6] PRIVATE-REGISTRY: add private-registry mirror support
@@ -1142,6 +1142,6 @@
  
        endpoints = []APIEndpoint{
 -- 
-2.35.1
+2.36.1
 
 

++++++ 0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.172484908 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.176484913 +0200
@@ -1,4 +1,4 @@
-From 5e84bae968f7beadd92452795cfe2ce4f8995cef Mon Sep 17 00:00:00 2001
+From 5d2f7a37a37547663aae1538b2d3fd48dd7277c8 Mon Sep 17 00:00:00 2001
 From: Aleksa Sarai <asa...@suse.de>
 Date: Fri, 29 Jun 2018 17:59:30 +1000
 Subject: [PATCH 4/6] bsc1073877: apparmor: clobber docker-default profile on
@@ -22,10 +22,10 @@
  3 files changed, 17 insertions(+), 6 deletions(-)
 
 diff --git a/daemon/apparmor_default.go b/daemon/apparmor_default.go
-index a7cc3a5ef412..1a952953da8f 100644
+index 21813ec14f8f..0de75b32b7fa 100644
 --- a/daemon/apparmor_default.go
 +++ b/daemon/apparmor_default.go
-@@ -23,6 +23,15 @@ func DefaultApparmorProfile() string {
+@@ -24,6 +24,15 @@ func DefaultApparmorProfile() string {
        return ""
  }
  
@@ -41,7 +41,7 @@
  func ensureDefaultAppArmorProfile() error {
        if apparmor.IsEnabled() {
                loaded, err := aaprofile.IsLoaded(defaultAppArmorProfile)
-@@ -36,10 +45,7 @@ func ensureDefaultAppArmorProfile() error {
+@@ -37,10 +46,7 @@ func ensureDefaultAppArmorProfile() error {
                }
  
                // Load the profile.
@@ -54,10 +54,10 @@
        return nil
  }
 diff --git a/daemon/apparmor_default_unsupported.go 
b/daemon/apparmor_default_unsupported.go
-index dd581dc7dadb..5b14979cd4a3 100644
+index e3dc18b32b5e..9c7723056268 100644
 --- a/daemon/apparmor_default_unsupported.go
 +++ b/daemon/apparmor_default_unsupported.go
-@@ -2,6 +2,10 @@
+@@ -3,6 +3,10 @@
  
  package daemon // import "github.com/docker/docker/daemon"
  
@@ -85,6 +85,6 @@
        }
  
 -- 
-2.35.1
+2.36.1
 
 

++++++ 0005-bsc1183855-btrfs-Do-not-disable-quota-on-cleanup.patch ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.188484928 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.188484928 +0200
@@ -1,4 +1,4 @@
-From 98822d2010c709e64d5e86d7ec8e054861080a53 Mon Sep 17 00:00:00 2001
+From b54c6c7addcb163ddcef5e37fc7ed1c0afd0dbfa Mon Sep 17 00:00:00 2001
 From: Michal Rostecki <mroste...@opensuse.org>
 Date: Thu, 8 Apr 2021 14:42:02 +0100
 Subject: [PATCH 5/6] bsc1183855: btrfs: Do not disable quota on cleanup
@@ -24,10 +24,10 @@
  1 file changed, 8 insertions(+), 42 deletions(-)
 
 diff --git a/daemon/graphdriver/btrfs/btrfs.go 
b/daemon/graphdriver/btrfs/btrfs.go
-index 8fd2854a2673..32c4f07c620d 100644
+index fa0cdf8666b1..02bbb5da1088 100644
 --- a/daemon/graphdriver/btrfs/btrfs.go
 +++ b/daemon/graphdriver/btrfs/btrfs.go
-@@ -103,7 +103,7 @@ func Init(home string, options []string, uidMaps, gidMaps 
[]idtools.IDMap) (grap
+@@ -104,7 +104,7 @@ func Init(home string, options []string, uidMaps, gidMaps 
[]idtools.IDMap) (grap
        }
  
        if userDiskQuota {
@@ -36,7 +36,7 @@
                        return nil, err
                }
        }
-@@ -172,18 +172,10 @@ func (d *Driver) GetMetadata(id string) 
(map[string]string, error) {
+@@ -173,18 +173,10 @@ func (d *Driver) GetMetadata(id string) 
(map[string]string, error) {
  
  // Cleanup unmounts the home directory.
  func (d *Driver) Cleanup() error {
@@ -56,7 +56,7 @@
        return nil
  }
  
-@@ -341,7 +333,7 @@ func (d *Driver) updateQuotaStatus() {
+@@ -342,7 +334,7 @@ func (d *Driver) updateQuotaStatus() {
        d.once.Do(func() {
                if !d.quotaEnabled {
                        // In case quotaEnabled is not set, check qgroup and 
update quotaEnabled as needed
@@ -65,7 +65,7 @@
                                // quota is still not enabled
                                return
                        }
-@@ -350,7 +342,7 @@ func (d *Driver) updateQuotaStatus() {
+@@ -351,7 +343,7 @@ func (d *Driver) updateQuotaStatus() {
        })
  }
  
@@ -74,7 +74,7 @@
        d.updateQuotaStatus()
  
        if d.quotaEnabled {
-@@ -376,32 +368,6 @@ func (d *Driver) subvolEnableQuota() error {
+@@ -377,32 +369,6 @@ func (d *Driver) subvolEnableQuota() error {
        return nil
  }
  
@@ -107,7 +107,7 @@
  func (d *Driver) subvolRescanQuota() error {
        d.updateQuotaStatus()
  
-@@ -444,11 +410,11 @@ func subvolLimitQgroup(path string, size uint64) error {
+@@ -445,11 +411,11 @@ func subvolLimitQgroup(path string, size uint64) error {
        return nil
  }
  
@@ -121,7 +121,7 @@
        dir, err := openDir(path)
        if err != nil {
                return err
-@@ -622,7 +588,7 @@ func (d *Driver) setStorageSize(dir string, driver 
*Driver) error {
+@@ -623,7 +589,7 @@ func (d *Driver) setStorageSize(dir string, driver 
*Driver) error {
        if d.options.minSpace > 0 && driver.options.size < d.options.minSpace {
                return fmt.Errorf("btrfs: storage size cannot be less than %s", 
units.HumanSize(float64(d.options.minSpace)))
        }
@@ -130,7 +130,7 @@
                return err
        }
        return subvolLimitQgroup(dir, driver.options.size)
-@@ -676,7 +642,7 @@ func (d *Driver) Get(id, mountLabel string) 
(containerfs.ContainerFS, error) {
+@@ -677,7 +643,7 @@ func (d *Driver) Get(id, mountLabel string) 
(containerfs.ContainerFS, error) {
  
        if quota, err := ioutil.ReadFile(d.quotasDirID(id)); err == nil {
                if size, err := strconv.ParseUint(string(quota), 10, 64); err 
== nil && size >= d.options.minSpace {
@@ -140,6 +140,6 @@
                        }
                        if err := subvolLimitQgroup(dir, size); err != nil {
 -- 
-2.35.1
+2.36.1
 
 

++++++ 0006-bsc1193930-vendor-update-golang.org-x-crypto.patch ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.204484948 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.208484953 +0200
@@ -1,4 +1,4 @@
-From b0122ef823aa4f05c9c552fb0eeff2fc11a0a64c Mon Sep 17 00:00:00 2001
+From bb67252dfccb18dacc9e0c3463e7c52f32fb2900 Mon Sep 17 00:00:00 2001
 From: Aleksa Sarai <asa...@suse.de>
 Date: Fri, 29 Apr 2022 12:44:21 +1000
 Subject: [PATCH 6/6] bsc1193930: vendor: update golang.org/x/crypto
@@ -354,7 +354,7 @@
  create mode 100644 vendor/golang.org/x/crypto/xts/xts.go
 
 diff --git a/vendor.conf b/vendor.conf
-index ac4640c76369..c21d903fa8a8 100644
+index 54e97e4562d8..9ff95d499ef8 100644
 --- a/vendor.conf
 +++ b/vendor.conf
 @@ -150,7 +150,7 @@ github.com/golang/protobuf                          
84668698ea25b64748563aa20726
@@ -41068,6 +41068,6 @@
 +      }
 +}
 -- 
-2.35.1
+2.36.1
 
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.5aJ2yd/_old  2022-06-08 14:24:41.272485032 +0200
+++ /var/tmp/diff_new_pack.5aJ2yd/_new  2022-06-08 14:24:41.276485037 +0200
@@ -3,16 +3,16 @@
     <param name="url">https://github.com/moby/moby.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="versionformat">20.10.14_ce_%h</param>
-    <param name="revision">v20.10.14</param>
+    <param name="versionformat">20.10.17_ce_%h</param>
+    <param name="revision">v20.10.17</param>
     <param name="filename">docker</param>
   </service>
   <service name="tar_scm" mode="disabled">
     <param name="url">https://github.com/docker/cli.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="versionformat">20.10.14_ce</param>
-    <param name="revision">v20.10.14</param>
+    <param name="versionformat">20.10.17_ce</param>
+    <param name="revision">v20.10.17</param>
     <param name="filename">docker-cli</param>
   </service>
   <service name="tar_scm" mode="disabled">
@@ -20,7 +20,7 @@
     <param name="scm">git</param>
     <param name="exclude">.git</param>
     <param name="versionformat">%H</param>
-    <param name="revision">64b7a4574d1426139437d20e81c0b6d391130ec8</param>
+    <param name="revision">f6ccccb1c082a432c2a5814aaedaca56af33d9ea</param>
     <param name="filename">docker-libnetwork</param>
   </service>
   <service name="recompress" mode="disabled">

++++++ docker-20.10.14_ce_87a90dc786bd.tar.xz -> 
docker-20.10.17_ce_a89b84221c85.tar.xz ++++++
/work/SRC/openSUSE:Factory/docker/docker-20.10.14_ce_87a90dc786bd.tar.xz 
/work/SRC/openSUSE:Factory/.docker.new.1548/docker-20.10.17_ce_a89b84221c85.tar.xz
 differ: char 15, line 1

++++++ docker-cli-20.10.14_ce.tar.xz -> docker-cli-20.10.17_ce.tar.xz ++++++
++++ 69872 lines of diff (skipped)

++++++ docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8.tar.xz -> 
docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/controller.go 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/controller.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/controller.go    
    2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/controller.go    
    2022-06-01 20:45:24.000000000 +0200
@@ -1175,6 +1175,14 @@
 
        if sb.osSbox != nil {
                // Apply operating specific knobs on the load balancer sandbox
+               err := sb.osSbox.InvokeFunc(func() {
+                       sb.osSbox.ApplyOSTweaks(sb.oslTypes)
+               })
+
+               if err != nil {
+                       logrus.Errorf("Failed to apply performance tuning 
sysctls to the sandbox: %v", err)
+               }
+               // Keep this just so performance is not changed
                sb.osSbox.ApplyOSTweaks(sb.oslTypes)
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/drivers/windows/windows.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/drivers/windows/windows.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/drivers/windows/windows.go
   2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/drivers/windows/windows.go
   2022-06-01 20:45:24.000000000 +0200
@@ -493,10 +493,11 @@
                }
 
                encodedPolicy, err := json.Marshal(hcsshim.NatPolicy{
-                       Type:         "NAT",
-                       ExternalPort: elem.HostPort,
-                       InternalPort: elem.Port,
-                       Protocol:     elem.Proto.String(),
+                       Type:                 "NAT",
+                       ExternalPort:         elem.HostPort,
+                       InternalPort:         elem.Port,
+                       Protocol:             elem.Proto.String(),
+                       ExternalPortReserved: true,
                })
 
                if err != nil {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/netutils/utils_linux.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/netutils/utils_linux.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/netutils/utils_linux.go
      2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/netutils/utils_linux.go
      2022-06-01 20:45:24.000000000 +0200
@@ -31,7 +31,7 @@
                return err
        }
        for _, network := range networks {
-               if network.Dst != nil && NetworkOverlaps(toCheck, network.Dst) {
+               if network.Dst != nil && network.Scope == netlink.SCOPE_LINK && 
NetworkOverlaps(toCheck, network.Dst) {
                        return ErrNetworkOverlaps
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/netutils/utils_test.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/netutils/utils_test.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/netutils/utils_test.go
       2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/netutils/utils_test.go
       2022-06-01 20:45:24.000000000 +0200
@@ -46,8 +46,11 @@
                routes := []netlink.Route{}
                for _, addr := range routesData {
                        _, netX, _ := net.ParseCIDR(addr)
-                       routes = append(routes, netlink.Route{Dst: netX})
+                       routes = append(routes, netlink.Route{Dst: netX, Scope: 
netlink.SCOPE_LINK})
                }
+               // Add a route with a scope which should not overlap
+               _, netX, _ := net.ParseCIDR("10.0.5.0/24")
+               routes = append(routes, netlink.Route{Dst: netX, Scope: 
netlink.SCOPE_UNIVERSE})
                return routes, nil
        }
        defer func() { networkGetRoutesFct = nil }()
@@ -61,6 +64,11 @@
        if err := CheckRouteOverlaps(netX); err == nil {
                t.Fatal("10.0.2.0/24 and 10.0.2.0 should overlap but it 
doesn't")
        }
+
+       _, netX, _ = net.ParseCIDR("10.0.5.0/24")
+       if err := CheckRouteOverlaps(netX); err != nil {
+               t.Fatal("10.0.5.0/24 and 10.0.5.0 with scope UNIVERSE should 
not overlap but it does")
+       }
 }
 
 func TestCheckNameserverOverlaps(t *testing.T) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/osl/namespace_linux.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/osl/namespace_linux.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/osl/namespace_linux.go
       2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/osl/namespace_linux.go
       2022-06-01 20:45:24.000000000 +0200
@@ -30,24 +30,13 @@
 }
 
 var (
-       once               sync.Once
-       garbagePathMap     = make(map[string]bool)
-       gpmLock            sync.Mutex
-       gpmWg              sync.WaitGroup
-       gpmCleanupPeriod   = 60 * time.Second
-       gpmChan            = make(chan chan struct{})
-       prefix             = defaultPrefix
-       loadBalancerConfig = map[string]*kernel.OSValue{
-               // disables any special handling on port reuse of existing IPVS 
connection table entries
-               // more info: 
https://github.com/torvalds/linux/blob/master/Documentation/networking/ipvs-sysctl.txt#L25:1
-               "net.ipv4.vs.conn_reuse_mode": {Value: "0", CheckFn: nil},
-               // expires connection from the IPVS connection table when the 
backend is not available
-               // more info: 
https://github.com/torvalds/linux/blob/master/Documentation/networking/ipvs-sysctl.txt#L126:1
-               "net.ipv4.vs.expire_nodest_conn": {Value: "1", CheckFn: nil},
-               // expires persistent connections to destination servers with 
weights set to 0
-               // more info: 
https://github.com/torvalds/linux/blob/master/Documentation/networking/ipvs-sysctl.txt#L144:1
-               "net.ipv4.vs.expire_quiescent_template": {Value: "1", CheckFn: 
nil},
-       }
+       once             sync.Once
+       garbagePathMap   = make(map[string]bool)
+       gpmLock          sync.Mutex
+       gpmWg            sync.WaitGroup
+       gpmCleanupPeriod = 60 * time.Second
+       gpmChan          = make(chan chan struct{})
+       prefix           = defaultPrefix
 )
 
 // The networkNamespace type is the linux implementation of the Sandbox
@@ -686,8 +675,18 @@
 func (n *networkNamespace) ApplyOSTweaks(types []SandboxType) {
        for _, t := range types {
                switch t {
-               case SandboxTypeLoadBalancer:
-                       kernel.ApplyOSTweaks(loadBalancerConfig)
+               case SandboxTypeLoadBalancer, SandboxTypeIngress:
+                       kernel.ApplyOSTweaks(map[string]*kernel.OSValue{
+                               // disables any special handling on port reuse 
of existing IPVS connection table entries
+                               // more info: 
https://github.com/torvalds/linux/blame/v5.15/Documentation/networking/ipvs-sysctl.rst#L32
+                               "net.ipv4.vs.conn_reuse_mode": {Value: "0", 
CheckFn: nil},
+                               // expires connection from the IPVS connection 
table when the backend is not available
+                               // more info: 
https://github.com/torvalds/linux/blame/v5.15/Documentation/networking/ipvs-sysctl.rst#L133
+                               "net.ipv4.vs.expire_nodest_conn": {Value: "1", 
CheckFn: nil},
+                               // expires persistent connections to 
destination servers with weights set to 0
+                               // more info: 
https://github.com/torvalds/linux/blame/v5.15/Documentation/networking/ipvs-sysctl.rst#L151
+                               "net.ipv4.vs.expire_quiescent_template": 
{Value: "1", CheckFn: nil},
+                       })
                }
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/service_linux.go 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/service_linux.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/service_linux.go 
    2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/service_linux.go 
    2022-06-01 20:45:24.000000000 +0200
@@ -169,6 +169,10 @@
        if err := i.NewDestination(s, d); err != nil && err != syscall.EEXIST {
                logrus.Errorf("Failed to create real server %s for vip %s 
fwmark %d in sbox %.7s (%.7s): %v", ip, lb.vip, lb.fwMark, sb.ID(), 
sb.ContainerID(), err)
        }
+
+       // Ensure that kernel tweaks are applied in case this is the first time
+       // we've initialized ip_vs
+       sb.osSbox.ApplyOSTweaks(sb.oslTypes)
 }
 
 // Remove loadbalancer backend the load balancing endpoint for this
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/errors.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/errors.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/errors.go
        2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/errors.go
        2022-06-01 20:45:24.000000000 +0200
@@ -59,7 +59,7 @@
        // ErrVmcomputeOperationInvalidState is an error encountered when the 
compute system is not in a valid state for the requested operation
        ErrVmcomputeOperationInvalidState = 
hcs.ErrVmcomputeOperationInvalidState
 
-       // ErrProcNotFound is an error encountered when the the process cannot 
be found
+       // ErrProcNotFound is an error encountered when a procedure look up 
fails.
        ErrProcNotFound = hcs.ErrProcNotFound
 
        // ErrVmcomputeOperationAccessIsDenied is an error which can be 
encountered when enumerating compute systems in RS1/RS2
@@ -83,7 +83,6 @@
 type ProcessError struct {
        Process   *process
        Operation string
-       ExtraInfo string
        Err       error
        Events    []hcs.ErrorEvent
 }
@@ -92,7 +91,6 @@
 type ContainerError struct {
        Container *container
        Operation string
-       ExtraInfo string
        Err       error
        Events    []hcs.ErrorEvent
 }
@@ -125,10 +123,6 @@
                s += "\n" + ev.String()
        }
 
-       if e.ExtraInfo != "" {
-               s += " extra info: " + e.ExtraInfo
-       }
-
        return s
 }
 
@@ -137,7 +131,7 @@
        if _, ok := err.(*ContainerError); ok {
                return err
        }
-       containerError := &ContainerError{Container: container, Operation: 
operation, ExtraInfo: extraInfo, Err: err}
+       containerError := &ContainerError{Container: container, Operation: 
operation, Err: err}
        return containerError
 }
 
@@ -176,14 +170,14 @@
        if _, ok := err.(*ProcessError); ok {
                return err
        }
-       processError := &ProcessError{Process: process, Operation: operation, 
ExtraInfo: extraInfo, Err: err}
+       processError := &ProcessError{Process: process, Operation: operation, 
Err: err}
        return processError
 }
 
 // IsNotExist checks if an error is caused by the Container or Process not 
existing.
 // Note: Currently, ErrElementNotFound can mean that a Process has either
 // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist
-// will currently return true when the error is ErrElementNotFound or 
ErrProcNotFound.
+// will currently return true when the error is ErrElementNotFound.
 func IsNotExist(err error) bool {
        if _, ok := err.(EndpointNotFoundError); ok {
                return true
@@ -216,7 +210,7 @@
 // a Container or Process being already stopped.
 // Note: Currently, ErrElementNotFound can mean that a Process has either
 // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist
-// will currently return true when the error is ErrElementNotFound or 
ErrProcNotFound.
+// will currently return true when the error is ErrElementNotFound.
 func IsAlreadyStopped(err error) bool {
        return hcs.IsAlreadyStopped(getInnerError(err))
 }
@@ -244,7 +238,7 @@
 
 func convertSystemError(err error, c *container) error {
        if serr, ok := err.(*hcs.SystemError); ok {
-               return &ContainerError{Container: c, Operation: serr.Op, 
ExtraInfo: serr.Extra, Err: serr.Err, Events: serr.Events}
+               return &ContainerError{Container: c, Operation: serr.Op, Err: 
serr.Err, Events: serr.Events}
        }
        return err
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
   2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
   2022-06-01 20:45:24.000000000 +0200
@@ -60,7 +60,7 @@
        // ErrVmcomputeOperationInvalidState is an error encountered when the 
compute system is not in a valid state for the requested operation
        ErrVmcomputeOperationInvalidState = syscall.Errno(0xc0370105)
 
-       // ErrProcNotFound is an error encountered when the the process cannot 
be found
+       // ErrProcNotFound is an error encountered when a procedure look up 
fails.
        ErrProcNotFound = syscall.Errno(0x7f)
 
        // ErrVmcomputeOperationAccessIsDenied is an error which can be 
encountered when enumerating compute systems in RS1/RS2
@@ -171,7 +171,6 @@
        ID     string
        Op     string
        Err    error
-       Extra  string
        Events []ErrorEvent
 }
 
@@ -182,9 +181,6 @@
        for _, ev := range e.Events {
                s += "\n" + ev.String()
        }
-       if e.Extra != "" {
-               s += "\n(extra info: " + e.Extra + ")"
-       }
        return s
 }
 
@@ -198,7 +194,7 @@
        return ok && err.Timeout()
 }
 
-func makeSystemError(system *System, op string, extra string, err error, 
events []ErrorEvent) error {
+func makeSystemError(system *System, op string, err error, events 
[]ErrorEvent) error {
        // Don't double wrap errors
        if _, ok := err.(*SystemError); ok {
                return err
@@ -206,7 +202,6 @@
        return &SystemError{
                ID:     system.ID(),
                Op:     op,
-               Extra:  extra,
                Err:    err,
                Events: events,
        }
@@ -247,12 +242,11 @@
 // IsNotExist checks if an error is caused by the Container or Process not 
existing.
 // Note: Currently, ErrElementNotFound can mean that a Process has either
 // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist
-// will currently return true when the error is ErrElementNotFound or 
ErrProcNotFound.
+// will currently return true when the error is ErrElementNotFound.
 func IsNotExist(err error) bool {
        err = getInnerError(err)
        return err == ErrComputeSystemDoesNotExist ||
-               err == ErrElementNotFound ||
-               err == ErrProcNotFound
+               err == ErrElementNotFound
 }
 
 // IsAlreadyClosed checks if an error is caused by the Container or Process 
having been
@@ -283,12 +277,11 @@
 // a Container or Process being already stopped.
 // Note: Currently, ErrElementNotFound can mean that a Process has either
 // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist
-// will currently return true when the error is ErrElementNotFound or 
ErrProcNotFound.
+// will currently return true when the error is ErrElementNotFound.
 func IsAlreadyStopped(err error) bool {
        err = getInnerError(err)
        return err == ErrVmcomputeAlreadyStopped ||
-               err == ErrElementNotFound ||
-               err == ErrProcNotFound
+               err == ErrElementNotFound
 }
 
 // IsNotSupported returns a boolean indicating whether the error is caused by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
   2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
   2022-06-01 20:45:24.000000000 +0200
@@ -75,7 +75,7 @@
                        // Terminate the compute system if it still exists. 
We're okay to
                        // ignore a failure here.
                        computeSystem.Terminate(ctx)
-                       return nil, makeSystemError(computeSystem, operation, 
"", err, nil)
+                       return nil, makeSystemError(computeSystem, operation, 
err, nil)
                }
        }
 
@@ -86,7 +86,7 @@
                        // ignore a failure here.
                        computeSystem.Terminate(ctx)
                }
-               return nil, makeSystemError(computeSystem, operation, 
hcsDocument, err, events)
+               return nil, makeSystemError(computeSystem, operation, err, 
events)
        }
        go computeSystem.waitBackground()
        if err = computeSystem.getCachedProperties(ctx); err != nil {
@@ -103,7 +103,7 @@
        handle, resultJSON, err := vmcompute.HcsOpenComputeSystem(ctx, id)
        events := processHcsResult(ctx, resultJSON)
        if err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
events)
+               return nil, makeSystemError(computeSystem, operation, err, 
events)
        }
        computeSystem.handle = handle
        defer func() {
@@ -112,7 +112,7 @@
                }
        }()
        if err = computeSystem.registerCallback(ctx); err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
        go computeSystem.waitBackground()
        if err = computeSystem.getCachedProperties(ctx); err != nil {
@@ -188,13 +188,13 @@
        defer computeSystem.handleLock.RUnlock()
 
        if computeSystem.handle == 0 {
-               return makeSystemError(computeSystem, operation, "", 
ErrAlreadyClosed, nil)
+               return makeSystemError(computeSystem, operation, 
ErrAlreadyClosed, nil)
        }
 
        resultJSON, err := vmcompute.HcsStartComputeSystem(ctx, 
computeSystem.handle, "")
        events, err := processAsyncHcsResult(ctx, err, resultJSON, 
computeSystem.callbackNumber, hcsNotificationSystemStartCompleted, 
&timeout.SystemStart)
        if err != nil {
-               return makeSystemError(computeSystem, operation, "", err, 
events)
+               return makeSystemError(computeSystem, operation, err, events)
        }
 
        return nil
@@ -221,7 +221,7 @@
        switch err {
        case nil, ErrVmcomputeAlreadyStopped, ErrComputeSystemDoesNotExist, 
ErrVmcomputeOperationPending:
        default:
-               return makeSystemError(computeSystem, operation, "", err, 
events)
+               return makeSystemError(computeSystem, operation, err, events)
        }
        return nil
 }
@@ -242,7 +242,7 @@
        switch err {
        case nil, ErrVmcomputeAlreadyStopped, ErrComputeSystemDoesNotExist, 
ErrVmcomputeOperationPending:
        default:
-               return makeSystemError(computeSystem, operation, "", err, 
events)
+               return makeSystemError(computeSystem, operation, err, events)
        }
        return nil
 }
@@ -264,10 +264,10 @@
                log.G(ctx).Debug("system exited")
        case ErrVmcomputeUnexpectedExit:
                log.G(ctx).Debug("unexpected system exit")
-               computeSystem.exitError = makeSystemError(computeSystem, 
operation, "", err, nil)
+               computeSystem.exitError = makeSystemError(computeSystem, 
operation, err, nil)
                err = nil
        default:
-               err = makeSystemError(computeSystem, operation, "", err, nil)
+               err = makeSystemError(computeSystem, operation, err, nil)
        }
        computeSystem.closedWaitOnce.Do(func() {
                computeSystem.waitError = err
@@ -305,13 +305,13 @@
 
        queryBytes, err := json.Marshal(schema1.PropertyQuery{PropertyTypes: 
types})
        if err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
 
        propertiesJSON, resultJSON, err := 
vmcompute.HcsGetComputeSystemProperties(ctx, computeSystem.handle, 
string(queryBytes))
        events := processHcsResult(ctx, resultJSON)
        if err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
events)
+               return nil, makeSystemError(computeSystem, operation, err, 
events)
        }
 
        if propertiesJSON == "" {
@@ -319,7 +319,7 @@
        }
        properties := &schema1.ContainerProperties{}
        if err := json.Unmarshal([]byte(propertiesJSON), properties); err != 
nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
 
        return properties, nil
@@ -334,13 +334,13 @@
 
        queryBytes, err := json.Marshal(hcsschema.PropertyQuery{PropertyTypes: 
types})
        if err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
 
        propertiesJSON, resultJSON, err := 
vmcompute.HcsGetComputeSystemProperties(ctx, computeSystem.handle, 
string(queryBytes))
        events := processHcsResult(ctx, resultJSON)
        if err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
events)
+               return nil, makeSystemError(computeSystem, operation, err, 
events)
        }
 
        if propertiesJSON == "" {
@@ -348,7 +348,7 @@
        }
        properties := &hcsschema.Properties{}
        if err := json.Unmarshal([]byte(propertiesJSON), properties); err != 
nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
 
        return properties, nil
@@ -369,13 +369,13 @@
        defer computeSystem.handleLock.RUnlock()
 
        if computeSystem.handle == 0 {
-               return makeSystemError(computeSystem, operation, "", 
ErrAlreadyClosed, nil)
+               return makeSystemError(computeSystem, operation, 
ErrAlreadyClosed, nil)
        }
 
        resultJSON, err := vmcompute.HcsPauseComputeSystem(ctx, 
computeSystem.handle, "")
        events, err := processAsyncHcsResult(ctx, err, resultJSON, 
computeSystem.callbackNumber, hcsNotificationSystemPauseCompleted, 
&timeout.SystemPause)
        if err != nil {
-               return makeSystemError(computeSystem, operation, "", err, 
events)
+               return makeSystemError(computeSystem, operation, err, events)
        }
 
        return nil
@@ -396,13 +396,13 @@
        defer computeSystem.handleLock.RUnlock()
 
        if computeSystem.handle == 0 {
-               return makeSystemError(computeSystem, operation, "", 
ErrAlreadyClosed, nil)
+               return makeSystemError(computeSystem, operation, 
ErrAlreadyClosed, nil)
        }
 
        resultJSON, err := vmcompute.HcsResumeComputeSystem(ctx, 
computeSystem.handle, "")
        events, err := processAsyncHcsResult(ctx, err, resultJSON, 
computeSystem.callbackNumber, hcsNotificationSystemResumeCompleted, 
&timeout.SystemResume)
        if err != nil {
-               return makeSystemError(computeSystem, operation, "", err, 
events)
+               return makeSystemError(computeSystem, operation, err, events)
        }
 
        return nil
@@ -413,19 +413,19 @@
        defer computeSystem.handleLock.RUnlock()
 
        if computeSystem.handle == 0 {
-               return nil, nil, makeSystemError(computeSystem, operation, "", 
ErrAlreadyClosed, nil)
+               return nil, nil, makeSystemError(computeSystem, operation, 
ErrAlreadyClosed, nil)
        }
 
        configurationb, err := json.Marshal(c)
        if err != nil {
-               return nil, nil, makeSystemError(computeSystem, operation, "", 
err, nil)
+               return nil, nil, makeSystemError(computeSystem, operation, err, 
nil)
        }
 
        configuration := string(configurationb)
        processInfo, processHandle, resultJSON, err := 
vmcompute.HcsCreateProcess(ctx, computeSystem.handle, configuration)
        events := processHcsResult(ctx, resultJSON)
        if err != nil {
-               return nil, nil, makeSystemError(computeSystem, operation, 
configuration, err, events)
+               return nil, nil, makeSystemError(computeSystem, operation, err, 
events)
        }
 
        log.G(ctx).WithField("pid", processInfo.ProcessId).Debug("created 
process pid")
@@ -447,7 +447,7 @@
 
        pipes, err := makeOpenFiles([]syscall.Handle{processInfo.StdInput, 
processInfo.StdOutput, processInfo.StdError})
        if err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
        process.stdin = pipes[0]
        process.stdout = pipes[1]
@@ -455,7 +455,7 @@
        process.hasCachedStdio = true
 
        if err = process.registerCallback(ctx); err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
        go process.waitBackground()
 
@@ -470,18 +470,18 @@
        operation := "hcsshim::System::OpenProcess"
 
        if computeSystem.handle == 0 {
-               return nil, makeSystemError(computeSystem, operation, "", 
ErrAlreadyClosed, nil)
+               return nil, makeSystemError(computeSystem, operation, 
ErrAlreadyClosed, nil)
        }
 
        processHandle, resultJSON, err := vmcompute.HcsOpenProcess(ctx, 
computeSystem.handle, uint32(pid))
        events := processHcsResult(ctx, resultJSON)
        if err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
events)
+               return nil, makeSystemError(computeSystem, operation, err, 
events)
        }
 
        process := newProcess(processHandle, pid, computeSystem)
        if err = process.registerCallback(ctx); err != nil {
-               return nil, makeSystemError(computeSystem, operation, "", err, 
nil)
+               return nil, makeSystemError(computeSystem, operation, err, nil)
        }
        go process.waitBackground()
 
@@ -505,12 +505,12 @@
        }
 
        if err = computeSystem.unregisterCallback(ctx); err != nil {
-               return makeSystemError(computeSystem, operation, "", err, nil)
+               return makeSystemError(computeSystem, operation, err, nil)
        }
 
        err = vmcompute.HcsCloseComputeSystem(ctx, computeSystem.handle)
        if err != nil {
-               return makeSystemError(computeSystem, operation, "", err, nil)
+               return makeSystemError(computeSystem, operation, err, nil)
        }
 
        computeSystem.handle = 0
@@ -587,7 +587,7 @@
        operation := "hcsshim::System::Modify"
 
        if computeSystem.handle == 0 {
-               return makeSystemError(computeSystem, operation, "", 
ErrAlreadyClosed, nil)
+               return makeSystemError(computeSystem, operation, 
ErrAlreadyClosed, nil)
        }
 
        requestBytes, err := json.Marshal(config)
@@ -599,7 +599,7 @@
        resultJSON, err := vmcompute.HcsModifyComputeSystem(ctx, 
computeSystem.handle, requestJSON)
        events := processHcsResult(ctx, resultJSON)
        if err != nil {
-               return makeSystemError(computeSystem, operation, requestJSON, 
err, events)
+               return makeSystemError(computeSystem, operation, err, events)
        }
 
        return nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go
 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go
--- 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go
        2021-05-25 11:06:46.000000000 +0200
+++ 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go
        2022-06-01 20:45:24.000000000 +0200
@@ -21,10 +21,11 @@
 )
 
 type NatPolicy struct {
-       Type         PolicyType `json:"Type"`
-       Protocol     string
-       InternalPort uint16
-       ExternalPort uint16
+       Type                 PolicyType `json:"Type"`
+       Protocol             string
+       InternalPort         uint16
+       ExternalPort         uint16
+       ExternalPortReserved bool       `json:",omitempty"`
 }
 
 type QosPolicy struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor.conf 
new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor.conf
--- old/docker-libnetwork-64b7a4574d1426139437d20e81c0b6d391130ec8/vendor.conf  
2021-05-25 11:06:46.000000000 +0200
+++ new/docker-libnetwork-f6ccccb1c082a432c2a5814aaedaca56af33d9ea/vendor.conf  
2022-06-01 20:45:24.000000000 +0200
@@ -2,7 +2,7 @@
 github.com/BurntSushi/toml                          
3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005 # v0.3.1
 github.com/containerd/cgroups                       
318312a373405e5e91134d8063d04d59768a1bff
 github.com/Microsoft/go-winio                       
6c72808b55902eae4c5943626030429ff20f3b63 # v0.4.14
-github.com/Microsoft/hcsshim                        
9dcb42f100215f8d375b4a9265e5bba009217a85 # moby branch
+github.com/Microsoft/hcsshim                        
a11a2c44e8a4aa9d66314b1d759ef582df5ab5e8 # moby branch
 github.com/armon/go-metrics                         
eb0af217e5e9747e41dd5303755356b62d28e3ec
 github.com/armon/go-radix                           
e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
 github.com/coreos/etcd                              
d57e8b8d97adfc4a6c224fe116714bf1a1f3beb9 # v3.3.12

Reply via email to