diff --git a/net_alerter/net_alerter.py b/net_alerter/net_alerter.py index 300c174..908f12a 100644 --- a/net_alerter/net_alerter.py +++ b/net_alerter/net_alerter.py @@ -218,7 +218,7 @@ def _fire_active_probes(identity_id: str, mac: str, signal_type: str, dhcp_fp: s def _fire_enrollment_callback(identity_id: str) -> None: - """Called when a device meets enrollment criteria (2+ signal types or mdns present). + """Called when a device meets enrollment criteria (1+ signal types). Logs enrollment, sends no alert (silent enrollment). Caller must hold device_store_lock. @@ -263,7 +263,7 @@ def _correlate_or_create_identity(mac: str, signal_type: str, dhcp_fp: str = "", dev['signal_types'].add(signal_category) logging.debug(f"MAC {mac} already linked to identity {iid}, updated {signal_category} signal") # Check if meets enrollment criteria: (2+ signal types) OR (mdns present) - if not dev['enrolled'] and (len(dev['signal_types']) >= 2 or 'mdns' in dev['signal_types']): + if not dev['enrolled'] and len(dev['signal_types']) >= 1: _fire_enrollment_callback(iid) return iid @@ -292,7 +292,7 @@ def _correlate_or_create_identity(mac: str, signal_type: str, dhcp_fp: str = "", # Add wifi signal type if not already present dev['signal_types'].add('wifi') # Check if meets enrollment criteria: (2+ signal types) OR (mdns present) - if not dev['enrolled'] and (len(dev['signal_types']) >= 2 or 'mdns' in dev['signal_types']): + if not dev['enrolled'] and len(dev['signal_types']) >= 1: _fire_enrollment_callback(iid) return iid @@ -322,7 +322,7 @@ def _correlate_or_create_identity(mac: str, signal_type: str, dhcp_fp: str = "", dev['signal_types'].add(signal_category) dev['last_seen'][mac] = time.time() # Check if meets enrollment criteria: (2+ signal types) OR (mdns present) - if not dev['enrolled'] and (len(dev['signal_types']) >= 2 or 'mdns' in dev['signal_types']): + if not dev['enrolled'] and len(dev['signal_types']) >= 1: _fire_enrollment_callback(identity_id) logging.debug(f"Updated device identity {identity_id} with {signal_type} signal (MAC: {mac})") else: @@ -369,7 +369,7 @@ def _ingest_signal(mac: str, signal_type: str, dhcp_fp: str = "", handoff_seq: i dev['last_seen'][mac] = time.time() # Enrollment check: if we have (2+ distinct signal types) OR (mdns present) and not yet enrolled - if not dev['enrolled'] and (len(dev['signal_types']) >= 2 or 'mdns' in dev['signal_types']): + if not dev['enrolled'] and len(dev['signal_types']) >= 1: _fire_enrollment_callback(identity_id) # Eviction: if device_store exceeds 500 entries, evict 100 oldest by first_seen