From 931a2e4d2532cd5d01271eeba127a164f6af61b6 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 28 Jul 2021 11:22:22 -0400 Subject: [PATCH] chore: added changelog for 9793 (secp256r1 tx malleability) (backport #9796) (#9798) * chore: added changelog for 9793 (secp256r1 tx malleability) (#9796) ## Description Added missing changelog and updated a `p256Order` comment to remove misleading part. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [x] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] provided a link to the relevant issue or specification - [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing) - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) (cherry picked from commit ff85c1de1f022c7cc8eece2d220db57b3fd5005c) # Conflicts: # CHANGELOG.md * Fix merge conflicts * Re-fix changelog * revert fix_registration to what's on master * Revert all files to master Co-authored-by: Robert Zaremba Co-authored-by: Cory Levinson Co-authored-by: Amaury M <1293565+amaurym@users.noreply.github.com> --- CHANGELOG.md | 4 ++++ crypto/keys/internal/ecdsa/privkey.go | 8 +------- server/grpc/gogoreflection/fix_registration.go | 9 +++++---- server/grpc/gogoreflection/serverreflection.go | 1 + x/auth/tx/service.go | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d95bae220490..3fb83798fc6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,10 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (cli) [\#9717](https://github.com/cosmos/cosmos-sdk/pull/9717) Added CLI flag `--output json/text` to `tx` cli commands. +### Bug Fixes + +* [\#9793](https://github.com/cosmos/cosmos-sdk/pull/9793) Fixed ECDSA/secp256r1 transaction malleability. + ## [v0.43.0-rc2](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0-rc2) - 2021-07-19 ### Bug Fixes diff --git a/crypto/keys/internal/ecdsa/privkey.go b/crypto/keys/internal/ecdsa/privkey.go index 088d85bf2f53..690c07670d64 100644 --- a/crypto/keys/internal/ecdsa/privkey.go +++ b/crypto/keys/internal/ecdsa/privkey.go @@ -12,13 +12,7 @@ import ( // p256Order returns the curve order for the secp256r1 curve // NOTE: this is specific to the secp256r1/P256 curve, // and not taken from the domain params for the key itself -// (which would be a more generic approach for all EC) -// In *here* we don't need to do it as a method on the key -// since this code is only called for secp256r1 -// if called on a key: -// func (sk PrivKey) pCurveOrder() *.big.Int { -// return sk.Curve.Params().N -// } +// (which would be a more generic approach for all EC). var p256Order = elliptic.P256().Params().N // p256HalfOrder returns half the curve order diff --git a/server/grpc/gogoreflection/fix_registration.go b/server/grpc/gogoreflection/fix_registration.go index fadcdbd20059..57ade8246a7e 100644 --- a/server/grpc/gogoreflection/fix_registration.go +++ b/server/grpc/gogoreflection/fix_registration.go @@ -6,6 +6,7 @@ import ( _ "github.com/gogo/protobuf/gogoproto" // required so it does register the gogoproto file descriptor gogoproto "github.com/gogo/protobuf/proto" + // nolint: staticcheck "github.com/golang/protobuf/proto" dpb "github.com/golang/protobuf/protoc-gen-go/descriptor" _ "github.com/regen-network/cosmos-proto" // look above @@ -18,7 +19,7 @@ func getFileDescriptor(filePath string) []byte { if len(fd) != 0 { return fd } - + // nolint: staticcheck return proto.FileDescriptor(filePath) } @@ -27,7 +28,7 @@ func getMessageType(name string) reflect.Type { if typ != nil { return typ } - + // nolint: staticcheck return proto.MessageType(name) } @@ -40,7 +41,7 @@ func getExtension(extID int32, m proto.Message) *gogoproto.ExtensionDesc { } // check into proto registry - + // nolint: staticcheck for id, desc := range proto.RegisteredExtensions(m) { if id == extID { return &gogoproto.ExtensionDesc{ @@ -67,7 +68,7 @@ func getExtensionsNumbers(m proto.Message) []int32 { if len(out) != 0 { return out } - + // nolint: staticcheck protoExts := proto.RegisteredExtensions(m) out = make([]int32, 0, len(protoExts)) for id := range protoExts { diff --git a/server/grpc/gogoreflection/serverreflection.go b/server/grpc/gogoreflection/serverreflection.go index e209d6fde6da..8a08d424c189 100644 --- a/server/grpc/gogoreflection/serverreflection.go +++ b/server/grpc/gogoreflection/serverreflection.go @@ -42,6 +42,7 @@ import ( "sort" "sync" + // nolint: staticcheck "github.com/golang/protobuf/proto" dpb "github.com/golang/protobuf/protoc-gen-go/descriptor" "google.golang.org/grpc" diff --git a/x/auth/tx/service.go b/x/auth/tx/service.go index cd31dde22845..b9633990d7ee 100644 --- a/x/auth/tx/service.go +++ b/x/auth/tx/service.go @@ -5,7 +5,7 @@ import ( "strings" gogogrpc "github.com/gogo/protobuf/grpc" - "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/proto" // nolint: staticcheck "github.com/grpc-ecosystem/grpc-gateway/runtime" "google.golang.org/grpc/codes" "google.golang.org/grpc/status"