Merge remote-tracking branch 'origin/topic/jazoff/gh-1105'

* origin/topic/jazoff/gh-1105:
  Accept bracketed ipv6 addresses
This commit is contained in:
Johanna Amann 2020-08-12 20:01:37 +00:00
commit 7f267d3e87
5 changed files with 49 additions and 22 deletions

View file

@ -80,9 +80,12 @@ threading::Value::addr_t Formatter::ParseAddr(const std::string &s) const
else
{
val.family = IPv6;
if ( inet_pton(AF_INET6, s.c_str(), val.in.in6.s6_addr) <=0 )
std::string clean_s = s;
if ( s.front() == '[' && s.back() == ']' )
clean_s = s.substr(1, s.length() - 2);
if ( inet_pton(AF_INET6, clean_s.c_str(), val.in.in6.s6_addr) <= 0 )
{
thread->Warning(thread->Fmt("Bad address: %s", s.c_str()));
thread->Warning(thread->Fmt("Bad address: %s", clean_s.c_str()));
memset(val.in.in6.s6_addr, 0, sizeof(val.in.in6.s6_addr));
}
}