|
@@ -142,7 +142,7 @@ func DecrimentKey(networkName string, keyvalue string) {
|
|
|
var network models.Network
|
|
|
|
|
|
network, err := GetParentNetwork(networkName)
|
|
|
- if err != nil {
|
|
|
+ if err != nil || network.IsComms == "yes" {
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -170,13 +170,21 @@ func DecrimentKey(networkName string, keyvalue string) {
|
|
|
// IsKeyValid - check if key is valid
|
|
|
func IsKeyValid(networkname string, keyvalue string) bool {
|
|
|
|
|
|
- network, _ := GetParentNetwork(networkname)
|
|
|
+ network, err := GetParentNetwork(networkname)
|
|
|
+ if err != nil {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ accesskeys := network.AccessKeys
|
|
|
+ if network.IsComms == "yes" {
|
|
|
+ accesskeys = getAllAccessKeys()
|
|
|
+ }
|
|
|
+
|
|
|
var key models.AccessKey
|
|
|
foundkey := false
|
|
|
isvalid := false
|
|
|
|
|
|
- for i := len(network.AccessKeys) - 1; i >= 0; i-- {
|
|
|
- currentkey := network.AccessKeys[i]
|
|
|
+ for i := len(accesskeys) - 1; i >= 0; i-- {
|
|
|
+ currentkey := accesskeys[i]
|
|
|
if currentkey.Value == keyvalue {
|
|
|
key = currentkey
|
|
|
foundkey = true
|
|
@@ -230,3 +238,15 @@ func genKey() string {
|
|
|
}
|
|
|
return string(b)
|
|
|
}
|
|
|
+
|
|
|
+func getAllAccessKeys() []models.AccessKey {
|
|
|
+ var accesskeys = make([]models.AccessKey, 0)
|
|
|
+ networks, err := GetNetworks()
|
|
|
+ if err != nil {
|
|
|
+ return accesskeys
|
|
|
+ }
|
|
|
+ for i := range networks {
|
|
|
+ accesskeys = append(accesskeys, networks[i].AccessKeys...)
|
|
|
+ }
|
|
|
+ return accesskeys
|
|
|
+}
|