@@ -1236,7 +1236,7 @@ def _read_param_ack(self, schema: 'Schema_ACKParameter', *, version: 'int', # p
12361236 )
12371237 return ack
12381238
1239- def _read_param_dh_group_list (self , schema : 'Schema_DHGroupListParameter' , * , version : 'int' , # pylint: disable=unused-argument
1239+ def _read_param_dh_group_list (self , schema : 'Schema_DHGroupListParameter' , * , version : 'int' ,
12401240 options : 'Parameter' ) -> 'Data_DHGroupListParameter' : # pylint: disable=unused-argument
12411241 """Read HIP ``DH_GROUP_LIST`` parameter.
12421242
@@ -1262,7 +1262,13 @@ def _read_param_dh_group_list(self, schema: 'Schema_DHGroupListParameter', *, ve
12621262 Returns:
12631263 Parsed parameter data.
12641264
1265+ Raises:
1266+ ProtocolError: The parameter is **NOT** supported in HIPv1.
1267+
12651268 """
1269+ if version == 1 :
1270+ raise ProtocolError (f'HIPv{ version } : [ParamNo { schema .type } ] invalid parameter' )
1271+
12661272 dh_group_list = Data_DHGroupListParameter (
12671273 type = schema .type ,
12681274 critical = bool (schema .type & 0b1 ),
@@ -1380,9 +1386,12 @@ def _read_param_hip_cipher(self, schema: 'Schema_HIPCipherParameter', *, version
13801386 Parsed parameter data.
13811387
13821388 Raises:
1383- ProtocolError: If ``schema.len`` is **NOT** a ``2`` modulo.
1389+ ProtocolError: If the parameter is used in HIPv1, or ``schema.len`` is
1390+ **NOT** a ``2`` modulo.
13841391
13851392 """
1393+ if version == 1 :
1394+ raise ProtocolError (f'HIPv{ version } : [ParamNo { schema .type } ] invalid parameter' )
13861395 if schema .len % 2 != 0 :
13871396 raise ProtocolError (f'HIPv{ version } : [ParamNo { schema .type } ] invalid format' )
13881397
@@ -1596,7 +1605,7 @@ def _read_param_host_id(self, schema: 'Schema_HostIDParameter', *, version: 'int
15961605 )
15971606 return host_id
15981607
1599- def _read_param_hit_suite_list (self , schema : 'Schema_HITSuiteListParameter' , * , version : 'int' , # pylint: disable=unused-argument
1608+ def _read_param_hit_suite_list (self , schema : 'Schema_HITSuiteListParameter' , * , version : 'int' ,
16001609 options : 'Parameter' ) -> 'Data_HITSuiteListParameter' : # pylint: disable=unused-argument
16011610 """Read HIP ``HIT_SUITE_LIST`` parameter.
16021611
@@ -1622,7 +1631,13 @@ def _read_param_hit_suite_list(self, schema: 'Schema_HITSuiteListParameter', *,
16221631 Returns:
16231632 Parsed parameter data.
16241633
1634+ Raises:
1635+ ProtocolError: The parameter is **NOT** supported in HIPv1.
1636+
16251637 """
1638+ if version == 1 :
1639+ raise ProtocolError (f'HIPv{ version } : [ParamNo { schema .type } ] invalid parameter' )
1640+
16261641 hit_suite_list = Data_HITSuiteListParameter (
16271642 type = schema .type ,
16281643 critical = bool (schema .type & 0b1 ),
@@ -2005,9 +2020,12 @@ def _read_param_transport_format_list(self, schema: 'Schema_TransportFormatListP
20052020 Parsed parameter data.
20062021
20072022 Raises:
2008- ProtocolError: If ``schema.len`` is **NOT** ``2`` modulo.
2023+ ProtocolError: If the parameter is used in HIPv1, or ``schema.len`` is
2024+ **NOT** ``2`` modulo.
20092025
20102026 """
2027+ if version == 1 :
2028+ raise ProtocolError (f'HIPv{ version } : [ParamNo { schema .type } ] invalid parameter' )
20112029 if schema .len % 2 != 0 :
20122030 raise ProtocolError (f'HIPv{ version } : [ParamNo { schema .type } ] invalid format' )
20132031
@@ -3512,7 +3530,13 @@ def _make_param_dh_group_list(self, code: 'Enum_Parameter', param: 'Optional[Dat
35123530 Returns:
35133531 HIP parameter schema.
35143532
3533+ Raises:
3534+ ProtocolError: The parameter is **NOT** supported in HIPv1.
3535+
35153536 """
3537+ if version == 1 :
3538+ raise ProtocolError (f'HIPv{ version } : [ParamNo { code } ] invalid parameter' )
3539+
35163540 if param is not None :
35173541 group_id = cast ('list[Enum_Group]' , param .group_id )
35183542 else :
@@ -3634,7 +3658,13 @@ def _make_param_hip_cipher(self, code: 'Enum_Parameter', param: 'Optional[Data_H
36343658 Returns:
36353659 HIP parameter schema.
36363660
3661+ Raises:
3662+ ProtocolError: The parameter is **NOT** supported in HIPv1.
3663+
36373664 """
3665+ if version == 1 :
3666+ raise ProtocolError (f'HIPv{ version } : [ParamNo { code } ] invalid parameter' )
3667+
36383668 if param is not None :
36393669 cipher_id = cast ('list[Enum_Cipher]' , param .cipher_id )
36403670 else :
@@ -3917,7 +3947,13 @@ def _make_param_hit_suite_list(self, code: 'Enum_Parameter', param: 'Optional[Da
39173947 Returns:
39183948 HIP parameter schema.
39193949
3950+ Raises:
3951+ ProtocolError: The parameter is **NOT** supported in HIPv1.
3952+
39203953 """
3954+ if version == 1 :
3955+ raise ProtocolError (f'HIPv{ version } : [ParamNo { code } ] invalid parameter' )
3956+
39213957 if param is not None :
39223958 suite_id = cast ('list[Enum_HITSuite]' , param .suite_id )
39233959 else :
@@ -4339,7 +4375,13 @@ def _make_param_transport_format_list(self, code: 'Enum_Parameter', param: 'Opti
43394375 Returns:
43404376 HIP parameter schema.
43414377
4378+ Raises:
4379+ ProtocolError: The parameter is **NOT** supported in HIPv1.
4380+
43424381 """
4382+ if version == 1 :
4383+ raise ProtocolError (f'HIPv{ version } : [ParamNo { code } ] invalid parameter' )
4384+
43434385 if param is not None :
43444386 tf_type = cast ('list[Enum_Parameter]' , param .tf_type )
43454387 else :
0 commit comments