pypcapkit 1.3.3.post1__cp313-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 +126 -0
- pcapkit/__main__.py +138 -0
- pcapkit/all.py +136 -0
- pcapkit/const/__init__.py +81 -0
- pcapkit/const/arp/__init__.py +25 -0
- pcapkit/const/arp/hardware.py +181 -0
- pcapkit/const/arp/operation.py +131 -0
- pcapkit/const/ftp/__init__.py +25 -0
- pcapkit/const/ftp/command.py +309 -0
- pcapkit/const/ftp/return_code.py +304 -0
- pcapkit/const/hip/__init__.py +94 -0
- pcapkit/const/hip/certificate.py +77 -0
- pcapkit/const/hip/cipher.py +65 -0
- pcapkit/const/hip/di.py +59 -0
- pcapkit/const/hip/ecdsa_curve.py +59 -0
- pcapkit/const/hip/ecdsa_low_curve.py +56 -0
- pcapkit/const/hip/eddsa_curve.py +65 -0
- pcapkit/const/hip/esp_transform_suite.py +98 -0
- pcapkit/const/hip/group.py +86 -0
- pcapkit/const/hip/hi_algorithm.py +86 -0
- pcapkit/const/hip/hit_suite.py +68 -0
- pcapkit/const/hip/nat_traversal.py +62 -0
- pcapkit/const/hip/notify_message.py +200 -0
- pcapkit/const/hip/packet.py +89 -0
- pcapkit/const/hip/parameter.py +377 -0
- pcapkit/const/hip/registration.py +68 -0
- pcapkit/const/hip/registration_failure.py +84 -0
- pcapkit/const/hip/suite.py +71 -0
- pcapkit/const/hip/transport.py +59 -0
- pcapkit/const/http/__init__.py +39 -0
- pcapkit/const/http/error_code.py +95 -0
- pcapkit/const/http/frame.py +95 -0
- pcapkit/const/http/method.py +184 -0
- pcapkit/const/http/setting.py +96 -0
- pcapkit/const/http/status_code.py +294 -0
- pcapkit/const/ipv4/__init__.py +57 -0
- pcapkit/const/ipv4/classification_level.py +64 -0
- pcapkit/const/ipv4/option_class.py +55 -0
- pcapkit/const/ipv4/option_number.py +137 -0
- pcapkit/const/ipv4/protection_authority.py +63 -0
- pcapkit/const/ipv4/qs_function.py +51 -0
- pcapkit/const/ipv4/router_alert.py +251 -0
- pcapkit/const/ipv4/tos_del.py +51 -0
- pcapkit/const/ipv4/tos_ecn.py +55 -0
- pcapkit/const/ipv4/tos_pre.py +63 -0
- pcapkit/const/ipv4/tos_rel.py +51 -0
- pcapkit/const/ipv4/tos_thr.py +51 -0
- pcapkit/const/ipv4/ts_flag.py +53 -0
- pcapkit/const/ipv6/__init__.py +53 -0
- pcapkit/const/ipv6/extension_header.py +66 -0
- pcapkit/const/ipv6/option.py +137 -0
- pcapkit/const/ipv6/option_action.py +55 -0
- pcapkit/const/ipv6/qs_function.py +51 -0
- pcapkit/const/ipv6/router_alert.py +266 -0
- pcapkit/const/ipv6/routing.py +80 -0
- pcapkit/const/ipv6/seed_id.py +55 -0
- pcapkit/const/ipv6/smf_dpd_mode.py +51 -0
- pcapkit/const/ipv6/tagger_id.py +62 -0
- pcapkit/const/ipx/__init__.py +27 -0
- pcapkit/const/ipx/packet.py +72 -0
- pcapkit/const/ipx/socket.py +104 -0
- pcapkit/const/l2tp/__init__.py +21 -0
- pcapkit/const/l2tp/type.py +51 -0
- pcapkit/const/mh/__init__.py +204 -0
- pcapkit/const/mh/access_type.py +92 -0
- pcapkit/const/mh/ack_status_code.py +71 -0
- pcapkit/const/mh/ani_suboption.py +74 -0
- pcapkit/const/mh/auth_subtype.py +53 -0
- pcapkit/const/mh/binding_ack_flag.py +66 -0
- pcapkit/const/mh/binding_error.py +51 -0
- pcapkit/const/mh/binding_revocation.py +59 -0
- pcapkit/const/mh/binding_update_flag.py +81 -0
- pcapkit/const/mh/cga_extension.py +66 -0
- pcapkit/const/mh/cga_sec.py +57 -0
- pcapkit/const/mh/cga_type.py +68 -0
- pcapkit/const/mh/dhcp_support_mode.py +53 -0
- pcapkit/const/mh/dns_status_code.py +65 -0
- pcapkit/const/mh/dsmip6_tls_packet.py +62 -0
- pcapkit/const/mh/dsmipv6_home_address.py +74 -0
- pcapkit/const/mh/enumerating_algorithm.py +56 -0
- pcapkit/const/mh/fb_ack_status.py +62 -0
- pcapkit/const/mh/fb_action.py +71 -0
- pcapkit/const/mh/fb_indication_trigger.py +65 -0
- pcapkit/const/mh/fb_type.py +59 -0
- pcapkit/const/mh/flow_id_status.py +77 -0
- pcapkit/const/mh/flow_id_suboption.py +71 -0
- pcapkit/const/mh/handoff_type.py +71 -0
- pcapkit/const/mh/handover_ack_flag.py +54 -0
- pcapkit/const/mh/handover_ack_status.py +92 -0
- pcapkit/const/mh/handover_initiate_flag.py +57 -0
- pcapkit/const/mh/handover_initiate_status.py +62 -0
- pcapkit/const/mh/home_address_reply.py +71 -0
- pcapkit/const/mh/lla_code.py +63 -0
- pcapkit/const/mh/lma_mag_suboption.py +59 -0
- pcapkit/const/mh/mn_group_id.py +59 -0
- pcapkit/const/mh/mn_id_subtype.py +77 -0
- pcapkit/const/mh/operator_id.py +63 -0
- pcapkit/const/mh/option.py +260 -0
- pcapkit/const/mh/packet.py +119 -0
- pcapkit/const/mh/qos_attribute.py +89 -0
- pcapkit/const/mh/revocation_status_code.py +83 -0
- pcapkit/const/mh/revocation_trigger.py +86 -0
- pcapkit/const/mh/status_code.py +232 -0
- pcapkit/const/mh/traffic_selector.py +62 -0
- pcapkit/const/mh/upa_status.py +71 -0
- pcapkit/const/mh/upn_reason.py +80 -0
- pcapkit/const/ospf/__init__.py +27 -0
- pcapkit/const/ospf/authentication.py +65 -0
- pcapkit/const/ospf/packet.py +71 -0
- pcapkit/const/pcapng/__init__.py +51 -0
- pcapkit/const/pcapng/block_type.py +152 -0
- pcapkit/const/pcapng/filter_type.py +48 -0
- pcapkit/const/pcapng/hash_algorithm.py +59 -0
- pcapkit/const/pcapng/option_type.py +233 -0
- pcapkit/const/pcapng/record_type.py +57 -0
- pcapkit/const/pcapng/secrets_type.py +56 -0
- pcapkit/const/pcapng/verdict_type.py +53 -0
- pcapkit/const/reg/__init__.py +34 -0
- pcapkit/const/reg/apptype.py +32702 -0
- pcapkit/const/reg/ethertype.py +714 -0
- pcapkit/const/reg/linktype.py +902 -0
- pcapkit/const/reg/transtype.py +523 -0
- pcapkit/const/tcp/__init__.py +35 -0
- pcapkit/const/tcp/checksum.py +55 -0
- pcapkit/const/tcp/flags.py +73 -0
- pcapkit/const/tcp/mp_tcp_option.py +80 -0
- pcapkit/const/tcp/option.py +198 -0
- pcapkit/const/vlan/__init__.py +23 -0
- pcapkit/const/vlan/priority_level.py +71 -0
- pcapkit/corekit/__init__.py +59 -0
- pcapkit/corekit/fields/__init__.py +45 -0
- pcapkit/corekit/fields/collections.py +282 -0
- pcapkit/corekit/fields/field.py +269 -0
- pcapkit/corekit/fields/ipaddress.py +274 -0
- pcapkit/corekit/fields/misc.py +722 -0
- pcapkit/corekit/fields/numbers.py +375 -0
- pcapkit/corekit/fields/strings.py +245 -0
- pcapkit/corekit/infoclass.py +394 -0
- pcapkit/corekit/io.py +506 -0
- pcapkit/corekit/module.py +39 -0
- pcapkit/corekit/multidict.py +626 -0
- pcapkit/corekit/protochain.py +263 -0
- pcapkit/corekit/version.py +33 -0
- pcapkit/dumpkit/__init__.py +15 -0
- pcapkit/dumpkit/common.py +199 -0
- pcapkit/dumpkit/null.py +77 -0
- pcapkit/dumpkit/pcap.py +144 -0
- pcapkit/foundation/__init__.py +45 -0
- pcapkit/foundation/engines/__init__.py +36 -0
- pcapkit/foundation/engines/dpkt.py +230 -0
- pcapkit/foundation/engines/engine.py +194 -0
- pcapkit/foundation/engines/pcap.py +188 -0
- pcapkit/foundation/engines/pcapng.py +310 -0
- pcapkit/foundation/engines/pyshark.py +166 -0
- pcapkit/foundation/engines/scapy.py +161 -0
- pcapkit/foundation/extraction.py +915 -0
- pcapkit/foundation/reassembly/__init__.py +49 -0
- pcapkit/foundation/reassembly/data/__init__.py +48 -0
- pcapkit/foundation/reassembly/data/ip.py +117 -0
- pcapkit/foundation/reassembly/data/tcp.py +145 -0
- pcapkit/foundation/reassembly/ip.py +192 -0
- pcapkit/foundation/reassembly/ipv4.py +50 -0
- pcapkit/foundation/reassembly/ipv6.py +50 -0
- pcapkit/foundation/reassembly/reassembly.py +389 -0
- pcapkit/foundation/reassembly/tcp.py +249 -0
- pcapkit/foundation/registry/__init__.py +41 -0
- pcapkit/foundation/registry/foundation.py +327 -0
- pcapkit/foundation/registry/protocols.py +885 -0
- pcapkit/foundation/traceflow/__init__.py +44 -0
- pcapkit/foundation/traceflow/data/__init__.py +30 -0
- pcapkit/foundation/traceflow/data/tcp.py +105 -0
- pcapkit/foundation/traceflow/tcp.py +159 -0
- pcapkit/foundation/traceflow/traceflow.py +390 -0
- pcapkit/interface/__init__.py +22 -0
- pcapkit/interface/core.py +185 -0
- pcapkit/interface/misc.py +120 -0
- pcapkit/protocols/__init__.py +85 -0
- pcapkit/protocols/application/NotImplemented/bgp.py +0 -0
- pcapkit/protocols/application/NotImplemented/dhcp.py +0 -0
- pcapkit/protocols/application/NotImplemented/dhcpv6.py +0 -0
- pcapkit/protocols/application/NotImplemented/dns.py +0 -0
- pcapkit/protocols/application/NotImplemented/imap.py +0 -0
- pcapkit/protocols/application/NotImplemented/ldap.py +0 -0
- pcapkit/protocols/application/NotImplemented/mqtt.py +0 -0
- pcapkit/protocols/application/NotImplemented/nntp.py +0 -0
- pcapkit/protocols/application/NotImplemented/ntp.py +0 -0
- pcapkit/protocols/application/NotImplemented/onc_rpc.py +0 -0
- pcapkit/protocols/application/NotImplemented/pop.py +0 -0
- pcapkit/protocols/application/NotImplemented/rip.py +0 -0
- pcapkit/protocols/application/NotImplemented/rtp.py +0 -0
- pcapkit/protocols/application/NotImplemented/sip.py +0 -0
- pcapkit/protocols/application/NotImplemented/smtp.py +0 -0
- pcapkit/protocols/application/NotImplemented/snmp.py +0 -0
- pcapkit/protocols/application/NotImplemented/ssh.py +0 -0
- pcapkit/protocols/application/NotImplemented/telnet.py +0 -0
- pcapkit/protocols/application/NotImplemented/tls.py +0 -0
- pcapkit/protocols/application/NotImplemented/xmpp.py +0 -0
- pcapkit/protocols/application/__init__.py +34 -0
- pcapkit/protocols/application/application.py +114 -0
- pcapkit/protocols/application/ftp.py +206 -0
- pcapkit/protocols/application/http.py +176 -0
- pcapkit/protocols/application/httpv1.py +320 -0
- pcapkit/protocols/application/httpv2.py +1255 -0
- pcapkit/protocols/data/__init__.py +192 -0
- pcapkit/protocols/data/application/__init__.py +57 -0
- pcapkit/protocols/data/application/ftp.py +59 -0
- pcapkit/protocols/data/application/httpv1.py +79 -0
- pcapkit/protocols/data/application/httpv2.py +293 -0
- pcapkit/protocols/data/data.py +25 -0
- pcapkit/protocols/data/internet/__init__.py +298 -0
- pcapkit/protocols/data/internet/ah.py +31 -0
- pcapkit/protocols/data/internet/hip.py +804 -0
- pcapkit/protocols/data/internet/hopopt.py +351 -0
- pcapkit/protocols/data/internet/ipv4.py +369 -0
- pcapkit/protocols/data/internet/ipv6.py +67 -0
- pcapkit/protocols/data/internet/ipv6_frag.py +29 -0
- pcapkit/protocols/data/internet/ipv6_opts.py +368 -0
- pcapkit/protocols/data/internet/ipv6_route.py +86 -0
- pcapkit/protocols/data/internet/ipx.py +56 -0
- pcapkit/protocols/data/internet/mh.py +509 -0
- pcapkit/protocols/data/link/__init__.py +33 -0
- pcapkit/protocols/data/link/arp.py +74 -0
- pcapkit/protocols/data/link/ethernet.py +28 -0
- pcapkit/protocols/data/link/l2tp.py +63 -0
- pcapkit/protocols/data/link/ospf.py +58 -0
- pcapkit/protocols/data/link/vlan.py +42 -0
- pcapkit/protocols/data/misc/__init__.py +109 -0
- pcapkit/protocols/data/misc/null.py +18 -0
- pcapkit/protocols/data/misc/pcap/__init__.py +18 -0
- pcapkit/protocols/data/misc/pcap/frame.py +56 -0
- pcapkit/protocols/data/misc/pcap/header.py +53 -0
- pcapkit/protocols/data/misc/pcapng.py +925 -0
- pcapkit/protocols/data/misc/raw.py +25 -0
- pcapkit/protocols/data/protocol.py +32 -0
- pcapkit/protocols/data/transport/__init__.py +71 -0
- pcapkit/protocols/data/transport/tcp.py +555 -0
- pcapkit/protocols/data/transport/udp.py +29 -0
- pcapkit/protocols/internet/NotImplemented/ecn.py +0 -0
- pcapkit/protocols/internet/NotImplemented/esp.py +97 -0
- pcapkit/protocols/internet/NotImplemented/icmp.py +0 -0
- pcapkit/protocols/internet/NotImplemented/icmpv6.py +0 -0
- pcapkit/protocols/internet/NotImplemented/igmp.py +0 -0
- pcapkit/protocols/internet/NotImplemented/shim6.py +0 -0
- pcapkit/protocols/internet/__init__.py +43 -0
- pcapkit/protocols/internet/ah.py +275 -0
- pcapkit/protocols/internet/hip.py +4727 -0
- pcapkit/protocols/internet/hopopt.py +1879 -0
- pcapkit/protocols/internet/internet.py +240 -0
- pcapkit/protocols/internet/ip.py +51 -0
- pcapkit/protocols/internet/ipsec.py +50 -0
- pcapkit/protocols/internet/ipv4.py +1782 -0
- pcapkit/protocols/internet/ipv6.py +361 -0
- pcapkit/protocols/internet/ipv6_frag.py +258 -0
- pcapkit/protocols/internet/ipv6_opts.py +1890 -0
- pcapkit/protocols/internet/ipv6_route.py +710 -0
- pcapkit/protocols/internet/ipx.py +230 -0
- pcapkit/protocols/internet/mh.py +2764 -0
- pcapkit/protocols/link/NotImplemented/dsl.py +0 -0
- pcapkit/protocols/link/NotImplemented/eapol.py +1 -0
- pcapkit/protocols/link/NotImplemented/fddi.py +0 -0
- pcapkit/protocols/link/NotImplemented/isdn.py +0 -0
- pcapkit/protocols/link/NotImplemented/ndp.py +0 -0
- pcapkit/protocols/link/NotImplemented/ppp.py +0 -0
- pcapkit/protocols/link/__init__.py +35 -0
- pcapkit/protocols/link/arp.py +421 -0
- pcapkit/protocols/link/ethernet.py +248 -0
- pcapkit/protocols/link/l2tp.py +267 -0
- pcapkit/protocols/link/link.py +140 -0
- pcapkit/protocols/link/ospf.py +342 -0
- pcapkit/protocols/link/rarp.py +82 -0
- pcapkit/protocols/link/vlan.py +225 -0
- pcapkit/protocols/misc/__init__.py +37 -0
- pcapkit/protocols/misc/null.py +129 -0
- pcapkit/protocols/misc/pcap/__init__.py +17 -0
- pcapkit/protocols/misc/pcap/frame.py +478 -0
- pcapkit/protocols/misc/pcap/header.py +358 -0
- pcapkit/protocols/misc/pcapng.py +5520 -0
- pcapkit/protocols/misc/raw.py +180 -0
- pcapkit/protocols/protocol.py +1216 -0
- pcapkit/protocols/schema/__init__.py +140 -0
- pcapkit/protocols/schema/application/__init__.py +40 -0
- pcapkit/protocols/schema/application/ftp.py +21 -0
- pcapkit/protocols/schema/application/httpv1.py +21 -0
- pcapkit/protocols/schema/application/httpv2.py +384 -0
- pcapkit/protocols/schema/internet/__init__.py +294 -0
- pcapkit/protocols/schema/internet/ah.py +40 -0
- pcapkit/protocols/schema/internet/hip.py +1184 -0
- pcapkit/protocols/schema/internet/hopopt.py +679 -0
- pcapkit/protocols/schema/internet/ipv4.py +576 -0
- pcapkit/protocols/schema/internet/ipv6.py +63 -0
- pcapkit/protocols/schema/internet/ipv6_frag.py +48 -0
- pcapkit/protocols/schema/internet/ipv6_opts.py +680 -0
- pcapkit/protocols/schema/internet/ipv6_route.py +198 -0
- pcapkit/protocols/schema/internet/ipx.py +40 -0
- pcapkit/protocols/schema/internet/mh.py +718 -0
- pcapkit/protocols/schema/link/__init__.py +19 -0
- pcapkit/protocols/schema/link/arp.py +39 -0
- pcapkit/protocols/schema/link/ethernet.py +51 -0
- pcapkit/protocols/schema/link/l2tp.py +88 -0
- pcapkit/protocols/schema/link/ospf.py +90 -0
- pcapkit/protocols/schema/link/vlan.py +69 -0
- pcapkit/protocols/schema/misc/__init__.py +108 -0
- pcapkit/protocols/schema/misc/null.py +18 -0
- pcapkit/protocols/schema/misc/pcap/__init__.py +10 -0
- pcapkit/protocols/schema/misc/pcap/frame.py +51 -0
- pcapkit/protocols/schema/misc/pcap/header.py +63 -0
- pcapkit/protocols/schema/misc/pcapng.py +1689 -0
- pcapkit/protocols/schema/misc/raw.py +24 -0
- pcapkit/protocols/schema/schema.py +809 -0
- pcapkit/protocols/schema/transport/__init__.py +69 -0
- pcapkit/protocols/schema/transport/tcp.py +928 -0
- pcapkit/protocols/schema/transport/udp.py +90 -0
- pcapkit/protocols/transport/NotImplemented/dccp.py +0 -0
- pcapkit/protocols/transport/NotImplemented/rsvp.py +0 -0
- pcapkit/protocols/transport/NotImplemented/sctp.py +0 -0
- pcapkit/protocols/transport/__init__.py +27 -0
- pcapkit/protocols/transport/tcp.py +3025 -0
- pcapkit/protocols/transport/transport.py +158 -0
- pcapkit/protocols/transport/udp.py +214 -0
- pcapkit/py.typed +0 -0
- pcapkit/toolkit/__init__.py +57 -0
- pcapkit/toolkit/dpkt.py +306 -0
- pcapkit/toolkit/pcap.py +212 -0
- pcapkit/toolkit/pcapng.py +251 -0
- pcapkit/toolkit/pyshark.py +99 -0
- pcapkit/toolkit/scapy.py +297 -0
- pcapkit/utilities/__init__.py +20 -0
- pcapkit/utilities/compat.py +196 -0
- pcapkit/utilities/decorators.py +192 -0
- pcapkit/utilities/exceptions.py +365 -0
- pcapkit/utilities/logging.py +55 -0
- pcapkit/utilities/warnings.py +185 -0
- pcapkit/vendor/__init__.py +105 -0
- pcapkit/vendor/__main__.py +92 -0
- pcapkit/vendor/arp/__init__.py +27 -0
- pcapkit/vendor/arp/hardware.py +29 -0
- pcapkit/vendor/arp/operation.py +29 -0
- pcapkit/vendor/default.py +474 -0
- pcapkit/vendor/ftp/__init__.py +27 -0
- pcapkit/vendor/ftp/command.py +244 -0
- pcapkit/vendor/ftp/return_code.py +256 -0
- pcapkit/vendor/hip/__init__.py +94 -0
- pcapkit/vendor/hip/certificate.py +29 -0
- pcapkit/vendor/hip/cipher.py +29 -0
- pcapkit/vendor/hip/di.py +29 -0
- pcapkit/vendor/hip/ecdsa_curve.py +29 -0
- pcapkit/vendor/hip/ecdsa_low_curve.py +29 -0
- pcapkit/vendor/hip/eddsa_curve.py +85 -0
- pcapkit/vendor/hip/esp_transform_suite.py +29 -0
- pcapkit/vendor/hip/group.py +87 -0
- pcapkit/vendor/hip/hi_algorithm.py +29 -0
- pcapkit/vendor/hip/hit_suite.py +29 -0
- pcapkit/vendor/hip/nat_traversal.py +29 -0
- pcapkit/vendor/hip/notify_message.py +29 -0
- pcapkit/vendor/hip/packet.py +88 -0
- pcapkit/vendor/hip/parameter.py +88 -0
- pcapkit/vendor/hip/registration.py +29 -0
- pcapkit/vendor/hip/registration_failure.py +29 -0
- pcapkit/vendor/hip/suite.py +29 -0
- pcapkit/vendor/hip/transport.py +29 -0
- pcapkit/vendor/http/__init__.py +39 -0
- pcapkit/vendor/http/error_code.py +95 -0
- pcapkit/vendor/http/frame.py +91 -0
- pcapkit/vendor/http/method.py +167 -0
- pcapkit/vendor/http/setting.py +93 -0
- pcapkit/vendor/http/status_code.py +185 -0
- pcapkit/vendor/ipv4/__init__.py +57 -0
- pcapkit/vendor/ipv4/classification_level.py +91 -0
- pcapkit/vendor/ipv4/option_class.py +80 -0
- pcapkit/vendor/ipv4/option_number.py +105 -0
- pcapkit/vendor/ipv4/protection_authority.py +84 -0
- pcapkit/vendor/ipv4/qs_function.py +78 -0
- pcapkit/vendor/ipv4/router_alert.py +93 -0
- pcapkit/vendor/ipv4/tos_del.py +78 -0
- pcapkit/vendor/ipv4/tos_ecn.py +95 -0
- pcapkit/vendor/ipv4/tos_pre.py +84 -0
- pcapkit/vendor/ipv4/tos_rel.py +78 -0
- pcapkit/vendor/ipv4/tos_thr.py +77 -0
- pcapkit/vendor/ipv4/ts_flag.py +79 -0
- pcapkit/vendor/ipv6/__init__.py +53 -0
- pcapkit/vendor/ipv6/extension_header.py +171 -0
- pcapkit/vendor/ipv6/option.py +104 -0
- pcapkit/vendor/ipv6/option_action.py +90 -0
- pcapkit/vendor/ipv6/qs_function.py +78 -0
- pcapkit/vendor/ipv6/router_alert.py +93 -0
- pcapkit/vendor/ipv6/routing.py +87 -0
- pcapkit/vendor/ipv6/seed_id.py +81 -0
- pcapkit/vendor/ipv6/smf_dpd_mode.py +78 -0
- pcapkit/vendor/ipv6/tagger_id.py +81 -0
- pcapkit/vendor/ipx/__init__.py +37 -0
- pcapkit/vendor/ipx/packet.py +123 -0
- pcapkit/vendor/ipx/socket.py +125 -0
- pcapkit/vendor/l2tp/__init__.py +21 -0
- pcapkit/vendor/l2tp/type.py +78 -0
- pcapkit/vendor/mh/__init__.py +204 -0
- pcapkit/vendor/mh/access_type.py +87 -0
- pcapkit/vendor/mh/ack_status_code.py +88 -0
- pcapkit/vendor/mh/ani_suboption.py +88 -0
- pcapkit/vendor/mh/auth_subtype.py +83 -0
- pcapkit/vendor/mh/binding_ack_flag.py +148 -0
- pcapkit/vendor/mh/binding_error.py +78 -0
- pcapkit/vendor/mh/binding_revocation.py +87 -0
- pcapkit/vendor/mh/binding_update_flag.py +147 -0
- pcapkit/vendor/mh/cga_extension.py +91 -0
- pcapkit/vendor/mh/cga_sec.py +91 -0
- pcapkit/vendor/mh/cga_type.py +74 -0
- pcapkit/vendor/mh/dhcp_support_mode.py +77 -0
- pcapkit/vendor/mh/dns_status_code.py +87 -0
- pcapkit/vendor/mh/dsmip6_tls_packet.py +87 -0
- pcapkit/vendor/mh/dsmipv6_home_address.py +87 -0
- pcapkit/vendor/mh/enumerating_algorithm.py +82 -0
- pcapkit/vendor/mh/fb_ack_status.py +87 -0
- pcapkit/vendor/mh/fb_action.py +88 -0
- pcapkit/vendor/mh/fb_indication_trigger.py +87 -0
- pcapkit/vendor/mh/fb_type.py +88 -0
- pcapkit/vendor/mh/flow_id_status.py +87 -0
- pcapkit/vendor/mh/flow_id_suboption.py +87 -0
- pcapkit/vendor/mh/handoff_type.py +87 -0
- pcapkit/vendor/mh/handover_ack_flag.py +143 -0
- pcapkit/vendor/mh/handover_ack_status.py +87 -0
- pcapkit/vendor/mh/handover_initiate_flag.py +143 -0
- pcapkit/vendor/mh/handover_initiate_status.py +87 -0
- pcapkit/vendor/mh/home_address_reply.py +87 -0
- pcapkit/vendor/mh/lla_code.py +97 -0
- pcapkit/vendor/mh/lma_mag_suboption.py +88 -0
- pcapkit/vendor/mh/mn_group_id.py +87 -0
- pcapkit/vendor/mh/mn_id_subtype.py +87 -0
- pcapkit/vendor/mh/operator_id.py +87 -0
- pcapkit/vendor/mh/option.py +83 -0
- pcapkit/vendor/mh/packet.py +82 -0
- pcapkit/vendor/mh/qos_attribute.py +87 -0
- pcapkit/vendor/mh/revocation_status_code.py +87 -0
- pcapkit/vendor/mh/revocation_trigger.py +87 -0
- pcapkit/vendor/mh/status_code.py +91 -0
- pcapkit/vendor/mh/traffic_selector.py +87 -0
- pcapkit/vendor/mh/upa_status.py +87 -0
- pcapkit/vendor/mh/upn_reason.py +87 -0
- pcapkit/vendor/ospf/__init__.py +27 -0
- pcapkit/vendor/ospf/authentication.py +29 -0
- pcapkit/vendor/ospf/packet.py +29 -0
- pcapkit/vendor/pcapng/__init__.py +51 -0
- pcapkit/vendor/pcapng/block_type.py +94 -0
- pcapkit/vendor/pcapng/filter_type.py +77 -0
- pcapkit/vendor/pcapng/hash_algorithm.py +82 -0
- pcapkit/vendor/pcapng/option_type.py +287 -0
- pcapkit/vendor/pcapng/record_type.py +81 -0
- pcapkit/vendor/pcapng/secrets_type.py +81 -0
- pcapkit/vendor/pcapng/verdict_type.py +79 -0
- pcapkit/vendor/reg/__init__.py +34 -0
- pcapkit/vendor/reg/apptype.py +338 -0
- pcapkit/vendor/reg/ethertype.py +121 -0
- pcapkit/vendor/reg/linktype.py +110 -0
- pcapkit/vendor/reg/transtype.py +111 -0
- pcapkit/vendor/tcp/__init__.py +35 -0
- pcapkit/vendor/tcp/checksum.py +80 -0
- pcapkit/vendor/tcp/flags.py +149 -0
- pcapkit/vendor/tcp/mp_tcp_option.py +90 -0
- pcapkit/vendor/tcp/option.py +103 -0
- pcapkit/vendor/vlan/__init__.py +23 -0
- pcapkit/vendor/vlan/priority_level.py +97 -0
- pypcapkit-1.3.3.post1.dist-info/LICENSE +29 -0
- pypcapkit-1.3.3.post1.dist-info/METADATA +236 -0
- pypcapkit-1.3.3.post1.dist-info/RECORD +466 -0
- pypcapkit-1.3.3.post1.dist-info/WHEEL +5 -0
- pypcapkit-1.3.3.post1.dist-info/entry_points.txt +3 -0
- pypcapkit-1.3.3.post1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,804 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""data model for HIP protocol"""
|
3
|
+
|
4
|
+
from typing import TYPE_CHECKING
|
5
|
+
|
6
|
+
from pcapkit.corekit.infoclass import info_final
|
7
|
+
from pcapkit.protocols.data.data import Data
|
8
|
+
from pcapkit.protocols.data.protocol import Protocol
|
9
|
+
|
10
|
+
if TYPE_CHECKING:
|
11
|
+
from datetime import timedelta
|
12
|
+
from ipaddress import IPv6Address
|
13
|
+
from typing import Optional
|
14
|
+
|
15
|
+
from pcapkit.const.hip.certificate import Certificate
|
16
|
+
from pcapkit.const.hip.cipher import Cipher
|
17
|
+
from pcapkit.const.hip.di import DITypes
|
18
|
+
from pcapkit.const.hip.ecdsa_curve import ECDSACurve
|
19
|
+
from pcapkit.const.hip.ecdsa_low_curve import ECDSALowCurve
|
20
|
+
from pcapkit.const.hip.eddsa_curve import EdDSACurve
|
21
|
+
from pcapkit.const.hip.esp_transform_suite import ESPTransformSuite
|
22
|
+
from pcapkit.const.hip.group import Group
|
23
|
+
from pcapkit.const.hip.hi_algorithm import HIAlgorithm
|
24
|
+
from pcapkit.const.hip.hit_suite import HITSuite
|
25
|
+
from pcapkit.const.hip.nat_traversal import NATTraversal
|
26
|
+
from pcapkit.const.hip.notify_message import NotifyMessage
|
27
|
+
from pcapkit.const.hip.packet import Packet
|
28
|
+
from pcapkit.const.hip.parameter import Parameter as Enum_Parameter
|
29
|
+
from pcapkit.const.hip.registration import Registration
|
30
|
+
from pcapkit.const.hip.registration_failure import RegistrationFailure
|
31
|
+
from pcapkit.const.hip.suite import Suite
|
32
|
+
from pcapkit.const.hip.transport import Transport
|
33
|
+
from pcapkit.const.reg.transtype import TransType
|
34
|
+
from pcapkit.corekit.multidict import OrderedMultiDict
|
35
|
+
|
36
|
+
__all__ = [
|
37
|
+
'HIP', 'Control',
|
38
|
+
|
39
|
+
'LocatorData', 'Locator',
|
40
|
+
'HostIdentity',
|
41
|
+
'Lifetime',
|
42
|
+
'Flags',
|
43
|
+
|
44
|
+
'UnassignedParameter', 'ESPInfoParameter', 'R1CounterParameter',
|
45
|
+
'LocatorSetParameter', 'PuzzleParameter', 'SolutionParameter',
|
46
|
+
'SEQParameter', 'ACKParameter', 'DHGroupListParameter',
|
47
|
+
'DiffieHellmanParameter', 'HIPTransformParameter', 'HIPCipherParameter',
|
48
|
+
'NATTraversalModeParameter', 'TransactionPacingParameter', 'EncryptedParameter',
|
49
|
+
'HostIDParameter', 'HITSuiteListParameter', 'CertParameter',
|
50
|
+
'NotificationParameter', 'EchoRequestSignedParameter', 'RegInfoParameter',
|
51
|
+
'RegRequestParameter', 'RegResponseParameter', 'RegFailedParameter',
|
52
|
+
'RegFromParameter', 'EchoResponseSignedParameter', 'TransportFormatListParameter',
|
53
|
+
'ESPTransformParameter', 'SeqDataParameter', 'AckDataParameter',
|
54
|
+
'PayloadMICParameter', 'TransactionIDParameter', 'OverlayIDParameter',
|
55
|
+
'RouteDstParameter', 'HIPTransportModeParameter', 'HIPMACParameter',
|
56
|
+
'HIPMAC2Parameter', 'HIPSignature2Parameter', 'HIPSignatureParameter',
|
57
|
+
'EchoRequestUnsignedParameter', 'EchoResponseUnsignedParameter', 'RelayFromParameter',
|
58
|
+
'RelayToParameter', 'RouteViaParameter', 'FromParameter',
|
59
|
+
'RVSHMACParameter', 'RelayHMACParameter',
|
60
|
+
]
|
61
|
+
|
62
|
+
|
63
|
+
@info_final
|
64
|
+
class Control(Data):
|
65
|
+
"""Data model for HIP controls."""
|
66
|
+
|
67
|
+
#: Anonymous flag.
|
68
|
+
anonymous: 'bool'
|
69
|
+
|
70
|
+
if TYPE_CHECKING:
|
71
|
+
def __init__(self, anonymous: 'bool') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,multiple-statements
|
72
|
+
|
73
|
+
|
74
|
+
class Parameter(Data):
|
75
|
+
"""Data model for HIP parameter data."""
|
76
|
+
|
77
|
+
#: Parameter type.
|
78
|
+
type: 'Enum_Parameter'
|
79
|
+
#: Critical flag.
|
80
|
+
critical: 'bool'
|
81
|
+
#: Content length.
|
82
|
+
length: 'int'
|
83
|
+
|
84
|
+
|
85
|
+
@info_final
|
86
|
+
class HIP(Protocol):
|
87
|
+
"""Data model for HIP header."""
|
88
|
+
|
89
|
+
#: Next header.
|
90
|
+
next: 'TransType'
|
91
|
+
#: Header length.
|
92
|
+
length: 'int'
|
93
|
+
#: Packet type.
|
94
|
+
type: 'Packet'
|
95
|
+
#: Version.
|
96
|
+
version: 'int'
|
97
|
+
#: Checksum.
|
98
|
+
chksum: 'bytes'
|
99
|
+
#: Control
|
100
|
+
control: 'Control'
|
101
|
+
#: Sender's host identity tag.
|
102
|
+
shit: 'int'
|
103
|
+
#: Receiver's host identity tag.
|
104
|
+
rhit: 'int'
|
105
|
+
|
106
|
+
if TYPE_CHECKING:
|
107
|
+
#: HIP parameters.
|
108
|
+
parameters: 'OrderedMultiDict[Enum_Parameter, Parameter]'
|
109
|
+
|
110
|
+
def __init__(self, next: 'TransType', length: 'int', type: 'Packet', version: 'int', chksum: 'bytes', control: 'Control', shit: 'int', rhit: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
111
|
+
|
112
|
+
|
113
|
+
@info_final
|
114
|
+
class UnassignedParameter(Parameter):
|
115
|
+
"""Data model for unassigned parameter."""
|
116
|
+
|
117
|
+
#: Content.
|
118
|
+
contents: 'bytes'
|
119
|
+
|
120
|
+
if TYPE_CHECKING:
|
121
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', contents: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
122
|
+
|
123
|
+
|
124
|
+
@info_final
|
125
|
+
class ESPInfoParameter(Parameter):
|
126
|
+
"""Data model for HIP ``ESP_INFO`` parameter."""
|
127
|
+
|
128
|
+
#: KEYMAT index.
|
129
|
+
index: 'int'
|
130
|
+
#: Old SDI.
|
131
|
+
old_spi: 'int'
|
132
|
+
#: New SDI.
|
133
|
+
new_spi: 'int'
|
134
|
+
|
135
|
+
if TYPE_CHECKING:
|
136
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', index: 'int', old_spi: 'int', new_spi: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
137
|
+
|
138
|
+
|
139
|
+
@info_final
|
140
|
+
class R1CounterParameter(Parameter):
|
141
|
+
"""Data model for HIP ``R1_COUNTER`` parameter."""
|
142
|
+
|
143
|
+
#: R1 counter.
|
144
|
+
counter: 'int'
|
145
|
+
|
146
|
+
if TYPE_CHECKING:
|
147
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', counter: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
148
|
+
|
149
|
+
|
150
|
+
@info_final
|
151
|
+
class LocatorData(Data):
|
152
|
+
"""Data model for HIP locator data."""
|
153
|
+
|
154
|
+
#: SPI.
|
155
|
+
spi: 'int'
|
156
|
+
#: IP address.
|
157
|
+
ip: 'IPv6Address'
|
158
|
+
|
159
|
+
if TYPE_CHECKING:
|
160
|
+
def __init__(self, spi: 'int', ip: 'IPv6Address') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,multiple-statements
|
161
|
+
|
162
|
+
|
163
|
+
@info_final
|
164
|
+
class Locator(Data):
|
165
|
+
"""Data model for HIP locator."""
|
166
|
+
|
167
|
+
#: Traffic.
|
168
|
+
traffic: 'int'
|
169
|
+
#: Locator type.
|
170
|
+
type: 'int'
|
171
|
+
#: Locator length.
|
172
|
+
length: 'int'
|
173
|
+
#: Preferred flag.
|
174
|
+
preferred: 'bool'
|
175
|
+
#: Locator lifetime.
|
176
|
+
lifetime: 'timedelta'
|
177
|
+
#: Locator data.
|
178
|
+
locator: 'LocatorData | IPv6Address'
|
179
|
+
|
180
|
+
if TYPE_CHECKING:
|
181
|
+
def __init__(self, traffic: 'int', type: 'int', length: 'int', preferred: 'bool', lifetime: 'timedelta', locator: 'LocatorData | IPv6Address') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,multiple-statements,redefined-builtin,line-too-long
|
182
|
+
|
183
|
+
|
184
|
+
@info_final
|
185
|
+
class LocatorSetParameter(Parameter):
|
186
|
+
"""Data model for HIP ``LOCATOR_SET`` parameter."""
|
187
|
+
|
188
|
+
#: Locator set.
|
189
|
+
locator_set: 'tuple[Locator, ...]'
|
190
|
+
|
191
|
+
if TYPE_CHECKING:
|
192
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', locator_set: 'tuple[Locator, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
193
|
+
|
194
|
+
|
195
|
+
@info_final
|
196
|
+
class PuzzleParameter(Parameter):
|
197
|
+
"""Data model for HIP ``PUZZLE`` parameter."""
|
198
|
+
|
199
|
+
#: Numeric index.
|
200
|
+
index: 'int'
|
201
|
+
#: Lifetime.
|
202
|
+
lifetime: 'timedelta'
|
203
|
+
#: Puzzle data.
|
204
|
+
opaque: 'bytes'
|
205
|
+
#: Random number.
|
206
|
+
random: 'int'
|
207
|
+
|
208
|
+
if TYPE_CHECKING:
|
209
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', index: 'int', lifetime: 'timedelta', opaque: 'bytes', random: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
210
|
+
|
211
|
+
|
212
|
+
@info_final
|
213
|
+
class SolutionParameter(Parameter):
|
214
|
+
"""Data model for HIP ``SOLUTION`` parameter."""
|
215
|
+
|
216
|
+
#: Numeric index.
|
217
|
+
index: 'int'
|
218
|
+
#: Lifetime.
|
219
|
+
lifetime: 'timedelta'
|
220
|
+
#: Solution data.
|
221
|
+
opaque: 'bytes'
|
222
|
+
#: Random number.
|
223
|
+
random: 'int'
|
224
|
+
#: Puzzle solution.
|
225
|
+
solution: 'int'
|
226
|
+
|
227
|
+
if TYPE_CHECKING:
|
228
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', index: 'int', lifetime: 'timedelta', opaque: 'bytes', random: 'int', solution: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
229
|
+
|
230
|
+
|
231
|
+
@info_final
|
232
|
+
class SEQParameter(Parameter):
|
233
|
+
"""Data model for HIP ``SEQ`` parameter."""
|
234
|
+
|
235
|
+
#: Unique ID.
|
236
|
+
id: 'int'
|
237
|
+
|
238
|
+
if TYPE_CHECKING:
|
239
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', id: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
240
|
+
|
241
|
+
|
242
|
+
@info_final
|
243
|
+
class ACKParameter(Parameter):
|
244
|
+
"""Data model for HIP ``ACK`` parameter."""
|
245
|
+
|
246
|
+
#: Peer update IDs.
|
247
|
+
update_id: 'tuple[int, ...]'
|
248
|
+
|
249
|
+
if TYPE_CHECKING:
|
250
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', update_id: 'tuple[int, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
251
|
+
|
252
|
+
|
253
|
+
@info_final
|
254
|
+
class DHGroupListParameter(Parameter):
|
255
|
+
"""Data model for HIP ``DH_GROUP_LIST`` parameter."""
|
256
|
+
|
257
|
+
#: DH group list.
|
258
|
+
group_id: 'tuple[Group, ...]'
|
259
|
+
|
260
|
+
if TYPE_CHECKING:
|
261
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', group_id: 'tuple[Group, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
262
|
+
|
263
|
+
|
264
|
+
@info_final
|
265
|
+
class DiffieHellmanParameter(Parameter):
|
266
|
+
"""Data model for HIP ``DIFFIE_HELLMAN`` parameter."""
|
267
|
+
|
268
|
+
#: Group ID.
|
269
|
+
group_id: 'Group'
|
270
|
+
#: Public value length.
|
271
|
+
pub_len: 'int'
|
272
|
+
#: Public value.
|
273
|
+
pub_val: 'int'
|
274
|
+
|
275
|
+
if TYPE_CHECKING:
|
276
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', group_id: 'Group', pub_len: 'int', pub_val: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
277
|
+
|
278
|
+
|
279
|
+
@info_final
|
280
|
+
class HIPTransformParameter(Parameter):
|
281
|
+
"""Data model for HIP ``HIP_TRANSFORM`` parameter."""
|
282
|
+
|
283
|
+
#: Suite IDs.
|
284
|
+
suite_id: 'tuple[Suite, ...]'
|
285
|
+
|
286
|
+
if TYPE_CHECKING:
|
287
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', suite_id: 'tuple[Suite, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
288
|
+
|
289
|
+
|
290
|
+
@info_final
|
291
|
+
class HIPCipherParameter(Parameter):
|
292
|
+
"""Data model for HIP ``HIP_CIPHER`` parameter."""
|
293
|
+
|
294
|
+
#: Cipher IDs.
|
295
|
+
cipher_id: 'tuple[Cipher, ...]'
|
296
|
+
|
297
|
+
if TYPE_CHECKING:
|
298
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', cipher_id: 'tuple[Cipher, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
299
|
+
|
300
|
+
|
301
|
+
@info_final
|
302
|
+
class NATTraversalModeParameter(Parameter):
|
303
|
+
"""Data model for HIP ``NAT_TRAVERSAL_MODE`` parameter."""
|
304
|
+
|
305
|
+
#: Mode IDs
|
306
|
+
mode_id: 'tuple[NATTraversal, ...]'
|
307
|
+
|
308
|
+
if TYPE_CHECKING:
|
309
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', mode_id: 'tuple[NATTraversal, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
310
|
+
|
311
|
+
|
312
|
+
@info_final
|
313
|
+
class TransactionPacingParameter(Parameter):
|
314
|
+
"""Data model for HIP ``TRANSACTION_PACING`` parameter."""
|
315
|
+
|
316
|
+
#: Min TA.
|
317
|
+
min_ta: 'int'
|
318
|
+
|
319
|
+
if TYPE_CHECKING:
|
320
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', min_ta: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
321
|
+
|
322
|
+
|
323
|
+
@info_final
|
324
|
+
class EncryptedParameter(Parameter):
|
325
|
+
"""Data model for HIP ``ENCRYPTED`` parameter."""
|
326
|
+
|
327
|
+
#: Cipher ID.
|
328
|
+
cipher: 'Cipher'
|
329
|
+
#: Initialization vector.
|
330
|
+
iv: 'Optional[bytes]'
|
331
|
+
#: Encrypted data.
|
332
|
+
data: 'bytes'
|
333
|
+
|
334
|
+
if TYPE_CHECKING:
|
335
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int',
|
336
|
+
cipher: 'Cipher', iv: 'Optional[bytes]', data: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
337
|
+
|
338
|
+
|
339
|
+
@info_final
|
340
|
+
class HostIdentity(Data):
|
341
|
+
"""Data model for host identity."""
|
342
|
+
|
343
|
+
#: Curve type.
|
344
|
+
curve: 'ECDSACurve | ECDSALowCurve | EdDSACurve'
|
345
|
+
#: Public key.
|
346
|
+
pubkey: 'bytes'
|
347
|
+
|
348
|
+
if TYPE_CHECKING:
|
349
|
+
def __init__(self, curve: 'ECDSACurve | ECDSALowCurve | EdDSACurve',
|
350
|
+
pubkey: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
351
|
+
|
352
|
+
|
353
|
+
@info_final
|
354
|
+
class HostIDParameter(Parameter):
|
355
|
+
"""Data model for HIP ``HOST_ID`` parameter."""
|
356
|
+
|
357
|
+
#: Host identity length.
|
358
|
+
hi_len: 'int'
|
359
|
+
#: Domain identifier type.
|
360
|
+
di_type: 'DITypes'
|
361
|
+
#: Domain identifier length.
|
362
|
+
di_len: 'int'
|
363
|
+
#: Algorithm type.
|
364
|
+
algorithm: 'HIAlgorithm'
|
365
|
+
#: Host identity.
|
366
|
+
hi: 'HostIdentity | bytes'
|
367
|
+
#: Domain identifier.
|
368
|
+
di: 'bytes'
|
369
|
+
|
370
|
+
if TYPE_CHECKING:
|
371
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hi_len: 'int', di_type: 'DITypes', di_len: 'int', algorithm: 'HIAlgorithm', hi: 'HostIdentity | bytes', di: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
372
|
+
|
373
|
+
|
374
|
+
@info_final
|
375
|
+
class HITSuiteListParameter(Parameter):
|
376
|
+
"""Data model for HIP ``HIST_SUITE_LIST`` parameter."""
|
377
|
+
|
378
|
+
#: Suite IDs.
|
379
|
+
suite_id: 'tuple[HITSuite, ...]'
|
380
|
+
|
381
|
+
if TYPE_CHECKING:
|
382
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', suite_id: 'tuple[HITSuite, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
383
|
+
|
384
|
+
|
385
|
+
@info_final
|
386
|
+
class CertParameter(Parameter):
|
387
|
+
"""Data model for HIP ``CERT`` parameter."""
|
388
|
+
|
389
|
+
#: Certificate group.
|
390
|
+
cert_group: 'Group'
|
391
|
+
#: Certificate count.
|
392
|
+
cert_count: 'int'
|
393
|
+
#: Certificate ID.
|
394
|
+
cert_id: 'int'
|
395
|
+
#: Certificate type.
|
396
|
+
cert_type: 'Certificate'
|
397
|
+
#: Certificate.
|
398
|
+
cert: 'bytes'
|
399
|
+
|
400
|
+
if TYPE_CHECKING:
|
401
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', cert_group: 'Group', cert_count: 'int', cert_id: 'int', cert_type: 'Certificate', cert: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
402
|
+
|
403
|
+
|
404
|
+
@info_final
|
405
|
+
class NotificationParameter(Parameter):
|
406
|
+
"""Data model for HIP ``NOTIFICATION`` parameter."""
|
407
|
+
|
408
|
+
#: Notify message type.
|
409
|
+
msg_type: 'NotifyMessage'
|
410
|
+
#: Notification data.
|
411
|
+
msg: 'bytes'
|
412
|
+
|
413
|
+
if TYPE_CHECKING:
|
414
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', msg_type: 'NotifyMessage', msg: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
415
|
+
|
416
|
+
|
417
|
+
@info_final
|
418
|
+
class EchoRequestSignedParameter(Parameter):
|
419
|
+
"""Data model for HIP ``ECHO_REQUEST_SIGNED`` parameter."""
|
420
|
+
|
421
|
+
#: Opaque data.
|
422
|
+
opaque: 'bytes'
|
423
|
+
|
424
|
+
if TYPE_CHECKING:
|
425
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
426
|
+
|
427
|
+
|
428
|
+
@info_final
|
429
|
+
class Lifetime(Data):
|
430
|
+
"""Data model for registration lifetime."""
|
431
|
+
|
432
|
+
#: Minimum lifetime.
|
433
|
+
min: 'timedelta'
|
434
|
+
#: Maximum lifetime.
|
435
|
+
max: 'timedelta'
|
436
|
+
|
437
|
+
if TYPE_CHECKING:
|
438
|
+
def __init__(self, min: 'timedelta', max: 'timedelta') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
439
|
+
|
440
|
+
|
441
|
+
@info_final
|
442
|
+
class RegInfoParameter(Parameter):
|
443
|
+
"""Data model for HIP ``REG_INFO`` parameter."""
|
444
|
+
|
445
|
+
#: Registration lifetime.
|
446
|
+
lifetime: 'Lifetime'
|
447
|
+
#: Registration type.
|
448
|
+
reg_type: 'tuple[Registration, ...]'
|
449
|
+
|
450
|
+
if TYPE_CHECKING:
|
451
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'Lifetime', reg_type: 'tuple[Registration, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
452
|
+
|
453
|
+
|
454
|
+
@info_final
|
455
|
+
class RegRequestParameter(Parameter):
|
456
|
+
"""Data model for HIP ``REG_REQUEST`` parameter."""
|
457
|
+
|
458
|
+
#: Registration lifetime.
|
459
|
+
lifetime: 'timedelta'
|
460
|
+
#: Registration type.
|
461
|
+
reg_type: 'tuple[Registration, ...]'
|
462
|
+
|
463
|
+
if TYPE_CHECKING:
|
464
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'timedelta', reg_type: 'tuple[Registration, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
465
|
+
|
466
|
+
|
467
|
+
@info_final
|
468
|
+
class RegResponseParameter(Parameter):
|
469
|
+
"""Data model for HIP ``REG_RESPONSE`` parameter."""
|
470
|
+
|
471
|
+
#: Registration lifetime.
|
472
|
+
lifetime: 'timedelta'
|
473
|
+
#: Registration type.
|
474
|
+
reg_type: 'tuple[Registration, ...]'
|
475
|
+
|
476
|
+
if TYPE_CHECKING:
|
477
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'timedelta', reg_type: 'tuple[Registration, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
478
|
+
|
479
|
+
|
480
|
+
@info_final
|
481
|
+
class RegFailedParameter(Parameter):
|
482
|
+
"""Data model for HIP ``REG_FAILED`` parameter."""
|
483
|
+
|
484
|
+
#: Registration lifetime.
|
485
|
+
lifetime: 'timedelta'
|
486
|
+
#: Registration failure type.
|
487
|
+
reg_type: 'tuple[RegistrationFailure, ...]'
|
488
|
+
|
489
|
+
if TYPE_CHECKING:
|
490
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', lifetime: 'timedelta', reg_type: 'tuple[RegistrationFailure, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
491
|
+
|
492
|
+
|
493
|
+
@info_final
|
494
|
+
class RegFromParameter(Parameter):
|
495
|
+
"""Data model for HIP ``REG_FROM`` parameter."""
|
496
|
+
|
497
|
+
#: Port.
|
498
|
+
port: 'int'
|
499
|
+
#: Protocol.
|
500
|
+
protocol: 'TransType'
|
501
|
+
#: Address.
|
502
|
+
address: 'IPv6Address'
|
503
|
+
|
504
|
+
if TYPE_CHECKING:
|
505
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', protocol: 'TransType', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
506
|
+
|
507
|
+
|
508
|
+
@info_final
|
509
|
+
class EchoResponseSignedParameter(Parameter):
|
510
|
+
"""Data model for HIP ``ECHO_RESPONSE_SIGNED`` parameter."""
|
511
|
+
|
512
|
+
#: Opaque data.
|
513
|
+
opaque: 'bytes'
|
514
|
+
|
515
|
+
if TYPE_CHECKING:
|
516
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
517
|
+
|
518
|
+
|
519
|
+
@info_final
|
520
|
+
class TransportFormatListParameter(Parameter):
|
521
|
+
"""Data model for HIP ``TRANSPORT_FORMAT_LIST`` parameter."""
|
522
|
+
|
523
|
+
#: Transport format list.
|
524
|
+
tf_type: 'tuple[Enum_Parameter, ...]'
|
525
|
+
|
526
|
+
if TYPE_CHECKING:
|
527
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', tf_type: 'tuple[Enum_Parameter, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
528
|
+
|
529
|
+
|
530
|
+
@info_final
|
531
|
+
class ESPTransformParameter(Parameter):
|
532
|
+
"""Data model for HIP ``ESP_TRANSFORM`` parameter."""
|
533
|
+
|
534
|
+
#: ESP transform.
|
535
|
+
suite_id: 'tuple[ESPTransformSuite, ...]'
|
536
|
+
|
537
|
+
if TYPE_CHECKING:
|
538
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', suite_id: 'tuple[ESPTransformSuite, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
539
|
+
|
540
|
+
|
541
|
+
@info_final
|
542
|
+
class SeqDataParameter(Parameter):
|
543
|
+
"""Data model for HIP ``SEQ_DATA`` parameter."""
|
544
|
+
|
545
|
+
#: Sequence number.
|
546
|
+
seq: 'int'
|
547
|
+
|
548
|
+
if TYPE_CHECKING:
|
549
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', seq: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
550
|
+
|
551
|
+
|
552
|
+
@info_final
|
553
|
+
class AckDataParameter(Parameter):
|
554
|
+
"""Data model for HIP ``ACK_DATA`` parameter."""
|
555
|
+
|
556
|
+
#: Acknowledged sequence number.
|
557
|
+
ack: 'tuple[int, ...]'
|
558
|
+
|
559
|
+
if TYPE_CHECKING:
|
560
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', ack: 'tuple[int, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
561
|
+
|
562
|
+
|
563
|
+
@info_final
|
564
|
+
class PayloadMICParameter(Parameter):
|
565
|
+
"""Data model for HIP ``PAYLOAD_MIC`` parameter."""
|
566
|
+
|
567
|
+
#: Next header
|
568
|
+
next: 'TransType'
|
569
|
+
#: Payload data.
|
570
|
+
payload: 'bytes'
|
571
|
+
#: MIC value.
|
572
|
+
mic: 'bytes'
|
573
|
+
|
574
|
+
if TYPE_CHECKING:
|
575
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', next: 'TransType', payload: 'bytes', mic: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
576
|
+
|
577
|
+
|
578
|
+
@info_final
|
579
|
+
class TransactionIDParameter(Parameter):
|
580
|
+
"""Data model for HIP ``TRANSACTION_ID`` parameter."""
|
581
|
+
|
582
|
+
#: Identifier.
|
583
|
+
id: 'int'
|
584
|
+
|
585
|
+
if TYPE_CHECKING:
|
586
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', id: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
587
|
+
|
588
|
+
|
589
|
+
@info_final
|
590
|
+
class OverlayIDParameter(Parameter):
|
591
|
+
"""Data mode HIP ``OVERLAY_ID`` parameter."""
|
592
|
+
|
593
|
+
#: Identifier.
|
594
|
+
id: 'int'
|
595
|
+
|
596
|
+
if TYPE_CHECKING:
|
597
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', id: 'int') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
598
|
+
|
599
|
+
|
600
|
+
@info_final
|
601
|
+
class Flags(Data):
|
602
|
+
"""Data model for flags in HIP ``HIP_PARAMETER_FLAGS`` parameter."""
|
603
|
+
|
604
|
+
#: Symmetric flag.
|
605
|
+
symmetric: 'bool'
|
606
|
+
#: Must follow flag.
|
607
|
+
must_follow: 'bool'
|
608
|
+
|
609
|
+
if TYPE_CHECKING:
|
610
|
+
def __init__(self, symmetric: 'bool', must_follow: 'bool') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
611
|
+
|
612
|
+
|
613
|
+
@info_final
|
614
|
+
class RouteDstParameter(Parameter):
|
615
|
+
"""Data model for HIP ``ROUTE_DST`` parameter."""
|
616
|
+
|
617
|
+
#: Flags.
|
618
|
+
flags: 'Flags'
|
619
|
+
#: Destination address.
|
620
|
+
hit: 'tuple[IPv6Address, ...]'
|
621
|
+
|
622
|
+
if TYPE_CHECKING:
|
623
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', flags: 'Flags', hit: 'tuple[IPv6Address, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
624
|
+
|
625
|
+
|
626
|
+
@info_final
|
627
|
+
class HIPTransportModeParameter(Parameter):
|
628
|
+
"""Data model for HIP ``HIP_TRANSPORT_MODE`` parameter."""
|
629
|
+
|
630
|
+
#: Port.
|
631
|
+
port: 'int'
|
632
|
+
#: Mode IDs.
|
633
|
+
mode_id: 'tuple[Transport, ...]'
|
634
|
+
|
635
|
+
if TYPE_CHECKING:
|
636
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', mode_id: 'tuple[Transport, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
637
|
+
|
638
|
+
|
639
|
+
@info_final
|
640
|
+
class HIPMACParameter(Parameter):
|
641
|
+
"""Data model for HIP ``HIP_MAC`` parameter."""
|
642
|
+
|
643
|
+
#: HMAC value.
|
644
|
+
hmac: 'bytes'
|
645
|
+
|
646
|
+
if TYPE_CHECKING:
|
647
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
648
|
+
|
649
|
+
|
650
|
+
@info_final
|
651
|
+
class HIPMAC2Parameter(Parameter):
|
652
|
+
"""Data model for HIP ``HIP_MAC_2`` parameter."""
|
653
|
+
|
654
|
+
#: HMAC value.
|
655
|
+
hmac: 'bytes'
|
656
|
+
|
657
|
+
if TYPE_CHECKING:
|
658
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
659
|
+
|
660
|
+
|
661
|
+
@info_final
|
662
|
+
class HIPSignature2Parameter(Parameter):
|
663
|
+
"""Data model for HIP ``HIP_SIGNATURE_2`` parameter."""
|
664
|
+
|
665
|
+
#: Signature algorithm.
|
666
|
+
algorithm: 'HIAlgorithm'
|
667
|
+
#: Signature value.
|
668
|
+
signature: 'bytes'
|
669
|
+
|
670
|
+
if TYPE_CHECKING:
|
671
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', algorithm: 'HIAlgorithm', signature: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
672
|
+
|
673
|
+
|
674
|
+
@info_final
|
675
|
+
class HIPSignatureParameter(Parameter):
|
676
|
+
"""Data model for HIP ``HIP_SIGNATURE`` parameter."""
|
677
|
+
|
678
|
+
#: Signature algorithm.
|
679
|
+
algorithm: 'HIAlgorithm'
|
680
|
+
#: Signature value.
|
681
|
+
signature: 'bytes'
|
682
|
+
|
683
|
+
if TYPE_CHECKING:
|
684
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', algorithm: 'HIAlgorithm', signature: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
685
|
+
|
686
|
+
|
687
|
+
@info_final
|
688
|
+
class EchoRequestUnsignedParameter(Parameter):
|
689
|
+
"""Data model for HIP ``ECHO_REQUEST_UNSIGNED`` parameter."""
|
690
|
+
|
691
|
+
#: Opaque data.
|
692
|
+
opaque: 'bytes'
|
693
|
+
|
694
|
+
if TYPE_CHECKING:
|
695
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
696
|
+
|
697
|
+
|
698
|
+
@info_final
|
699
|
+
class EchoResponseUnsignedParameter(Parameter):
|
700
|
+
"""Data model for HIP ``ECHO_RESPONSE_UNSIGNED`` parameter."""
|
701
|
+
|
702
|
+
#: Opaque data.
|
703
|
+
opaque: 'bytes'
|
704
|
+
|
705
|
+
if TYPE_CHECKING:
|
706
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', opaque: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
707
|
+
|
708
|
+
|
709
|
+
@info_final
|
710
|
+
class RelayFromParameter(Parameter):
|
711
|
+
"""Data model for HIP ``RELAY_FROM`` parameter."""
|
712
|
+
|
713
|
+
#: Port.
|
714
|
+
port: 'int'
|
715
|
+
#: Protocol.
|
716
|
+
protocol: 'TransType'
|
717
|
+
#: Address.
|
718
|
+
address: 'IPv6Address'
|
719
|
+
|
720
|
+
if TYPE_CHECKING:
|
721
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', protocol: 'TransType', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
722
|
+
|
723
|
+
|
724
|
+
@info_final
|
725
|
+
class RelayToParameter(Parameter):
|
726
|
+
"""Data model for HIP ``RELAY_TO`` parameter."""
|
727
|
+
|
728
|
+
#: Port.
|
729
|
+
port: 'int'
|
730
|
+
#: Protocol.
|
731
|
+
protocol: 'TransType'
|
732
|
+
#: Address.
|
733
|
+
address: 'IPv6Address'
|
734
|
+
|
735
|
+
if TYPE_CHECKING:
|
736
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', port: 'int', protocol: 'TransType', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
737
|
+
|
738
|
+
|
739
|
+
@info_final
|
740
|
+
class OverlayTTLParameter(Parameter):
|
741
|
+
"""Data model for HIP ``OVERLAY_TTL`` parameter."""
|
742
|
+
|
743
|
+
#: TTL value.
|
744
|
+
ttl: 'timedelta'
|
745
|
+
|
746
|
+
if TYPE_CHECKING:
|
747
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', ttl: 'timedelta') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
748
|
+
|
749
|
+
|
750
|
+
@info_final
|
751
|
+
class RouteViaParameter(Parameter):
|
752
|
+
"""Data model for HIP ``ROUTE_VIA`` parameter."""
|
753
|
+
|
754
|
+
#: Flags.
|
755
|
+
flags: 'Flags'
|
756
|
+
#: HIT addresses.
|
757
|
+
hit: 'tuple[IPv6Address, ...]'
|
758
|
+
|
759
|
+
if TYPE_CHECKING:
|
760
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', flags: 'Flags', hit: 'tuple[IPv6Address, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
761
|
+
|
762
|
+
|
763
|
+
@info_final
|
764
|
+
class FromParameter(Parameter):
|
765
|
+
"""Data model for HIP ``FROM`` parameter."""
|
766
|
+
|
767
|
+
#: HIT address.
|
768
|
+
address: 'IPv6Address'
|
769
|
+
|
770
|
+
if TYPE_CHECKING:
|
771
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', address: 'IPv6Address') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
772
|
+
|
773
|
+
|
774
|
+
@info_final
|
775
|
+
class RVSHMACParameter(Parameter):
|
776
|
+
"""Data model for HIP ``RVS_HMAC`` parameter."""
|
777
|
+
|
778
|
+
#: HMAC value.
|
779
|
+
hmac: 'bytes'
|
780
|
+
|
781
|
+
if TYPE_CHECKING:
|
782
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
783
|
+
|
784
|
+
|
785
|
+
@info_final
|
786
|
+
class ViaRVSParameter(Parameter):
|
787
|
+
"""Data model for HIP ``VIA_RVS`` parameter."""
|
788
|
+
|
789
|
+
#: Addresses.
|
790
|
+
address: 'tuple[IPv6Address, ...]'
|
791
|
+
|
792
|
+
if TYPE_CHECKING:
|
793
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', address: 'tuple[IPv6Address, ...]') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|
794
|
+
|
795
|
+
|
796
|
+
@info_final
|
797
|
+
class RelayHMACParameter(Parameter):
|
798
|
+
"""Data model for HIP ``RELAY_HMAC`` parameter."""
|
799
|
+
|
800
|
+
#: HMAC value.
|
801
|
+
hmac: 'bytes'
|
802
|
+
|
803
|
+
if TYPE_CHECKING:
|
804
|
+
def __init__(self, type: 'Enum_Parameter', critical: 'bool', length: 'int', hmac: 'bytes') -> 'None': ... # pylint: disable=unused-argument,multiple-statements,redefined-builtin,super-init-not-called,line-too-long
|