ET-Pro Telemetry - prevent old data from being flushed to Proofpoint when the state got lost or the script hasn't executed for a longer period of time.

This commit is contained in:
Ad Schellevis
2021-05-25 11:18:27 +02:00
parent efc63a8470
commit cf349b192f
3 changed files with 7 additions and 5 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
PLUGIN_NAME= etpro-telemetry
PLUGIN_VERSION= 1.4
PLUGIN_VERSION= 1.5
PLUGIN_REVISION= 2
PLUGIN_COMMENT= ET Pro Telemetry Edition
PLUGIN_MAINTAINER= ad@opnsense.org
@@ -51,7 +51,7 @@ parser.add_argument('-l', '--log', help='log directory containing eve.json files
default="/var/log/suricata/")
parser.add_argument('-s', '--state', help='persistent state (and lock) filename',
default="/usr/local/var/run/et_telemetry.state")
parser.add_argument('-d', '--days', help='Maximum number of days to look back on initial run', type=int, default=2)
parser.add_argument('-d', '--days', help='Maximum number of days to look back', type=float, default=1)
parser.add_argument('-D', '--direct',
help='do not sleep before send (disable traffic spread)',
action="store_true",
@@ -46,12 +46,14 @@ class Telemetry:
:return: datetime
"""
self._file_handle.seek(0)
file_handle_stamp = None
max_age = datetime.datetime.now() - datetime.timedelta(days=self._init_last_days)
try:
result = datetime.datetime.fromtimestamp(float(self._file_handle.readline()))
file_handle_stamp = datetime.datetime.fromtimestamp(float(self._file_handle.readline()))
except ValueError:
result = datetime.datetime.now() - datetime.timedelta(days=self._init_last_days)
return max_age
return result
return max(file_handle_stamp, max_age)
def set_last_update(self, stamp):
""" set last timestamp