mirror of https://github.com/golang/go.git
[dev.boringcrypto] crypto/boring: expose boring.Enabled()
This will let applications check whether they are using BoringCrypto without making assumptions. Change-Id: I704304aa4f2095029d536a91708e8b9efddec01c Reviewed-on: https://go-review.googlesource.com/c/go/+/250499 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Trust: Filippo Valsorda <filippo@golang.org> Reviewed-by: Katie Hockman <katie@golang.org>
This commit is contained in:
parent
3782421230
commit
ef2b318974
|
|
@ -0,0 +1,16 @@
|
|||
// Copyright 2020 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package boring exposes functions that are only available when building with
|
||||
// Go+BoringCrypto. This package is available on all targets as long as the
|
||||
// Go+BoringCrypto toolchain is used. Use the Enabled function to determine
|
||||
// whether the BoringCrypto core is actually in use.
|
||||
package boring
|
||||
|
||||
import "crypto/internal/boring"
|
||||
|
||||
// Enabled reports whether BoringCrypto handles supported crypto operations.
|
||||
func Enabled() bool {
|
||||
return boring.Enabled
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright 2020 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package boring_test
|
||||
|
||||
import (
|
||||
"crypto/boring"
|
||||
"runtime"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestEnabled(t *testing.T) {
|
||||
supportedPlatform := runtime.GOOS == "linux" && runtime.GOARCH == "amd64"
|
||||
if supportedPlatform && !boring.Enabled() {
|
||||
t.Error("Enabled returned false on a supported platform")
|
||||
} else if !supportedPlatform && boring.Enabled() {
|
||||
t.Error("Enabled returned true on an unsupported platform")
|
||||
}
|
||||
}
|
||||
|
|
@ -393,6 +393,9 @@ var depsRules = `
|
|||
crypto/internal/boring/sig, crypto/internal/boring/fipstls
|
||||
< crypto/tls/fipsonly;
|
||||
|
||||
crypto/internal/boring
|
||||
< crypto/boring;
|
||||
|
||||
# crypto-aware packages
|
||||
|
||||
NET, crypto/rand, mime/quotedprintable
|
||||
|
|
|
|||
Loading…
Reference in New Issue