From e5ca53eb0415810bfcab273fcfc5a47d579ea02b Mon Sep 17 00:00:00 2001 From: Cobra Date: Tue, 14 Apr 2026 14:21:52 -0400 Subject: [PATCH] =?UTF-8?q?Enroll=20on=20first=20contact=20=E2=80=94=201?= =?UTF-8?q?=20source=20is=20better=20than=20none?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- net_alerter/net_alerter.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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