diff options
author | Richard Walters <rwalters@digitalstirling.com> | 2018-07-04 20:03:00 -0700 |
---|---|---|
committer | Richard Walters <rwalters@digitalstirling.com> | 2018-07-04 20:03:00 -0700 |
commit | a165074e8c41b143d967bc86cca0542b0119e13a (patch) | |
tree | f9e3df0ad13a30e0f012f9a703a2027a9f6cd8a2 /test | |
parent | 7d5f93777026f46870f14d85c22872bb42bd40d5 (diff) |
Fix bugs in IPv6 address parsing
* Multiple colons should not be accepted in state 4.
* After parsing a digit group and encountering a colon,
we need allow either another colon or the beginning
of either another group or an IPv4 address. Add state 5
to handle this.
Diffstat (limited to 'test')
-rw-r--r-- | test/src/UriTests.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/src/UriTests.cpp b/test/src/UriTests.cpp index efba4f1..027c045 100644 --- a/test/src/UriTests.cpp +++ b/test/src/UriTests.cpp @@ -722,8 +722,10 @@ TEST(UriTests, IPv6Address) { {"http://[::1]/", "::1", true}, {"http://[::ffff:1.2.3.4]/", "::ffff:1.2.3.4", true}, {"http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/", "2001:db8:85a3:8d3:1319:8a2e:370:7348", true}, + {"http://[fFfF::1]", "fFfF::1", true}, // invalid + {"http://[::fFfF::1]", "", false}, {"http://[::ffff:1.2.x.4]/", "", false}, {"http://[::ffff:1.2.3.4.8]/", "", false}, {"http://[::ffff:1.2.3]/", "", false}, |