diff options
Diffstat (limited to 'recipes-connectivity/kuksa-val/kuksa-client')
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 + |