dyn sec netclient changes

This commit is contained in:
Abhishek Kondur
2022-09-16 11:35:28 +05:30
parent 7db3bd3aca
commit 2eb5cde6ab
3 changed files with 27 additions and 24 deletions

View File

@@ -591,8 +591,19 @@ func createNode(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal")) returnErrorResponse(w, r, formatError(err, "internal"))
return return
} }
// Delete Any Existing Client with this ID.
mq.DynSecChan <- mq.DynSecAction{
ActionType: mq.DeleteClient,
Payload: mq.MqDynsecPayload{
Commands: []mq.MqDynSecCmd{
{
Command: mq.DeleteClientCmd,
Username: node.ID,
},
},
},
}
// Create client for this node in Mq // Create client for this node in Mq
// Delete Any Existing Client
mq.DynSecChan <- mq.DynSecAction{ mq.DynSecChan <- mq.DynSecAction{
ActionType: mq.CreateClient, ActionType: mq.CreateClient,
Payload: mq.MqDynsecPayload{ Payload: mq.MqDynsecPayload{
@@ -935,6 +946,17 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
returnErrorResponse(w, r, formatError(err, "internal")) returnErrorResponse(w, r, formatError(err, "internal"))
return return
} }
mq.DynSecChan <- mq.DynSecAction{
ActionType: mq.DeleteClient,
Payload: mq.MqDynsecPayload{
Commands: []mq.MqDynSecCmd{
{
Command: mq.DeleteClientCmd,
Username: nodeid,
},
},
},
}
returnSuccessResponse(w, r, nodeid+" deleted.") returnSuccessResponse(w, r, nodeid+" deleted.")
logger.Log(1, r.Header.Get("user"), "Deleted node", nodeid, "from network", params["network"]) logger.Log(1, r.Header.Get("user"), "Deleted node", nodeid, "from network", params["network"])

View File

@@ -26,13 +26,9 @@ var mqclient mqtt.Client
func SetupMQTT() { func SetupMQTT() {
opts := mqtt.NewClientOptions() opts := mqtt.NewClientOptions()
broker, _ := servercfg.GetMessageQueueEndpoint() broker, _ := servercfg.GetMessageQueueEndpoint()
logger.Log(0, "----------> BROKER: ", broker)
opts.AddBroker(broker) opts.AddBroker(broker)
id := ncutils.MakeRandomString(23) id := ncutils.MakeRandomString(23)
opts.ClientID = id opts.ClientID = id
// if secure {
// opts.SetTLSConfig(&serverctl.TlsConfig)
// }
opts.SetUsername(mqDynSecAdmin) opts.SetUsername(mqDynSecAdmin)
opts.SetPassword(defaultAdminPassword) opts.SetPassword(defaultAdminPassword)
opts.SetAutoReconnect(true) opts.SetAutoReconnect(true)

View File

@@ -238,13 +238,7 @@ func setupMQTTSingleton(cfg *config.ClientConfig) error {
opts := mqtt.NewClientOptions() opts := mqtt.NewClientOptions()
server := cfg.Server.Server server := cfg.Server.Server
port := cfg.Server.MQPort port := cfg.Server.MQPort
opts.AddBroker("ssl://" + server + ":" + port) opts.AddBroker("tcp://" + server + ":" + port)
tlsConfig, err := NewTLSConfig(server)
if err != nil {
logger.Log(0, "failed to get TLS config for", server, err.Error())
return err
}
opts.SetTLSConfig(tlsConfig)
mqclient = mqtt.NewClient(opts) mqclient = mqtt.NewClient(opts)
var connecterr error var connecterr error
opts.SetClientID(ncutils.MakeRandomString(23)) opts.SetClientID(ncutils.MakeRandomString(23))
@@ -265,13 +259,7 @@ func setupMQTT(cfg *config.ClientConfig) error {
opts := mqtt.NewClientOptions() opts := mqtt.NewClientOptions()
server := cfg.Server.Server server := cfg.Server.Server
port := cfg.Server.MQPort port := cfg.Server.MQPort
opts.AddBroker("mqtts://" + server + ":" + port) opts.AddBroker(fmt.Sprintf("tcp://%s:%s", server, port))
// tlsConfig, err := NewTLSConfig(server)
// if err != nil {
// logger.Log(0, "failed to get TLS config for", server, err.Error())
// return err
// }
//opts.SetTLSConfig(tlsConfig)
opts.SetUsername(cfg.Node.ID) opts.SetUsername(cfg.Node.ID)
opts.SetPassword(cfg.Node.Password) opts.SetPassword(cfg.Node.Password)
opts.SetClientID(ncutils.MakeRandomString(23)) opts.SetClientID(ncutils.MakeRandomString(23))
@@ -316,11 +304,8 @@ func setupMQTT(cfg *config.ClientConfig) error {
} }
} }
if connecterr != nil { if connecterr != nil {
//reRegisterWithServer(cfg) logger.Log(0, "failed to establish connection to broker: ", connecterr.Error())
//try after re-registering return connecterr
if token := mqclient.Connect(); !token.WaitTimeout(30*time.Second) || token.Error() != nil {
return errors.New("unable to connect to broker")
}
} }
return nil return nil