name resolution config clean up, authoritative fields fixes for none values, css fixes

Signed-off-by: jokob-sk <jokob.sk@gmail.com>
This commit is contained in:
jokob-sk
2026-02-03 20:40:11 +11:00
parent 8a5d3b1548
commit 81202ce07e
11 changed files with 294 additions and 79 deletions

View File

@@ -96,35 +96,37 @@ def can_overwrite_field(field_name, current_value, current_source, plugin_prefix
bool: True if overwrite allowed.
"""
empty_values = ("0.0.0.0", "", "null", "(unknown)", "(name not found)", None)
# Rule 1: USER/LOCKED protected
if current_source in ("USER", "LOCKED"):
return False
# Rule 2: Must provide a non-empty value or same as current
empty_values = ("0.0.0.0", "", "null", "(unknown)", "(name not found)", None)
if not field_value or (isinstance(field_value, str) and not field_value.strip()):
if current_value == field_value:
return True # Allow overwrite if value same
# Rule 2: Must provide a non-empty value, otherwise reject
if (not field_value) or (field_value in empty_values) or ((isinstance(field_value, str) and not field_value.strip())):
return False
# Rule 3: SET_ALWAYS
# Rule 3: Allow overwrite if value same to update Source fields
if current_value == field_value:
return True
# Rule 4: SET_ALWAYS
set_always = plugin_settings.get("set_always", [])
if field_name in set_always:
return True
# Rule 4: SET_EMPTY
# Rule 5: SET_EMPTY
set_empty = plugin_settings.get("set_empty", [])
empty_values = ("0.0.0.0", "", "null", "(unknown)", "(name not found)", None)
if field_name in set_empty:
if current_value in empty_values:
return True
return False
# Rule 5: Default - overwrite if current value empty
# Rule 6: Default - overwrite if current value empty
if current_value in empty_values:
return True
# Rule 6: Optional override flag to allow overwrite if value changed (devLastIP)
# Rule 7: Optional override flag to allow overwrite if value changed (devLastIP)
if allow_override_if_changed and field_value != current_value:
return True

View File

@@ -295,6 +295,7 @@ def ensure_CurrentScan(sql) -> bool:
scanVlan STRING(250),
scanParentMAC STRING(250),
scanParentPort STRING(250),
scanFQDN STRING(250),
scanType STRING(250)
);
""")