diff --git a/.dockerignore b/.dockerignore index 5937da64..63775f79 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,4 @@ config/dnsconfig/ -data/ \ No newline at end of file +data/ +/.git +/*.tar \ No newline at end of file diff --git a/controllers/node.go b/controllers/node.go index 69e13868..4f06e9da 100644 --- a/controllers/node.go +++ b/controllers/node.go @@ -157,7 +157,7 @@ func authenticate(response http.ResponseWriter, request *http.Request) { func authorize(hostAllowed, networkCheck bool, authNetwork string, next http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var errorResponse = models.ErrorResponse{ - Code: http.StatusUnauthorized, Message: logic.Unauthorized_Msg, + Code: http.StatusForbidden, Message: logic.Forbidden_Msg, } var params = mux.Vars(r) diff --git a/controllers/server.go b/controllers/server.go index faef6ec7..110c792d 100644 --- a/controllers/server.go +++ b/controllers/server.go @@ -56,7 +56,7 @@ func getStatus(w http.ResponseWriter, r *http.Request) { func allowUsers(next http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var errorResponse = models.ErrorResponse{ - Code: http.StatusInternalServerError, Message: logic.Unauthorized_Msg, + Code: http.StatusInternalServerError, Message: logic.Forbidden_Msg, } bearerToken := r.Header.Get("Authorization") var tokenSplit = strings.Split(bearerToken, " ") diff --git a/logic/security.go b/logic/security.go index a6b13dbb..3f216a60 100644 --- a/logic/security.go +++ b/logic/security.go @@ -18,6 +18,8 @@ const ( ALL_NETWORK_ACCESS = "THIS_USER_HAS_ALL" master_uname = "masteradministrator" + Forbidden_Msg = "forbidden" + Forbidden_Err = models.Error(Forbidden_Msg) Unauthorized_Msg = "unauthorized" Unauthorized_Err = models.Error(Unauthorized_Msg) ) @@ -27,7 +29,7 @@ func SecurityCheck(reqAdmin bool, next http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var errorResponse = models.ErrorResponse{ - Code: http.StatusUnauthorized, Message: Unauthorized_Msg, + Code: http.StatusForbidden, Message: Forbidden_Msg, } var params = mux.Vars(r) @@ -66,7 +68,7 @@ func SecurityCheck(reqAdmin bool, next http.Handler) http.HandlerFunc { func NetUserSecurityCheck(isNodes, isClients bool, next http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var errorResponse = models.ErrorResponse{ - Code: http.StatusUnauthorized, Message: "unauthorized", + Code: http.StatusForbidden, Message: Forbidden_Msg, } r.Header.Set("ismaster", "no") @@ -152,7 +154,7 @@ func UserPermissions(reqAdmin bool, netname string, token string) ([]string, str return nil, username, Unauthorized_Err } if !isadmin && reqAdmin { - return nil, username, Unauthorized_Err + return nil, username, Forbidden_Err } userNetworks = networks if isadmin { @@ -160,10 +162,10 @@ func UserPermissions(reqAdmin bool, netname string, token string) ([]string, str } // check network admin access if len(netname) > 0 && (len(userNetworks) == 0 || !authenticateNetworkUser(netname, userNetworks)) { - return nil, username, Unauthorized_Err + return nil, username, Forbidden_Err } if isEE && len(netname) > 0 && !pro.IsUserNetAdmin(netname, username) { - return nil, "", Unauthorized_Err + return nil, "", Forbidden_Err } return userNetworks, username, nil } @@ -193,7 +195,7 @@ func authenticateDNSToken(tokenString string) bool { func ContinueIfUserMatch(next http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var errorResponse = models.ErrorResponse{ - Code: http.StatusUnauthorized, Message: Unauthorized_Msg, + Code: http.StatusForbidden, Message: Forbidden_Msg, } var params = mux.Vars(r) var requestedUser = params["username"]