Browse Source

BOB: fix status command.

pull/1374/head
rszibele 5 years ago
parent
commit
b759294975
  1. 18
      libi2pd_client/BOB.cpp

18
libi2pd_client/BOB.cpp

@ -691,21 +691,23 @@ namespace client
void BOBCommandSession::StatusCommandHandler (const char * operand, size_t len) void BOBCommandSession::StatusCommandHandler (const char * operand, size_t len)
{ {
LogPrint (eLogDebug, "BOB: status ", operand); LogPrint (eLogDebug, "BOB: status ", operand);
const std::string name = operand;
std::string statusLine; std::string statusLine;
if (m_Nickname == operand)
// always prefer destination
auto ptr = m_Owner.FindDestination(name);
if(ptr != nullptr)
{ {
// check current tunnel // tunnel destination exists
BuildStatusLine(true, nullptr, statusLine); BuildStatusLine(false, ptr, statusLine);
SendReplyOK(statusLine.c_str()); SendReplyOK(statusLine.c_str());
} }
else else
{ {
// check other if(m_Nickname == name && !name.empty())
std::string name = operand;
auto ptr = m_Owner.FindDestination(name);
if(ptr != nullptr)
{ {
BuildStatusLine(false, ptr, statusLine); // tunnel is incomplete / has not been started yet
BuildStatusLine(true, nullptr, statusLine);
SendReplyOK(statusLine.c_str()); SendReplyOK(statusLine.c_str());
} }
else else

Loading…
Cancel
Save