Skip to content

Commit 443fce3

Browse files
authored
Merge pull request #3796 from telepresenceio/thallgren/disconnect-resiliance
Improve behavior after network interrupts
2 parents b68f62f + 0ebed7d commit 443fce3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+337
-438
lines changed

DEPENDENCIES.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ following Free and Open Source software:
33

44
Name Version License(s)
55
---- ------- ----------
6-
the Go language standard library ("std") v1.23 3-clause BSD license
6+
the Go language standard library ("std") v1.24 3-clause BSD license
77
dario.cat/mergo v1.0.1 3-clause BSD license
88
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 Apache License 2.0
99
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c MIT license
@@ -52,7 +52,7 @@ following Free and Open Source software:
5252
github.com/fxamacker/cbor/v2 v2.7.0 MIT license
5353
github.com/go-errors/errors v1.5.1 MIT license
5454
github.com/go-gorp/gorp/v3 v3.1.0 MIT license
55-
github.com/go-json-experiment/json v0.0.0-20250129011340-4e0381018ad6 3-clause BSD license
55+
github.com/go-json-experiment/json v0.0.0-20250211171154-1ae217ad3535 3-clause BSD license
5656
github.com/go-logr/logr v1.4.2 Apache License 2.0
5757
github.com/go-logr/stdr v1.2.2 Apache License 2.0
5858
github.com/go-openapi/jsonpointer v0.21.0 Apache License 2.0
@@ -145,26 +145,26 @@ following Free and Open Source software:
145145
go.opentelemetry.io/otel v1.34.0 Apache License 2.0
146146
go.opentelemetry.io/otel/metric v1.34.0 Apache License 2.0
147147
go.opentelemetry.io/otel/trace v1.34.0 Apache License 2.0
148-
golang.org/x/crypto v0.32.0 3-clause BSD license
149-
golang.org/x/mod v0.22.0 3-clause BSD license
150-
golang.org/x/net v0.34.0 3-clause BSD license
151-
golang.org/x/oauth2 v0.25.0 3-clause BSD license
152-
golang.org/x/sync v0.10.0 3-clause BSD license
153-
golang.org/x/sys v0.29.0 3-clause BSD license
154-
golang.org/x/term v0.28.0 3-clause BSD license
155-
golang.org/x/text v0.21.0 3-clause BSD license
156-
golang.org/x/time v0.9.0 3-clause BSD license
157-
golang.org/x/tools v0.29.0 3-clause BSD license
148+
golang.org/x/crypto v0.33.0 3-clause BSD license
149+
golang.org/x/mod v0.23.0 3-clause BSD license
150+
golang.org/x/net v0.35.0 3-clause BSD license
151+
golang.org/x/oauth2 v0.26.0 3-clause BSD license
152+
golang.org/x/sync v0.11.0 3-clause BSD license
153+
golang.org/x/sys v0.30.0 3-clause BSD license
154+
golang.org/x/term v0.29.0 3-clause BSD license
155+
golang.org/x/text v0.22.0 3-clause BSD license
156+
golang.org/x/time v0.10.0 3-clause BSD license
157+
golang.org/x/tools v0.30.0 3-clause BSD license
158158
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 MIT license
159159
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 MIT license
160160
golang.zx2c4.com/wireguard/windows v0.5.3 MIT license
161-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250127172529-29210b9bc287 Apache License 2.0
161+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6 Apache License 2.0
162162
google.golang.org/grpc v1.70.0 Apache License 2.0
163-
google.golang.org/protobuf v1.36.4 3-clause BSD license
163+
google.golang.org/protobuf v1.36.5 3-clause BSD license
164164
gopkg.in/evanphx/json-patch.v4 v4.12.0 3-clause BSD license
165165
gopkg.in/inf.v0 v0.9.1 3-clause BSD license
166166
gopkg.in/yaml.v3 v3.0.1 Apache License 2.0, MIT license
167-
gvisor.dev/gvisor v0.0.0-20250131185017-b744a1bd640b Apache License 2.0, MIT license
167+
gvisor.dev/gvisor v0.0.0-20250210225643-b6c879e0ba3f Apache License 2.0, MIT license
168168
helm.sh/helm/v3 v3.17.0 Apache License 2.0
169169
k8s.io/api v0.32.1 Apache License 2.0
170170
k8s.io/apiextensions-apiserver v0.32.1 Apache License 2.0

build-aux/docker/images/Dockerfile.client

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ ARG TARGETARCH
3333
RUN \
3434
--mount=type=cache,target=/root/.cache/go-build \
3535
--mount=type=cache,target=/go/pkg/mod \
36-
GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /usr/local/bin/ -trimpath -tags docker -ldflags=-X=$(go list ./pkg/version).Version=$(cat version.txt) ./cmd/telepresence/...
36+
GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /usr/local/bin/ --buildmode pie -trimpath -tags docker -ldflags=-X=$(go list ./pkg/version).Version=$(cat version.txt) ./cmd/telepresence/...
3737

3838
# setcap is necessary because the process will listen to privileged ports
3939
RUN setcap 'cap_net_bind_service+ep' /usr/local/bin/telepresence

build-aux/docker/images/Dockerfile.traffic

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ ARG TARGETARCH
3232
RUN \
3333
--mount=type=cache,target=/root/.cache/go-build \
3434
--mount=type=cache,target=/go/pkg/mod \
35-
GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /usr/local/bin/ -trimpath -ldflags=-X=$(go list ./pkg/version).Version=$(cat version.txt) ./cmd/traffic/...
35+
GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /usr/local/bin/ --buildmode pie -trimpath -ldflags=-X=$(go list ./pkg/version).Version=$(cat version.txt) ./cmd/traffic/...
3636

3737
# setcap is necessary because the process will listen to privileged ports
3838
RUN setcap 'cap_net_bind_service+ep' /usr/local/bin/traffic

build-aux/main.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ endif
232232
ifeq ($(DOCKER_BUILD),1)
233233
CGO_ENABLED=$(CGO_ENABLED) $(sdkroot) go build $(BUILD_TAGS) -trimpath -ldflags=-X=$(PKG_VERSION).Version=$(TELEPRESENCE_VERSION) -o $@ ./cmd/telepresence
234234
else
235-
# -buildmode=pie addresses https://github.com/datawire/telepresence2-proprietary/issues/315
235+
# -buildmode=pie enables PIE compilation for binary harderning. Default on darwin and windows (since 1.23) but not in linux.
236236
CGO_ENABLED=$(CGO_ENABLED) $(sdkroot) go build $(BUILD_TAGS) -buildmode=pie -trimpath -ldflags=-X=$(PKG_VERSION).Version=$(TELEPRESENCE_VERSION) -o $@ ./cmd/telepresence
237237
endif
238238

go.mod

+14-14
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ require (
1515
github.com/docker/docker v27.5.1+incompatible
1616
github.com/docker/go-connections v0.5.0
1717
github.com/fsnotify/fsnotify v1.8.0
18-
github.com/go-json-experiment/json v0.0.0-20250129011340-4e0381018ad6
18+
github.com/go-json-experiment/json v0.0.0-20250211171154-1ae217ad3535
1919
github.com/godbus/dbus/v5 v5.1.0
2020
github.com/golang/mock v1.7.0-rc.1
2121
github.com/google/go-cmp v0.6.0
@@ -39,15 +39,15 @@ require (
3939
github.com/telepresenceio/go-fuseftp/rpc v0.6.1
4040
github.com/telepresenceio/telepresence/rpc/v2 v2.21.1
4141
github.com/vishvananda/netlink v1.3.0
42-
golang.org/x/net v0.34.0
43-
golang.org/x/sys v0.29.0
44-
golang.org/x/term v0.28.0
42+
golang.org/x/net v0.35.0
43+
golang.org/x/sys v0.30.0
44+
golang.org/x/term v0.29.0
4545
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173
4646
golang.zx2c4.com/wireguard/windows v0.5.3
4747
google.golang.org/grpc v1.70.0
48-
google.golang.org/protobuf v1.36.4
48+
google.golang.org/protobuf v1.36.5
4949
gopkg.in/yaml.v3 v3.0.1
50-
gvisor.dev/gvisor v0.0.0-20250131185017-b744a1bd640b
50+
gvisor.dev/gvisor v0.0.0-20250210225643-b6c879e0ba3f
5151
helm.sh/helm/v3 v3.17.0
5252
k8s.io/api v0.32.1
5353
k8s.io/apimachinery v0.32.1
@@ -166,15 +166,15 @@ require (
166166
go.opentelemetry.io/otel v1.34.0 // indirect
167167
go.opentelemetry.io/otel/metric v1.34.0 // indirect
168168
go.opentelemetry.io/otel/trace v1.34.0 // indirect
169-
golang.org/x/crypto v0.32.0 // indirect
170-
golang.org/x/mod v0.22.0 // indirect
171-
golang.org/x/oauth2 v0.25.0 // indirect
172-
golang.org/x/sync v0.10.0 // indirect
173-
golang.org/x/text v0.21.0 // indirect
174-
golang.org/x/time v0.9.0 // indirect
175-
golang.org/x/tools v0.29.0 // indirect
169+
golang.org/x/crypto v0.33.0 // indirect
170+
golang.org/x/mod v0.23.0 // indirect
171+
golang.org/x/oauth2 v0.26.0 // indirect
172+
golang.org/x/sync v0.11.0 // indirect
173+
golang.org/x/text v0.22.0 // indirect
174+
golang.org/x/time v0.10.0 // indirect
175+
golang.org/x/tools v0.30.0 // indirect
176176
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
177-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250127172529-29210b9bc287 // indirect
177+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6 // indirect
178178
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
179179
gopkg.in/inf.v0 v0.9.1 // indirect
180180
k8s.io/apiextensions-apiserver v0.32.1 // indirect

0 commit comments

Comments
 (0)