From 632201681b15195f1652d766f1ce542628fc33d7 Mon Sep 17 00:00:00 2001 From: Marek Wolan Date: Mon, 6 Jan 2025 10:08:32 +0000 Subject: [PATCH] #2888 - fix software config issues --- .../applications/red_applications/c2/c2_beacon.py | 14 ++++++++++---- src/primaite/simulator/system/software.py | 6 +++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/primaite/simulator/system/applications/red_applications/c2/c2_beacon.py b/src/primaite/simulator/system/applications/red_applications/c2/c2_beacon.py index b9c968c5..449cc8d3 100644 --- a/src/primaite/simulator/system/applications/red_applications/c2/c2_beacon.py +++ b/src/primaite/simulator/system/applications/red_applications/c2/c2_beacon.py @@ -53,6 +53,16 @@ class C2Beacon(AbstractC2, identifier="C2Beacon"): terminal_session: TerminalClientConnection = None "The currently in use terminal session." + def __init__(self, **kwargs): + kwargs["name"] = "C2Beacon" + super().__init__(**kwargs) + self.configure( + c2_server_ip_address=self.config.c2_server_ip_address, + keep_alive_frequency=self.config.keep_alive_frequency, + masquerade_port=self.config.masquerade_port, + masquerade_protocol=self.config.masquerade_protocol, + ) + @property def _host_terminal(self) -> Optional[Terminal]: """Return the Terminal that is installed on the same machine as the C2 Beacon.""" @@ -131,10 +141,6 @@ class C2Beacon(AbstractC2, identifier="C2Beacon"): rm.add_request("configure", request_type=RequestType(func=_configure)) return rm - def __init__(self, **kwargs): - kwargs["name"] = "C2Beacon" - super().__init__(**kwargs) - # Configure is practically setter method for the ``c2.config`` attribute that also ties into the request manager. @validate_call def configure( diff --git a/src/primaite/simulator/system/software.py b/src/primaite/simulator/system/software.py index 4b670fe0..12e3b2f2 100644 --- a/src/primaite/simulator/system/software.py +++ b/src/primaite/simulator/system/software.py @@ -84,7 +84,7 @@ class Software(SimComponent, ABC): model_config = ConfigDict(extra="forbid") starting_health_state: SoftwareHealthState = SoftwareHealthState.UNUSED criticality: SoftwareCriticality = SoftwareCriticality.LOWEST - fixing_duration: int = 2 + fix_duration: int = 2 config: ConfigSchema = Field(default_factory=lambda: Software.ConfigSchema()) @@ -117,9 +117,9 @@ class Software(SimComponent, ABC): def __init__(self, **kwargs): super().__init__(**kwargs) - self.health_state_actual = self.config.starting_health_state + self.health_state_actual = self.config.starting_health_state # don't remove this self.criticality = self.config.criticality - self.fixing_duration = self.config.fixing_duration + self.fixing_duration = self.config.fix_duration def _init_request_manager(self) -> RequestManager: """