make win32 exits work again (#1367)

pull/1371/head
Jeff 4 years ago committed by GitHub
parent 53598ec0e9
commit 56f49a6980
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -623,9 +623,13 @@ namespace llarp
std::string
TunEndpoint::GetIfName() const
{
#ifdef _WIN32
return net::TruncateV6(GetIfAddr()).ToString();
#else
if (tunif)
return tunif->ifname;
return m_IfName;
#endif
}
bool

@ -370,25 +370,8 @@ namespace llarp::net
#endif
#elif _WIN32
ifname.back()++;
int ifindex = 0;
// find interface index for address
ForEachWIN32Interface([&ifindex, ifname = ifname](auto w32interface) {
in_addr interface_addr;
interface_addr.S_un.S_addr = (u_long)w32interface->dwForwardNextHop;
std::array<char, 128> interface_str{};
StringCchCopy(interface_str.data(), interface_str.size(), inet_ntoa(interface_addr));
std::string interface_name{interface_str.data()};
if (interface_name == ifname)
{
ifindex = w32interface->dwForwardIfIndex;
}
});
Execute(
RouteCommand() + " ADD 0.0.0.0 MASK 128.0.0.0 " + ifname + " IF "
+ std::to_string(ifindex));
Execute(
RouteCommand() + " ADD 128.0.0.0 MASK 128.0.0.0 " + ifname + " IF "
+ std::to_string(ifindex));
Execute(RouteCommand() + " ADD 0.0.0.0 MASK 128.0.0.0 " + ifname);
Execute(RouteCommand() + " ADD 128.0.0.0 MASK 128.0.0.0 " + ifname);
#elif __APPLE__
Execute("/sbin/route -n add -cloning -net 0.0.0.0 -netmask 128.0.0.0 -interface " + ifname);
Execute("/sbin/route -n add -cloning -net 128.0.0.0 -netmask 128.0.0.0 -interface " + ifname);

Loading…
Cancel
Save