From b75929497551b9186f207f90913612c19f4ee909 Mon Sep 17 00:00:00 2001 From: rszibele Date: Tue, 25 Jun 2019 19:18:40 +0200 Subject: [PATCH] BOB: fix status command. --- libi2pd_client/BOB.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libi2pd_client/BOB.cpp b/libi2pd_client/BOB.cpp index b88eea81..aba090dc 100644 --- a/libi2pd_client/BOB.cpp +++ b/libi2pd_client/BOB.cpp @@ -691,21 +691,23 @@ namespace client void BOBCommandSession::StatusCommandHandler (const char * operand, size_t len) { LogPrint (eLogDebug, "BOB: status ", operand); + const std::string name = operand; std::string statusLine; - if (m_Nickname == operand) + + // always prefer destination + auto ptr = m_Owner.FindDestination(name); + if(ptr != nullptr) { - // check current tunnel - BuildStatusLine(true, nullptr, statusLine); + // tunnel destination exists + BuildStatusLine(false, ptr, statusLine); SendReplyOK(statusLine.c_str()); } else { - // check other - std::string name = operand; - auto ptr = m_Owner.FindDestination(name); - if(ptr != nullptr) + if(m_Nickname == name && !name.empty()) { - BuildStatusLine(false, ptr, statusLine); + // tunnel is incomplete / has not been started yet + BuildStatusLine(true, nullptr, statusLine); SendReplyOK(statusLine.c_str()); } else