From 0adb13256185cce9c050917c553ece61109f36b5 Mon Sep 17 00:00:00 2001 From: dbischoff0 Date: Thu, 6 Mar 2025 12:22:06 +0100 Subject: [PATCH] [API_PARSER][BEYONDTRUST_PRA] Fix forward 'since' infinity --- .../api_parser/beyondtrust_pra/beyondtrust_pra.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/vulture_os/toolkit/api_parser/beyondtrust_pra/beyondtrust_pra.py b/vulture_os/toolkit/api_parser/beyondtrust_pra/beyondtrust_pra.py index 64c340ff7..5bd96f551 100644 --- a/vulture_os/toolkit/api_parser/beyondtrust_pra/beyondtrust_pra.py +++ b/vulture_os/toolkit/api_parser/beyondtrust_pra/beyondtrust_pra.py @@ -304,11 +304,13 @@ def execute(self): last_datetime = datetime.fromtimestamp(int(last_datetime), tz=timezone.utc) + timedelta(seconds=1) self.last_collected_timestamps[f"beyondtrust_pra_{report_type}"] = last_datetime except (TypeError, ValueError): - # Update timestamp +24 if since < now, otherwise +1 - delta = 24 if since < timezone.now() - timedelta(hours=24) else 1 - msg = f"No logs, advancing timestamp by {delta} hour(s)" - logger.debug(f"[{__parser__}]:execute: {msg}", extra={'frontend': str(self.frontend)}) - self.last_collected_timestamps[f"beyondtrust_pra_{report_type}"] = since + timedelta(hours=delta) + # except if no logs because "last_datetime" == None + # If no logs where retrieved during the last 24hours, + # move forward 1h to prevent stagnate ad vitam eternam + if since < timezone.now() - timedelta(hours=24): + msg = f"No logs, advancing timestamp by 1 hour(s)" + logger.debug(f"[{__parser__}]:execute: {msg}", extra={'frontend': str(self.frontend)}) + self.last_collected_timestamps[f"beyondtrust_pra_{report_type}"] = since + timedelta(hours=1) finally: msg = "Current timestamp for {report_type} is {timestamp}".format( report_type=report_type,