diff --git a/nettacker/core/graph.py b/nettacker/core/graph.py index 751dddbdc..678f6906b 100644 --- a/nettacker/core/graph.py +++ b/nettacker/core/graph.py @@ -347,7 +347,12 @@ def get_targets_set(item): comp_target_set = set(get_targets_set(item) for item in scan_opts_comp) def get_modules_ports(item): - return (item["target"], item["module_name"], item["port"]) + port = item["port"] + + if isinstance(port, str) and port.isdigit(): + port = int(port) + + return (item["target"], item["module_name"], port) curr_modules_ports = set(get_modules_ports(item) for item in scan_log_curr) comp_modules_ports = set(get_modules_ports(item) for item in scan_logs_comp) diff --git a/nettacker/core/lib/base.py b/nettacker/core/lib/base.py index 7af4ee53e..f05ad5060 100644 --- a/nettacker/core/lib/base.py +++ b/nettacker/core/lib/base.py @@ -122,6 +122,20 @@ def process_conditions( ): # Remove sensitive keys from headers before submitting to DB event = remove_sensitive_header_keys(event) + port = ( + event.get("ports") + or event.get("port") + or ( + event.get("url").split(":")[2].split("/")[0] + if isinstance(event.get("url"), str) + and len(event.get("url").split(":")) >= 3 + and event.get("url").split(":")[2].split("/")[0].isdigit() + else "" + ) + ) + if isinstance(port, str): + if port.isdigit(): + port = int(port) if "save_to_temp_events_only" in event.get("response", ""): submit_temp_logs_to_db( { @@ -130,7 +144,7 @@ def process_conditions( "module_name": module_name, "scan_id": scan_id, "event_name": event["response"]["save_to_temp_events_only"], - "port": event.get("ports", ""), + "port": port, "event": event, "data": response, } @@ -159,15 +173,7 @@ def process_conditions( "target": target, "module_name": module_name, "scan_id": scan_id, - "port": event.get("ports") - or event.get("port") - or ( - event.get("url").split(":")[2].split("/")[0] - if isinstance(event.get("url"), str) - and len(event.get("url").split(":")) >= 3 - and event.get("url").split(":")[2].split("/")[0].isdigit() - else "" - ), + "port": port, "event": " ".join(yaml.dump(event_request_keys).split()) + " conditions: " + " ".join(yaml.dump(event["response"]["conditions_results"]).split()),