Преглед изворни кода

truststore_darwin: check the default Homebrew path for certutil

"mkcert localhost" went from 2.125s to 0.552s, a 4x speedup.

Fixes #135
Filippo Valsorda пре 5 година
родитељ
комит
8ff73503d2
1 измењених фајлова са 8 додато и 2 уклоњено
  1. 8 2
      truststore_nss.go

+ 8 - 2
truststore_nss.go

@@ -41,9 +41,15 @@ func init() {
 
 	switch runtime.GOOS {
 	case "darwin":
-		if hasCertutil = binaryExists("certutil"); hasCertutil {
+		switch {
+		case binaryExists("certutil"):
 			certutilPath, _ = exec.LookPath("certutil")
-		} else {
+			hasCertutil = true
+		case binaryExists("/usr/local/opt/nss/bin/certutil"):
+			// Check the default Homebrew path, to save executing Ruby. #135
+			certutilPath = "/usr/local/opt/nss/bin/certutil"
+			hasCertutil = true
+		default:
 			out, err := exec.Command("brew", "--prefix", "nss").Output()
 			if err == nil {
 				certutilPath = filepath.Join(strings.TrimSpace(string(out)), "bin", "certutil")