diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ChangeLog | 8 | ||||
-rw-r--r-- | tests/aspath_test.c | 18 | ||||
-rw-r--r-- | tests/bgp_capability_test.c | 30 |
3 files changed, 56 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index 94f58749..098afb55 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,11 @@ +2008-02-23 Paul Jakma <paul.jakma@sun.com> + + * aspath_test.c: Test for 0-ASN sequences that still have data. + +2007-12-22 Paul Jakma <paul.jakma@sun.com> + + * bgp_capability_test.c: Test for empty capabilities. + 2007-09-27 Paul Jakma <paul.jakma@sun.com> * aspath_test.c: Test dupe-weeding from sets. diff --git a/tests/aspath_test.c b/tests/aspath_test.c index c12d07a5..fb504f31 100644 --- a/tests/aspath_test.c +++ b/tests/aspath_test.c @@ -402,6 +402,24 @@ static struct test_segment { "8466 3 52737 4096 3456 {7099,8153}", 6, 0, NOT_ALL_PRIVATE, 4096, 4, 8466 }, }, + { /* 25 */ + "zero-size overflow", + "#ASNs = 0, data = seq(8466 3 52737 4096 3456)", + { 0x2,0x0, 0x21,0x12, 0x00,0x03, 0xce,0x01, 0x10,0x00, 0x0d,0x80 }, + 12, + { "", "", + 0, 0, 0, 0, 0, 0 }, + }, + { /* 26 */ + "zero-size overflow + valid segment", + "seq(#AS=0:8466 3 52737),seq(4096 3456)", + { 0x2,0x0, 0x21,0x12, 0x00,0x03, 0xce,0x01, + 0x2,0x2, 0x10,0x00, 0x0d,0x80 }, + 14 + , + { "", "", + 0, 0, 0, 0, 0, 0 }, + }, { NULL, NULL, {0}, 0, { NULL, 0, 0 } } }; diff --git a/tests/bgp_capability_test.c b/tests/bgp_capability_test.c index 6771b579..0dbf4fb9 100644 --- a/tests/bgp_capability_test.c +++ b/tests/bgp_capability_test.c @@ -362,6 +362,36 @@ static struct test_segment misc_segments[] = }, 15, SHOULD_ERR, }, + { "GR-empty", + "GR capability, but empty.", + { /* hdr */ 0x40, 0x0, + }, + 2, SHOULD_ERR, + }, + { "MP-empty", + "MP capability, but empty.", + { /* hdr */ 0x1, 0x0, + }, + 2, SHOULD_ERR, + }, + { "ORF-empty", + "ORF capability, but empty.", + { /* hdr */ 0x3, 0x0, + }, + 2, SHOULD_ERR, + }, + { "AS4-empty", + "AS4 capability, but empty.", + { /* hdr */ 0x41, 0x0, + }, + 2, SHOULD_ERR, + }, + { "dyn-empty", + "Dynamic capability, but empty.", + { /* hdr */ 0x42, 0x0, + }, + 2, SHOULD_PARSE, + }, { "dyn-old", "Dynamic capability (deprecated version)", { CAPABILITY_CODE_DYNAMIC, 0x0 }, |