more bug fixing

This commit is contained in:
csoler 2021-12-17 22:17:26 +01:00
parent af4c948024
commit 3121a61910
6 changed files with 39 additions and 62 deletions

View file

@ -37,7 +37,7 @@
using namespace Tor;
ProtocolInfoCommand::ProtocolInfoCommand(TorControl *m)
: manager(m)
: manager(m),m_authMethods(0)
{
}

View file

@ -863,15 +863,14 @@ bool TorControl::torVersionAsNewAs(const std::string& match) const
int split_size = split.size();
int i=0;
const auto& b_split(split.begin());
auto b_split(split.begin());
auto b_matchsplit(matchSplit.begin());
for(const auto& b_matchsplit:matchSplit)
for(int i=0;;)
{
if (i >= split_size)
return false;
int currentVal,matchVal;
bool ok1 = RsUtil::StringToInt((*b_split).toString(),currentVal);
bool ok2 = RsUtil::StringToInt(b_matchsplit.toString(),matchVal);
bool ok2 = RsUtil::StringToInt((*b_matchsplit).toString(),matchVal);
if (!ok1 || !ok2)
return false;
@ -881,6 +880,12 @@ bool TorControl::torVersionAsNewAs(const std::string& match) const
return false;
++i;
if(i >= split_size)
return false;
++b_split;
++b_matchsplit;
}
// Versions are equal, up to the length of match

View file

@ -70,7 +70,7 @@ public:
SocketConnected = 0x02,
Authenticating = 0x03,
Authenticated = 0x04,
HiddenServiceReady = 0x05,
HiddenServiceReady = 0x05
};
enum TorStatus

View file

@ -481,6 +481,13 @@ void TorManager::threadTick()
case TorControl::SocketConnected:
RsDbg() << "Connection established." ;
if(d->hiddenService == nullptr)
{
RsDbg() << "Setting up hidden service" ;
setupHiddenService();
}
d->control->setAuthPassword(d->process->controlPassword());
d->control->authenticate();
break;
@ -489,15 +496,12 @@ void TorManager::threadTick()
RsDbg() << "Authenticating..." ;
break;
case TorControl::Authenticated:;
case TorControl::Authenticated:
RsDbg() << "Authenticated. Looking for hidden services.";
break;
for(auto service:d->control->hiddenServices())
if(service->status() == HiddenService::Online)
{
}
case TorControl::HiddenServiceReady:
break;
case TorControl::Error: