From f9bb02155daa1a200976cb5337ac2d4f360dd0fe Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 2 Oct 2022 10:26:02 +0200 Subject: [PATCH] chore: add patch check --- main.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/main.go b/main.go index 798586ab6..a78ffb93b 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "embed" + "fmt" "io" "io/fs" "log" @@ -9,6 +10,7 @@ import ( "github.com/evcc-io/evcc/cmd" "github.com/evcc-io/evcc/server" _ "github.com/evcc-io/evcc/util/goversion" // require minimum go version + "golang.org/x/crypto/cryptobyte" ) //go:embed dist @@ -30,5 +32,12 @@ func main() { // see https://github.com/golang/oauth2/issues/487 log.SetOutput(io.Discard) + // Test if go is patched for accepting the buggy Elli certificate + var res bool + b := cryptobyte.String([]byte{0x01, 0x01, 0x01}) + if ok := b.ReadASN1Boolean(&res); !ok || !res { + panic(fmt.Sprintf("Crypto patch missing. Run `make patch-asn1` before compiling. Debug: %v/%v (want: true/true).", ok, res)) + } + cmd.Execute() }