aboutsummaryrefslogtreecommitdiffstats
path: root/models/migrations/v1_16
diff options
context:
space:
mode:
authorChongyi Zheng <git@zcy.dev>2023-08-29 16:19:40 -0400
committerGitHub <noreply@github.com>2023-08-29 22:19:40 +0200
commit2d9249b6d9b57dea57b70357432bda945504c4b5 (patch)
tree71464d3adbf21fa08f37d228413850a1ea312c0d /models/migrations/v1_16
parent438c7642c79c44576302f9503cf14d39b3414956 (diff)
downloadgitea-2d9249b6d9b57dea57b70357432bda945504c4b5.tar.gz
gitea-2d9249b6d9b57dea57b70357432bda945504c4b5.zip
Replace deprecated `elliptic.Marshal` (#26800)
In PR #26786, the Go version for golangci-lint is bumped to 1.21. This causes the following error: ``` models/migrations/v1_16/v210.go:132:23: SA1019: elliptic.Marshal has been deprecated since Go 1.21: for ECDH, use the crypto/ecdh package. This function returns an encoding equivalent to that of PublicKey.Bytes in crypto/ecdh. (staticcheck) PublicKey: elliptic.Marshal(elliptic.P256(), parsed.PubKey.X, parsed.PubKey.Y), ``` The change now uses [func (*PublicKey) ECDH](https://pkg.go.dev/crypto/ecdsa#PublicKey.ECDH), which is added in Go 1.20.
Diffstat (limited to 'models/migrations/v1_16')
-rw-r--r--models/migrations/v1_16/v210.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/models/migrations/v1_16/v210.go b/models/migrations/v1_16/v210.go
index 4e55afccc1..533bb4bf80 100644
--- a/models/migrations/v1_16/v210.go
+++ b/models/migrations/v1_16/v210.go
@@ -4,7 +4,6 @@
package v1_16 //nolint
import (
- "crypto/elliptic"
"encoding/base32"
"fmt"
"strings"
@@ -123,13 +122,17 @@ func RemigrateU2FCredentials(x *xorm.Engine) error {
if err != nil {
continue
}
+ pubKey, err := parsed.PubKey.ECDH()
+ if err != nil {
+ continue
+ }
remigrated := &webauthnCredential{
ID: reg.ID,
Name: reg.Name,
LowerName: strings.ToLower(reg.Name),
UserID: reg.UserID,
CredentialID: base32.HexEncoding.EncodeToString(parsed.KeyHandle),
- PublicKey: elliptic.Marshal(elliptic.P256(), parsed.PubKey.X, parsed.PubKey.Y),
+ PublicKey: pubKey.Bytes(),
AttestationType: "fido-u2f",
AAGUID: []byte{},
SignCount: reg.Counter,