Fix json api bind IP

Only the port was being used, the IP was being ignored and it was always
binding to localhost.
pull/1042/head
Jason Rhinelander 5 years ago
parent 0e2c5736a8
commit 416c71e554

@ -423,18 +423,18 @@ namespace llarp
bool
Start(const std::string& addr)
{
uint16_t port = 0;
auto idx = addr.find_first_of(':');
Addr netaddr;
if(idx != std::string::npos)
{
port = std::stoi(addr.substr(1 + idx));
netaddr = Addr(addr.substr(0, idx));
}
sockaddr_in saddr;
saddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
saddr.sin_family = AF_INET;
saddr.sin_port = htons(port);
saddr.sin_port = 0;
auto idx = addr.find_first_of(':');
if(idx != std::string::npos)
{
Addr netaddr{addr.substr(0, idx), addr.substr(1 + idx)};
saddr.sin_addr.s_addr = netaddr.ton();
saddr.sin_port = htons(netaddr.port());
}
return _handler.ServeAsync(router->netloop(), router->logic(),
(const sockaddr*)&saddr);
}

Loading…
Cancel
Save