Skip to content
Snippets Groups Projects

Change qkdn manager endpoint from setKeyStore to set_key_store

Merged Malte Bauch requested to merge update-set-key-store-request-for-qkdn-manager into master
1 file
+ 13
20
Compare changes
  • Side-by-side
  • Inline
+ 13
20
@@ -9,7 +9,6 @@ import (
@@ -9,7 +9,6 @@ import (
"code.fbi.h-da.de/danet/quant/goKMS/config"
"code.fbi.h-da.de/danet/quant/goKMS/config"
"code.fbi.h-da.de/danet/quant/goKMS/kms"
"code.fbi.h-da.de/danet/quant/goKMS/kms"
"code.fbi.h-da.de/danet/quant/goKMS/kms/peers"
"github.com/google/uuid"
"github.com/google/uuid"
"github.com/sirupsen/logrus"
"github.com/sirupsen/logrus"
)
)
@@ -27,7 +26,7 @@ var endpoints = map[string]string{
@@ -27,7 +26,7 @@ var endpoints = map[string]string{
qkdInterface: "/qkdInterface",
qkdInterface: "/qkdInterface",
interCKMSInterface: "/interCKMSInterface",
interCKMSInterface: "/interCKMSInterface",
akmsInterface: "/akmsInterface",
akmsInterface: "/akmsInterface",
setKeyStore: "/setKeyStore",
setKeyStore: "/set_key_store",
}
}
type QkdnManagerServer struct {
type QkdnManagerServer struct {
@@ -182,23 +181,21 @@ func (qs *QkdnManagerServer) handleHttpAkmsInterface(w http.ResponseWriter, r *h
@@ -182,23 +181,21 @@ func (qs *QkdnManagerServer) handleHttpAkmsInterface(w http.ResponseWriter, r *h
func (qs *QkdnManagerServer) handleSetKeyStore(w http.ResponseWriter, r *http.Request) {
func (qs *QkdnManagerServer) handleSetKeyStore(w http.ResponseWriter, r *http.Request) {
logrus.Debugf("Handler for SetKeyStore got request from: %s", r.RemoteAddr)
logrus.Debugf("Handler for SetKeyStore got request from: %s", r.RemoteAddr)
err := r.ParseForm()
var parsedRequest struct {
if err != nil {
KeyFillLevel int `json:"key_fill_level"`
http.Error(w, err.Error(), http.StatusBadRequest)
PeerIDs []string `json:"peer_ids"`
return
Fetch bool `json:"fetch"`
}
}
keyFillLevel := r.Form.Get("KeyFillLevel")
err := json.NewDecoder(r.Body).Decode(&parsedRequest)
peerIDs, ok := r.Form["PeerIds"]
if err != nil {
if !ok {
http.Error(w, err.Error(), http.StatusBadRequest)
http.Error(w, fmt.Sprintf("No peer IDs provided."), http.StatusBadRequest)
return
return
}
}
fetch := r.Form.Get("Fetch")
logrus.Debugf("KeyFillLevel: %s, PeerIDs: %v, Fetch: %s", keyFillLevel, peerIDs, fetch)
logrus.Debugf("KeyFillLevel: %d, PeerIDs: %v, Fetch: %t", parsedRequest.KeyFillLevel, parsedRequest.PeerIDs, parsedRequest.Fetch)
for _, peerID := range peerIDs {
for _, peerID := range parsedRequest.PeerIDs {
peerUUID, err := uuid.Parse(peerID)
peerUUID, err := uuid.Parse(peerID)
if err != nil {
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
http.Error(w, err.Error(), http.StatusBadRequest)
@@ -209,17 +206,13 @@ func (qs *QkdnManagerServer) handleSetKeyStore(w http.ResponseWriter, r *http.Re
@@ -209,17 +206,13 @@ func (qs *QkdnManagerServer) handleSetKeyStore(w http.ResponseWriter, r *http.Re
http.Error(w, err.Error(), http.StatusBadRequest)
http.Error(w, err.Error(), http.StatusBadRequest)
return
return
}
}
eqm, ok := peer.QuantumModule().(*peers.ETSI014HTTPQuantumModule)
eqm := peer.QuantumModule()
if !ok {
if parsedRequest.Fetch == true {
http.Error(w, fmt.Sprintf("QuantumModule is not of Type ETSI014"), http.StatusBadRequest)
return
}
if fetch == "true" {
if err := eqm.Initialize(); err != nil {
if err := eqm.Initialize(); err != nil {
http.Error(w, fmt.Sprintf("Failed to restart fetching for quantum module of peer: %s", peerID), http.StatusBadRequest)
http.Error(w, fmt.Sprintf("Failed to restart fetching for quantum module of peer: %s", peerID), http.StatusBadRequest)
return
return
}
}
} else if fetch == "false" {
} else if parsedRequest.Fetch == false {
eqm.SetActive(false)
eqm.SetActive(false)
if err := peer.ResetKeyStore(qs.kms.GetID().String()); err != nil {
if err := peer.ResetKeyStore(qs.kms.GetID().String()); err != nil {
eqm.SetActive(true)
eqm.SetActive(true)
Loading