diff options
Diffstat (limited to 'vendor/github.com/hashicorp/go-plugin/server.go')
-rw-r--r-- | vendor/github.com/hashicorp/go-plugin/server.go | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/vendor/github.com/hashicorp/go-plugin/server.go b/vendor/github.com/hashicorp/go-plugin/server.go index fc9f05a..4c230e3 100644 --- a/vendor/github.com/hashicorp/go-plugin/server.go +++ b/vendor/github.com/hashicorp/go-plugin/server.go | |||
@@ -363,14 +363,34 @@ func serverListener() (net.Listener, error) { | |||
363 | } | 363 | } |
364 | 364 | ||
365 | func serverListener_tcp() (net.Listener, error) { | 365 | func serverListener_tcp() (net.Listener, error) { |
366 | minPort, err := strconv.ParseInt(os.Getenv("PLUGIN_MIN_PORT"), 10, 32) | 366 | envMinPort := os.Getenv("PLUGIN_MIN_PORT") |
367 | if err != nil { | 367 | envMaxPort := os.Getenv("PLUGIN_MAX_PORT") |
368 | return nil, err | 368 | |
369 | var minPort, maxPort int64 | ||
370 | var err error | ||
371 | |||
372 | switch { | ||
373 | case len(envMinPort) == 0: | ||
374 | minPort = 0 | ||
375 | default: | ||
376 | minPort, err = strconv.ParseInt(envMinPort, 10, 32) | ||
377 | if err != nil { | ||
378 | return nil, fmt.Errorf("Couldn't get value from PLUGIN_MIN_PORT: %v", err) | ||
379 | } | ||
369 | } | 380 | } |
370 | 381 | ||
371 | maxPort, err := strconv.ParseInt(os.Getenv("PLUGIN_MAX_PORT"), 10, 32) | 382 | switch { |
372 | if err != nil { | 383 | case len(envMaxPort) == 0: |
373 | return nil, err | 384 | maxPort = 0 |
385 | default: | ||
386 | maxPort, err = strconv.ParseInt(envMaxPort, 10, 32) | ||
387 | if err != nil { | ||
388 | return nil, fmt.Errorf("Couldn't get value from PLUGIN_MAX_PORT: %v", err) | ||
389 | } | ||
390 | } | ||
391 | |||
392 | if minPort > maxPort { | ||
393 | return nil, fmt.Errorf("ENV_MIN_PORT value of %d is greater than PLUGIN_MAX_PORT value of %d", minPort, maxPort) | ||
374 | } | 394 | } |
375 | 395 | ||
376 | for port := minPort; port <= maxPort; port++ { | 396 | for port := minPort; port <= maxPort; port++ { |