From 3ef1fe714ad6a9edc86f1351cb6019c9644100c2 Mon Sep 17 00:00:00 2001
From: Malte Bauch <malte.bauch@stud.h-da.de>
Date: Mon, 11 Dec 2023 16:12:54 +0100
Subject: [PATCH] Compare the manifest files instead of hashes

---
 dev_env_data/plugin-registry/plugin-store.json |  2 +-
 plugin-registry/main.go                        | 10 +---------
 plugin-registry/registry.go                    |  1 -
 3 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/dev_env_data/plugin-registry/plugin-store.json b/dev_env_data/plugin-registry/plugin-store.json
index 48da2b394..a9bb0f660 100644
--- a/dev_env_data/plugin-registry/plugin-store.json
+++ b/dev_env_data/plugin-registry/plugin-store.json
@@ -1 +1 @@
-[{"id":"e2c358b3-6482-4010-b0d8-679dff73153b","path":"plugins/arista/bundled_plugin.zip","hash":"h1:+ORKoJds8/v25xH4uvd3pPqa1eIs6JXHw/Ef4HMtG6A=","manifest":{"name":"Arista","firmware":"standard","author":"goSDN-Team","version":"1.0.0"}},{"id":"d1c269a2-6482-4010-b0d8-679dff73153b","path":"plugins/openconfig/bundled_plugin.zip","hash":"h1:FpK0b9SSrly8IJMfhbgt/Q8k3f4V5tRlIEX7K9btMrI=","manifest":{"name":"Openconfig","firmware":"standard","author":"goSDN-Team","version":"1.0.0"}}]
+[{"id":"e2c358b3-6482-4010-b0d8-679dff73153b","path":"plugins/arista/bundled_plugin.zip","manifest":{"name":"Arista","firmware":"standard","author":"goSDN-Team","version":"1.0.0"}},{"id":"d1c269a2-6482-4010-b0d8-679dff73153b","path":"plugins/openconfig/bundled_plugin.zip","manifest":{"name":"Openconfig","firmware":"standard","author":"goSDN-Team","version":"1.0.0"}}]
diff --git a/plugin-registry/main.go b/plugin-registry/main.go
index d492f8ddb..4c0e334d5 100644
--- a/plugin-registry/main.go
+++ b/plugin-registry/main.go
@@ -11,7 +11,6 @@ import (
 	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/plugin"
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/util"
 	"github.com/google/uuid"
-	"golang.org/x/mod/sumdb/dirhash"
 	"google.golang.org/grpc"
 )
 
@@ -66,15 +65,9 @@ func registerPlugins() *PluginRegistry {
 				panic(err)
 			}
 
-			zipPath := filepath.Join(dirPath, util.BundledPluginName)
-			zipHashed, err := dirhash.HashZip(zipPath, dirhash.DefaultHash)
-			if err != nil {
-				panic(err)
-			}
-
 			var plugin *Plugin
 			for i, p := range plugins {
-				if p.Hash == zipHashed {
+				if *p.Manifest == *manifest {
 					plugin = p
 					plugins[i] = plugins[len(plugins)-1]
 					plugins = plugins[:len(plugins)-1]
@@ -86,7 +79,6 @@ func registerPlugins() *PluginRegistry {
 				plugin = &Plugin{
 					ID:       uuid.New(),
 					Path:     filepath.Join(dirPath, util.BundledPluginName),
-					Hash:     zipHashed,
 					Manifest: manifest,
 				}
 			}
diff --git a/plugin-registry/registry.go b/plugin-registry/registry.go
index e4d9c5691..b658b3142 100644
--- a/plugin-registry/registry.go
+++ b/plugin-registry/registry.go
@@ -11,7 +11,6 @@ import (
 type Plugin struct {
 	ID       uuid.UUID        `json:"id,omitempty"`
 	Path     string           `json:"path,omitempty"`
-	Hash     string           `json:"hash,omitempty"`
 	Manifest *plugin.Manifest `json:"manifest,omitempty"`
 }
 
-- 
GitLab