Unverified Commit eb4114c8 authored by Dennis Jenkins's avatar Dennis Jenkins Committed by GitHub

Merge pull request #627 from inst27/ipv6-address-without-port

Allow IPv6 addresses without port number. Fixes oktal/pistache#625
parents 01afaa4c daaf17d3
...@@ -233,7 +233,7 @@ AddressParser::AddressParser(const std::string& data) ...@@ -233,7 +233,7 @@ AddressParser::AddressParser(const std::string& data)
family_ = AF_INET; family_ = AF_INET;
} }
if (end_pos != std::string::npos) if (end_pos != std::string::npos && hasColon_)
{ {
port_ = data.substr(end_pos + 1); port_ = data.substr(end_pos + 1);
if (port_.empty()) if (port_.empty())
......
...@@ -135,6 +135,16 @@ TEST(net_test, address_creation) ...@@ -135,6 +135,16 @@ TEST(net_test, address_creation)
ASSERT_EQ(address21.family(), AF_INET); ASSERT_EQ(address21.family(), AF_INET);
ASSERT_EQ(address21.port(), 8080); ASSERT_EQ(address21.port(), 8080);
Address address22("[2001:0DB8:AABB:CCDD:EEFF:0011:2233:4455]");
ASSERT_EQ(address22.host(), "2001:db8:aabb:ccdd:eeff:11:2233:4455");
ASSERT_EQ(address22.family(), AF_INET6);
ASSERT_EQ(address22.port(), 80);
Address address23("[::]");
ASSERT_EQ(address23.host(), "::");
ASSERT_EQ(address23.family(), AF_INET6);
ASSERT_EQ(address23.port(), 80);
} }
TEST(net_test, invalid_address) TEST(net_test, invalid_address)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment