#2712 - Updates to the login logic and fixing resultant test failures. Updates to terminal.rst and ssh.py

This commit is contained in:
Charlie Crane
2024-07-23 15:18:20 +01:00
parent 3c590a8733
commit a7f9e4502e
4 changed files with 146 additions and 79 deletions

View File

@@ -1,7 +1,8 @@
# © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK
from enum import IntEnum
from typing import Dict, Optional
from ipaddress import IPv4Address
from typing import Optional
from primaite.interface.request import RequestResponse
from primaite.simulator.network.protocols.packet import DataPacket
@@ -58,21 +59,32 @@ class SSHConnectionMessage(IntEnum):
class SSHUserCredentials(DataPacket):
"""Hold Username and Password in SSH Packets"""
"""Hold Username and Password in SSH Packets."""
username: str = None
username: str
"""Username for login"""
password: str = None
password: str
"""Password for login"""
class SSHPacket(DataPacket):
"""Represents an SSHPacket."""
transport_message: SSHTransportMessage = None
sender_ip_address: IPv4Address
"""Sender IP Address"""
connection_message: SSHConnectionMessage = None
target_ip_address: IPv4Address
"""Target IP Address"""
transport_message: SSHTransportMessage
"""Message Transport Type"""
connection_message: SSHConnectionMessage
"""Message Connection Status"""
user_account: Optional[SSHUserCredentials] = None
"""User Account Credentials if passed"""
connection_uuid: Optional[str] = None # The connection uuid used to validate the session