aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-connectivity/kuksa-val/kuksa-client
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-connectivity/kuksa-val/kuksa-client')
-rw-r--r--recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch141
-rw-r--r--recipes-connectivity/kuksa-val/kuksa-client/0002-kuksa-client-Add-external-certificates-support.patch51
2 files changed, 192 insertions, 0 deletions
diff --git a/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch b/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch
new file mode 100644
index 000000000..55e9cc2cb
--- /dev/null
+++ b/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch
@@ -0,0 +1,141 @@
+From ea0b48b9a900e9ce6d898fc5d17ae3238aadb289 Mon Sep 17 00:00:00 2001
+From: Scott Murray <scott.murray@konsulko.com>
+Date: Tue, 2 May 2023 16:20:40 -0400
+Subject: [PATCH 2/2] kuksa_viss_client: Update cmd2 completer usage
+
+Update cmd2 usage to avoid using internal methods and fix breakage
+with newer versions of the cmd2 module.
+
+Upstream-Status: pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ kuksa-client/kuksa_client/__main__.py | 31 +++++++++++++--------------
+ 1 file changed, 15 insertions(+), 16 deletions(-)
+
+diff --git a/kuksa-client/kuksa_client/__main__.py b/kuksa-client/kuksa_client/__main__.py
+index c34f335..d386708 100755
+--- a/kuksa-client/kuksa_client/__main__.py
++++ b/kuksa-client/kuksa_client/__main__.py
+@@ -34,7 +34,6 @@ from cmd2 import Cmd
+ from cmd2 import CompletionItem
+ from cmd2 import with_argparser
+ from cmd2 import with_category
+-from cmd2.utils import basic_complete
+
+ import kuksa_certificates
+ from kuksa_client import KuksaClientThread
+@@ -122,7 +121,7 @@ class TestClient(Cmd):
+ "Children of branch "+prefix+key),
+ )
+
+- return basic_complete(text, line, begidx, endidx, self.pathCompletionItems)
++ return Cmd.basic_complete(self, text, line, begidx, endidx, self.pathCompletionItems)
+
+ def subscribeCallback(self, logPath, resp):
+ with logPath.open('a', encoding='utf-8') as logFile:
+@@ -132,7 +131,7 @@ class TestClient(Cmd):
+ self.pathCompletionItems = []
+ for sub_id in self.subscribeIds:
+ self.pathCompletionItems.append(CompletionItem(sub_id))
+- return basic_complete(text, line, begidx, endidx, self.pathCompletionItems)
++ return Cmd.basic_complete(self, text, line, begidx, endidx, self.pathCompletionItems)
+
+ COMM_SETUP_COMMANDS = "Communication Set-up Commands"
+ VSS_COMMANDS = "Kuksa Interaction Commands"
+@@ -149,7 +148,7 @@ class TestClient(Cmd):
+ ap_authorize.add_argument(
+ 'token_or_tokenfile',
+ help='JWT(or the file storing the token) for authorizing the client.',
+- completer_method=tokenfile_completer_method,)
++ completer=tokenfile_completer_method,)
+ ap_setServerAddr = argparse.ArgumentParser()
+ ap_setServerAddr.add_argument(
+ 'IP', help='VISS/gRPC Server IP Address', default=DEFAULT_SERVER_ADDR)
+@@ -164,7 +163,7 @@ class TestClient(Cmd):
+
+ ap_setValue = argparse.ArgumentParser()
+ ap_setValue.add_argument(
+- "Path", help="Path to be set", completer_method=path_completer)
++ "Path", help="Path to be set", completer=path_completer)
+ ap_setValue.add_argument("Value", help="Value to be set")
+ ap_setValue.add_argument(
+ "-a", "--attribute", help="Attribute to be set", default="value")
+@@ -181,19 +180,19 @@ class TestClient(Cmd):
+
+ ap_getValue = argparse.ArgumentParser()
+ ap_getValue.add_argument(
+- "Path", help="Path to be read", completer_method=path_completer)
++ "Path", help="Path to be read", completer=path_completer)
+ ap_getValue.add_argument(
+ "-a", "--attribute", help="Attribute to be get", default="value")
+
+ ap_getValues = argparse.ArgumentParser()
+ ap_getValues.add_argument(
+- "Path", help="Path whose value is to be read", nargs='+', completer_method=path_completer)
++ "Path", help="Path whose value is to be read", nargs='+', completer=path_completer)
+ ap_getValues.add_argument(
+ "-a", "--attribute", help="Attribute to be get", default="value")
+
+ ap_setTargetValue = argparse.ArgumentParser()
+ ap_setTargetValue.add_argument(
+- "Path", help="Path whose target value to be set", completer_method=path_completer)
++ "Path", help="Path whose target value to be set", completer=path_completer)
+ ap_setTargetValue.add_argument("Value", help="Value to be set")
+
+ ap_setTargetValues = argparse.ArgumentParser()
+@@ -206,35 +205,35 @@ class TestClient(Cmd):
+
+ ap_getTargetValue = argparse.ArgumentParser()
+ ap_getTargetValue.add_argument(
+- "Path", help="Path whose target value is to be read", completer_method=path_completer)
++ "Path", help="Path whose target value is to be read", completer=path_completer)
+
+ ap_getTargetValues = argparse.ArgumentParser()
+ ap_getTargetValues.add_argument(
+- "Path", help="Path whose target value is to be read", nargs='+', completer_method=path_completer)
++ "Path", help="Path whose target value is to be read", nargs='+', completer=path_completer)
+
+ ap_subscribe = argparse.ArgumentParser()
+ ap_subscribe.add_argument(
+- "Path", help="Path to subscribe to", completer_method=path_completer)
++ "Path", help="Path to subscribe to", completer=path_completer)
+ ap_subscribe.add_argument(
+ "-a", "--attribute", help="Attribute to subscribe to", default="value")
+
+ ap_subscribeMultiple = argparse.ArgumentParser()
+ ap_subscribeMultiple.add_argument(
+- "Path", help="Path to subscribe to", nargs='+', completer_method=path_completer)
++ "Path", help="Path to subscribe to", nargs='+', completer=path_completer)
+ ap_subscribeMultiple.add_argument(
+ "-a", "--attribute", help="Attribute to subscribe to", default="value")
+
+ ap_unsubscribe = argparse.ArgumentParser()
+ ap_unsubscribe.add_argument(
+- "SubscribeId", help="Corresponding subscription Id", completer_method=subscriptionIdCompleter,
++ "SubscribeId", help="Corresponding subscription Id", completer=subscriptionIdCompleter,
+ )
+
+ ap_getMetaData = argparse.ArgumentParser()
+ ap_getMetaData.add_argument(
+- "Path", help="Path whose metadata is to be read", completer_method=path_completer)
++ "Path", help="Path whose metadata is to be read", completer=path_completer)
+ ap_updateMetaData = argparse.ArgumentParser()
+ ap_updateMetaData.add_argument(
+- "Path", help="Path whose MetaData is to update", completer_method=path_completer)
++ "Path", help="Path whose MetaData is to update", completer=path_completer)
+ ap_updateMetaData.add_argument(
+ "Json",
+ help="MetaData to update. Note, only attributes can be update, if update children or the whole vss tree, use"
+@@ -245,7 +244,7 @@ class TestClient(Cmd):
+ jsonfile_completer_method = functools.partial(Cmd.path_complete,
+ path_filter=lambda path: (os.path.isdir(path) or path.endswith(".json")))
+ ap_updateVSSTree.add_argument(
+- "Json", help="Json tree to update VSS", completer_method=jsonfile_completer_method)
++ "Json", help="Json tree to update VSS", completer=jsonfile_completer_method)
+
+ # Constructor
+ def __init__(self, server_ip=None, server_port=None, server_protocol=None, insecure=False, token_or_tokenfile=None):
+--
+2.39.2
+
diff --git a/recipes-connectivity/kuksa-val/kuksa-client/0002-kuksa-client-Add-external-certificates-support.patch b/recipes-connectivity/kuksa-val/kuksa-client/0002-kuksa-client-Add-external-certificates-support.patch
new file mode 100644
index 000000000..229dda46a
--- /dev/null
+++ b/recipes-connectivity/kuksa-val/kuksa-client/0002-kuksa-client-Add-external-certificates-support.patch
@@ -0,0 +1,51 @@
+From 3c9f74492153817dc4fa405c1724fbf22ce58c98 Mon Sep 17 00:00:00 2001
+From: Scott Murray <scott.murray@konsulko.com>
+Date: Tue, 2 May 2023 16:19:55 -0400
+Subject: [PATCH 1/2] kuksa_viss_client: Add external certificates support
+
+Tweak the definition of __certificate_dir__ in the kuksa_certificates
+package, and certificate location logic in the client library to allow
+picking up alternative certificates from /etc/kuksa-certificates or
+/etc/kuksa-val before falling back to the shipped defaults. The
+intent is to allow packagers to more straighhtforwardly use their own
+certificates with both the server and clients.
+
+Upstream-Status: pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ kuksa-client/kuksa_client/cli_backend/__init__.py | 2 +-
+ kuksa_certificates/__init__.py | 7 ++++++-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/kuksa-client/kuksa_client/cli_backend/__init__.py b/kuksa-client/kuksa_client/cli_backend/__init__.py
+index d282a0c..3052859 100644
+--- a/kuksa-client/kuksa_client/cli_backend/__init__.py
++++ b/kuksa-client/kuksa_client/cli_backend/__init__.py
+@@ -29,7 +29,7 @@ class Backend:
+ self.insecure = config.getboolean('insecure', False)
+ except AttributeError:
+ self.insecure = config.get('insecure', False)
+- self.default_cert_path = pathlib.Path(kuksa_certificates.__path__[0])
++ self.default_cert_path = pathlib.Path(kuksa_certificates.__certificate_dir__)
+ self.cacertificate = config.get(
+ 'cacertificate', str(self.default_cert_path / 'CA.pem'))
+ self.certificate = config.get('certificate', str(
+diff --git a/kuksa_certificates/__init__.py b/kuksa_certificates/__init__.py
+index 22ccd3f..8323868 100644
+--- a/kuksa_certificates/__init__.py
++++ b/kuksa_certificates/__init__.py
+@@ -2,4 +2,9 @@ import os
+
+ from kuksa_client._metadata import *
+
+-__certificate_dir__= os.path.dirname(os.path.realpath(__file__))
++if os.path.isdir("/etc/kuksa-certificates"):
++ __certificate_dir__= "/etc/kuksa-certificates"
++elif os.path.isdir("/etc/kuksa-val"):
++ __certificate_dir__= "/etc/kuksa-val"
++else:
++ __certificate_dir__= os.path.dirname(os.path.realpath(__file__))
+--
+2.39.2
+