pypcapkit 1.0.3.post3__pp39-none-any.whl → 1.1.0.post1__pp39-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pcapkit/__init__.py +1 -1
- pcapkit/const/pcapng/option_type.py +25 -1
- pcapkit/const/reg/apptype.py +25 -1
- pcapkit/corekit/fields/collections.py +4 -5
- pcapkit/corekit/fields/field.py +33 -8
- pcapkit/corekit/fields/ipaddress.py +0 -1
- pcapkit/corekit/fields/misc.py +14 -19
- pcapkit/corekit/fields/numbers.py +2 -3
- pcapkit/corekit/fields/strings.py +2 -3
- pcapkit/corekit/infoclass.py +59 -6
- pcapkit/corekit/protochain.py +8 -1
- pcapkit/foundation/registry/protocols.py +30 -51
- pcapkit/protocols/data/__init__.py +4 -4
- pcapkit/protocols/data/internet/__init__.py +4 -4
- pcapkit/protocols/data/internet/mh.py +4 -4
- pcapkit/protocols/data/transport/__init__.py +4 -4
- pcapkit/protocols/data/transport/tcp.py +4 -4
- pcapkit/protocols/internet/mh.py +20 -20
- pcapkit/protocols/protocol.py +3 -2
- pcapkit/protocols/schema/__init__.py +4 -4
- pcapkit/protocols/schema/application/httpv2.py +16 -29
- pcapkit/protocols/schema/internet/__init__.py +4 -4
- pcapkit/protocols/schema/internet/hip.py +62 -111
- pcapkit/protocols/schema/internet/hopopt.py +46 -48
- pcapkit/protocols/schema/internet/ipv4.py +36 -41
- pcapkit/protocols/schema/internet/ipv6_opts.py +48 -52
- pcapkit/protocols/schema/internet/ipv6_route.py +9 -20
- pcapkit/protocols/schema/internet/mh.py +49 -84
- pcapkit/protocols/schema/misc/pcapng.py +178 -195
- pcapkit/protocols/schema/schema.py +252 -53
- pcapkit/protocols/schema/transport/__init__.py +4 -4
- pcapkit/protocols/schema/transport/tcp.py +52 -83
- pcapkit/protocols/transport/tcp.py +14 -14
- pcapkit/vendor/pcapng/option_type.py +25 -1
- pcapkit/vendor/reg/apptype.py +25 -1
- {pypcapkit-1.0.3.post3.dist-info → pypcapkit-1.1.0.post1.dist-info}/METADATA +1 -1
- {pypcapkit-1.0.3.post3.dist-info → pypcapkit-1.1.0.post1.dist-info}/RECORD +41 -41
- {pypcapkit-1.0.3.post3.dist-info → pypcapkit-1.1.0.post1.dist-info}/LICENSE +0 -0
- {pypcapkit-1.0.3.post3.dist-info → pypcapkit-1.1.0.post1.dist-info}/WHEEL +0 -0
- {pypcapkit-1.0.3.post3.dist-info → pypcapkit-1.1.0.post1.dist-info}/entry_points.txt +0 -0
- {pypcapkit-1.0.3.post3.dist-info → pypcapkit-1.1.0.post1.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,6 @@
|
|
2
2
|
# mypy: disable-error-code=assignment
|
3
3
|
"""header schema for Host Identity Protocol"""
|
4
4
|
|
5
|
-
import collections
|
6
5
|
from typing import TYPE_CHECKING, cast
|
7
6
|
|
8
7
|
from pcapkit.const.hip.certificate import Certificate as Enum_Certificate
|
@@ -29,7 +28,7 @@ from pcapkit.corekit.fields.misc import ConditionalField, PayloadField, SchemaFi
|
|
29
28
|
from pcapkit.corekit.fields.numbers import (EnumField, NumberField, UInt8Field, UInt16Field,
|
30
29
|
UInt32Field)
|
31
30
|
from pcapkit.corekit.fields.strings import BitField, BytesField, PaddingField
|
32
|
-
from pcapkit.protocols.schema.schema import Schema, schema_final
|
31
|
+
from pcapkit.protocols.schema.schema import EnumSchema, Schema, schema_final
|
33
32
|
from pcapkit.utilities.exceptions import FieldValueError
|
34
33
|
from pcapkit.utilities.logging import SPHINX_TYPE_CHECKING
|
35
34
|
from pcapkit.utilities.warnings import ProtocolWarning, warn
|
@@ -157,18 +156,18 @@ def host_id_hi_selector(pkt: 'dict[str, Any]') -> 'Field':
|
|
157
156
|
:class:`~pcapkit.protocols.schema.internet.hip.EdDSACurveHostIdentity` instance.
|
158
157
|
|
159
158
|
"""
|
160
|
-
|
161
|
-
|
162
|
-
if
|
163
|
-
return
|
164
|
-
|
165
|
-
return SchemaField(length=pkt['hi_len'], schema=EdDSACurveHostIdentity)
|
166
|
-
return BytesField(length=pkt['hi_len'])
|
159
|
+
algo = pkt['algorithm']
|
160
|
+
schema = HostIdentity.registry[algo]
|
161
|
+
if schema is None:
|
162
|
+
return BytesField(length=pkt['hi_len'])
|
163
|
+
return SchemaField(length=pkt['hi_len'], schema=schema)
|
167
164
|
|
168
165
|
|
169
|
-
class Parameter(
|
166
|
+
class Parameter(EnumSchema[Enum_Parameter]):
|
170
167
|
"""Base schema for HIP parameters."""
|
171
168
|
|
169
|
+
__default__ = lambda: UnassignedParameter
|
170
|
+
|
172
171
|
#: Parameter type.
|
173
172
|
type: 'Enum_Parameter' = EnumField(length=2, namespace=Enum_Parameter)
|
174
173
|
#: Parameter length.
|
@@ -189,7 +188,7 @@ class UnassignedParameter(Parameter):
|
|
189
188
|
|
190
189
|
|
191
190
|
@schema_final
|
192
|
-
class ESPInfoParameter(Parameter):
|
191
|
+
class ESPInfoParameter(Parameter, code=Enum_Parameter.ESP_INFO):
|
193
192
|
"""Header schema for HIP ``ESP_INFO`` parameters."""
|
194
193
|
|
195
194
|
#: Reserved.
|
@@ -209,7 +208,7 @@ class ESPInfoParameter(Parameter):
|
|
209
208
|
|
210
209
|
|
211
210
|
@schema_final
|
212
|
-
class R1CounterParameter(Parameter):
|
211
|
+
class R1CounterParameter(Parameter, code=Enum_Parameter.R1_COUNTER):
|
213
212
|
"""Header schema for HIP ``R1_COUNTER`` parameters."""
|
214
213
|
|
215
214
|
#: Reserved.
|
@@ -252,7 +251,7 @@ class Locator(Schema):
|
|
252
251
|
|
253
252
|
|
254
253
|
@schema_final
|
255
|
-
class LocatorSetParameter(Parameter):
|
254
|
+
class LocatorSetParameter(Parameter, code=Enum_Parameter.LOCATOR_SET):
|
256
255
|
"""Header schema for HIP ``LOCATOR_SET`` parameters."""
|
257
256
|
|
258
257
|
#: List of locators.
|
@@ -281,7 +280,7 @@ class LocatorData(Schema):
|
|
281
280
|
|
282
281
|
|
283
282
|
@schema_final
|
284
|
-
class PuzzleParameter(Parameter):
|
283
|
+
class PuzzleParameter(Parameter, code=Enum_Parameter.PUZZLE):
|
285
284
|
"""Header schema for HIP ``PUZZLE`` parameters."""
|
286
285
|
|
287
286
|
#: Numeric index.
|
@@ -301,7 +300,7 @@ class PuzzleParameter(Parameter):
|
|
301
300
|
|
302
301
|
|
303
302
|
@schema_final
|
304
|
-
class SolutionParameter(Parameter):
|
303
|
+
class SolutionParameter(Parameter, code=Enum_Parameter.SOLUTION):
|
305
304
|
"""Header schema for HIP ``SOLUTION`` parameters."""
|
306
305
|
|
307
306
|
#: Numeric index.
|
@@ -323,7 +322,7 @@ class SolutionParameter(Parameter):
|
|
323
322
|
|
324
323
|
|
325
324
|
@schema_final
|
326
|
-
class SEQParameter(Parameter):
|
325
|
+
class SEQParameter(Parameter, code=Enum_Parameter.SEQ):
|
327
326
|
"""Header schema for HIP ``SEQ`` parameters."""
|
328
327
|
|
329
328
|
#: Update ID.
|
@@ -336,7 +335,7 @@ class SEQParameter(Parameter):
|
|
336
335
|
|
337
336
|
|
338
337
|
@schema_final
|
339
|
-
class ACKParameter(Parameter):
|
338
|
+
class ACKParameter(Parameter, code=Enum_Parameter.ACK):
|
340
339
|
"""Header schema for HIP ``ACK`` parameters."""
|
341
340
|
|
342
341
|
#: Update ID.
|
@@ -352,7 +351,7 @@ class ACKParameter(Parameter):
|
|
352
351
|
|
353
352
|
|
354
353
|
@schema_final
|
355
|
-
class DHGroupListParameter(Parameter):
|
354
|
+
class DHGroupListParameter(Parameter, code=Enum_Parameter.DH_GROUP_LIST):
|
356
355
|
"""Header schema for HIP ``DH_GROUP_LIST`` parameters."""
|
357
356
|
|
358
357
|
#: List of DH groups.
|
@@ -368,7 +367,7 @@ class DHGroupListParameter(Parameter):
|
|
368
367
|
|
369
368
|
|
370
369
|
@schema_final
|
371
|
-
class DiffieHellmanParameter(Parameter):
|
370
|
+
class DiffieHellmanParameter(Parameter, code=Enum_Parameter.DIFFIE_HELLMAN):
|
372
371
|
"""Header schema for HIP ``DIFFIE_HELLMAN`` parameters."""
|
373
372
|
|
374
373
|
#: Diffie-Hellman group.
|
@@ -386,7 +385,7 @@ class DiffieHellmanParameter(Parameter):
|
|
386
385
|
|
387
386
|
|
388
387
|
@schema_final
|
389
|
-
class HIPTransformParameter(Parameter):
|
388
|
+
class HIPTransformParameter(Parameter, code=Enum_Parameter.HIP_TRANSFORM):
|
390
389
|
"""Header schema for HIP ``TRANSFORM`` parameters."""
|
391
390
|
|
392
391
|
#: Suite IDs.
|
@@ -402,7 +401,7 @@ class HIPTransformParameter(Parameter):
|
|
402
401
|
|
403
402
|
|
404
403
|
@schema_final
|
405
|
-
class HIPCipherParameter(Parameter):
|
404
|
+
class HIPCipherParameter(Parameter, code=Enum_Parameter.HIP_CIPHER):
|
406
405
|
"""Header schema for HIP ``CIPHER`` parameters."""
|
407
406
|
|
408
407
|
#: Cipher IDs.
|
@@ -418,7 +417,7 @@ class HIPCipherParameter(Parameter):
|
|
418
417
|
|
419
418
|
|
420
419
|
@schema_final
|
421
|
-
class NATTraversalModeParameter(Parameter):
|
420
|
+
class NATTraversalModeParameter(Parameter, code=Enum_Parameter.NAT_TRAVERSAL_MODE):
|
422
421
|
"""Header schema for HIP ``NAT_TRAVERSAL_MODE`` parameters."""
|
423
422
|
|
424
423
|
#: Reserved.
|
@@ -436,7 +435,7 @@ class NATTraversalModeParameter(Parameter):
|
|
436
435
|
|
437
436
|
|
438
437
|
@schema_final
|
439
|
-
class TransactionPacingParameter(Parameter):
|
438
|
+
class TransactionPacingParameter(Parameter, code=Enum_Parameter.TRANSACTION_PACING):
|
440
439
|
"""Header schema for HIP ``TRANSACTION_PACING`` parameters."""
|
441
440
|
|
442
441
|
#: Transaction pacing.
|
@@ -449,7 +448,7 @@ class TransactionPacingParameter(Parameter):
|
|
449
448
|
|
450
449
|
|
451
450
|
@schema_final
|
452
|
-
class EncryptedParameter(Parameter):
|
451
|
+
class EncryptedParameter(Parameter, code=Enum_Parameter.ENCRYPTED):
|
453
452
|
"""Header schema for HIP ``ENCRYPTED`` parameters."""
|
454
453
|
|
455
454
|
#: Reserved.
|
@@ -529,7 +528,7 @@ class EncryptedParameter(Parameter):
|
|
529
528
|
|
530
529
|
|
531
530
|
@schema_final
|
532
|
-
class HostIDParameter(Parameter):
|
531
|
+
class HostIDParameter(Parameter, code=Enum_Parameter.HOST_ID):
|
533
532
|
"""Header schema for HIP ``HOST_ID`` parameters."""
|
534
533
|
|
535
534
|
#: Host ID length.
|
@@ -557,12 +556,12 @@ class HostIDParameter(Parameter):
|
|
557
556
|
di: 'bytes') -> 'None': ...
|
558
557
|
|
559
558
|
|
560
|
-
class HostIdentity(
|
559
|
+
class HostIdentity(EnumSchema[Enum_HIAlgorithm]):
|
561
560
|
"""Host identity schema."""
|
562
561
|
|
563
562
|
|
564
563
|
@schema_final
|
565
|
-
class ECDSACurveHostIdentity(HostIdentity):
|
564
|
+
class ECDSACurveHostIdentity(HostIdentity, code=Enum_HIAlgorithm.ECDSA):
|
566
565
|
"""Host identity schema with ECDSA curve."""
|
567
566
|
|
568
567
|
#: Algorithm curve type.
|
@@ -575,7 +574,7 @@ class ECDSACurveHostIdentity(HostIdentity):
|
|
575
574
|
|
576
575
|
|
577
576
|
@schema_final
|
578
|
-
class ECDSALowCurveHostIdentity(HostIdentity):
|
577
|
+
class ECDSALowCurveHostIdentity(HostIdentity, code=Enum_HIAlgorithm.ECDSA_LOW):
|
579
578
|
"""Host identity schema with ECDSA_LOW curve."""
|
580
579
|
|
581
580
|
#: Algorithm curve type.
|
@@ -588,7 +587,7 @@ class ECDSALowCurveHostIdentity(HostIdentity):
|
|
588
587
|
|
589
588
|
|
590
589
|
@schema_final
|
591
|
-
class EdDSACurveHostIdentity(HostIdentity):
|
590
|
+
class EdDSACurveHostIdentity(HostIdentity, code=Enum_HIAlgorithm.EdDSA):
|
592
591
|
"""Host identity schema with EdDSA curve."""
|
593
592
|
|
594
593
|
#: Algorithm curve type.
|
@@ -601,7 +600,7 @@ class EdDSACurveHostIdentity(HostIdentity):
|
|
601
600
|
|
602
601
|
|
603
602
|
@schema_final
|
604
|
-
class HITSuiteListParameter(Parameter):
|
603
|
+
class HITSuiteListParameter(Parameter, code=Enum_Parameter.HIT_SUITE_LIST):
|
605
604
|
"""Header schema for HIP ``HIT_SUITE_LIST`` parameters."""
|
606
605
|
|
607
606
|
#: HIT suite IDs.
|
@@ -617,7 +616,7 @@ class HITSuiteListParameter(Parameter):
|
|
617
616
|
|
618
617
|
|
619
618
|
@schema_final
|
620
|
-
class CertParameter(Parameter):
|
619
|
+
class CertParameter(Parameter, code=Enum_Parameter.CERT):
|
621
620
|
"""Header schema for HIP ``CERT`` parameters."""
|
622
621
|
|
623
622
|
#: Certificate group.
|
@@ -639,7 +638,7 @@ class CertParameter(Parameter):
|
|
639
638
|
|
640
639
|
|
641
640
|
@schema_final
|
642
|
-
class NotificationParameter(Parameter):
|
641
|
+
class NotificationParameter(Parameter, code=Enum_Parameter.NOTIFICATION):
|
643
642
|
"""Header schema for HIP ``NOTIFICATION`` parameters."""
|
644
643
|
|
645
644
|
#: Reserved.
|
@@ -656,7 +655,7 @@ class NotificationParameter(Parameter):
|
|
656
655
|
|
657
656
|
|
658
657
|
@schema_final
|
659
|
-
class EchoRequestSignedParameter(Parameter):
|
658
|
+
class EchoRequestSignedParameter(Parameter, code=Enum_Parameter.ECHO_REQUEST_SIGNED):
|
660
659
|
"""Header schema for HIP ``ECHO_REQUEST_SIGNED`` parameters."""
|
661
660
|
|
662
661
|
#: Opaque data.
|
@@ -669,7 +668,7 @@ class EchoRequestSignedParameter(Parameter):
|
|
669
668
|
|
670
669
|
|
671
670
|
@schema_final
|
672
|
-
class RegInfoParameter(Parameter):
|
671
|
+
class RegInfoParameter(Parameter, code=Enum_Parameter.REG_INFO):
|
673
672
|
"""Header schema for HIP ``REG_INFO`` parameters."""
|
674
673
|
|
675
674
|
#: Minimum lifetime.
|
@@ -690,7 +689,7 @@ class RegInfoParameter(Parameter):
|
|
690
689
|
|
691
690
|
|
692
691
|
@schema_final
|
693
|
-
class RegRequestParameter(Parameter):
|
692
|
+
class RegRequestParameter(Parameter, code=Enum_Parameter.REG_REQUEST):
|
694
693
|
"""Header schema for HIP ``REG_REQUEST`` parameters."""
|
695
694
|
|
696
695
|
#: Lifetime.
|
@@ -708,7 +707,7 @@ class RegRequestParameter(Parameter):
|
|
708
707
|
|
709
708
|
|
710
709
|
@schema_final
|
711
|
-
class RegResponseParameter(Parameter):
|
710
|
+
class RegResponseParameter(Parameter, code=Enum_Parameter.REG_RESPONSE):
|
712
711
|
"""Header schema for HIP ``REG_RESPONSE`` parameters."""
|
713
712
|
|
714
713
|
#: Lifetime.
|
@@ -726,7 +725,7 @@ class RegResponseParameter(Parameter):
|
|
726
725
|
|
727
726
|
|
728
727
|
@schema_final
|
729
|
-
class RegFailedParameter(Parameter):
|
728
|
+
class RegFailedParameter(Parameter, code=Enum_Parameter.REG_FAILED):
|
730
729
|
"""Header schema for HIP ``REG_FAILED`` parameters."""
|
731
730
|
|
732
731
|
#: Lifetime.
|
@@ -744,7 +743,7 @@ class RegFailedParameter(Parameter):
|
|
744
743
|
|
745
744
|
|
746
745
|
@schema_final
|
747
|
-
class RegFromParameter(Parameter):
|
746
|
+
class RegFromParameter(Parameter, code=Enum_Parameter.REG_FROM):
|
748
747
|
"""Header schema for HIP ``REG_FROM`` parameters."""
|
749
748
|
|
750
749
|
#: Port.
|
@@ -761,7 +760,7 @@ class RegFromParameter(Parameter):
|
|
761
760
|
|
762
761
|
|
763
762
|
@schema_final
|
764
|
-
class EchoResponseSignedParameter(Parameter):
|
763
|
+
class EchoResponseSignedParameter(Parameter, code=Enum_Parameter.ECHO_RESPONSE_SIGNED):
|
765
764
|
"""Header schema for HIP ``ECHO_RESPONSE_SIGNED`` parameters."""
|
766
765
|
|
767
766
|
#: Opaque data.
|
@@ -774,7 +773,7 @@ class EchoResponseSignedParameter(Parameter):
|
|
774
773
|
|
775
774
|
|
776
775
|
@schema_final
|
777
|
-
class TransportFormatListParameter(Parameter):
|
776
|
+
class TransportFormatListParameter(Parameter, code=Enum_Parameter.TRANSPORT_FORMAT_LIST):
|
778
777
|
"""Header schema for HIP ``TRANSPORT_FORMAT_LIST`` parameters."""
|
779
778
|
|
780
779
|
#: Transport formats.
|
@@ -790,7 +789,7 @@ class TransportFormatListParameter(Parameter):
|
|
790
789
|
|
791
790
|
|
792
791
|
@schema_final
|
793
|
-
class ESPTransformParameter(Parameter):
|
792
|
+
class ESPTransformParameter(Parameter, code=Enum_Parameter.ESP_TRANSFORM):
|
794
793
|
"""Header schema for HIP ``ESP_TRANSFORM`` parameters."""
|
795
794
|
|
796
795
|
#: Reserved.
|
@@ -808,7 +807,7 @@ class ESPTransformParameter(Parameter):
|
|
808
807
|
|
809
808
|
|
810
809
|
@schema_final
|
811
|
-
class SeqDataParameter(Parameter):
|
810
|
+
class SeqDataParameter(Parameter, code=Enum_Parameter.SEQ_DATA):
|
812
811
|
"""Header schema for HIP ``SEQ_DATA`` parameters."""
|
813
812
|
|
814
813
|
#: Sequence number.
|
@@ -821,7 +820,7 @@ class SeqDataParameter(Parameter):
|
|
821
820
|
|
822
821
|
|
823
822
|
@schema_final
|
824
|
-
class AckDataParameter(Parameter):
|
823
|
+
class AckDataParameter(Parameter, code=Enum_Parameter.ACK_DATA):
|
825
824
|
"""Header schema for HIP ``ACK_DATA`` parameters."""
|
826
825
|
|
827
826
|
#: Acked sequence number.
|
@@ -837,7 +836,7 @@ class AckDataParameter(Parameter):
|
|
837
836
|
|
838
837
|
|
839
838
|
@schema_final
|
840
|
-
class PayloadMICParameter(Parameter):
|
839
|
+
class PayloadMICParameter(Parameter, code=Enum_Parameter.PAYLOAD_MIC):
|
841
840
|
"""Header schema for HIP ``PAYLOAD_MIC`` parameters."""
|
842
841
|
|
843
842
|
#: Next header.
|
@@ -856,7 +855,7 @@ class PayloadMICParameter(Parameter):
|
|
856
855
|
|
857
856
|
|
858
857
|
@schema_final
|
859
|
-
class TransactionIDParameter(Parameter):
|
858
|
+
class TransactionIDParameter(Parameter, code=Enum_Parameter.TRANSACTION_ID):
|
860
859
|
"""Header schema for HIP ``TRANSACTION_ID`` parameters."""
|
861
860
|
|
862
861
|
#: Transaction ID.
|
@@ -869,7 +868,7 @@ class TransactionIDParameter(Parameter):
|
|
869
868
|
|
870
869
|
|
871
870
|
@schema_final
|
872
|
-
class OverlayIDParameter(Parameter):
|
871
|
+
class OverlayIDParameter(Parameter, code=Enum_Parameter.OVERLAY_ID):
|
873
872
|
"""Header schema for HIP ``OVERLAY_ID`` parameters."""
|
874
873
|
|
875
874
|
#: Overlay ID.
|
@@ -882,7 +881,7 @@ class OverlayIDParameter(Parameter):
|
|
882
881
|
|
883
882
|
|
884
883
|
@schema_final
|
885
|
-
class RouteDstParameter(Parameter):
|
884
|
+
class RouteDstParameter(Parameter, code=Enum_Parameter.ROUTE_DST):
|
886
885
|
"""Header schema for HIP ``ROUTE_DST`` parameters."""
|
887
886
|
|
888
887
|
#: Flags.
|
@@ -905,7 +904,7 @@ class RouteDstParameter(Parameter):
|
|
905
904
|
|
906
905
|
|
907
906
|
@schema_final
|
908
|
-
class HIPTransportModeParameter(Parameter):
|
907
|
+
class HIPTransportModeParameter(Parameter, code=Enum_Parameter.HIP_TRANSPORT_MODE):
|
909
908
|
"""Header schema for HIP ``HIP_TRANSPORT_MODE`` parameters."""
|
910
909
|
|
911
910
|
#: Port.
|
@@ -923,7 +922,7 @@ class HIPTransportModeParameter(Parameter):
|
|
923
922
|
|
924
923
|
|
925
924
|
@schema_final
|
926
|
-
class HIPMACParameter(Parameter):
|
925
|
+
class HIPMACParameter(Parameter, code=Enum_Parameter.HIP_MAC):
|
927
926
|
"""Header schema for HIP ``HIP_MAC`` parameters."""
|
928
927
|
|
929
928
|
#: HMAC value.
|
@@ -936,7 +935,7 @@ class HIPMACParameter(Parameter):
|
|
936
935
|
|
937
936
|
|
938
937
|
@schema_final
|
939
|
-
class HIPMAC2Parameter(Parameter):
|
938
|
+
class HIPMAC2Parameter(Parameter, code=Enum_Parameter.HIP_MAC_2):
|
940
939
|
"""Header schema for HIP ``HIP_MAC_2`` parameters."""
|
941
940
|
|
942
941
|
#: HMAC value.
|
@@ -949,7 +948,7 @@ class HIPMAC2Parameter(Parameter):
|
|
949
948
|
|
950
949
|
|
951
950
|
@schema_final
|
952
|
-
class HIPSignature2Parameter(Parameter):
|
951
|
+
class HIPSignature2Parameter(Parameter, code=Enum_Parameter.HIP_SIGNATURE_2):
|
953
952
|
"""Header schema for HIP ``HIP_SIGNATURE_2`` parameters."""
|
954
953
|
|
955
954
|
#: Signature algorithm.
|
@@ -964,7 +963,7 @@ class HIPSignature2Parameter(Parameter):
|
|
964
963
|
|
965
964
|
|
966
965
|
@schema_final
|
967
|
-
class HIPSignatureParameter(Parameter):
|
966
|
+
class HIPSignatureParameter(Parameter, code=Enum_Parameter.HIP_SIGNATURE):
|
968
967
|
"""Header schema for HIP ``HIP_SIGNATURE`` parameters."""
|
969
968
|
|
970
969
|
#: Signature algorithm.
|
@@ -979,7 +978,7 @@ class HIPSignatureParameter(Parameter):
|
|
979
978
|
|
980
979
|
|
981
980
|
@schema_final
|
982
|
-
class EchoRequestUnsignedParameter(Parameter):
|
981
|
+
class EchoRequestUnsignedParameter(Parameter, code=Enum_Parameter.ECHO_REQUEST_UNSIGNED):
|
983
982
|
"""Header schema for HIP ``ECHO_REQUEST_UNSIGNED`` parameters."""
|
984
983
|
|
985
984
|
#: Opaque data.
|
@@ -992,7 +991,7 @@ class EchoRequestUnsignedParameter(Parameter):
|
|
992
991
|
|
993
992
|
|
994
993
|
@schema_final
|
995
|
-
class EchoResponseUnsignedParameter(Parameter):
|
994
|
+
class EchoResponseUnsignedParameter(Parameter, code=Enum_Parameter.ECHO_RESPONSE_UNSIGNED):
|
996
995
|
"""Header schema for HIP ``ECHO_RESPONSE_UNSIGNED`` parameters."""
|
997
996
|
|
998
997
|
#: Opaque data.
|
@@ -1005,7 +1004,7 @@ class EchoResponseUnsignedParameter(Parameter):
|
|
1005
1004
|
|
1006
1005
|
|
1007
1006
|
@schema_final
|
1008
|
-
class RelayFromParameter(Parameter):
|
1007
|
+
class RelayFromParameter(Parameter, code=Enum_Parameter.RELAY_FROM):
|
1009
1008
|
"""Header schema for HIP ``RELAY_FROM`` parameters."""
|
1010
1009
|
|
1011
1010
|
#: Port.
|
@@ -1022,7 +1021,7 @@ class RelayFromParameter(Parameter):
|
|
1022
1021
|
|
1023
1022
|
|
1024
1023
|
@schema_final
|
1025
|
-
class RelayToParameter(Parameter):
|
1024
|
+
class RelayToParameter(Parameter, code=Enum_Parameter.RELAY_TO):
|
1026
1025
|
"""Header schema for HIP ``RELAY_TO`` parameters."""
|
1027
1026
|
|
1028
1027
|
#: Port.
|
@@ -1039,7 +1038,7 @@ class RelayToParameter(Parameter):
|
|
1039
1038
|
|
1040
1039
|
|
1041
1040
|
@schema_final
|
1042
|
-
class OverlayTTLParameter(Parameter):
|
1041
|
+
class OverlayTTLParameter(Parameter, code=Enum_Parameter.OVERLAY_TTL):
|
1043
1042
|
"""Header schema for HIP ``OVERLAY_TTL`` parameters."""
|
1044
1043
|
|
1045
1044
|
#: TTL value.
|
@@ -1054,7 +1053,7 @@ class OverlayTTLParameter(Parameter):
|
|
1054
1053
|
|
1055
1054
|
|
1056
1055
|
@schema_final
|
1057
|
-
class RouteViaParameter(Parameter):
|
1056
|
+
class RouteViaParameter(Parameter, code=Enum_Parameter.ROUTE_VIA):
|
1058
1057
|
"""Header schema for HIP ``ROUTE_VIA`` parameters."""
|
1059
1058
|
|
1060
1059
|
#: Flags.
|
@@ -1077,7 +1076,7 @@ class RouteViaParameter(Parameter):
|
|
1077
1076
|
|
1078
1077
|
|
1079
1078
|
@schema_final
|
1080
|
-
class FromParameter(Parameter):
|
1079
|
+
class FromParameter(Parameter, code=Enum_Parameter.FROM):
|
1081
1080
|
"""Header schema for HIP ``FROM`` parameters."""
|
1082
1081
|
|
1083
1082
|
#: Address.
|
@@ -1090,7 +1089,7 @@ class FromParameter(Parameter):
|
|
1090
1089
|
|
1091
1090
|
|
1092
1091
|
@schema_final
|
1093
|
-
class RVSHMACParameter(Parameter):
|
1092
|
+
class RVSHMACParameter(Parameter, code=Enum_Parameter.RVS_HMAC):
|
1094
1093
|
"""Header schema for HIP ``RVS_HMAC`` parameters."""
|
1095
1094
|
|
1096
1095
|
#: HMAC value.
|
@@ -1103,7 +1102,7 @@ class RVSHMACParameter(Parameter):
|
|
1103
1102
|
|
1104
1103
|
|
1105
1104
|
@schema_final
|
1106
|
-
class ViaRVSParameter(Parameter):
|
1105
|
+
class ViaRVSParameter(Parameter, code=Enum_Parameter.VIA_RVS):
|
1107
1106
|
"""Header schema for HIP ``VIA_RVS`` parameters."""
|
1108
1107
|
|
1109
1108
|
#: Address.
|
@@ -1119,7 +1118,7 @@ class ViaRVSParameter(Parameter):
|
|
1119
1118
|
|
1120
1119
|
|
1121
1120
|
@schema_final
|
1122
|
-
class RelayHMACParameter(Parameter):
|
1121
|
+
class RelayHMACParameter(Parameter, code=Enum_Parameter.RELAY_HMAC):
|
1123
1122
|
"""Header schema for HIP ``RELAY_HMAC`` parameters."""
|
1124
1123
|
|
1125
1124
|
#: HMAC value.
|
@@ -1173,55 +1172,7 @@ class HIP(Schema):
|
|
1173
1172
|
length=lambda pkt: (pkt['len'] - 4) * 8,
|
1174
1173
|
base_schema=Parameter,
|
1175
1174
|
type_name='type',
|
1176
|
-
registry=
|
1177
|
-
Enum_Parameter.ESP_INFO: ESPInfoParameter,
|
1178
|
-
Enum_Parameter.R1_COUNTER: R1CounterParameter,
|
1179
|
-
Enum_Parameter.LOCATOR_SET: LocatorSetParameter,
|
1180
|
-
Enum_Parameter.PUZZLE: PuzzleParameter,
|
1181
|
-
Enum_Parameter.SOLUTION: SolutionParameter,
|
1182
|
-
Enum_Parameter.SEQ: SEQParameter,
|
1183
|
-
Enum_Parameter.ACK: ACKParameter,
|
1184
|
-
Enum_Parameter.DH_GROUP_LIST: DHGroupListParameter,
|
1185
|
-
Enum_Parameter.DIFFIE_HELLMAN: DiffieHellmanParameter,
|
1186
|
-
Enum_Parameter.HIP_TRANSFORM: HIPTransformParameter,
|
1187
|
-
Enum_Parameter.HIP_CIPHER: HIPCipherParameter,
|
1188
|
-
Enum_Parameter.NAT_TRAVERSAL_MODE: NATTraversalModeParameter,
|
1189
|
-
Enum_Parameter.TRANSACTION_PACING: TransactionPacingParameter,
|
1190
|
-
Enum_Parameter.ENCRYPTED: EncryptedParameter,
|
1191
|
-
Enum_Parameter.HOST_ID: HostIDParameter,
|
1192
|
-
Enum_Parameter.HIT_SUITE_LIST: HITSuiteListParameter,
|
1193
|
-
Enum_Parameter.CERT: CertParameter,
|
1194
|
-
Enum_Parameter.NOTIFICATION: NotificationParameter,
|
1195
|
-
Enum_Parameter.ECHO_REQUEST_SIGNED: EchoRequestSignedParameter,
|
1196
|
-
Enum_Parameter.REG_INFO: RegInfoParameter,
|
1197
|
-
Enum_Parameter.REG_REQUEST: RegRequestParameter,
|
1198
|
-
Enum_Parameter.REG_FAILED: RegFailedParameter,
|
1199
|
-
Enum_Parameter.REG_FROM: RegFromParameter,
|
1200
|
-
Enum_Parameter.ECHO_RESPONSE_SIGNED: EchoResponseSignedParameter,
|
1201
|
-
Enum_Parameter.TRANSPORT_FORMAT_LIST: TransportFormatListParameter,
|
1202
|
-
Enum_Parameter.ESP_TRANSFORM: ESPTransformParameter,
|
1203
|
-
Enum_Parameter.SEQ_DATA: SeqDataParameter,
|
1204
|
-
Enum_Parameter.ACK_DATA: AckDataParameter,
|
1205
|
-
Enum_Parameter.PAYLOAD_MIC: PayloadMICParameter,
|
1206
|
-
Enum_Parameter.TRANSACTION_ID: TransactionIDParameter,
|
1207
|
-
Enum_Parameter.OVERLAY_ID: OverlayIDParameter,
|
1208
|
-
Enum_Parameter.ROUTE_DST: RouteDstParameter,
|
1209
|
-
Enum_Parameter.HIP_TRANSPORT_MODE: HIPTransportModeParameter,
|
1210
|
-
Enum_Parameter.HIP_MAC: HIPMACParameter,
|
1211
|
-
Enum_Parameter.HIP_MAC_2: HIPMAC2Parameter,
|
1212
|
-
Enum_Parameter.HIP_SIGNATURE_2: HIPSignature2Parameter,
|
1213
|
-
Enum_Parameter.HIP_SIGNATURE: HIPSignatureParameter,
|
1214
|
-
Enum_Parameter.ECHO_REQUEST_UNSIGNED: EchoRequestUnsignedParameter,
|
1215
|
-
Enum_Parameter.ECHO_RESPONSE_UNSIGNED: EchoResponseUnsignedParameter,
|
1216
|
-
Enum_Parameter.RELAY_FROM: RelayFromParameter,
|
1217
|
-
Enum_Parameter.RELAY_TO: RelayToParameter,
|
1218
|
-
Enum_Parameter.OVERLAY_TTL: OverlayTTLParameter,
|
1219
|
-
Enum_Parameter.ROUTE_VIA: RouteViaParameter,
|
1220
|
-
Enum_Parameter.FROM: FromParameter,
|
1221
|
-
Enum_Parameter.RVS_HMAC: RVSHMACParameter,
|
1222
|
-
Enum_Parameter.VIA_RVS: ViaRVSParameter,
|
1223
|
-
Enum_Parameter.RELAY_HMAC: RelayHMACParameter,
|
1224
|
-
}),
|
1175
|
+
registry=Parameter.registry,
|
1225
1176
|
)
|
1226
1177
|
#: Payload.
|
1227
1178
|
payload: 'bytes' = PayloadField()
|