Merge pull request #9368 from donaldsharp/ospf_ensure_lsa_length

ospfd: Ensure we have some non header lsa data
This commit is contained in:
Igor Ryzhov 2021-10-29 13:37:09 +03:00 committed by GitHub
commit a1a8fb4ddd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 12 deletions

View File

@ -77,6 +77,8 @@
#define OPAQUE_TYPE_RANGE_RESERVED(type) (127 < (type) && (type) <= 255)
#define OSPF_OPAQUE_LSA_MIN_SIZE 4U
#define VALID_OPAQUE_INFO_LEN(lsahdr) \
((ntohs((lsahdr)->length) >= sizeof(struct lsa_header)) \
&& ((ntohs((lsahdr)->length) < OSPF_MAX_LSA_SIZE)) \

View File

@ -99,18 +99,18 @@ static const uint16_t ospf_packet_minlen[] = {
/* Minimum (besides OSPF_LSA_HEADER_SIZE) lengths for LSAs of particular
types, offset is the "LSA type" field. */
static const uint16_t ospf_lsa_minlen[] = {
0,
OSPF_ROUTER_LSA_MIN_SIZE,
OSPF_NETWORK_LSA_MIN_SIZE,
OSPF_SUMMARY_LSA_MIN_SIZE,
OSPF_SUMMARY_LSA_MIN_SIZE,
OSPF_AS_EXTERNAL_LSA_MIN_SIZE,
0,
OSPF_AS_EXTERNAL_LSA_MIN_SIZE,
0,
0,
0,
0,
0, /* OSPF_UNKNOWN_LSA */
OSPF_ROUTER_LSA_MIN_SIZE, /* OSPF_ROUTER_LSA */
OSPF_NETWORK_LSA_MIN_SIZE, /* OSPF_NETWORK_LSA */
OSPF_SUMMARY_LSA_MIN_SIZE, /* OSPF_SUMMARY_LSA */
OSPF_SUMMARY_LSA_MIN_SIZE, /* OSPF_ASBR_SUMMARY_LSA */
OSPF_AS_EXTERNAL_LSA_MIN_SIZE, /* OSPF_AS_EXTERNAL_LSA */
0, /* Unsupported, OSPF_GROUP_MEMBER_LSA */
OSPF_AS_EXTERNAL_LSA_MIN_SIZE, /* OSPF_AS_NSSA_LSA */
0, /* Unsupported, OSPF_EXTERNAL_ATTRIBURES_LSA */
OSPF_OPAQUE_LSA_MIN_SIZE, /* OSPF_OPAQUE_LINK_LSA */
OSPF_OPAQUE_LSA_MIN_SIZE, /* OSPF_OPAQUE_AREA_LSA */
OSPF_OPAQUE_LSA_MIN_SIZE, /* OSPF_OPAQUE_AS_LSA */
};
/* for ospf_check_auth() */