Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions pcapkit/protocols/data/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,9 @@
'HIP_RouteDstParameter', 'HIP_HIPTransportModeParameter', 'HIP_HIPMACParameter',
'HIP_HIPMAC2Parameter', 'HIP_HIPSignature2Parameter', 'HIP_HIPSignatureParameter',
'HIP_EchoRequestUnsignedParameter', 'HIP_EchoResponseUnsignedParameter', 'HIP_RelayFromParameter',
'HIP_RelayToParameter', 'HIP_RouteViaParameter', 'HIP_FromParameter',
'HIP_RVSHMACParameter', 'HIP_RelayHMACParameter',
'HIP_RelayToParameter', 'HIP_OverlayTTLParameter', 'HIP_RouteViaParameter',
'HIP_FromParameter', 'HIP_RVSHMACParameter', 'HIP_ViaRVSParameter',
'HIP_RelayHMACParameter',

# Hop-by-Hop Options
'HOPOPT',
Expand Down
7 changes: 5 additions & 2 deletions pcapkit/protocols/data/internet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
NATTraversalModeParameter as HIP_NATTraversalModeParameter
from pcapkit.protocols.data.internet.hip import NotificationParameter as HIP_NotificationParameter
from pcapkit.protocols.data.internet.hip import OverlayIDParameter as HIP_OverlayIDParameter
from pcapkit.protocols.data.internet.hip import OverlayTTLParameter as HIP_OverlayTTLParameter
from pcapkit.protocols.data.internet.hip import PayloadMICParameter as HIP_PayloadMICParameter
from pcapkit.protocols.data.internet.hip import PuzzleParameter as HIP_PuzzleParameter
from pcapkit.protocols.data.internet.hip import R1CounterParameter as HIP_R1CounterParameter
Expand All @@ -70,6 +71,7 @@
from pcapkit.protocols.data.internet.hip import \
TransportFormatListParameter as HIP_TransportFormatListParameter
from pcapkit.protocols.data.internet.hip import UnassignedParameter as HIP_UnassignedParameter
from pcapkit.protocols.data.internet.hip import ViaRVSParameter as HIP_ViaRVSParameter

# Hop-by-Hop Options
from pcapkit.protocols.data.internet.hopopt import HOPOPT
Expand Down Expand Up @@ -396,8 +398,9 @@
'HIP_RouteDstParameter', 'HIP_HIPTransportModeParameter', 'HIP_HIPMACParameter',
'HIP_HIPMAC2Parameter', 'HIP_HIPSignature2Parameter', 'HIP_HIPSignatureParameter',
'HIP_EchoRequestUnsignedParameter', 'HIP_EchoResponseUnsignedParameter', 'HIP_RelayFromParameter',
'HIP_RelayToParameter', 'HIP_RouteViaParameter', 'HIP_FromParameter',
'HIP_RVSHMACParameter', 'HIP_RelayHMACParameter',
'HIP_RelayToParameter', 'HIP_OverlayTTLParameter', 'HIP_RouteViaParameter',
'HIP_FromParameter', 'HIP_RVSHMACParameter', 'HIP_ViaRVSParameter',
'HIP_RelayHMACParameter',

# Hop-by-Hop Options
'HOPOPT',
Expand Down
5 changes: 3 additions & 2 deletions pcapkit/protocols/data/internet/hip.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,9 @@
'RouteDstParameter', 'HIPTransportModeParameter', 'HIPMACParameter',
'HIPMAC2Parameter', 'HIPSignature2Parameter', 'HIPSignatureParameter',
'EchoRequestUnsignedParameter', 'EchoResponseUnsignedParameter', 'RelayFromParameter',
'RelayToParameter', 'RouteViaParameter', 'FromParameter',
'RVSHMACParameter', 'RelayHMACParameter',
'RelayToParameter', 'OverlayTTLParameter', 'RouteViaParameter',
'FromParameter', 'RVSHMACParameter', 'ViaRVSParameter',
'RelayHMACParameter',
]


Expand Down
2 changes: 1 addition & 1 deletion pcapkit/protocols/data/internet/hopopt.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ class CALIPSOOption(Option):

if TYPE_CHECKING:
#: Compartment bitmap.
cmpt_bitmap: 'bytes'
cmpt_bitmap: 'tuple[int, ...]'

def __init__(self, type: 'Enum_Option', action: 'int', change: 'bool', length: 'int', domain: 'int', cmpt_len: 'int', level: 'int', checksum: 'bytes', pad: 'bytes') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,redefined-builtin,multiple-statements,line-too-long

Expand Down
10 changes: 5 additions & 5 deletions pcapkit/protocols/data/internet/ipv4.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
if TYPE_CHECKING:
from datetime import timedelta
from ipaddress import IPv4Address
from typing import Any, Optional
from typing import Any

from typing_extensions import Literal

Expand Down Expand Up @@ -305,12 +305,12 @@ class RROption(Option):
#: Pointer.
pointer: 'int'
#: Route, i.e. the address slots before the pointer.
route: 'Optional[tuple[IPv4Address, ...]]'
route: 'tuple[IPv4Address, ...]'
#: Address slots at or beyond the pointer.
remaining: 'tuple[IPv4Address, ...]'

if TYPE_CHECKING:
def __init__(self, code: 'OptionNumber', length: 'int', type: 'OptionType', pointer: 'int', route: 'Optional[tuple[IPv4Address, ...]]', remaining: 'tuple[IPv4Address, ...]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
def __init__(self, code: 'OptionNumber', length: 'int', type: 'OptionType', pointer: 'int', route: 'tuple[IPv4Address, ...]', remaining: 'tuple[IPv4Address, ...]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin


@info_final
Expand All @@ -337,12 +337,12 @@ class SSROption(Option):
#: Pointer.
pointer: 'int'
#: Route, i.e. the address slots before the pointer.
route: 'Optional[tuple[IPv4Address, ...]]'
route: 'tuple[IPv4Address, ...]'
#: Address slots at or beyond the pointer.
remaining: 'tuple[IPv4Address, ...]'

if TYPE_CHECKING:
def __init__(self, code: 'OptionNumber', length: 'int', type: 'OptionType', pointer: 'int', route: 'Optional[tuple[IPv4Address, ...]]', remaining: 'tuple[IPv4Address, ...]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin
def __init__(self, code: 'OptionNumber', length: 'int', type: 'OptionType', pointer: 'int', route: 'tuple[IPv4Address, ...]', remaining: 'tuple[IPv4Address, ...]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long,redefined-builtin


@info_final
Expand Down
2 changes: 1 addition & 1 deletion pcapkit/protocols/data/internet/ipv6_opts.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ class CALIPSOOption(Option):

if TYPE_CHECKING:
#: Compartment bitmap.
cmpt_bitmap: 'bytes'
cmpt_bitmap: 'tuple[int, ...]'

def __init__(self, type: 'Enum_Option', action: 'int', change: 'bool', length: 'int', domain: 'int', cmpt_len: 'int', level: 'int',
checksum: 'bytes', pad: 'bytes') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,redefined-builtin,multiple-statements,line-too-long
Expand Down
3 changes: 3 additions & 0 deletions pcapkit/protocols/data/misc/pcapng.py
Original file line number Diff line number Diff line change
Expand Up @@ -807,6 +807,9 @@ class SystemdJournalExportBlock(PCAPNG):
data: 'tuple[OrderedMultiInfo[str, str | bytes], ...]'

if TYPE_CHECKING:
#: Malformed entry kept as captured, present only for such a block.
entry_raw: 'bytes'

def __init__(self, type: 'Enum_BlockType', length: 'int',
data: 'tuple[OrderedMultiDict[str, str | bytes], ...]') -> 'None': ...

Expand Down
2 changes: 1 addition & 1 deletion pcapkit/protocols/internet/hip.py
Original file line number Diff line number Diff line change
Expand Up @@ -3021,7 +3021,7 @@ def _read_param_via_rvs(self, schema: 'Schema_ViaRVSParameter', *, version: 'int
)
return via_rvs

def _read_param_relay_hmac(self, schema: 'Schema_RelayHMACParameter', version: 'int', # pylint: disable=unused-argument
def _read_param_relay_hmac(self, schema: 'Schema_RelayHMACParameter', *, version: 'int', # pylint: disable=unused-argument
options: 'Parameter') -> 'Data_RelayHMACParameter': # pylint: disable=unused-argument
"""Read HIP ``RELAY_HMAC`` parameter.

Expand Down
2 changes: 1 addition & 1 deletion pcapkit/protocols/link/arp.py
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ def _read_proto_resolve(self, addr: 'bytes', ptype: 'int') -> 'str | IPv4Address
return ipaddress.IPv6Address(addr)
return addr.hex()

def _make_addr_resolve(self, addr: 'str | bytes', htype: 'int') -> 'bytes':
def _make_addr_resolve(self, addr: 'str | bytes | bytearray', htype: 'int') -> 'bytes':
"""Resolve hardware address according to protocol.

Arguments:
Expand Down
7 changes: 7 additions & 0 deletions pcapkit/protocols/misc/null.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,13 @@ def protocol(self) -> 'NoReturn':
"""
raise UnsupportedCall(f"'{self.__class__.__name__}' object has no attribute 'protocol'")

# protocol chain of current instance
@property
def protochain(self) -> 'None': # type: ignore[override]
"""Protocol chain of current instance, which an empty payload does not
have."""
return None

##########################################################################
# Methods.
##########################################################################
Expand Down
5 changes: 3 additions & 2 deletions pcapkit/protocols/schema/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,9 @@
'HIP_RouteDstParameter', 'HIP_HIPTransportModeParameter', 'HIP_HIPMACParameter',
'HIP_HIPMAC2Parameter', 'HIP_HIPSignature2Parameter', 'HIP_HIPSignatureParameter',
'HIP_EchoRequestUnsignedParameter', 'HIP_EchoResponseUnsignedParameter', 'HIP_RelayFromParameter',
'HIP_RelayToParameter', 'HIP_RouteViaParameter', 'HIP_FromParameter',
'HIP_RVSHMACParameter', 'HIP_RelayHMACParameter',
'HIP_RelayToParameter', 'HIP_OverlayTTLParameter', 'HIP_RouteViaParameter',
'HIP_FromParameter', 'HIP_RVSHMACParameter', 'HIP_ViaRVSParameter',
'HIP_RelayHMACParameter',
'HOPOPT',
'HOPOPT_SMFDPDOption', 'HOPOPT_QuickStartOption',
'HOPOPT_UnassignedOption', 'HOPOPT_PadOption', 'HOPOPT_TunnelEncapsulationLimitOption',
Expand Down
7 changes: 5 additions & 2 deletions pcapkit/protocols/schema/internet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
NATTraversalModeParameter as HIP_NATTraversalModeParameter
from pcapkit.protocols.schema.internet.hip import NotificationParameter as HIP_NotificationParameter
from pcapkit.protocols.schema.internet.hip import OverlayIDParameter as HIP_OverlayIDParameter
from pcapkit.protocols.schema.internet.hip import OverlayTTLParameter as HIP_OverlayTTLParameter
from pcapkit.protocols.schema.internet.hip import PayloadMICParameter as HIP_PayloadMICParameter
from pcapkit.protocols.schema.internet.hip import PuzzleParameter as HIP_PuzzleParameter
from pcapkit.protocols.schema.internet.hip import R1CounterParameter as HIP_R1CounterParameter
Expand All @@ -76,6 +77,7 @@
from pcapkit.protocols.schema.internet.hip import \
TransportFormatListParameter as HIP_TransportFormatListParameter
from pcapkit.protocols.schema.internet.hip import UnassignedParameter as HIP_UnassignedParameter
from pcapkit.protocols.schema.internet.hip import ViaRVSParameter as HIP_ViaRVSParameter

# Hop-by-Hop Options
from pcapkit.protocols.schema.internet.hopopt import HOPOPT
Expand Down Expand Up @@ -405,8 +407,9 @@
'HIP_RouteDstParameter', 'HIP_HIPTransportModeParameter', 'HIP_HIPMACParameter',
'HIP_HIPMAC2Parameter', 'HIP_HIPSignature2Parameter', 'HIP_HIPSignatureParameter',
'HIP_EchoRequestUnsignedParameter', 'HIP_EchoResponseUnsignedParameter', 'HIP_RelayFromParameter',
'HIP_RelayToParameter', 'HIP_RouteViaParameter', 'HIP_FromParameter',
'HIP_RVSHMACParameter', 'HIP_RelayHMACParameter',
'HIP_RelayToParameter', 'HIP_OverlayTTLParameter', 'HIP_RouteViaParameter',
'HIP_FromParameter', 'HIP_RVSHMACParameter', 'HIP_ViaRVSParameter',
'HIP_RelayHMACParameter',

# Hop-by-Hop Options
'HOPOPT',
Expand Down
5 changes: 3 additions & 2 deletions pcapkit/protocols/schema/internet/hip.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@
'RouteDstParameter', 'HIPTransportModeParameter', 'HIPMACParameter',
'HIPMAC2Parameter', 'HIPSignature2Parameter', 'HIPSignatureParameter',
'EchoRequestUnsignedParameter', 'EchoResponseUnsignedParameter', 'RelayFromParameter',
'RelayToParameter', 'RouteViaParameter', 'FromParameter',
'RVSHMACParameter', 'RelayHMACParameter',
'RelayToParameter', 'OverlayTTLParameter', 'RouteViaParameter',
'FromParameter', 'RVSHMACParameter', 'ViaRVSParameter',
'RelayHMACParameter',
]

if TYPE_CHECKING:
Expand Down
4 changes: 2 additions & 2 deletions pcapkit/protocols/schema/internet/hopopt.py
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ class SMFHashBasedDPDOption(SMFDPDOption, code=Enum_SMFDPDMode.H_DPD):
#: Hash assist value (HAV).
hav: 'bytes' = BytesField(length=lambda pkt: pkt['len'])

def post_process(self, packet: 'dict[str, Any]') -> 'SMFIdentificationBasedDPDOption':
def post_process(self, packet: 'dict[str, Any]') -> 'SMFHashBasedDPDOption':
"""Revise ``schema`` data after unpacking process.

Args:
Expand All @@ -423,7 +423,7 @@ def post_process(self, packet: 'dict[str, Any]') -> 'SMFIdentificationBasedDPDOp
Revised schema.

"""
ret = super().post_process(packet) # type: SMFIdentificationBasedDPDOption
ret = super().post_process(packet) # type: SMFHashBasedDPDOption
ret.mode = Enum_SMFDPDMode.H_DPD
return ret

Expand Down
4 changes: 2 additions & 2 deletions pcapkit/protocols/schema/internet/ipv6_opts.py
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ class SMFHashBasedDPDOption(SMFDPDOption, code=Enum_SMFDPDMode.H_DPD):
#: Hash assist value (HAV).
hav: 'bytes' = BytesField(length=lambda pkt: pkt['len'])

def post_process(self, packet: 'dict[str, Any]') -> 'SMFIdentificationBasedDPDOption':
def post_process(self, packet: 'dict[str, Any]') -> 'SMFHashBasedDPDOption':
"""Revise ``schema`` data after unpacking process.

Args:
Expand All @@ -430,7 +430,7 @@ def post_process(self, packet: 'dict[str, Any]') -> 'SMFIdentificationBasedDPDOp
Revised schema.

"""
ret = super().post_process(packet) # type: SMFIdentificationBasedDPDOption
ret = super().post_process(packet) # type: SMFHashBasedDPDOption
ret.mode = Enum_SMFDPDMode.H_DPD
return ret

Expand Down
2 changes: 1 addition & 1 deletion pcapkit/protocols/schema/misc/pcapng.py
Original file line number Diff line number Diff line change
Expand Up @@ -2735,7 +2735,7 @@ class PACK_FlagsOption(_PACK_Option, code=Enum_OptionType.pack_flags):
padding: 'bytes' = PaddingField(length=lambda pkt: (4 - pkt['length'] % 4) % 4)

if TYPE_CHECKING:
def __init__(self, type: 'Enum_OptionType', length: 'int', flags: 'EPBFlags') -> 'None': ...
def __init__(self, type: 'Enum_OptionType', length: 'int', flags: 'PACKFlags') -> 'None': ...


@schema_final
Expand Down
Loading
Loading