hot fixes for several UI and logic issues
This commit is contained in:
@@ -561,6 +561,7 @@ class ScanService:
|
||||
'duration': scan.duration,
|
||||
'status': scan.status,
|
||||
'title': scan.title,
|
||||
'config_file': scan.config_file,
|
||||
'triggered_by': scan.triggered_by,
|
||||
'created_at': scan.created_at.isoformat() if scan.created_at else None
|
||||
}
|
||||
@@ -675,6 +676,8 @@ class ScanService:
|
||||
{
|
||||
'scan1': {...}, # Scan 1 summary
|
||||
'scan2': {...}, # Scan 2 summary
|
||||
'same_config': bool, # Whether both scans used the same config
|
||||
'config_warning': str | None, # Warning message if configs differ
|
||||
'ports': {
|
||||
'added': [...],
|
||||
'removed': [...],
|
||||
@@ -700,6 +703,22 @@ class ScanService:
|
||||
if not scan1 or not scan2:
|
||||
return None
|
||||
|
||||
# Check if scans use the same configuration
|
||||
config1 = scan1.get('config_file', '')
|
||||
config2 = scan2.get('config_file', '')
|
||||
same_config = (config1 == config2) and (config1 != '')
|
||||
|
||||
# Generate warning message if configs differ
|
||||
config_warning = None
|
||||
if not same_config:
|
||||
config_warning = (
|
||||
f"These scans use different configurations. "
|
||||
f"Scan #{scan1_id} used '{config1 or 'unknown'}' and "
|
||||
f"Scan #{scan2_id} used '{config2 or 'unknown'}'. "
|
||||
f"The comparison may show all changes as additions/removals if the scans "
|
||||
f"cover different IP ranges or infrastructure."
|
||||
)
|
||||
|
||||
# Extract port data
|
||||
ports1 = self._extract_ports_from_scan(scan1)
|
||||
ports2 = self._extract_ports_from_scan(scan2)
|
||||
@@ -733,14 +752,18 @@ class ScanService:
|
||||
'id': scan1['id'],
|
||||
'timestamp': scan1['timestamp'],
|
||||
'title': scan1['title'],
|
||||
'status': scan1['status']
|
||||
'status': scan1['status'],
|
||||
'config_file': config1
|
||||
},
|
||||
'scan2': {
|
||||
'id': scan2['id'],
|
||||
'timestamp': scan2['timestamp'],
|
||||
'title': scan2['title'],
|
||||
'status': scan2['status']
|
||||
'status': scan2['status'],
|
||||
'config_file': config2
|
||||
},
|
||||
'same_config': same_config,
|
||||
'config_warning': config_warning,
|
||||
'ports': ports_comparison,
|
||||
'services': services_comparison,
|
||||
'certificates': certificates_comparison,
|
||||
|
||||
Reference in New Issue
Block a user