[v0.21.x-branch] Backport #11105: build: bump grpc to v1.83.1 - #11109
Conversation
(cherry picked from commit ad7ccc0)
x/crypto v0.51.0 adds a second failure mode to chacha20poly1305.New: it now returns an error under Go's strict FIPS 140-only mode, in addition to the existing bad-key-length case. The key here is a fixed [32]byte, and lnd cannot run under strict FIPS mode because brontide mandates ChaCha20-Poly1305, so the discarded error remains unreachable. Expand the comment to record that widened invariant. (cherry picked from commit 8a23e33)
grpc v1.83.1 requires google.golang.org/protobuf v1.36.11, and lnrpc/gen_protos_docker.sh derives PROTOBUF_VERSION from the version selected in go.mod. The generator therefore moves from v1.36.10 to v1.36.11, which rewrites the version comment in every generated stub. Regenerate so that 'make rpc-check' stays clean. The change is limited to the protoc-gen-go version comment; no generated code changes.
🔴 PR Severity: CRITICAL
🔴 Critical (1 file)
🟠 High (17 files)
🟡 Medium (2 files)
🟢 Low (1 file)
AnalysisThis is a routine To override, add a |
Verifying the regenerated stubsThe stub regeneration in Wherever a 15 protos identical to master → 15 / 15 generated files byte-identical. No differences. Same check on the v0.20.x companion (#11110), where the
|
db3f28b
into
lightningnetwork:v0.21.x-branch
Backport of #11105
Opened manually rather than via the backport bot, since the change touches
.github/files.Two deviations from a verbatim replay, both forced by the branch topology:
go.mod/go.sumwere regenerated rather than replayed.masterandv0.21.x-branchhave different module graphs, so the dependency commitconflicted. Importing master's files wholesale would have dragged in bumps
belonging to other master PRs, so the bump was reproduced on the branch with
go get google.golang.org/grpc@v1.83.1 && go mod tidy. The resulting net diffmatches the shape of the original: grpc plus the transitive requirements it
selects (
golang.org/x/{crypto,mod,net,sync,sys,term,text,tools}, the twogenproto/googleapismodules,go.opentelemetry.io/otel*, andgoogle.golang.org/protobuf).The
kvdb: bump grpc module floorcommit is omitted as a no-op.mastercarries
replace github.com/lightningnetwork/lnd/kvdb => ./kvdb, so the rootbump flows into the local module there.
v0.21.x-branchhas no localsub-module replaces and consumes published
kvdb v1.4.16, so itskvdbmodule graph is independent of the root bump —
go mod tidyinkvdb/produces no change on this branch.
A third commit regenerates the RPC stubs.
lnrpc/gen_protos_docker.shderives
PROTOBUF_VERSIONfrom the protobuf version selected ingo.mod,and grpc
v1.83.1requiresgoogle.golang.org/protobuf v1.36.11, so thegenerator moves from v1.36.10 to v1.36.11 and rewrites the version comment in
all 17 generated stubs. Without the regen,
make rpc-checkfails.masterdid not need this because it was already on protobuf v1.36.11 (see 3f3718c,
which bumped protobuf and regenerated the same 17 files). The diff is the
version comment only — no generated code changes.
Note the
protobuf-go-hex-displayreplace stays atv1.33.0-hex-displayonthis branch (master is at
v1.36.11-hex-display). grpcv1.83.1compilesagainst it, so the replace is left untouched.
Steps to Test
go build ./...go vet ./brontide/...go test ./brontide/...go mod tidyproduces no drift ingo.mod/go.sumChange Description
Routine maintenance bump of
google.golang.org/grpcto the latest release,v1.83.1, keeping our gRPC dependency current with upstream. The latestrelease rolls up a number of upstream fixes and robustness improvements over
the version we currently pin.
The pinned-dependency CI matrix entry in
.github/workflows/main.ymlis updatedto match, mirroring the previous grpc bump (#10841).
A follow-up commit widens the
brontide.InitializeKeycomment:x/crypto v0.51.0adds a FIPS-140-only failure mode tochacha20poly1305.New, which thebump pulls in.
Pull Request Checklist
Testing
Code Style and Documentation
no-changeloglabel applied.