@@ -251,7 +251,7 @@ inline bool ParameterSerializer<ParameterLocator_t>::read_content_from_cdr_messa
251
251
fastrtps::rtps::CDRMessage_t* cdr_message,
252
252
const uint16_t parameter_length)
253
253
{
254
- if (parameter_length != PARAMETER_LOCATOR_LENGTH)
254
+ if (parameter_length < PARAMETER_LOCATOR_LENGTH)
255
255
{
256
256
return false ;
257
257
}
@@ -273,7 +273,7 @@ inline bool ParameterSerializer<ParameterKey_t>::read_content_from_cdr_message(
273
273
fastrtps::rtps::CDRMessage_t* cdr_message,
274
274
const uint16_t parameter_length)
275
275
{
276
- if (parameter_length != PARAMETER_KEY_HASH_LENGTH)
276
+ if (parameter_length < PARAMETER_KEY_HASH_LENGTH)
277
277
{
278
278
return false ;
279
279
}
@@ -343,7 +343,7 @@ inline bool ParameterSerializer<ParameterPort_t>::read_content_from_cdr_message(
343
343
fastrtps::rtps::CDRMessage_t* cdr_message,
344
344
const uint16_t parameter_length)
345
345
{
346
- if (parameter_length != PARAMETER_PORT_LENGTH)
346
+ if (parameter_length < PARAMETER_PORT_LENGTH)
347
347
{
348
348
return false ;
349
349
}
@@ -367,7 +367,7 @@ inline bool ParameterSerializer<ParameterGuid_t>::read_content_from_cdr_message(
367
367
fastrtps::rtps::CDRMessage_t* cdr_message,
368
368
const uint16_t parameter_length)
369
369
{
370
- if (parameter_length != PARAMETER_GUID_LENGTH)
370
+ if (parameter_length < PARAMETER_GUID_LENGTH)
371
371
{
372
372
return false ;
373
373
}
@@ -394,7 +394,7 @@ inline bool ParameterSerializer<ParameterProtocolVersion_t>::read_content_from_c
394
394
fastrtps::rtps::CDRMessage_t* cdr_message,
395
395
const uint16_t parameter_length)
396
396
{
397
- if (parameter_length != PARAMETER_PROTOCOL_LENGTH)
397
+ if (parameter_length < PARAMETER_PROTOCOL_LENGTH)
398
398
{
399
399
return false ;
400
400
}
@@ -422,7 +422,7 @@ inline bool ParameterSerializer<ParameterVendorId_t>::read_content_from_cdr_mess
422
422
fastrtps::rtps::CDRMessage_t* cdr_message,
423
423
const uint16_t parameter_length)
424
424
{
425
- if (parameter_length != PARAMETER_VENDOR_LENGTH)
425
+ if (parameter_length < PARAMETER_VENDOR_LENGTH)
426
426
{
427
427
return false ;
428
428
}
@@ -434,6 +434,61 @@ inline bool ParameterSerializer<ParameterVendorId_t>::read_content_from_cdr_mess
434
434
}
435
435
436
436
template <>
437
+ <<<<<<< HEAD
438
+ =======
439
+ inline bool ParameterSerializer<ParameterProductVersion_t>::add_content_to_cdr_message(
440
+ const ParameterProductVersion_t& parameter,
441
+ rtps::CDRMessage_t* cdr_message)
442
+ {
443
+ bool valid = rtps::CDRMessage::addOctet (cdr_message, parameter.version .major );
444
+ valid &= rtps::CDRMessage::addOctet (cdr_message, parameter.version .minor );
445
+ valid &= rtps::CDRMessage::addOctet (cdr_message, parameter.version .patch );
446
+ valid &= rtps::CDRMessage::addOctet (cdr_message, parameter.version .tweak );
447
+ return valid;
448
+ }
449
+
450
+ template <>
451
+ inline bool ParameterSerializer<ParameterProductVersion_t>::read_content_from_cdr_message(
452
+ ParameterProductVersion_t& parameter,
453
+ rtps::CDRMessage_t* cdr_message,
454
+ const uint16_t parameter_length)
455
+ {
456
+ if (parameter_length < PARAMETER_PRODUCT_VERSION_LENGTH)
457
+ {
458
+ return false ;
459
+ }
460
+ parameter.length = parameter_length;
461
+ bool valid = rtps::CDRMessage::readOctet (cdr_message, ¶meter.version .major );
462
+ valid &= rtps::CDRMessage::readOctet (cdr_message, ¶meter.version .minor );
463
+ valid &= rtps::CDRMessage::readOctet (cdr_message, ¶meter.version .patch );
464
+ valid &= rtps::CDRMessage::readOctet (cdr_message, ¶meter.version .tweak );
465
+ return valid;
466
+ }
467
+
468
+ template <>
469
+ inline bool ParameterSerializer<ParameterDomainId_t>::add_content_to_cdr_message(
470
+ const ParameterDomainId_t& parameter,
471
+ fastdds::rtps::CDRMessage_t* cdr_message)
472
+ {
473
+ return fastdds::rtps::CDRMessage::addUInt32 (cdr_message, parameter.domain_id );
474
+ }
475
+
476
+ template <>
477
+ inline bool ParameterSerializer<ParameterDomainId_t>::read_content_from_cdr_message(
478
+ ParameterDomainId_t& parameter,
479
+ fastdds::rtps::CDRMessage_t* cdr_message,
480
+ const uint16_t parameter_length)
481
+ {
482
+ if (parameter_length < PARAMETER_DOMAINID_LENGTH)
483
+ {
484
+ return false ;
485
+ }
486
+ parameter.length = parameter_length;
487
+ return fastdds::rtps::CDRMessage::readUInt32 (cdr_message, ¶meter.domain_id );
488
+ }
489
+
490
+ template <>
491
+ >>>>>>> 7b111f911 (Be less strict with parameter lengths (#5225 ))
437
492
inline bool ParameterSerializer<ParameterIP4Address_t>::add_content_to_cdr_message(
438
493
const ParameterIP4Address_t& parameter,
439
494
fastrtps::rtps::CDRMessage_t* cdr_message)
@@ -447,7 +502,7 @@ inline bool ParameterSerializer<ParameterIP4Address_t>::read_content_from_cdr_me
447
502
fastrtps::rtps::CDRMessage_t* cdr_message,
448
503
const uint16_t parameter_length)
449
504
{
450
- if (parameter_length != PARAMETER_IP4_LENGTH)
505
+ if (parameter_length < PARAMETER_IP4_LENGTH)
451
506
{
452
507
return false ;
453
508
}
@@ -473,7 +528,7 @@ inline bool ParameterSerializer<ParameterBool_t>::read_content_from_cdr_message(
473
528
fastrtps::rtps::CDRMessage_t* cdr_message,
474
529
const uint16_t parameter_length)
475
530
{
476
- if (parameter_length != PARAMETER_BOOL_LENGTH)
531
+ if (parameter_length < PARAMETER_BOOL_LENGTH)
477
532
{
478
533
return false ;
479
534
}
@@ -501,7 +556,7 @@ inline bool ParameterSerializer<ParameterStatusInfo_t>::read_content_from_cdr_me
501
556
fastrtps::rtps::CDRMessage_t* cdr_message,
502
557
const uint16_t parameter_length)
503
558
{
504
- if (parameter_length != PARAMETER_STATUS_INFO_LENGTH)
559
+ if (parameter_length < PARAMETER_STATUS_INFO_LENGTH)
505
560
{
506
561
return false ;
507
562
}
@@ -530,7 +585,7 @@ inline bool ParameterSerializer<ParameterCount_t>::read_content_from_cdr_message
530
585
fastrtps::rtps::CDRMessage_t* cdr_message,
531
586
const uint16_t parameter_length)
532
587
{
533
- if (parameter_length != PARAMETER_COUNT_LENGTH)
588
+ if (parameter_length < PARAMETER_COUNT_LENGTH)
534
589
{
535
590
return false ;
536
591
}
@@ -552,7 +607,7 @@ inline bool ParameterSerializer<ParameterEntityId_t>::read_content_from_cdr_mess
552
607
fastrtps::rtps::CDRMessage_t* cdr_message,
553
608
const uint16_t parameter_length)
554
609
{
555
- if (parameter_length != PARAMETER_ENTITYID_LENGTH)
610
+ if (parameter_length < PARAMETER_ENTITYID_LENGTH)
556
611
{
557
612
return false ;
558
613
}
@@ -576,7 +631,7 @@ inline bool ParameterSerializer<ParameterTime_t>::read_content_from_cdr_message(
576
631
fastrtps::rtps::CDRMessage_t* cdr_message,
577
632
const uint16_t parameter_length)
578
633
{
579
- if (parameter_length != PARAMETER_TIME_LENGTH)
634
+ if (parameter_length < PARAMETER_TIME_LENGTH)
580
635
{
581
636
return false ;
582
637
}
@@ -604,12 +659,38 @@ inline bool ParameterSerializer<ParameterBuiltinEndpointSet_t>::read_content_fro
604
659
fastrtps::rtps::CDRMessage_t* cdr_message,
605
660
const uint16_t parameter_length)
606
661
{
607
- if (parameter_length != PARAMETER_BUILTINENDPOINTSET_LENGTH)
662
+ if (parameter_length < PARAMETER_BUILTINENDPOINTSET_LENGTH)
608
663
{
609
664
return false ;
610
665
}
611
666
parameter.length = parameter_length;
667
+ <<<<<<< HEAD
612
668
return fastrtps::rtps::CDRMessage::readUInt32 (cdr_message, ¶meter.endpointSet );
669
+ =======
670
+ return rtps::CDRMessage::readUInt32 (cdr_message, ¶meter.endpointSet );
671
+ }
672
+
673
+ template <>
674
+ inline bool ParameterSerializer<ParameterNetworkConfigSet_t>::add_content_to_cdr_message(
675
+ const ParameterNetworkConfigSet_t& parameter,
676
+ rtps::CDRMessage_t* cdr_message)
677
+ {
678
+ return rtps::CDRMessage::addUInt32 (cdr_message, parameter.netconfigSet );
679
+ }
680
+
681
+ template <>
682
+ inline bool ParameterSerializer<ParameterNetworkConfigSet_t>::read_content_from_cdr_message(
683
+ ParameterNetworkConfigSet_t& parameter,
684
+ rtps::CDRMessage_t* cdr_message,
685
+ const uint16_t parameter_length)
686
+ {
687
+ if (parameter_length < PARAMETER_NETWORKCONFIGSET_LENGTH)
688
+ {
689
+ return false ;
690
+ }
691
+ parameter.length = parameter_length;
692
+ return rtps::CDRMessage::readUInt32 (cdr_message, ¶meter.netconfigSet );
693
+ >>>>>>> 7b111f911 (Be less strict with parameter lengths (#5225 ))
613
694
}
614
695
615
696
template <>
@@ -761,7 +842,7 @@ inline bool ParameterSerializer<ParameterSampleIdentity_t>::read_content_from_cd
761
842
fastrtps::rtps::CDRMessage_t* cdr_message,
762
843
const uint16_t parameter_length)
763
844
{
764
- if (parameter_length != PARAMETER_SAMPLEIDENTITY_LENGTH)
845
+ if (parameter_length < PARAMETER_SAMPLEIDENTITY_LENGTH)
765
846
{
766
847
return false ;
767
848
}
@@ -1039,7 +1120,7 @@ inline bool ParameterSerializer<ParameterParticipantSecurityInfo_t>::read_conten
1039
1120
fastrtps::rtps::CDRMessage_t* cdr_message,
1040
1121
const uint16_t parameter_length)
1041
1122
{
1042
- if (parameter_length != PARAMETER_PARTICIPANT_SECURITY_INFO_LENGTH)
1123
+ if (parameter_length < PARAMETER_PARTICIPANT_SECURITY_INFO_LENGTH)
1043
1124
{
1044
1125
return false ;
1045
1126
}
@@ -1065,7 +1146,7 @@ inline bool ParameterSerializer<ParameterEndpointSecurityInfo_t>::read_content_f
1065
1146
fastrtps::rtps::CDRMessage_t* cdr_message,
1066
1147
const uint16_t parameter_length)
1067
1148
{
1068
- if (parameter_length != PARAMETER_ENDPOINT_SECURITY_INFO_LENGTH)
1149
+ if (parameter_length < PARAMETER_ENDPOINT_SECURITY_INFO_LENGTH)
1069
1150
{
1070
1151
return false ;
1071
1152
}
0 commit comments