From 7a0dc56ee9e3168400b12629dc4ab8e331503c6f Mon Sep 17 00:00:00 2001 From: Ben Allan Date: Mon, 6 Jul 2026 17:01:04 -0600 Subject: [PATCH] fix security and other nits --- src/adctk/ldms_scripts/ldms_blob_file_to_http_post.py | 1 - src/adctk/ldms_scripts/ldms_blob_show_offsets.py | 6 ++++-- src/adctk/ldms_scripts/ldms_blob_show_timing.py | 6 ++++-- src/adctk/publisher.py | 10 ++++++++-- src/adctk/scripts/adctk_hello_world.py | 3 +++ 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/adctk/ldms_scripts/ldms_blob_file_to_http_post.py b/src/adctk/ldms_scripts/ldms_blob_file_to_http_post.py index c816f58..2ff9e23 100755 --- a/src/adctk/ldms_scripts/ldms_blob_file_to_http_post.py +++ b/src/adctk/ldms_scripts/ldms_blob_file_to_http_post.py @@ -142,7 +142,6 @@ def handle_field_pairs( have_fraction = True else: # they're both zero length - this is legal for !! - yield one or the other but not both - assert field_pair[0] == field_pair[1] regular_fields.append(field_pair[0]) return regular_fields, have_fraction, fraction diff --git a/src/adctk/ldms_scripts/ldms_blob_show_offsets.py b/src/adctk/ldms_scripts/ldms_blob_show_offsets.py index 85cc2d1..6c08e89 100755 --- a/src/adctk/ldms_scripts/ldms_blob_show_offsets.py +++ b/src/adctk/ldms_scripts/ldms_blob_show_offsets.py @@ -9,11 +9,13 @@ #done import subprocess import sys +import pathlib def main(): files=sys.argv[1:] for i in files: - script = "od -A d -t u8 -j8 -w8 {} |sed -e 's/[0-9,A-F,a-f]* *//'".format(i) - subprocess.call(script, shell=True) + if pathlib.Path(i).is_file(): + script = f"od -A d -t u8 -j8 -w8 {i} |sed -e 's/[0-9,A-F,a-f]* *//'" + subprocess.call(script, shell=True) if __name__ == '__main__': main() diff --git a/src/adctk/ldms_scripts/ldms_blob_show_timing.py b/src/adctk/ldms_scripts/ldms_blob_show_timing.py index 58deefa..5b7edef 100755 --- a/src/adctk/ldms_scripts/ldms_blob_show_timing.py +++ b/src/adctk/ldms_scripts/ldms_blob_show_timing.py @@ -9,11 +9,13 @@ #done import subprocess import sys +import pathlib def main(): files=sys.argv[1:] for i in files: - script = "od -A d -t u8 -j8 -w8 {}".format(i) - subprocess.call(script, shell=True) + if pathlib.Path(i).is_file(): + script = "od -A d -t u8 -j8 -w8 {}".format(i) + subprocess.call(script, shell=True) if __name__ == '__main__': main() diff --git a/src/adctk/publisher.py b/src/adctk/publisher.py index 736fcdb..8e2ee2f 100644 --- a/src/adctk/publisher.py +++ b/src/adctk/publisher.py @@ -329,14 +329,20 @@ def terminate(self) -> None: def pause(self) -> None: """! pause() all configured publishers""" - print(f"PAUSING {len(self.pvec)} PUBLISHERS") + # print(f"PAUSING {len(self.pvec)} PUBLISHERS") for pub in self.pvec: pub.pause() self.paused = True def resume(self) -> None: """! resume() all configured publishers""" - print(f"RESUMING {len(self.pvec)} PUBLISHERS") + # print(f"RESUMING {len(self.pvec)} PUBLISHERS") for pub in self.pvec: pub.resume() self.paused = False + + def get_names(self) -> list[str]: + n = [] + for i in self.pvec: + n.append(i.name()) + return n diff --git a/src/adctk/scripts/adctk_hello_world.py b/src/adctk/scripts/adctk_hello_world.py index 45bc9df..74c7699 100644 --- a/src/adctk/scripts/adctk_hello_world.py +++ b/src/adctk/scripts/adctk_hello_world.py @@ -20,6 +20,9 @@ def main() -> int: # create a factory f = adctk.Factory() + avail = f.get_publisher_names() + print(f"available publishers are: {avail}") + print(f'ADC_MULTI_PUBLISHER_NAMES is: {os.getenv("ADC_MULTI_PUBLISHER_NAMES")}') # create a message and add header b = f.get_builder()