mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-10-31 09:20:21 +00:00
9dd604820f
When we enable/disable exit mode on this restarts the unbound DNS responder with the DNS trampoline (or restores upstream, when disabling) to properly route DNS requests through the tunnel (because libunbound's direct requests don't get tunneled because unbound is inside the network extension).
23 lines
719 B
C++
23 lines
719 B
C++
#include "vpn_platform.hpp"
|
|
#include "context.hpp"
|
|
|
|
namespace llarp::apple
|
|
{
|
|
VPNPlatform::VPNPlatform(
|
|
Context& ctx,
|
|
VPNInterface::packet_write_callback packet_writer,
|
|
VPNInterface::on_readable_callback on_readable,
|
|
llarp_route_callbacks route_callbacks,
|
|
void* callback_context)
|
|
: m_Context{ctx}
|
|
, m_RouteManager{ctx, std::move(route_callbacks), callback_context}
|
|
, m_PacketWriter{std::move(packet_writer)}
|
|
, m_OnReadable{std::move(on_readable)}
|
|
{}
|
|
|
|
std::shared_ptr<vpn::NetworkInterface> VPNPlatform::ObtainInterface(vpn::InterfaceInfo)
|
|
{
|
|
return std::make_shared<VPNInterface>(m_Context, m_PacketWriter, m_OnReadable);
|
|
}
|
|
} // namespace llarp::apple
|