Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ jobs:
fail-fast: false
matrix:
include:
- go: '1.27.2'
version: '1.27.2'
- go: '1.27.3'
version: '1.27.3'
- go: '1.27.x'
# Reject stale manifests and caches below the security baseline.
version: '>=1.27.2 <1.28.0'
version: '>=1.27.3 <1.28.0'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
Expand Down Expand Up @@ -73,26 +73,26 @@ jobs:
if-no-files-found: error

macos-test:
name: macOS test (Go 1.27.2)
name: macOS test (Go 1.27.3)
runs-on: macos-14
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: 1.27.2
go-version: 1.27.3
cache: true
- name: Test
run: go test -shuffle=on -count=1 ./...

windows-udp-test:
name: Windows UDP continuity (Go 1.27.2)
name: Windows UDP continuity (Go 1.27.3)
runs-on: windows-2022
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: 1.27.2
go-version: 1.27.3
cache: true
- name: Exercise native UDP continuity and platform bind errors
shell: pwsh
Expand Down Expand Up @@ -159,7 +159,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: '>=1.27.2 <1.28.0'
go-version: '>=1.27.3 <1.28.0'
check-latest: true
cache: true
- run: make race
Expand All @@ -171,7 +171,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: 1.27.2
go-version: 1.27.3
cache: true
- name: Run govulncheck
run: ./scripts/govulncheck.sh
Expand Down Expand Up @@ -231,7 +231,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: '>=1.27.2 <1.28.0'
go-version: '>=1.27.3 <1.28.0'
check-latest: true
cache: true
- name: Cross-build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: '>=1.27.2 <1.28.0'
go-version: '>=1.27.3 <1.28.0'
check-latest: true
cache: true
- uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: '>=1.27.2 <1.28.0'
go-version: '>=1.27.3 <1.28.0'
check-latest: true
cache: true
- name: Fuzz ${{ matrix.target }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/netem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: '>=1.27.2 <1.28.0'
go-version: '>=1.27.3 <1.28.0'
check-latest: true
cache: true
- name: Install network test tools
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: 1.27.2
go-version: 1.27.3
cache: true
- name: Verify tagged source and successful main checks
id: source
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1

FROM --platform=$BUILDPLATFORM golang:1.27.2-alpine3.24@sha256:85dc1069ac644ea3c527b177303a406eb3358192816cd7f9e5848eb658851673 AS build
FROM --platform=$BUILDPLATFORM golang:1.27.3-alpine3.24@sha256:d200d2dd76b03a99b52651fd1325aff7dcd35422c35c01bac56571b0507f3deb AS build

ARG TARGETOS
ARG TARGETARCH
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Web cover 的目标是正常网站兼容、减少主动探测暴露并在 UDP

## 快速开始

客户端和服务端分别在各自机器上构建,需要 Go 1.27.2 或更高版本:
客户端和服务端分别在各自机器上构建,需要 Go 1.27.3 或更高版本:

```bash
git clone https://github.com/cppla/autocar.git
Expand Down
4 changes: 2 additions & 2 deletions docs/DEPENDENCY-MAINTENANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ web-H3 adapter's transitive imports. It is not a local source override.
The upstream baseline is
`v1.8.3-0.20261006222701-ff1b50fbbe9a`
(`ff1b50fbbe9a6dff1dcb1cfc0493bd5b0f073f67`). It requires Go 1.27;
AutoCAR's minimum supported toolchain is Go 1.27.2.
AutoCAR's minimum supported toolchain is Go 1.27.3.

The initial compatibility patch queue fixes custom-QUIC shutdown signaling and
transport-parameter ownership after preset cloning. Its deterministic shutdown
Expand Down Expand Up @@ -178,7 +178,7 @@ This is an update/release procedure, not a background monitoring service.

The October 9 pre-merge scan reported 11 reachable advisory IDs in the Go
1.27.1 / `x/net v0.59.0` build, following the October 8 advisory publication.
Current builds require [Go 1.27.2](https://go.dev/doc/devel/release#go1.27.0)
Current builds require [Go 1.27.3](https://go.dev/doc/devel/release#go1.27.0)
and select `x/net v0.60.0`, including the
[HTTP/2 HPACK race fix](https://pkg.go.dev/vuln/GO-2026-6617). CI, release builds
and all current Go builder images are updated together; historical validation
Expand Down
2 changes: 1 addition & 1 deletion docs/WEB_COVER.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ the upstream cannot be reached. Consequently, an upstream that requires an
`Authorization` request header is not suitable without a separate authorized
front end.

With the minimum Go 1.27.2 security update, the standard reverse proxy rejects
With the minimum Go 1.27.3 security update, the standard reverse proxy rejects
`CONNECT` before contacting the upstream, addressing
[GO-2026-6605](https://pkg.go.dev/vuln/GO-2026-6605). Unauthenticated or invalid
CONNECT/CONNECT-UDP requests delegated to a reverse-proxy cover therefore get
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/cppla/autocar

go 1.27.2
go 1.27.3

// Preserve upstream type identity for H2 and the web-H3 adapter. See docs/DEPENDENCY-MAINTENANCE.md.
replace github.com/refraction-networking/utls => github.com/cppla/utls v0.0.0-20261009031926-14c2a4cb1403
Expand Down
8 changes: 4 additions & 4 deletions scripts/stealth-build-info/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (

func fixtureBuildInfo(spec binarySpec) *debug.BuildInfo {
info := &debug.BuildInfo{
GoVersion: "go1.27.2",
GoVersion: "go1.27.3",
Path: spec.path,
Main: debug.Module{Path: "github.com/cppla/autocar", Version: "(devel)"},
Settings: []debug.BuildSetting{
Expand Down Expand Up @@ -57,7 +57,7 @@ func TestInspectBuildInfoReplacement(t *testing.T) {
if err != nil {
t.Fatal(err)
}
if len(got.Modules) != 3 || got.Package != autocarSpec.path || got.GoVersion != "go1.27.2" || got.GOOS != "linux" || got.GOARCH != "arm64" {
if len(got.Modules) != 3 || got.Package != autocarSpec.path || got.GoVersion != "go1.27.3" || got.GOOS != "linux" || got.GOARCH != "arm64" {
t.Fatalf("unexpected binary provenance: %+v", got)
}
for i, path := range selectedModules {
Expand Down Expand Up @@ -249,7 +249,7 @@ func TestProvenanceRequiresMatchingCompilerAndTarget(t *testing.T) {
for _, edit := range []func(*binaryProvenance){
func(b *binaryProvenance) { b.GOOS = "darwin" },
func(b *binaryProvenance) { b.GOARCH = "amd64" },
func(b *binaryProvenance) { b.GoVersion = "go1.27.3" },
func(b *binaryProvenance) { b.GoVersion = "go1.27.4" },
} {
changed := control
edit(&changed)
Expand Down Expand Up @@ -329,7 +329,7 @@ func TestReadRealCompiledBinaryOfflineWithoutExecuting(t *testing.T) {
if err := os.MkdirAll(commandDir, 0700); err != nil {
t.Fatal(err)
}
if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte("module github.com/cppla/autocar\n\ngo 1.27.2\n"), 0600); err != nil {
if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte("module github.com/cppla/autocar\n\ngo 1.27.3\n"), 0600); err != nil {
t.Fatal(err)
}
marker := filepath.Join(dir, "must-not-run")
Expand Down
2 changes: 1 addition & 1 deletion scripts/stealth-campaign-toy.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:1
FROM golang:1.27.2-alpine3.24@sha256:85dc1069ac644ea3c527b177303a406eb3358192816cd7f9e5848eb658851673 AS build
FROM golang:1.27.3-alpine3.24@sha256:d200d2dd76b03a99b52651fd1325aff7dcd35422c35c01bac56571b0507f3deb AS build
WORKDIR /src
COPY scripts/stealth-campaign-toy/main.go .
RUN CGO_ENABLED=0 GO111MODULE=off go build -trimpath -o /out/stealth-campaign-toy ./main.go
Expand Down
2 changes: 1 addition & 1 deletion scripts/stealth-capture.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# This helper is never a workload endpoint. The campaign driver uses its
# tcpdump/ip/tc binaries only inside explicitly labelled container namespaces.
# Reuse the already-pinned Alpine base used by stealth-lab.Dockerfile.
FROM golang:1.27.2-alpine3.24@sha256:85dc1069ac644ea3c527b177303a406eb3358192816cd7f9e5848eb658851673
FROM golang:1.27.3-alpine3.24@sha256:d200d2dd76b03a99b52651fd1325aff7dcd35422c35c01bac56571b0507f3deb

RUN apk add --no-cache iproute2 tcpdump

Expand Down
2 changes: 1 addition & 1 deletion scripts/stealth-full-runner.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Build both formal-campaign clients from the same pinned Go toolchain and
# module graph. The launcher records the resulting immutable image ID, then
# extracts the two binaries for campaign provenance.
FROM --platform=$BUILDPLATFORM golang:1.27.2-alpine3.24@sha256:85dc1069ac644ea3c527b177303a406eb3358192816cd7f9e5848eb658851673 AS build
FROM --platform=$BUILDPLATFORM golang:1.27.3-alpine3.24@sha256:d200d2dd76b03a99b52651fd1325aff7dcd35422c35c01bac56571b0507f3deb AS build

ARG TARGETOS
ARG TARGETARCH
Expand Down
2 changes: 1 addition & 1 deletion scripts/stealth-lab.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Keep the builder aligned with the product Dockerfile so the probe uses the
# same module graph and Go toolchain. The runtime is scratch: the test gateway,
# origin, probe, and control server require no shell or ambient packages.
FROM --platform=$BUILDPLATFORM golang:1.27.2-alpine3.24@sha256:85dc1069ac644ea3c527b177303a406eb3358192816cd7f9e5848eb658851673 AS build
FROM --platform=$BUILDPLATFORM golang:1.27.3-alpine3.24@sha256:d200d2dd76b03a99b52651fd1325aff7dcd35422c35c01bac56571b0507f3deb AS build

ARG TARGETOS
ARG TARGETARCH
Expand Down
2 changes: 1 addition & 1 deletion scripts/stealth-pilot-config.py
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@ def self_test_build_provenance(root: Path) -> Dict[str, Any]:
report: Dict[str, Any] = {"schema_version": 1, "kind": BUILD_INFO_KIND}
for role, filename in (("autocar", "autocar"), ("control", "stealth-pilot")):
report[role] = {
"binary_sha256": sha256(root / filename), "go_version": "go1.27.2",
"binary_sha256": sha256(root / filename), "go_version": "go1.27.3",
"goos": "linux", "goarch": "arm64", "package": BUILD_PACKAGES[role],
"modules": [{
"module_path": identity, "requested_version": "v0.63.0" if identity == NATIVE_QUIC else "v1.2.3",
Expand Down
2 changes: 1 addition & 1 deletion scripts/test_dependency_boundary.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def setUp(self):
f"replace {self.quic_upstream} => {self.quic_fork} {QUIC_FORK_VERSION}"
)
self.module = (
"module example.invalid/fixture\n\ngo 1.27.2\n\nrequire (\n"
"module example.invalid/fixture\n\ngo 1.27.3\n\nrequire (\n"
f"\t{PINS['ALLOWED_WEB_QUIC_MODULE']} {PINS['ALLOWED_WEB_QUIC_VERSION']}\n"
f"\t{self.upstream} {PINS['ALLOWED_UTLS_UPSTREAM_VERSION']}\n"
")\n\n" + self.replacement + "\n" + self.quic_replacement + "\n"
Expand Down
Loading