Skip to content

Commit 46773c5

Browse files
authored
Merge branch 'master' into dependabot/go_modules/outlinecaddy/github.com/docker/docker-25.0.6incompatible
2 parents e0fa119 + 0fd0325 commit 46773c5

File tree

5 files changed

+18
-2
lines changed

5 files changed

+18
-2
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ jobs:
4747
uses: goreleaser/goreleaser-action@v2
4848
with:
4949
version: latest
50-
args: release --rm-dist
50+
args: release --clean
5151
env:
5252
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

cmd/outline-ss-server/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ func (s *OutlineServer) runConfig(config Config) (func() error, error) {
344344
conn, err := websocket.Upgrade(w, r, nil)
345345
if err != nil {
346346
slog.Error("failed to upgrade", "err", err)
347+
return
347348
}
348349
defer conn.Close()
349350
// RemoteAddr is "IP:port" for direct connections, but may be just "IP" when proxied.
@@ -364,6 +365,7 @@ func (s *OutlineServer) runConfig(config Config) (func() error, error) {
364365
conn, err := websocket.Upgrade(w, r, nil)
365366
if err != nil {
366367
slog.Error("failed to upgrade", "err", err)
368+
return
367369
}
368370
defer conn.Close()
369371
// RemoteAddr is "IP:port" for direct connections, but may be just "IP" when proxied.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module github.com/Jigsaw-Code/outline-ss-server
22

33
require (
44
github.com/Jigsaw-Code/outline-sdk v0.0.18-0.20241106233708-faffebb12629
5-
github.com/Jigsaw-Code/outline-sdk/x v0.0.0-20250204151340-93ebcb07dba9
5+
github.com/Jigsaw-Code/outline-sdk/x v0.0.2-0.20250304133713-52f1a365e5ed
66
github.com/go-task/task/v3 v3.34.1
77
github.com/go-viper/mapstructure/v2 v2.2.1
88
github.com/google/addlicense v1.1.1

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,10 @@ github.com/Jigsaw-Code/outline-sdk v0.0.18-0.20241106233708-faffebb12629 h1:sHi1
530530
github.com/Jigsaw-Code/outline-sdk v0.0.18-0.20241106233708-faffebb12629/go.mod h1:CFDKyGZA4zatKE4vMLe8TyQpZCyINOeRFbMAmYHxodw=
531531
github.com/Jigsaw-Code/outline-sdk/x v0.0.0-20250204151340-93ebcb07dba9 h1:GKvH8vGir6MbJmWZfh/zNlBKl5z4TxCsfDnn8eHghMk=
532532
github.com/Jigsaw-Code/outline-sdk/x v0.0.0-20250204151340-93ebcb07dba9/go.mod h1:aFUEz6Z/eD0NS3c3fEIX+JO2D9aIrXCmWTb1zJFlItw=
533+
github.com/Jigsaw-Code/outline-sdk/x v0.0.1 h1:DW8Ja4iWKPqYpnahBXQ/eg1WVDw/F3Pktbz1mBWTZXw=
534+
github.com/Jigsaw-Code/outline-sdk/x v0.0.1/go.mod h1:aFUEz6Z/eD0NS3c3fEIX+JO2D9aIrXCmWTb1zJFlItw=
535+
github.com/Jigsaw-Code/outline-sdk/x v0.0.2-0.20250304133713-52f1a365e5ed h1:NfybsWzXQLPNueDsoPJMmvw/i7hWXqk9xaoA9X1cGgM=
536+
github.com/Jigsaw-Code/outline-sdk/x v0.0.2-0.20250304133713-52f1a365e5ed/go.mod h1:aFUEz6Z/eD0NS3c3fEIX+JO2D9aIrXCmWTb1zJFlItw=
533537
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
534538
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
535539
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=

service/udp.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,11 @@ func (h *associationHandler) HandleAssociation(ctx context.Context, clientConn n
170170
var proxyTargetBytes int
171171

172172
connError := func() *onet.ConnectionError {
173+
// Error from `clientConn.Read()`.
174+
if err != nil {
175+
return onet.NewConnectionError("ERR_READ", "Failed to read from association", err)
176+
}
177+
173178
var payload []byte
174179
var tgtUDPAddr *net.UDPAddr
175180
if targetConn == nil {
@@ -233,6 +238,11 @@ func (h *associationHandler) HandleAssociation(ctx context.Context, clientConn n
233238
status = connError.Status
234239
}
235240
assocMetrics.AddPacketFromClient(status, int64(clientProxyBytes), int64(proxyTargetBytes))
241+
if targetConn == nil {
242+
// If there's still no target connection, we didn't authenticate. Break out of handling the
243+
// association here so resources can be released.
244+
break
245+
}
236246
}
237247
}
238248

0 commit comments

Comments
 (0)