diff --git a/CHANGELOG.rst b/CHANGELOG.rst index eebfd6a2..9bf18948 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,6 +9,14 @@ The format is based on `Keep a Changelog`_. Unreleased ========== +1.8.6 (2024-05-02) +================== + +Added +----- + +- Rely stix-shifter connector init error message to Kestrel + 1.8.5 (2024-05-01) ================== @@ -16,8 +24,8 @@ Added ----- - cli/diag: add start/stop/last options -- subquery generation support in stix-shifter interface based on specified time window -- configuration doc on `subquery_time_window` +- Subquery generation support in stix-shifter interface based on specified time window +- Configuration doc on `subquery_time_window` Changed ------- diff --git a/packages/kestrel_datasource_stixshifter/pyproject.toml b/packages/kestrel_datasource_stixshifter/pyproject.toml index ecc22b3e..464942e6 100644 --- a/packages/kestrel_datasource_stixshifter/pyproject.toml +++ b/packages/kestrel_datasource_stixshifter/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "kestrel_datasource_stixshifter" -version = "1.8.3" +version = "1.8.4" description = "Kestrel STIX-shifter Datasource Interface" readme = "README.rst" requires-python = ">=3.8" diff --git a/packages/kestrel_datasource_stixshifter/src/kestrel_datasource_stixshifter/worker/transmitter.py b/packages/kestrel_datasource_stixshifter/src/kestrel_datasource_stixshifter/worker/transmitter.py index 423d7566..3b759f73 100644 --- a/packages/kestrel_datasource_stixshifter/src/kestrel_datasource_stixshifter/worker/transmitter.py +++ b/packages/kestrel_datasource_stixshifter/src/kestrel_datasource_stixshifter/worker/transmitter.py @@ -97,27 +97,7 @@ def run(self): self.configuration_dict, ) - # hack stix-shifter v7 to support "disable certificate verification" - if not self.verify_cert: - disable_cert_verification_on_transmission(self.transmission) - - search_meta_result = self.transmission.query(self.query) - - if search_meta_result["success"]: - self.search_id = search_meta_result["search_id"] - if self.wait_datasource_search(): - # no error so far - self.retrieve_data() - - # some connector needs to delete the query in the datasource, - # e.g., chronicle, discard the return (successful or not) - self.transmission.delete(self.search_id) - else: - err_msg = ( - search_meta_result["error"] - if "error" in search_meta_result - else "details not avaliable" - ) + if not hasattr(self.transmission, "entry_point"): packet = TransmissionResult( self.worker_name, False, @@ -125,10 +105,43 @@ def run(self): None, WorkerLog( logging.ERROR, - f"STIX-shifter transmission.query() failed: {err_msg}", + f"stix-shifter connector init: {self.transmission.init_error}", ), ) self.queue.put(packet) + else: + # hack stix-shifter v7 to support "disable certificate verification" + if not self.verify_cert: + disable_cert_verification_on_transmission(self.transmission) + + search_meta_result = self.transmission.query(self.query) + + if search_meta_result["success"]: + self.search_id = search_meta_result["search_id"] + if self.wait_datasource_search(): + # no error so far + self.retrieve_data() + + # some connector needs to delete the query in the datasource, + # e.g., chronicle, discard the return (successful or not) + self.transmission.delete(self.search_id) + else: + err_msg = ( + search_meta_result["error"] + if "error" in search_meta_result + else "details not avaliable" + ) + packet = TransmissionResult( + self.worker_name, + False, + None, + None, + WorkerLog( + logging.ERROR, + f"STIX-shifter transmission.query() failed: {err_msg}", + ), + ) + self.queue.put(packet) def wait_datasource_search(self): # kestrel init status: "KINIT" diff --git a/packages/kestrel_jupyter/pyproject.toml b/packages/kestrel_jupyter/pyproject.toml index d54f4c0e..ad799dd2 100644 --- a/packages/kestrel_jupyter/pyproject.toml +++ b/packages/kestrel_jupyter/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "kestrel_jupyter" -version = "1.8.5" +version = "1.8.6" description = "Kestrel Jupyter Kernel" readme = "README.rst" requires-python = ">=3.8" @@ -28,7 +28,7 @@ classifiers = [ dependencies = [ "kestrel_core==1.8.2", "kestrel_datasource_stixbundle==1.8.0", - "kestrel_datasource_stixshifter==1.8.3", + "kestrel_datasource_stixshifter==1.8.4", "kestrel_analytics_python==1.8.0", "kestrel_analytics_docker==1.8.1", "jupyterlab-server",