From e0cb814f3fdce25f30926a02be4df3bf732bb549 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 1 Oct 2020 13:23:31 -0700 Subject: [PATCH] fail if port is not accessible (#10616) throw proper error when port is not accessible for the regular user, this is possibly a regression. ``` ERROR Unable to start the server: Insufficient permissions to use specified port > Please ensure MinIO binary has 'cap_net_bind_service=+ep' permissions HINT: Use 'sudo setcap cap_net_bind_service=+ep /path/to/minio' to provide sufficient permissions ``` --- cmd/config/errors-utils.go | 11 ++++------- cmd/config/errors.go | 12 ------------ cmd/net.go | 5 +---- 3 files changed, 5 insertions(+), 23 deletions(-) diff --git a/cmd/config/errors-utils.go b/cmd/config/errors-utils.go index 7fd52cb1c..5222f6446 100644 --- a/cmd/config/errors-utils.go +++ b/cmd/config/errors-utils.go @@ -19,7 +19,6 @@ package config import ( "errors" "fmt" - "io" "net" "syscall" @@ -111,18 +110,16 @@ func ErrorToErr(err error) Err { case *net.OpError: return ErrPortAccess(err).Msg("Insufficient permissions to use specified port") } - return ErrNoPermissionsToAccessDirFiles(err).Msg("Insufficient permissions to access path") - } else if errors.Is(err, io.ErrUnexpectedEOF) { - return ErrUnexpectedDataContent(err) - } else { - // Failed to identify what type of error this, return a simple UI error - return Err{msg: err.Error()} } + + // Failed to identify what type of error this, return a simple UI error + return Err{msg: err.Error()} } // FmtError converts a fatal error message to a more clear error // using some colors func FmtError(introMsg string, err error, jsonFlag bool) string { + renderedTxt := "" uiErr := ErrorToErr(err) // JSON print diff --git a/cmd/config/errors.go b/cmd/config/errors.go index 3ab86687e..d9210a5a4 100644 --- a/cmd/config/errors.go +++ b/cmd/config/errors.go @@ -205,12 +205,6 @@ Example 1: `Use 'sudo setcap cap_net_bind_service=+ep /path/to/minio' to provide sufficient permissions`, ) - ErrNoPermissionsToAccessDirFiles = newErrFn( - "Missing permissions to access the specified path", - "Please ensure the specified path can be accessed", - "", - ) - ErrSSLUnexpectedError = newErrFn( "Invalid TLS certificate", "Please check the content of your certificate data", @@ -247,12 +241,6 @@ Example 1: "", ) - ErrUnexpectedDataContent = newErrFn( - "Unexpected data content", - "Please contact MinIO at https://slack.min.io", - "", - ) - ErrUnexpectedError = newErrFn( "Unexpected error", "Please contact MinIO at https://slack.min.io", diff --git a/cmd/net.go b/cmd/net.go index 298d1e9d9..89762c28a 100644 --- a/cmd/net.go +++ b/cmd/net.go @@ -23,7 +23,6 @@ import ( "net/url" "sort" "strings" - "syscall" "github.com/minio/minio-go/v7/pkg/set" "github.com/minio/minio/cmd/config" @@ -199,9 +198,7 @@ func checkPortAvailability(host, port string) (err error) { if err = l.Close(); err != nil { return err } - } else if errors.Is(err, syscall.EADDRINUSE) { - // As we got EADDRINUSE error, the port is in use by other process. - // Return the error. + } else { return err } }