Added additional IKEv1 payload and encoding identifiers

This commit is contained in:
Martin Willi
2012-03-20 17:30:40 +01:00
parent b0b9d18593
commit 3f6d1b13a7
5 changed files with 83 additions and 40 deletions
+25
View File
@@ -521,6 +521,19 @@ METHOD(parser_t, parse_payload, status_t,
}
break;
}
case TRANSFORMS_V1:
{
if (payload_length <
spi_size + PROPOSAL_SUBSTRUCTURE_HEADER_LENGTH ||
!parse_list(this, rule_number, output + rule->offset,
TRANSFORM_SUBSTRUCTURE_V1, payload_length - spi_size -
PROPOSAL_SUBSTRUCTURE_HEADER_LENGTH))
{
pld->destroy(pld);
return PARSE_ERROR;
}
break;
}
case TRANSFORM_ATTRIBUTES:
{
if (payload_length < TRANSFORM_SUBSTRUCTURE_HEADER_LENGTH ||
@@ -533,6 +546,18 @@ METHOD(parser_t, parse_payload, status_t,
}
break;
}
case TRANSFORM_ATTRIBUTES_V1:
{
if (payload_length < TRANSFORM_SUBSTRUCTURE_HEADER_LENGTH ||
!parse_list(this, rule_number, output + rule->offset,
TRANSFORM_ATTRIBUTE_V1,
payload_length - TRANSFORM_SUBSTRUCTURE_HEADER_LENGTH))
{
pld->destroy(pld);
return PARSE_ERROR;
}
break;
}
case CONFIGURATION_ATTRIBUTES:
{
if (payload_length < CP_PAYLOAD_HEADER_LENGTH ||