Skip to content
Snippets Groups Projects
Commit 4a1ee745 authored by Malte Bauch's avatar Malte Bauch
Browse files

Change qkdn manager endpoint from setKeyStore to set_key_store

See merge request !231
parent 297957be
No related branches found
No related tags found
1 merge request!231Change qkdn manager endpoint from setKeyStore to set_key_store
Pipeline #228618 failed
...@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment