Merge pull request #1568 from jagerman/clang-format-11

Clang format 11
pull/1569/head
Jeff 4 years ago committed by GitHub
commit 6daf5c6ea6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -217,7 +217,7 @@ local mac_builder(name, build_type='Release', werror=true, cmake_extra='', extra
'echo "Building on ${DRONE_STAGE_MACHINE}"', 'echo "Building on ${DRONE_STAGE_MACHINE}"',
apt_get_quiet + ' update', apt_get_quiet + ' update',
apt_get_quiet + ' install -y eatmydata', apt_get_quiet + ' install -y eatmydata',
'eatmydata ' + apt_get_quiet + ' install -y git clang-format-9', 'eatmydata ' + apt_get_quiet + ' install -y git clang-format-11',
'./contrib/ci/drone-format-verify.sh'] './contrib/ci/drone-format-verify.sh']
}] }]
}, },

@ -1,3 +1,3 @@
FROM debian:sid FROM debian:sid
RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections'
RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata git clang-format-9' RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata git clang-format-11'

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
test "x$IGNORE" != "x" && exit 0 test "x$IGNORE" != "x" && exit 0
repo=$(readlink -e $(dirname $0)/../../) repo=$(readlink -e $(dirname $0)/../../)
clang-format-9 -i $(find $repo/jni $repo/daemon $repo/llarp $repo/include $repo/pybind | grep -E '\.[hc](pp)?$') clang-format-11 -i $(find $repo/jni $repo/daemon $repo/llarp $repo/include $repo/pybind | grep -E '\.[hc](pp)?$')
git --no-pager diff --exit-code --color || (echo -ne '\n\n\e[31;1mLint check failed; please run ./contrib/format.sh\e[0m\n\n' ; exit 1) git --no-pager diff --exit-code --color || (echo -ne '\n\n\e[31;1mLint check failed; please run ./contrib/format.sh\e[0m\n\n' ; exit 1)

@ -2,4 +2,4 @@
# TODO: readlink -e is a GNU-ism # TODO: readlink -e is a GNU-ism
cd "$(readlink -e $(dirname $0)/../)" cd "$(readlink -e $(dirname $0)/../)"
clang-format-9 -i $(find jni daemon llarp include pybind | grep -E '\.[hc](pp)?$') &> /dev/null clang-format-11 -i $(find jni daemon llarp include pybind | grep -E '\.[hc](pp)?$') &> /dev/null

@ -147,7 +147,8 @@ main(int argc, char* argv[])
return 1; return 1;
} }
lokimq::LokiMQ lmq{[](lokimq::LogLevel lvl, const char* file, int line, std::string msg) { lokimq::LokiMQ lmq{
[](lokimq::LogLevel lvl, const char* file, int line, std::string msg) {
std::cout << lvl << " [" << file << ":" << line << "] " << msg << std::endl; std::cout << lvl << " [" << file << ":" << line << "] " << msg << std::endl;
}, },
logLevel}; logLevel};

@ -376,8 +376,8 @@ main(int argc, char* argv[])
#ifndef _WIN32 #ifndef _WIN32
return lokinet_main(argc, argv); return lokinet_main(argc, argv);
#else #else
SERVICE_TABLE_ENTRY DispatchTable[] = {{"lokinet", (LPSERVICE_MAIN_FUNCTION)win32_daemon_entry}, SERVICE_TABLE_ENTRY DispatchTable[] = {
{NULL, NULL}}; {"lokinet", (LPSERVICE_MAIN_FUNCTION)win32_daemon_entry}, {NULL, NULL}};
if (lstrcmpi(argv[1], "--win32-daemon") == 0) if (lstrcmpi(argv[1], "--win32-daemon") == 0)
{ {
start_as_daemon = true; start_as_daemon = true;
@ -576,7 +576,8 @@ lokinet_main(int argc, char* argv[])
// do periodic non lokinet related tasks here // do periodic non lokinet related tasks here
if (ctx and ctx->IsUp() and not ctx->LooksAlive()) if (ctx and ctx->IsUp() and not ctx->LooksAlive())
{ {
for (const auto& wtf : {"you have been visited by the mascott of the " for (const auto& wtf :
{"you have been visited by the mascott of the "
"deadlocked router.", "deadlocked router.",
"⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠄⠄⠄⠄", "⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠄⠄⠄⠄",
"⠄⠄⠄⠄⠄⢀⣀⣀⡀⠄⠄⠄⡠⢲⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠄⠄", "⠄⠄⠄⠄⠄⢀⣀⣀⡀⠄⠄⠄⡠⢲⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠄⠄",

2
external/uvw vendored

@ -1 +1 @@
Subproject commit 51724bcef0effa361710677a10cb6d7fd58c4616 Subproject commit 36fdf810a6385b9edbf9cbaf14862b8c9a547f15

@ -1006,7 +1006,8 @@ namespace llarp
} }
m_UniqueHopsNetmaskSize = arg; m_UniqueHopsNetmaskSize = arg;
}, },
Comment{"Netmask for router path selection; each router must be from a distinct IP subnet " Comment{
"Netmask for router path selection; each router must be from a distinct IP subnet "
"of the given size.", "of the given size.",
"E.g. 16 ensures that all routers are using distinct /16 IP addresses."}); "E.g. 16 ensures that all routers are using distinct /16 IP addresses."});
@ -1019,7 +1020,8 @@ namespace llarp
[=](std::string arg) { [=](std::string arg) {
m_ExcludeCountries.emplace(lowercase_ascii_string(std::move(arg))); m_ExcludeCountries.emplace(lowercase_ascii_string(std::move(arg)));
}, },
Comment{"exclude a country given its 2 letter country code from being used in path builds", Comment{
"exclude a country given its 2 letter country code from being used in path builds",
"e.g. exclude-country=DE", "e.g. exclude-country=DE",
"can be listed multiple times to exclude multiple countries"}); "can be listed multiple times to exclude multiple countries"});
#endif #endif

@ -435,7 +435,8 @@ namespace llarp
util::StatusObject util::StatusObject
Context::ExtractStatus() const Context::ExtractStatus() const
{ {
util::StatusObject obj{{"pendingRouterLookups", pendingRouterLookups().ExtractStatus()}, util::StatusObject obj{
{"pendingRouterLookups", pendingRouterLookups().ExtractStatus()},
{"pendingIntrosetLookups", _pendingIntrosetLookups.ExtractStatus()}, {"pendingIntrosetLookups", _pendingIntrosetLookups.ExtractStatus()},
{"pendingExploreLookups", pendingExploreLookups().ExtractStatus()}, {"pendingExploreLookups", pendingExploreLookups().ExtractStatus()},
{"nodes", _nodes->ExtractStatus()}, {"nodes", _nodes->ExtractStatus()},

@ -16,8 +16,8 @@ namespace llarp::dht
bool bool
FindNameMessage::BEncode(llarp_buffer_t* buf) const FindNameMessage::BEncode(llarp_buffer_t* buf) const
{ {
const auto data = oxenmq::bt_serialize( const auto data = oxenmq::bt_serialize(oxenmq::bt_dict{
oxenmq::bt_dict{{"A", "N"sv}, {"A", "N"sv},
{"H", std::string_view{(char*)NameHash.data(), NameHash.size()}}, {"H", std::string_view{(char*)NameHash.data(), NameHash.size()}},
{"T", TxID}}); {"T", TxID}});
return buf->write(data.begin(), data.end()); return buf->write(data.begin(), data.end());

@ -36,8 +36,8 @@ namespace llarp
util::StatusObject util::StatusObject
ExtractStatus() const ExtractStatus() const
{ {
util::StatusObject obj{{"whoasked", whoasked.ExtractStatus()}, util::StatusObject obj{
{"target", target.ExtractStatus()}}; {"whoasked", whoasked.ExtractStatus()}, {"target", target.ExtractStatus()}};
std::vector<util::StatusObject> foundObjs; std::vector<util::StatusObject> foundObjs;
std::transform( std::transform(
valuesFound.begin(), valuesFound.begin(),

@ -37,8 +37,8 @@ namespace llarp
tx.end(), tx.end(),
std::back_inserter(txObjs), std::back_inserter(txObjs),
[](const auto& item) -> util::StatusObject { [](const auto& item) -> util::StatusObject {
return util::StatusObject{{"owner", item.first.ExtractStatus()}, return util::StatusObject{
{"tx", item.second->ExtractStatus()}}; {"owner", item.first.ExtractStatus()}, {"tx", item.second->ExtractStatus()}};
}); });
obj["tx"] = txObjs; obj["tx"] = txObjs;
std::transform( std::transform(
@ -46,8 +46,8 @@ namespace llarp
timeouts.end(), timeouts.end(),
std::back_inserter(timeoutsObjs), std::back_inserter(timeoutsObjs),
[](const auto& item) -> util::StatusObject { [](const auto& item) -> util::StatusObject {
return util::StatusObject{{"time", to_json(item.second)}, return util::StatusObject{
{"target", item.first.ExtractStatus()}}; {"time", to_json(item.second)}, {"target", item.first.ExtractStatus()}};
}); });
obj["timeouts"] = timeoutsObjs; obj["timeouts"] = timeoutsObjs;
std::transform( std::transform(
@ -55,7 +55,8 @@ namespace llarp
waiting.end(), waiting.end(),
std::back_inserter(waitingObjs), std::back_inserter(waitingObjs),
[](const auto& item) -> util::StatusObject { [](const auto& item) -> util::StatusObject {
return util::StatusObject{{"target", item.first.ExtractStatus()}, return util::StatusObject{
{"target", item.first.ExtractStatus()},
{"whoasked", item.second.ExtractStatus()}}; {"whoasked", item.second.ExtractStatus()}};
}); });
obj["waiting"] = waitingObjs; obj["waiting"] = waitingObjs;

@ -40,7 +40,8 @@ namespace llarp
Endpoint::ExtractStatus() const Endpoint::ExtractStatus() const
{ {
auto now = m_Parent->Now(); auto now = m_Parent->Now();
util::StatusObject obj{{"identity", m_remoteSignKey.ToString()}, util::StatusObject obj{
{"identity", m_remoteSignKey.ToString()},
{"ip", m_IP.ToString()}, {"ip", m_IP.ToString()},
{"txRate", m_TxRate}, {"txRate", m_TxRate},
{"rxRate", m_RxRate}, {"rxRate", m_RxRate},

@ -296,7 +296,8 @@ namespace llarp
{ {
const auto now = m_Parent->Now(); const auto now = m_Parent->Now();
return {{"txRateCurrent", m_Stats.currentRateTX}, return {
{"txRateCurrent", m_Stats.currentRateTX},
{"rxRateCurrent", m_Stats.currentRateRX}, {"rxRateCurrent", m_Stats.currentRateRX},
{"rxPktsRcvd", m_Stats.totalPacketsRX}, {"rxPktsRcvd", m_Stats.totalPacketsRX},
@ -737,8 +738,8 @@ namespace llarp
} }
uint16_t sz = bufbe16toh(data.data() + CommandOverhead + PacketOverhead); uint16_t sz = bufbe16toh(data.data() + CommandOverhead + PacketOverhead);
uint64_t rxid = bufbe64toh(data.data() + CommandOverhead + sizeof(uint16_t) + PacketOverhead); uint64_t rxid = bufbe64toh(data.data() + CommandOverhead + sizeof(uint16_t) + PacketOverhead);
ShortHash h{data.data() + CommandOverhead + sizeof(uint16_t) + sizeof(uint64_t) ShortHash h{
+ PacketOverhead}; data.data() + CommandOverhead + sizeof(uint16_t) + sizeof(uint64_t) + PacketOverhead};
LogDebug("rxid=", rxid, " sz=", sz, " h=", h.ToHex()); LogDebug("rxid=", rxid, " sz=", sz, " h=", h.ToHex());
m_LastRX = m_Parent->Now(); m_LastRX = m_Parent->Now();
{ {

@ -291,7 +291,8 @@ namespace llarp
[](const auto& item) -> util::StatusObject { return item.second->ExtractStatus(); }); [](const auto& item) -> util::StatusObject { return item.second->ExtractStatus(); });
} }
return {{"name", Name()}, return {
{"name", Name()},
{"rank", uint64_t(Rank())}, {"rank", uint64_t(Rank())},
{"addr", m_ourAddr.toString()}, {"addr", m_ourAddr.toString()},
{"sessions", util::StatusObject{{"pending", pending}, {"established", established}}}}; {"sessions", util::StatusObject{{"pending", pending}, {"established", established}}}};

@ -184,7 +184,8 @@ namespace llarp
char tmp[128] = {0}; char tmp[128] = {0};
inet_ntop(AF_INET6, (void*)&a.ip, tmp, sizeof(tmp)); inet_ntop(AF_INET6, (void*)&a.ip, tmp, sizeof(tmp));
j = nlohmann::json{{"rank", a.rank}, j = nlohmann::json{
{"rank", a.rank},
{"dialect", a.dialect}, {"dialect", a.dialect},
{"pubkey", a.pubkey.ToString()}, {"pubkey", a.pubkey.ToString()},
{"in6_addr", tmp}, {"in6_addr", tmp},

@ -636,7 +636,8 @@ namespace llarp
} }
#if !defined(TESTNET) #if !defined(TESTNET)
static constexpr std::array bogonRanges = {IPRange::FromIPv4(0, 0, 0, 0, 8), static constexpr std::array bogonRanges = {
IPRange::FromIPv4(0, 0, 0, 0, 8),
IPRange::FromIPv4(10, 0, 0, 0, 8), IPRange::FromIPv4(10, 0, 0, 0, 8),
IPRange::FromIPv4(21, 0, 0, 0, 8), IPRange::FromIPv4(21, 0, 0, 0, 8),
IPRange::FromIPv4(100, 64, 0, 0, 10), IPRange::FromIPv4(100, 64, 0, 0, 10),

@ -28,7 +28,8 @@ namespace llarp
{ {
UInt_t h; UInt_t h;
constexpr huint_t operator&(huint_t x) const constexpr huint_t
operator&(huint_t x) const
{ {
return huint_t{UInt_t{h & x.h}}; return huint_t{UInt_t{h & x.h}};
} }
@ -129,7 +130,8 @@ namespace llarp
{ {
UInt_t n; UInt_t n;
constexpr nuint_t operator&(nuint_t x) const constexpr nuint_t
operator&(nuint_t x) const
{ {
return nuint_t{UInt_t(n & x.n)}; return nuint_t{UInt_t(n & x.n)};
} }

@ -56,7 +56,8 @@ namespace llarp
lower &= o.lower; lower &= o.lower;
return *this; return *this;
} }
constexpr uint128_t operator&(const uint128_t& o) const constexpr uint128_t
operator&(const uint128_t& o) const
{ {
uint128_t result = *this; uint128_t result = *this;
result &= o; result &= o;
@ -216,8 +217,7 @@ namespace llarp
operator<<=(uint64_t shift) operator<<=(uint64_t shift)
{ {
if (shift == 0) if (shift == 0)
{ {}
}
else if (shift < 64) else if (shift < 64)
{ {
upper = upper << shift | (lower >> (64 - shift)); upper = upper << shift | (lower >> (64 - shift));
@ -251,8 +251,7 @@ namespace llarp
operator>>=(uint64_t shift) operator>>=(uint64_t shift)
{ {
if (shift == 0) if (shift == 0)
{ {}
}
else if (shift < 64) else if (shift < 64)
{ {
lower = lower >> shift | upper << (64 - shift); lower = lower >> shift | upper << (64 - shift);

@ -276,7 +276,8 @@ namespace llarp
util::StatusObject util::StatusObject
PathHopConfig::ExtractStatus() const PathHopConfig::ExtractStatus() const
{ {
util::StatusObject obj{{"lifetime", to_json(lifetime)}, util::StatusObject obj{
{"lifetime", to_json(lifetime)},
{"router", rc.pubkey.ToHex()}, {"router", rc.pubkey.ToHex()},
{"txid", txID.ToHex()}, {"txid", txID.ToHex()},
{"rxid", rxID.ToHex()}}; {"rxid", rxID.ToHex()}};
@ -288,7 +289,8 @@ namespace llarp
{ {
auto now = llarp::time_now_ms(); auto now = llarp::time_now_ms();
util::StatusObject obj{{"intro", intro.ExtractStatus()}, util::StatusObject obj{
{"intro", intro.ExtractStatus()},
{"lastRecvMsg", to_json(m_LastRecvMessage)}, {"lastRecvMsg", to_json(m_LastRecvMessage)},
{"lastLatencyTest", to_json(m_LastLatencyTestTime)}, {"lastLatencyTest", to_json(m_LastLatencyTestTime)},
{"buildStarted", to_json(buildStarted)}, {"buildStarted", to_json(buildStarted)},

@ -193,7 +193,8 @@ namespace llarp
util::StatusObject util::StatusObject
Builder::ExtractStatus() const Builder::ExtractStatus() const
{ {
util::StatusObject obj{{"buildStats", m_BuildStats.ExtractStatus()}, util::StatusObject obj{
{"buildStats", m_BuildStats.ExtractStatus()},
{"numHops", uint64_t(numHops)}, {"numHops", uint64_t(numHops)},
{"numPaths", uint64_t(numDesiredPaths)}}; {"numPaths", uint64_t(numDesiredPaths)}};
std::transform( std::transform(

@ -100,7 +100,8 @@ namespace llarp
util::StatusObject util::StatusObject
OutboundMessageHandler::ExtractStatus() const OutboundMessageHandler::ExtractStatus() const
{ {
util::StatusObject status{"queueStats", util::StatusObject status{
"queueStats",
{{"queued", m_queueStats.queued}, {{"queued", m_queueStats.queued},
{"dropped", m_queueStats.dropped}, {"dropped", m_queueStats.dropped},
{"sent", m_queueStats.sent}, {"sent", m_queueStats.sent},

@ -88,7 +88,8 @@ namespace llarp
if (m_peerDb) if (m_peerDb)
peerStatsObj = m_peerDb->ExtractStatus(); peerStatsObj = m_peerDb->ExtractStatus();
return util::StatusObject{{"running", true}, return util::StatusObject{
{"running", true},
{"numNodesKnown", _nodedb->NumLoaded()}, {"numNodesKnown", _nodedb->NumLoaded()},
{"dht", _dht->impl->ExtractStatus()}, {"dht", _dht->impl->ExtractStatus()},
{"services", _hiddenServiceContext.ExtractStatus()}, {"services", _hiddenServiceContext.ExtractStatus()},

@ -217,7 +217,8 @@ namespace llarp
util::StatusObject util::StatusObject
RouterContact::ExtractStatus() const RouterContact::ExtractStatus() const
{ {
util::StatusObject obj{{"lastUpdated", last_updated.count()}, util::StatusObject obj{
{"lastUpdated", last_updated.count()},
{"publicRouter", IsPublicRouter()}, {"publicRouter", IsPublicRouter()},
{"identity", pubkey.ToString()}, {"identity", pubkey.ToString()},
{"addresses", addrs}}; {"addresses", addrs}};

@ -60,8 +60,8 @@ namespace llarp::rpc
if (not m_Conn.has_value()) if (not m_Conn.has_value())
{ {
// we don't have a connection to the backend so it's failed // we don't have a connection to the backend so it's failed
reply(service::AuthResult{service::AuthResultCode::eAuthFailed, reply(service::AuthResult{
"remote has no connection to auth backend"}); service::AuthResultCode::eAuthFailed, "remote has no connection to auth backend"});
return; return;
} }

@ -98,8 +98,8 @@ namespace llarp::rpc
.add_request_command( .add_request_command(
"version", "version",
[r = m_Router](oxenmq::Message& msg) { [r = m_Router](oxenmq::Message& msg) {
util::StatusObject result{{"version", llarp::VERSION_FULL}, util::StatusObject result{
{"uptime", to_json(r->Uptime())}}; {"version", llarp::VERSION_FULL}, {"uptime", to_json(r->Uptime())}};
msg.send_reply(CreateJSONResponse(result)); msg.send_reply(CreateJSONResponse(result));
}) })
.add_request_command( .add_request_command(

@ -21,7 +21,8 @@ namespace llarp::service
AuthType AuthType
ParseAuthType(std::string data) ParseAuthType(std::string data)
{ {
std::unordered_map<std::string, AuthType> values = {{"lmq", AuthType::eAuthTypeLMQ}, std::unordered_map<std::string, AuthType> values = {
{"lmq", AuthType::eAuthTypeLMQ},
{"whitelist", AuthType::eAuthTypeWhitelist}, {"whitelist", AuthType::eAuthTypeWhitelist},
{"none", AuthType::eAuthTypeNone}}; {"none", AuthType::eAuthTypeNone}};
const auto itr = values.find(data); const auto itr = values.find(data);

@ -1337,8 +1337,7 @@ namespace llarp
const AlignedBuffer<32> /*addr*/, bool snode, ConvoEventListener_ptr /*ev*/) const AlignedBuffer<32> /*addr*/, bool snode, ConvoEventListener_ptr /*ev*/)
{ {
if (snode) if (snode)
{ {}
}
// TODO: something meaningful // TODO: something meaningful
return false; return false;

@ -7,7 +7,8 @@ namespace llarp
util::StatusObject util::StatusObject
Introduction::ExtractStatus() const Introduction::ExtractStatus() const
{ {
util::StatusObject obj{{"router", router.ToHex()}, util::StatusObject obj{
{"router", router.ToHex()},
{"expiresAt", to_json(expiresAt)}, {"expiresAt", to_json(expiresAt)},
{"latency", to_json(latency)}, {"latency", to_json(latency)},
{"version", uint64_t(version)}}; {"version", uint64_t(version)}};

@ -71,7 +71,8 @@ namespace llarp
ExtractStatus() const ExtractStatus() const
{ {
auto now = time_now_ms(); auto now = time_now_ms();
util::StatusObject obj{{"txid", txid}, util::StatusObject obj{
{"txid", txid},
{"endpoint", endpoint.ToHex()}, {"endpoint", endpoint.ToHex()},
{"name", name}, {"name", name},
{"timedOut", IsTimedOut(now)}, {"timedOut", IsTimedOut(now)},

@ -553,8 +553,8 @@ namespace llarp
{ {
if (msg.proto == eProtocolAuth and not msg.payload.empty()) if (msg.proto == eProtocolAuth and not msg.payload.empty())
{ {
result.reason = std::string{reinterpret_cast<const char*>(msg.payload.data()), result.reason = std::string{
msg.payload.size()}; reinterpret_cast<const char*>(msg.payload.data()), msg.payload.size()};
} }
} }
} }
@ -576,8 +576,8 @@ namespace llarp
AuthResult result{AuthResultCode::eAuthAccepted, "OK"}; AuthResult result{AuthResultCode::eAuthAccepted, "OK"};
if (msg->proto == eProtocolAuth and not msg->payload.empty()) if (msg->proto == eProtocolAuth and not msg->payload.empty())
{ {
result.reason = std::string{reinterpret_cast<const char*>(msg->payload.data()), result.reason = std::string{
msg->payload.size()}; reinterpret_cast<const char*>(msg->payload.data()), msg->payload.size()};
} }
handler(result); handler(result);
}; };

@ -7,7 +7,8 @@ namespace llarp
util::StatusObject util::StatusObject
Session::ExtractStatus() const Session::ExtractStatus() const
{ {
util::StatusObject obj{{"lastUsed", to_json(lastUsed)}, util::StatusObject obj{
{"lastUsed", to_json(lastUsed)},
{"replyIntro", replyIntro.ExtractStatus()}, {"replyIntro", replyIntro.ExtractStatus()},
{"remote", remote.Addr().ToString()}, {"remote", remote.Addr().ToString()},
{"seqno", seqno}, {"seqno", seqno},

@ -139,13 +139,15 @@ namespace llarp
return *this; return *this;
} }
byte_t& operator[](size_t idx) byte_t&
operator[](size_t idx)
{ {
assert(idx < SIZE); assert(idx < SIZE);
return m_data[idx]; return m_data[idx];
} }
const byte_t& operator[](size_t idx) const const byte_t&
operator[](size_t idx) const
{ {
assert(idx < SIZE); assert(idx < SIZE);
return m_data[idx]; return m_data[idx];

@ -76,7 +76,8 @@ struct llarp_buffer_t
/// max size of buffer /// max size of buffer
size_t sz{0}; size_t sz{0};
byte_t operator[](size_t x) byte_t
operator[](size_t x)
{ {
return *(this->base + x); return *(this->base + x);
} }

@ -52,7 +52,8 @@ namespace llarp
std::transform(level.begin(), level.end(), level.begin(), [](const unsigned char ch) -> char { std::transform(level.begin(), level.end(), level.begin(), [](const unsigned char ch) -> char {
return std::tolower(ch); return std::tolower(ch);
}); });
static const std::unordered_map<std::string, LogLevel> levels = {{"trace", eLogTrace}, static const std::unordered_map<std::string, LogLevel> levels = {
{"trace", eLogTrace},
{"debug", eLogDebug}, {"debug", eLogDebug},
{"info", eLogInfo}, {"info", eLogInfo},
{"warn", eLogWarn}, {"warn", eLogWarn},

@ -71,16 +71,16 @@ namespace llarp::vpn
if (connect(m_FD, (sockaddr*)&addr, sizeof(addr)) < 0) if (connect(m_FD, (sockaddr*)&addr, sizeof(addr)) < 0)
{ {
::close(m_FD); ::close(m_FD);
throw std::runtime_error{"cannot connect to control socket address: " throw std::runtime_error{
+ std::string{strerror(errno)}}; "cannot connect to control socket address: " + std::string{strerror(errno)}};
} }
uint32_t namesz = IFNAMSIZ; uint32_t namesz = IFNAMSIZ;
char name[IFNAMSIZ + 1]{}; char name[IFNAMSIZ + 1]{};
if (getsockopt(m_FD, SYSPROTO_CONTROL, 2, name, &namesz) < 0) if (getsockopt(m_FD, SYSPROTO_CONTROL, 2, name, &namesz) < 0)
{ {
::close(m_FD); ::close(m_FD);
throw std::runtime_error{"cannot query for interface name: " throw std::runtime_error{
+ std::string{strerror(errno)}}; "cannot query for interface name: " + std::string{strerror(errno)}};
} }
m_IfName = name; m_IfName = name;
for (const auto& ifaddr : m_Info.addrs) for (const auto& ifaddr : m_Info.addrs)
@ -128,7 +128,8 @@ namespace llarp::vpn
constexpr int uintsize = sizeof(unsigned int); constexpr int uintsize = sizeof(unsigned int);
net::IPPacket pkt{}; net::IPPacket pkt{};
unsigned int pktinfo = 0; unsigned int pktinfo = 0;
const struct iovec vecs[2] = {{.iov_base = &pktinfo, .iov_len = uintsize}, const struct iovec vecs[2] = {
{.iov_base = &pktinfo, .iov_len = uintsize},
{.iov_base = pkt.buf, .iov_len = sizeof(pkt.buf)}}; {.iov_base = pkt.buf, .iov_len = sizeof(pkt.buf)}};
int sz = readv(m_FD, vecs, 2); int sz = readv(m_FD, vecs, 2);
if (sz >= uintsize) if (sz >= uintsize)

Loading…
Cancel
Save