From 7e3945dd024aaa9819c829708149d416e41fb9b0 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Mon, 13 Dec 2021 14:21:04 -0500 Subject: [PATCH] Agent: Add TODO to Propagator --- monkey/infection_monkey/master/propagator.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/monkey/infection_monkey/master/propagator.py b/monkey/infection_monkey/master/propagator.py index 1d6e4462e..0c3acea1d 100644 --- a/monkey/infection_monkey/master/propagator.py +++ b/monkey/infection_monkey/master/propagator.py @@ -90,6 +90,10 @@ class Propagator: @staticmethod def _process_fingerprinter_results(victim_host: VictimHost, fingerprint_data: FingerprintData): for fd in fingerprint_data.values(): + # TODO: This logic preserves the existing behavior prior to introducing IMaster and + # IPuppet, but it is possibly flawed. Different fingerprinters may detect + # different os types or versions, and this logic isn't sufficient to handle those + # conflicts. Reevaluate this logic when we overhaul our scanners/fingerprinters. if fd.os_type is not None: victim_host.os["type"] = fd.os_type