]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/go-plugin/server.go
update vendor and go.mod
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / go-plugin / server.go
index fc9f05a9fbcb75ea7784dce55470fa193028495b..4c230e3ab4cf1374d51dd1da00db3f9b4285a035 100644 (file)
@@ -363,14 +363,34 @@ func serverListener() (net.Listener, error) {
 }
 
 func serverListener_tcp() (net.Listener, error) {
-       minPort, err := strconv.ParseInt(os.Getenv("PLUGIN_MIN_PORT"), 10, 32)
-       if err != nil {
-               return nil, err
+       envMinPort := os.Getenv("PLUGIN_MIN_PORT")
+       envMaxPort := os.Getenv("PLUGIN_MAX_PORT")
+
+       var minPort, maxPort int64
+       var err error
+
+       switch {
+       case len(envMinPort) == 0:
+               minPort = 0
+       default:
+               minPort, err = strconv.ParseInt(envMinPort, 10, 32)
+               if err != nil {
+                       return nil, fmt.Errorf("Couldn't get value from PLUGIN_MIN_PORT: %v", err)
+               }
        }
 
-       maxPort, err := strconv.ParseInt(os.Getenv("PLUGIN_MAX_PORT"), 10, 32)
-       if err != nil {
-               return nil, err
+       switch {
+       case len(envMaxPort) == 0:
+               maxPort = 0
+       default:
+               maxPort, err = strconv.ParseInt(envMaxPort, 10, 32)
+               if err != nil {
+                       return nil, fmt.Errorf("Couldn't get value from PLUGIN_MAX_PORT: %v", err)
+               }
+       }
+
+       if minPort > maxPort {
+               return nil, fmt.Errorf("ENV_MIN_PORT value of %d is greater than PLUGIN_MAX_PORT value of %d", minPort, maxPort)
        }
 
        for port := minPort; port <= maxPort; port++ {