From 72687b9a0f7c45bbc4398d470e6ff2f1bf16f38e Mon Sep 17 00:00:00 2001 From: Anish Mukherjee Date: Tue, 13 Dec 2022 11:08:53 +0530 Subject: [PATCH] minor fix --- config/config.go | 88 +++++++++++++++++++-------------------- controllers/controller.go | 3 +- servercfg/serverconf.go | 8 ++-- 3 files changed, 50 insertions(+), 49 deletions(-) diff --git a/config/config.go b/config/config.go index 0aa01557..94d86867 100644 --- a/config/config.go +++ b/config/config.go @@ -32,50 +32,50 @@ type EnvironmentConfig struct { // ServerConfig - server conf struct type ServerConfig struct { - CoreDNSAddr string `yaml:"corednsaddr"` - APIConnString string `yaml:"apiconn"` - APIHost string `yaml:"apihost"` - APIPort string `yaml:"apiport"` - MQHOST string `yaml:"mqhost"` - MasterKey string `yaml:"masterkey"` - DNSKey string `yaml:"dnskey"` - AllowedOrigin []string `yaml:"allowedorigin"` - NodeID string `yaml:"nodeid"` - RestBackend string `yaml:"restbackend"` - AgentBackend string `yaml:"agentbackend"` - MessageQueueBackend string `yaml:"messagequeuebackend"` - ClientMode string `yaml:"clientmode"` - DNSMode string `yaml:"dnsmode"` - DisableRemoteIPCheck string `yaml:"disableremoteipcheck"` - Version string `yaml:"version"` - SQLConn string `yaml:"sqlconn"` - Platform string `yaml:"platform"` - Database string `yaml:"database"` - DefaultNodeLimit int32 `yaml:"defaultnodelimit"` - Verbosity int32 `yaml:"verbosity"` - ServerCheckinInterval int64 `yaml:"servercheckininterval"` - AuthProvider string `yaml:"authprovider"` - OIDCIssuer string `yaml:"oidcissuer"` - ClientID string `yaml:"clientid"` - ClientSecret string `yaml:"clientsecret"` - FrontendURL string `yaml:"frontendurl"` - DisplayKeys string `yaml:"displaykeys"` - AzureTenant string `yaml:"azuretenant"` - RCE string `yaml:"rce"` - Telemetry string `yaml:"telemetry"` - ManageIPTables string `yaml:"manageiptables"` - PortForwardServices string `yaml:"portforwardservices"` - HostNetwork string `yaml:"hostnetwork"` - MQPort string `yaml:"mqport"` - MQServerPort string `yaml:"mqserverport"` - Server string `yaml:"server"` - PublicIPService string `yaml:"publicipservice"` - MQAdminPassword string `yaml:"mqadminpassword"` - MetricsExporter string `yaml:"metrics_exporter"` - BasicAuth string `yaml:"basic_auth"` - LicenseValue string `yaml:"license_value"` - NetmakerAccountID string `yaml:"netmaker_account_id"` - IsEE string `yaml:"is_ee"` + CoreDNSAddr string `yaml:"corednsaddr"` + APIConnString string `yaml:"apiconn"` + APIHost string `yaml:"apihost"` + APIPort string `yaml:"apiport"` + MQHOST string `yaml:"mqhost"` + MasterKey string `yaml:"masterkey"` + DNSKey string `yaml:"dnskey"` + AllowedOrigin string `yaml:"allowedorigin"` + NodeID string `yaml:"nodeid"` + RestBackend string `yaml:"restbackend"` + AgentBackend string `yaml:"agentbackend"` + MessageQueueBackend string `yaml:"messagequeuebackend"` + ClientMode string `yaml:"clientmode"` + DNSMode string `yaml:"dnsmode"` + DisableRemoteIPCheck string `yaml:"disableremoteipcheck"` + Version string `yaml:"version"` + SQLConn string `yaml:"sqlconn"` + Platform string `yaml:"platform"` + Database string `yaml:"database"` + DefaultNodeLimit int32 `yaml:"defaultnodelimit"` + Verbosity int32 `yaml:"verbosity"` + ServerCheckinInterval int64 `yaml:"servercheckininterval"` + AuthProvider string `yaml:"authprovider"` + OIDCIssuer string `yaml:"oidcissuer"` + ClientID string `yaml:"clientid"` + ClientSecret string `yaml:"clientsecret"` + FrontendURL string `yaml:"frontendurl"` + DisplayKeys string `yaml:"displaykeys"` + AzureTenant string `yaml:"azuretenant"` + RCE string `yaml:"rce"` + Telemetry string `yaml:"telemetry"` + ManageIPTables string `yaml:"manageiptables"` + PortForwardServices string `yaml:"portforwardservices"` + HostNetwork string `yaml:"hostnetwork"` + MQPort string `yaml:"mqport"` + MQServerPort string `yaml:"mqserverport"` + Server string `yaml:"server"` + PublicIPService string `yaml:"publicipservice"` + MQAdminPassword string `yaml:"mqadminpassword"` + MetricsExporter string `yaml:"metrics_exporter"` + BasicAuth string `yaml:"basic_auth"` + LicenseValue string `yaml:"license_value"` + NetmakerAccountID string `yaml:"netmaker_account_id"` + IsEE string `yaml:"is_ee"` } // SQLConfig - Generic SQL Config diff --git a/controllers/controller.go b/controllers/controller.go index c8cde3b6..52bd66bd 100644 --- a/controllers/controller.go +++ b/controllers/controller.go @@ -6,6 +6,7 @@ import ( "net/http" "os" "os/signal" + "strings" "sync" "syscall" "time" @@ -38,7 +39,7 @@ func HandleRESTRequests(wg *sync.WaitGroup) { // Currently allowed dev origin is all. Should change in prod // should consider analyzing the allowed methods further headersOk := handlers.AllowedHeaders([]string{"Access-Control-Allow-Origin", "X-Requested-With", "Content-Type", "authorization"}) - originsOk := handlers.AllowedOrigins(servercfg.GetAllowedOrigin()) + originsOk := handlers.AllowedOrigins(strings.Split(servercfg.GetAllowedOrigin(), ",")) methodsOk := handlers.AllowedMethods([]string{"GET", "PUT", "POST", "DELETE"}) for _, handler := range HttpHandlers { diff --git a/servercfg/serverconf.go b/servercfg/serverconf.go index c4a7e645..aa78fb85 100644 --- a/servercfg/serverconf.go +++ b/servercfg/serverconf.go @@ -267,11 +267,11 @@ func GetDNSKey() string { } // GetAllowedOrigin - get the allowed origin -func GetAllowedOrigin() []string { - allowedorigin := []string{"*"} +func GetAllowedOrigin() string { + allowedorigin := "*" if os.Getenv("CORS_ALLOWED_ORIGIN") != "" { - allowedorigin = strings.Split(os.Getenv("CORS_ALLOWED_ORIGIN"), ",") - } else if len(config.Config.Server.AllowedOrigin) > 0 { + allowedorigin = os.Getenv("CORS_ALLOWED_ORIGIN") + } else if config.Config.Server.AllowedOrigin != "" { allowedorigin = config.Config.Server.AllowedOrigin } return allowedorigin