try fixing rdns for local interace's address

pull/90/head
Jeff Becker 6 years ago
parent 68faa14e3e
commit 7bc3d94895
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -34,11 +34,14 @@ namespace llarp
TickTun(llarp_time_t now);
bool
MapAddress(const service::Address& remote, huint32_t ip);
MapAddress(const service::Address& remote, huint32_t ip, bool SNode);
bool
Start();
bool
IsSNode() const;
/// set up tun interface, blocking
bool
SetupTun();

@ -59,11 +59,6 @@ namespace llarp
bool
Prefetch(const llarp::service::Address &addr);
/// punch a hole open for DNS to add mappings
/// ip is in network order
bool
MapAddress(const llarp::service::Address &addr, huint32_t ip);
bool
MapAddressAll(const llarp::service::Address &addr,
llarp::Addr &localPrivateIpAddr);

@ -455,14 +455,6 @@ extern "C"
// llarp_dht_lookup_router(ptr->ctx->router->dht, job);
}
bool
main_router_mapAddress(struct llarp_main *ptr,
const llarp::service::Address &addr, uint32_t ip)
{
auto &endpoint = ptr->ctx->router->hiddenServiceContext;
return endpoint.MapAddress(addr, llarp::huint32_t{ip});
}
bool
main_router_prefetch(struct llarp_main *ptr,
const llarp::service::Address &addr)

@ -111,7 +111,7 @@ namespace llarp
llarp::LogError("cannot map to invalid ip ", ip_str);
return false;
}
return MapAddress(addr, huint32_t{ntohl(ip.s_addr)});
return MapAddress(addr, huint32_t{ntohl(ip.s_addr)}, false);
}
if(k == "ifname")
{
@ -180,7 +180,7 @@ namespace llarp
}
bool
TunEndpoint::MapAddress(const service::Address &addr, huint32_t ip)
TunEndpoint::MapAddress(const service::Address &addr, huint32_t ip, bool SNode)
{
auto itr = m_IPToAddr.find(ip);
if(itr != m_IPToAddr.end())
@ -192,8 +192,9 @@ namespace llarp
}
llarp::LogInfo(Name() + " map ", addr.ToString(), " to ", ip);
m_IPToAddr.insert(std::make_pair(ip, addr.data()));
m_AddrToIP.insert(std::make_pair(addr.data(), ip));
m_IPToAddr[ip] = addr.data();
m_AddrToIP[addr.data()] = ip;
m_SNodes[addr.data()] = SNode;
MarkIPActiveForever(ip);
return true;
}
@ -241,6 +242,12 @@ namespace llarp
#endif
}
bool TunEndpoint::IsSNode() const
{
// TODO : implement me
return false;
}
bool
TunEndpoint::SetupTun()
{
@ -304,7 +311,7 @@ namespace llarp
llarp::LogInfo(Name(), " set ", tunif.ifname, " to have address ", lAddr);
llarp::LogInfo(Name(), " allocated up to ", m_MaxIP);
MapAddress(m_Identity.pub.Addr(), m_OurIP);
MapAddress(m_Identity.pub.Addr(), m_OurIP, IsSNode());
return true;
}

@ -142,26 +142,6 @@ namespace llarp
10000);
}
bool
Context::MapAddress(const llarp::service::Address &addr, huint32_t ip)
{
if(!m_Endpoints.size())
{
llarp::LogError("No endpoints found");
return false;
}
auto firstEndpoint = m_Endpoints.begin();
auto *uniqueEndpoint = &firstEndpoint->second;
llarp::service::Endpoint *endpointer = uniqueEndpoint->get();
llarp::handlers::TunEndpoint *tunEndpoint =
static_cast< llarp::handlers::TunEndpoint * >(endpointer);
if(!tunEndpoint)
{
llarp::LogError("No tunnel endpoint found");
return false;
}
return tunEndpoint->MapAddress(addr, ip);
}
bool
MapAddressAllIter(struct Context::endpoint_iter *endpointCfg)
@ -176,7 +156,7 @@ namespace llarp
return true; // still continue
}
return tunEndpoint->MapAddress(context->serviceAddr,
context->localPrivateIpAddr.xtohl());
context->localPrivateIpAddr.xtohl(), false);
}
bool

Loading…
Cancel
Save