Merge pull request #1570 from majestrate/unbreak-android-2021-03-07

Unbreak android
pull/1572/head
Jason Rhinelander 3 years ago committed by GitHub
commit 39e2647b1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,8 +9,8 @@ namespace llarp::dns
{
std::weak_ptr<UnboundResolver> resolver;
Message msg;
SockAddr source;
SockAddr replyFrom;
SockAddr resolverAddr;
SockAddr askerAddr;
};
void
@ -56,7 +56,7 @@ namespace llarp::dns
{
Message& msg = lookup->msg;
msg.AddServFail();
this_ptr->failFunc(lookup->replyFrom, lookup->source, msg);
this_ptr->failFunc(lookup->resolverAddr, lookup->askerAddr, msg);
ub_resolve_free(result);
return;
}
@ -71,7 +71,7 @@ namespace llarp::dns
buf.cur = buf.base;
hdr.Encode(&buf);
this_ptr->replyFunc(lookup->replyFrom, lookup->source, std::move(pkt));
this_ptr->replyFunc(lookup->resolverAddr, lookup->askerAddr, std::move(pkt));
ub_resolve_free(result);
}
@ -126,7 +126,7 @@ namespace llarp::dns
}
const auto& q = msg.questions[0];
auto* lookup = new PendingUnboundLookup{weak_from_this(), msg, from, to};
auto* lookup = new PendingUnboundLookup{weak_from_this(), msg, to, from};
int err = ub_resolve_async(
unboundContext,
q.Name().c_str(),

@ -45,7 +45,7 @@ namespace llarp
void
SendServerMessageBufferTo(
const SockAddr& from, const SockAddr& to, llarp_buffer_t buf) override
const SockAddr& to, const SockAddr& from, llarp_buffer_t buf) override
{
net::IPPacket pkt;
@ -76,15 +76,11 @@ namespace llarp
ptr += 2;
std::copy_n(buf.base, buf.sz, ptr);
/// queue ip packet write
const IpAddress remoteIP{from};
const IpAddress localIP{to};
hdr->check = 0;
hdr->check = net::ipchksum(pkt.buf, 20);
pkt.sz = 28 + buf.sz;
m_Endpoint->HandleWriteIPPacket(
pkt.ConstBuffer(), net::ExpandV4(remoteIP.toIP()), net::ExpandV4(localIP.toIP()), 0);
pkt.ConstBuffer(), net::ExpandV4(from.asIPv4()), net::ExpandV4(to.asIPv4()), 0);
}
};
@ -102,8 +98,8 @@ namespace llarp
const uint8_t* ptr = pkt.buf + ip_header_size;
const auto dst = ToNet(pkt.dstv4());
const auto src = ToNet(pkt.srcv4());
const SockAddr raddr{src.n, *reinterpret_cast<const uint16_t*>(ptr)};
const SockAddr laddr{dst.n, *reinterpret_cast<const uint16_t*>(ptr + 2)};
const SockAddr laddr{src.n, *reinterpret_cast<const uint16_t*>(ptr)};
const SockAddr raddr{dst.n, *reinterpret_cast<const uint16_t*>(ptr + 2)};
OwnedBuffer buf{pkt.sz - (udp_header_size + ip_header_size)};
std::copy_n(ptr + udp_header_size, buf.sz, buf.buf.get());

@ -37,7 +37,7 @@ namespace llarp::vpn
net::IPPacket
ReadNextPacket() override
{
net::IPPacket pkt;
net::IPPacket pkt{};
const auto sz = read(m_fd, pkt.buf, sizeof(pkt.buf));
if (sz >= 0)
pkt.sz = std::min(sz, ssize_t{sizeof(pkt.buf)});

Loading…
Cancel
Save