From 3dc72fec148865a07150c68c39e995bf3572e7b5 Mon Sep 17 00:00:00 2001
From: Fabian Seidl <fabian.seidl@h-da.de>
Date: Wed, 7 Aug 2024 13:00:43 +0000
Subject: [PATCH] Fix unused default of max key fill level

See merge request danet/quant!184
---
 goKMS/kms/peers/etsi14Quantummodule.go | 11 +----------
 goKMS/kms/peers/quantummodule.go       |  9 +++++++++
 goKMS/main.go                          | 13 ++++++++++---
 3 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/goKMS/kms/peers/etsi14Quantummodule.go b/goKMS/kms/peers/etsi14Quantummodule.go
index 97d164c2..04bada91 100644
--- a/goKMS/kms/peers/etsi14Quantummodule.go
+++ b/goKMS/kms/peers/etsi14Quantummodule.go
@@ -18,15 +18,6 @@ import (
 	log "github.com/sirupsen/logrus"
 )
 
-const (
-	maxFailedKeyRequestAttempts = 10
-	defaultKeyFetchInterval     = 10
-	defaultKeyFetchAmount       = int64(1)
-	defualtMaxKeyFillLevel      = uint64(100)
-
-	backgroundKeyStoreUpdateInterval = 1
-)
-
 type ETSI014HTTPQuantumModule struct {
 	id               uuid.UUID
 	kmsId            string
@@ -88,7 +79,7 @@ func NewETSI014HTTPQuantumModule(addr, kmsId, localSAEID, targetSAEID string, tl
 	}
 
 	if maxKeyFillLevel == 0 {
-		maxKeyFillLevel = defualtMaxKeyFillLevel
+		maxKeyFillLevel = DefaultMaxKeyFillLevel
 	}
 
 	return &ETSI014HTTPQuantumModule{
diff --git a/goKMS/kms/peers/quantummodule.go b/goKMS/kms/peers/quantummodule.go
index 6e12f052..3b7d9c5f 100644
--- a/goKMS/kms/peers/quantummodule.go
+++ b/goKMS/kms/peers/quantummodule.go
@@ -6,6 +6,15 @@ import (
 	"github.com/google/uuid"
 )
 
+const (
+	maxFailedKeyRequestAttempts = 10
+	defaultKeyFetchInterval     = 10
+	defaultKeyFetchAmount       = int64(1)
+	DefaultMaxKeyFillLevel      = uint64(100)
+
+	backgroundKeyStoreUpdateInterval = 1
+)
+
 // QuantumModule interface definition.
 type QuantumModule interface {
 	ID() uuid.UUID
diff --git a/goKMS/main.go b/goKMS/main.go
index aca7e904..812d57c9 100644
--- a/goKMS/main.go
+++ b/goKMS/main.go
@@ -43,6 +43,7 @@ import (
 	kmsHandler "code.fbi.h-da.de/danet/quant/goKMS/gnmiHandlers/kms"
 	"code.fbi.h-da.de/danet/quant/goKMS/gnmiHandlers/system"
 	"code.fbi.h-da.de/danet/quant/goKMS/kms"
+	"code.fbi.h-da.de/danet/quant/goKMS/kms/peers"
 	"code.fbi.h-da.de/danet/quant/goKMS/kms/receiver"
 	gnmitargetygot "code.fbi.h-da.de/danet/quant/goKMS/model"
 	qkdnmanager "code.fbi.h-da.de/danet/quant/goKMS/qkdnManager"
@@ -237,11 +238,17 @@ func setupQkdnManagerServer(kms *kms.KMS, config config.QkdnManagerServer) {
 	cancel()
 }
 
-func getMaxKeyFillLevelsFromConfig(peers []config.Peer) map[string]uint64 {
+func getMaxKeyFillLevelsFromConfig(configPeers []config.Peer) map[string]uint64 {
 	maxKeyFillLevels := make(map[string]uint64, 0)
 
-	for _, peer := range peers {
-		maxKeyFillLevels[peer.PeerId] = uint64(peer.QuantumModule.MaxKeyFillLevel)
+	for _, peer := range configPeers {
+		maxKeyFillLevel := uint64(peer.QuantumModule.MaxKeyFillLevel)
+
+		if maxKeyFillLevel == 0 {
+			maxKeyFillLevel = peers.DefaultMaxKeyFillLevel
+		}
+
+		maxKeyFillLevels[peer.PeerId] = maxKeyFillLevel
 	}
 
 	return maxKeyFillLevels
-- 
GitLab