mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-05-17 02:36:35 +00:00

The lucas-clemente/quic-go package moved namespaces and our branch went stale, this new fork provides support for the new quic-go repo and applies the max datagram frame size change. Until the max datagram frame size support gets upstreamed into quic-go, this can be used to unblock go 1.20 support as the old lucas-clemente/quic-go will not get go 1.20 support.
23 lines
565 B
Go
23 lines
565 B
Go
//go:build !js
|
|
// +build !js
|
|
|
|
package qtls
|
|
|
|
import (
|
|
"runtime"
|
|
|
|
"golang.org/x/sys/cpu"
|
|
)
|
|
|
|
var (
|
|
hasGCMAsmAMD64 = cpu.X86.HasAES && cpu.X86.HasPCLMULQDQ
|
|
hasGCMAsmARM64 = cpu.ARM64.HasAES && cpu.ARM64.HasPMULL
|
|
// Keep in sync with crypto/aes/cipher_s390x.go.
|
|
hasGCMAsmS390X = cpu.S390X.HasAES && cpu.S390X.HasAESCBC && cpu.S390X.HasAESCTR &&
|
|
(cpu.S390X.HasGHASH || cpu.S390X.HasAESGCM)
|
|
|
|
hasAESGCMHardwareSupport = runtime.GOARCH == "amd64" && hasGCMAsmAMD64 ||
|
|
runtime.GOARCH == "arm64" && hasGCMAsmARM64 ||
|
|
runtime.GOARCH == "s390x" && hasGCMAsmS390X
|
|
)
|