From 28ed5741f44056cb3be3c06aac76a8d76abc7511 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Sat, 18 May 2019 09:23:25 +0200 Subject: [PATCH] netflow, make sure get_timeserie_data() returns string type objects in stead of bytes, to prevent https://github.com/opnsense/core/commit/17e4e9c0fca9b1dddd84b674ed0c63b62e198db0#commitcomment-33587137 we might find some other small type interpretation differences, but the bumpiest seems to be gone now. --- src/opnsense/scripts/netflow/get_timeseries.py | 2 +- src/opnsense/scripts/netflow/lib/aggregates/__init__.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/opnsense/scripts/netflow/get_timeseries.py b/src/opnsense/scripts/netflow/get_timeseries.py index 619c1be80..5cacd325c 100755 --- a/src/opnsense/scripts/netflow/get_timeseries.py +++ b/src/opnsense/scripts/netflow/get_timeseries.py @@ -61,7 +61,7 @@ if __name__ == '__main__': record_key = [] for key_field in cmd_args.key_fields.split(','): if key_field in record and record[key_field] is not None: - record_key.append(str(record[key_field])) + record_key.append(record[key_field]) else: record_key.append('') record_key = ','.join(record_key) diff --git a/src/opnsense/scripts/netflow/lib/aggregates/__init__.py b/src/opnsense/scripts/netflow/lib/aggregates/__init__.py index 5d8012a20..8d8e2bf62 100755 --- a/src/opnsense/scripts/netflow/lib/aggregates/__init__.py +++ b/src/opnsense/scripts/netflow/lib/aggregates/__init__.py @@ -267,7 +267,10 @@ class BaseFlowAggregator(object): result_record = dict() for field_indx in range(len(field_names)): if len(record) > field_indx: - result_record[field_names[field_indx]] = record[field_indx] + if type(record[field_indx]) == bytes: + result_record[field_names[field_indx]] = record[field_indx].decode() + else: + result_record[field_names[field_indx]] = record[field_indx] if 'start_time' in result_record: result_record['end_time'] = result_record['start_time'] \ + datetime.timedelta(seconds=self.resolution)