Loading go-apps/meep-platform-ctrl/go.mod +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ require ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-mq v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sandbox-store v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-users v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-watchdog v0.0.0 github.com/gorilla/handlers v1.4.0 github.com/gorilla/mux v1.7.3 Loading @@ -25,5 +26,6 @@ replace ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis => ../../go-packages/meep-redis github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sandbox-store => ../../go-packages/meep-sandbox-store github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions => ../../go-packages/meep-sessions github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-users => ../../go-packages/meep-users github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-watchdog => ../../go-packages/meep-watchdog ) go-apps/meep-platform-ctrl/go.sum +2 −6 Original line number Diff line number Diff line Loading @@ -7,8 +7,6 @@ github.com/RyanCarrier/dijkstra-1 v0.0.0-20170512020943-0e5801a26345/go.mod h1:O github.com/albertorestifo/dijkstra v0.0.0-20160910063646-aba76f725f72/go.mod h1:o+JdB7VetTHjLhU0N57x18B9voDBQe0paApdEAEoEfw= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff h1:RmdPFa+slIr4SCBg4st/l/vZWVe9QJKMXGO60Bxbe04= github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff/go.mod h1:+RTT1BOk5P97fT2CiHkbFQwkK3mjsFAP6zCYV2aXtjw= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/flimzy/kivik v1.8.1 h1:URl7e0OnfSvAu3ZHQ5BkvzRZlCmyYuDyWUCcPWIHlU0= github.com/flimzy/kivik v1.8.1/go.mod h1:S2aPycbG0eDFll4wgXt9uacSNkXISPufutnc9sv+mdA= Loading @@ -19,16 +17,12 @@ github.com/go-kivik/kivik v1.8.1/go.mod h1:nIuJ8z4ikBrVUSk3Ua8NoDqYKULPNjuddjqRv github.com/go-redis/redis v6.15.2+incompatible h1:9SpNVG76gr6InJGxoZ6IuuxaCOQwDAhzyXg+Bs+0Sb4= github.com/go-redis/redis v6.15.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.4.0 h1:XulKRWSQK5uChr4pEgSE4Tc/OcmnU9GJuSwdog/tZsA= github.com/gorilla/handlers v1.4.0/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.1.1/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= github.com/gorilla/sessions v1.2.0 h1:S7P+1Hm5V/AT9cjEcUD5uDaQSX0OE577aCXgoaKpYbQ= github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= Loading @@ -36,6 +30,8 @@ github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/lib/pq v1.5.2 h1:yTSXVswvWUOQ3k1sd7vJfDrbSl8lKuscqFJRqjC0ifw= github.com/lib/pq v1.5.2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/mattomatic/dijkstra v0.0.0-20130617153013-6f6d134eb237/go.mod h1:UOnLAUmVG5paym8pD3C4B9BQylUDC2vXFJJpT7JrlEA= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= Loading go-apps/meep-platform-ctrl/server/platform-ctrl.go +13 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import ( mq "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-mq" sbs "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sandbox-store" ss "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions" users "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-users" wd "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-watchdog" ) Loading @@ -45,6 +46,7 @@ type PlatformCtrl struct { scenarioStore *couch.Connector sandboxStore *sbs.SandboxStore sessionStore *ss.SessionStore userStore *users.Connector veWatchdog *wd.Watchdog mqGlobal *mq.MsgQueue } Loading @@ -54,6 +56,8 @@ const moduleName = "meep-platform-ctrl" const moduleNamespace = "default" const moduleVirtEngineName = "meep-virt-engine" const moduleVirtEngineNamespace = "default" const postgisUser = "postgres" const postgisPwd = "pwd" // MQ payload fields const fieldSandboxName = "sandbox-name" Loading Loading @@ -135,6 +139,15 @@ func Init() (err error) { } log.Info("Connected to Session Store") // Connect to User Store pfmCtrl.userStore, err = users.NewConnector(moduleName, postgisUser, postgisPwd, "", "") if err != nil { log.Error("Failed connection to User Store: ", err.Error()) return err } _ = pfmCtrl.userStore.CreateTables() log.Info("Connected to User Store") // Setup for virt-engine monitoring pfmCtrl.veWatchdog, err = wd.NewWatchdog(moduleName, moduleNamespace, moduleVirtEngineName, moduleVirtEngineNamespace, "") if err != nil { Loading go-apps/meep-platform-ctrl/server/user_authentication.go +2 −36 Original line number Diff line number Diff line Loading @@ -35,41 +35,6 @@ import ( ss "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions" ) type User struct { Username string Password string SessionId string Active bool } var user1 = User{"u1", "1234", "NA", false} var user2 = User{"u2", "2345", "NA", false} var user3 = User{"u3", "3456", "NA", false} // Map of configured users - Key=Username var ConfiguredUsers map[string]*User func init() { // add preconfigured users ConfiguredUsers = make(map[string]*User) ConfiguredUsers[user1.Username] = &user1 ConfiguredUsers[user2.Username] = &user2 ConfiguredUsers[user3.Username] = &user3 } func authenticateUser(username string, password string) bool { // Verify user name user, ok := ConfiguredUsers[username] if !ok { return false } // Verify password if user.Password != password { return false } return true } func uaLoginUser(w http.ResponseWriter, r *http.Request) { log.Info("----- LOGIN -----") var sandboxName string Loading @@ -79,7 +44,8 @@ func uaLoginUser(w http.ResponseWriter, r *http.Request) { password := r.FormValue("password") // Validate user credentials if !authenticateUser(username, password) { authenticated, err := pfmCtrl.userStore.AuthenticateUser(username, password) if err != nil || !authenticated { http.Error(w, "Unauthorized", http.StatusUnauthorized) return } Loading go-packages/meep-users/db.go +21 −21 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ func (pc *Connector) CreateTables() (err error) { } // users Table _, err = pc.db.Exec(`CREATE TABLE ` + UsersTable + ` ( _, err = pc.db.Exec(`CREATE TABLE IF NOT EXISTS ` + UsersTable + ` ( id SERIAL PRIMARY KEY, username varchar(36) NOT NULL UNIQUE, password varchar(100) NOT NULL, Loading Loading @@ -448,7 +448,7 @@ func (pc *Connector) AuthenticateUser(username string, password string) (authent } // isValidRole - does role exist func isValidRole(role string) (error) { func isValidRole(role string) error { switch role { case RoleUser, RoleSuper: return nil Loading Loading
go-apps/meep-platform-ctrl/go.mod +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ require ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-mq v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sandbox-store v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-users v0.0.0 github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-watchdog v0.0.0 github.com/gorilla/handlers v1.4.0 github.com/gorilla/mux v1.7.3 Loading @@ -25,5 +26,6 @@ replace ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis => ../../go-packages/meep-redis github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sandbox-store => ../../go-packages/meep-sandbox-store github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions => ../../go-packages/meep-sessions github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-users => ../../go-packages/meep-users github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-watchdog => ../../go-packages/meep-watchdog )
go-apps/meep-platform-ctrl/go.sum +2 −6 Original line number Diff line number Diff line Loading @@ -7,8 +7,6 @@ github.com/RyanCarrier/dijkstra-1 v0.0.0-20170512020943-0e5801a26345/go.mod h1:O github.com/albertorestifo/dijkstra v0.0.0-20160910063646-aba76f725f72/go.mod h1:o+JdB7VetTHjLhU0N57x18B9voDBQe0paApdEAEoEfw= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff h1:RmdPFa+slIr4SCBg4st/l/vZWVe9QJKMXGO60Bxbe04= github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff/go.mod h1:+RTT1BOk5P97fT2CiHkbFQwkK3mjsFAP6zCYV2aXtjw= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/flimzy/kivik v1.8.1 h1:URl7e0OnfSvAu3ZHQ5BkvzRZlCmyYuDyWUCcPWIHlU0= github.com/flimzy/kivik v1.8.1/go.mod h1:S2aPycbG0eDFll4wgXt9uacSNkXISPufutnc9sv+mdA= Loading @@ -19,16 +17,12 @@ github.com/go-kivik/kivik v1.8.1/go.mod h1:nIuJ8z4ikBrVUSk3Ua8NoDqYKULPNjuddjqRv github.com/go-redis/redis v6.15.2+incompatible h1:9SpNVG76gr6InJGxoZ6IuuxaCOQwDAhzyXg+Bs+0Sb4= github.com/go-redis/redis v6.15.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.4.0 h1:XulKRWSQK5uChr4pEgSE4Tc/OcmnU9GJuSwdog/tZsA= github.com/gorilla/handlers v1.4.0/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.1.1/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= github.com/gorilla/sessions v1.2.0 h1:S7P+1Hm5V/AT9cjEcUD5uDaQSX0OE577aCXgoaKpYbQ= github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= Loading @@ -36,6 +30,8 @@ github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/lib/pq v1.5.2 h1:yTSXVswvWUOQ3k1sd7vJfDrbSl8lKuscqFJRqjC0ifw= github.com/lib/pq v1.5.2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/mattomatic/dijkstra v0.0.0-20130617153013-6f6d134eb237/go.mod h1:UOnLAUmVG5paym8pD3C4B9BQylUDC2vXFJJpT7JrlEA= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= Loading
go-apps/meep-platform-ctrl/server/platform-ctrl.go +13 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import ( mq "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-mq" sbs "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sandbox-store" ss "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions" users "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-users" wd "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-watchdog" ) Loading @@ -45,6 +46,7 @@ type PlatformCtrl struct { scenarioStore *couch.Connector sandboxStore *sbs.SandboxStore sessionStore *ss.SessionStore userStore *users.Connector veWatchdog *wd.Watchdog mqGlobal *mq.MsgQueue } Loading @@ -54,6 +56,8 @@ const moduleName = "meep-platform-ctrl" const moduleNamespace = "default" const moduleVirtEngineName = "meep-virt-engine" const moduleVirtEngineNamespace = "default" const postgisUser = "postgres" const postgisPwd = "pwd" // MQ payload fields const fieldSandboxName = "sandbox-name" Loading Loading @@ -135,6 +139,15 @@ func Init() (err error) { } log.Info("Connected to Session Store") // Connect to User Store pfmCtrl.userStore, err = users.NewConnector(moduleName, postgisUser, postgisPwd, "", "") if err != nil { log.Error("Failed connection to User Store: ", err.Error()) return err } _ = pfmCtrl.userStore.CreateTables() log.Info("Connected to User Store") // Setup for virt-engine monitoring pfmCtrl.veWatchdog, err = wd.NewWatchdog(moduleName, moduleNamespace, moduleVirtEngineName, moduleVirtEngineNamespace, "") if err != nil { Loading
go-apps/meep-platform-ctrl/server/user_authentication.go +2 −36 Original line number Diff line number Diff line Loading @@ -35,41 +35,6 @@ import ( ss "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-sessions" ) type User struct { Username string Password string SessionId string Active bool } var user1 = User{"u1", "1234", "NA", false} var user2 = User{"u2", "2345", "NA", false} var user3 = User{"u3", "3456", "NA", false} // Map of configured users - Key=Username var ConfiguredUsers map[string]*User func init() { // add preconfigured users ConfiguredUsers = make(map[string]*User) ConfiguredUsers[user1.Username] = &user1 ConfiguredUsers[user2.Username] = &user2 ConfiguredUsers[user3.Username] = &user3 } func authenticateUser(username string, password string) bool { // Verify user name user, ok := ConfiguredUsers[username] if !ok { return false } // Verify password if user.Password != password { return false } return true } func uaLoginUser(w http.ResponseWriter, r *http.Request) { log.Info("----- LOGIN -----") var sandboxName string Loading @@ -79,7 +44,8 @@ func uaLoginUser(w http.ResponseWriter, r *http.Request) { password := r.FormValue("password") // Validate user credentials if !authenticateUser(username, password) { authenticated, err := pfmCtrl.userStore.AuthenticateUser(username, password) if err != nil || !authenticated { http.Error(w, "Unauthorized", http.StatusUnauthorized) return } Loading
go-packages/meep-users/db.go +21 −21 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ func (pc *Connector) CreateTables() (err error) { } // users Table _, err = pc.db.Exec(`CREATE TABLE ` + UsersTable + ` ( _, err = pc.db.Exec(`CREATE TABLE IF NOT EXISTS ` + UsersTable + ` ( id SERIAL PRIMARY KEY, username varchar(36) NOT NULL UNIQUE, password varchar(100) NOT NULL, Loading Loading @@ -448,7 +448,7 @@ func (pc *Connector) AuthenticateUser(username string, password string) (authent } // isValidRole - does role exist func isValidRole(role string) (error) { func isValidRole(role string) error { switch role { case RoleUser, RoleSuper: return nil Loading