aboutsummaryrefslogtreecommitdiff
path: root/dependencies
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2023-11-24 10:41:26 +0100
committerToni Uhlig <matzeton@googlemail.com>2023-12-01 06:43:39 +0100
commitd274a06176156b6eb8b1523375f94cbe5ecbbab7 (patch)
tree23dceb5600be76fdb48d01e805e245955f622b45 /dependencies
parenta5dcc1739616f9fe1cda6bd1dea06c30f07dcdcf (diff)
flow-info.py: Do not print any information if a flow is "empty" meaning no L4 payload seen so far.
* added JsonDecodeError to provide more information if builtin JSON decoder fails Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'dependencies')
1 files changed, 10 insertions, 1 deletions
diff --git a/dependencies/nDPIsrvd.py b/dependencies/nDPIsrvd.py
index 8e14aa47d..841971c3c 100644
--- a/dependencies/nDPIsrvd.py
+++ b/dependencies/nDPIsrvd.py
@@ -295,6 +295,7 @@ class nDPIsrvdException(Exception):
INVALID_LINE_RECEIVED = 4
CALLBACK_RETURNED_FALSE = 5
SOCKET_TIMEOUT = 6
+ JSON_DECODE_ERROR = 7
def __init__(self, etype):
self.etype = etype
@@ -341,6 +342,14 @@ class SocketTimeout(nDPIsrvdException):
def __str__(self):
return 'Socket timeout.'
+class JsonDecodeError(nDPIsrvdException):
+ def __init__(self, json_exception, failed_line):
+ super().__init__(nDPIsrvdException.JSON_DECODE_ERROR)
+ self.json_exception = json_exception
+ self.failed_line = failed_line
+ def __str__(self):
+ return '{}: {}'.format(self.json_exception, self.failed_line)
+
class JsonFilter():
def __init__(self, filter_string):
self.filter_string = filter_string
@@ -456,7 +465,7 @@ class nDPIsrvdSocket:
json_dict = dict()
self.failed_lines += [received_line]
self.lines = self.lines[1:]
- raise(e)
+ raise JsonDecodeError(e, received_line)
instance = self.flow_mgr.getInstance(json_dict)
if instance is None: