From 906c99715fecbe569e3ca84bc8212f2022e84346 Mon Sep 17 00:00:00 2001 From: Matthew McPherrin Date: Mon, 13 May 2019 16:00:40 -0700 Subject: [PATCH] Add a "nopkcs11" build tag This allows opting out of PKCS11 (to avoid needing libltdl), but with CGO still enabled so certstore is usable ~ CGO_ENABLED=1 go build -tags "nopkcs11 certstore" ~ otool -L ./ghostunnel ./ghostunnel: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1570.15.0) /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 58286.251.4) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1) --- .travis.yml | 1 + certloader/pkcs11_disabled.go | 2 +- certloader/pkcs11_enabled.go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4239f533ab1..83dce06b237 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,6 +35,7 @@ before_install: install: # Compile with CGO on/off for testing - CGO_ENABLED=0 go build -o ghostunnel-${TRAVIS_TAG}-linux-amd64-without-pkcs11 . + - CGO_ENABLED=1 go build -tags nopkcs11 -o ghostunnel-${TRAVIS_TAG}-linux-amd64-without-pkcs11-but-with-cgo . - CGO_ENABLED=1 go build -o ghostunnel-${TRAVIS_TAG}-linux-amd64-with-pkcs11 . # Build Docker container - make docker-build diff --git a/certloader/pkcs11_disabled.go b/certloader/pkcs11_disabled.go index 6e4d705e2b5..315e16e0e4c 100644 --- a/certloader/pkcs11_disabled.go +++ b/certloader/pkcs11_disabled.go @@ -1,4 +1,4 @@ -// +build !cgo +// +build !cgo nopkcs11 /*- * Copyright 2018 Square Inc. diff --git a/certloader/pkcs11_enabled.go b/certloader/pkcs11_enabled.go index b5b12658183..a43ec4788dc 100644 --- a/certloader/pkcs11_enabled.go +++ b/certloader/pkcs11_enabled.go @@ -1,4 +1,4 @@ -// +build cgo +// +build cgo,!nopkcs11 /*- * Copyright 2018 Square Inc.