mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-25 06:40:58 -04:00
more bug fixing
This commit is contained in:
parent
af4c948024
commit
3121a61910
6 changed files with 39 additions and 62 deletions
|
@ -37,7 +37,7 @@
|
||||||
using namespace Tor;
|
using namespace Tor;
|
||||||
|
|
||||||
ProtocolInfoCommand::ProtocolInfoCommand(TorControl *m)
|
ProtocolInfoCommand::ProtocolInfoCommand(TorControl *m)
|
||||||
: manager(m)
|
: manager(m),m_authMethods(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -863,15 +863,14 @@ bool TorControl::torVersionAsNewAs(const std::string& match) const
|
||||||
|
|
||||||
int split_size = split.size();
|
int split_size = split.size();
|
||||||
int i=0;
|
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;
|
int currentVal,matchVal;
|
||||||
bool ok1 = RsUtil::StringToInt((*b_split).toString(),currentVal);
|
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)
|
if (!ok1 || !ok2)
|
||||||
return false;
|
return false;
|
||||||
|
@ -881,6 +880,12 @@ bool TorControl::torVersionAsNewAs(const std::string& match) const
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
++i;
|
++i;
|
||||||
|
|
||||||
|
if(i >= split_size)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
++b_split;
|
||||||
|
++b_matchsplit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Versions are equal, up to the length of match
|
// Versions are equal, up to the length of match
|
||||||
|
|
|
@ -70,7 +70,7 @@ public:
|
||||||
SocketConnected = 0x02,
|
SocketConnected = 0x02,
|
||||||
Authenticating = 0x03,
|
Authenticating = 0x03,
|
||||||
Authenticated = 0x04,
|
Authenticated = 0x04,
|
||||||
HiddenServiceReady = 0x05,
|
HiddenServiceReady = 0x05
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TorStatus
|
enum TorStatus
|
||||||
|
|
|
@ -481,6 +481,13 @@ void TorManager::threadTick()
|
||||||
|
|
||||||
case TorControl::SocketConnected:
|
case TorControl::SocketConnected:
|
||||||
RsDbg() << "Connection established." ;
|
RsDbg() << "Connection established." ;
|
||||||
|
|
||||||
|
if(d->hiddenService == nullptr)
|
||||||
|
{
|
||||||
|
RsDbg() << "Setting up hidden service" ;
|
||||||
|
setupHiddenService();
|
||||||
|
}
|
||||||
|
|
||||||
d->control->setAuthPassword(d->process->controlPassword());
|
d->control->setAuthPassword(d->process->controlPassword());
|
||||||
d->control->authenticate();
|
d->control->authenticate();
|
||||||
break;
|
break;
|
||||||
|
@ -489,15 +496,12 @@ void TorManager::threadTick()
|
||||||
RsDbg() << "Authenticating..." ;
|
RsDbg() << "Authenticating..." ;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TorControl::Authenticated:;
|
case TorControl::Authenticated:
|
||||||
|
|
||||||
RsDbg() << "Authenticated. Looking for hidden services.";
|
RsDbg() << "Authenticated. Looking for hidden services.";
|
||||||
|
break;
|
||||||
|
|
||||||
for(auto service:d->control->hiddenServices())
|
case TorControl::HiddenServiceReady:
|
||||||
if(service->status() == HiddenService::Online)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TorControl::Error:
|
case TorControl::Error:
|
||||||
|
|
|
@ -36,7 +36,6 @@ TorControlDialog::TorControlDialog(QWidget *)
|
||||||
//QTimer::singleShot(2000,this,SLOT(checkForHiddenService())) ;
|
//QTimer::singleShot(2000,this,SLOT(checkForHiddenService())) ;
|
||||||
|
|
||||||
mIncomingServer = new QTcpServer(this) ;
|
mIncomingServer = new QTcpServer(this) ;
|
||||||
mHiddenServiceStatus = HIDDEN_SERVICE_STATUS_UNKNOWN;
|
|
||||||
|
|
||||||
connect(mIncomingServer, SIGNAL(QTcpServer::newConnection()), this, SLOT(onIncomingConnection()));
|
connect(mIncomingServer, SIGNAL(QTcpServer::newConnection()), this, SLOT(onIncomingConnection()));
|
||||||
|
|
||||||
|
@ -192,30 +191,6 @@ TorControlDialog::HiddenServiceStatus TorControlDialog::checkForHiddenService()
|
||||||
{
|
{
|
||||||
std::cerr << "Checking for hidden services:" ;
|
std::cerr << "Checking for hidden services:" ;
|
||||||
|
|
||||||
switch(mHiddenServiceStatus)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
case HIDDEN_SERVICE_STATUS_FAIL: {
|
|
||||||
std::cerr << " Hidden service setup failed. Something's wrong." << std::endl;
|
|
||||||
return mHiddenServiceStatus;
|
|
||||||
}
|
|
||||||
case HIDDEN_SERVICE_STATUS_UNKNOWN: {
|
|
||||||
|
|
||||||
std::cerr << " trying to setup. " ;
|
|
||||||
|
|
||||||
if(!RsTor::setupHiddenService())
|
|
||||||
{
|
|
||||||
mHiddenServiceStatus = HIDDEN_SERVICE_STATUS_FAIL ;
|
|
||||||
std::cerr << "Failed." << std::endl;
|
|
||||||
return mHiddenServiceStatus ;
|
|
||||||
}
|
|
||||||
std::cerr << "Done." << std::endl;
|
|
||||||
mHiddenServiceStatus = HIDDEN_SERVICE_STATUS_REQUESTED ;
|
|
||||||
return mHiddenServiceStatus ;
|
|
||||||
}
|
|
||||||
|
|
||||||
case HIDDEN_SERVICE_STATUS_REQUESTED: {
|
|
||||||
|
|
||||||
std::string service_id;
|
std::string service_id;
|
||||||
|
|
||||||
RsTorHiddenServiceStatus service_status = RsTor::getHiddenServiceStatus(service_id);
|
RsTorHiddenServiceStatus service_status = RsTor::getHiddenServiceStatus(service_id);
|
||||||
|
@ -223,7 +198,7 @@ TorControlDialog::HiddenServiceStatus TorControlDialog::checkForHiddenService()
|
||||||
if(service_id.empty())
|
if(service_id.empty())
|
||||||
{
|
{
|
||||||
std::cerr << "Not ready yet." << std::endl;
|
std::cerr << "Not ready yet." << std::endl;
|
||||||
return mHiddenServiceStatus ;
|
return HIDDEN_SERVICE_STATUS_REQUESTED ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -234,21 +209,15 @@ TorControlDialog::HiddenServiceStatus TorControlDialog::checkForHiddenService()
|
||||||
|
|
||||||
if(service_status == RsTorHiddenServiceStatus::ONLINE)
|
if(service_status == RsTorHiddenServiceStatus::ONLINE)
|
||||||
{
|
{
|
||||||
mHiddenServiceStatus = HIDDEN_SERVICE_STATUS_OK ;
|
|
||||||
std::cerr << ": published and running!" << std::endl;
|
std::cerr << ": published and running!" << std::endl;
|
||||||
|
|
||||||
return mHiddenServiceStatus ;
|
return HIDDEN_SERVICE_STATUS_OK ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::cerr << ": not ready yet." << std::endl;
|
std::cerr << ": not ready yet." << std::endl;
|
||||||
return mHiddenServiceStatus ;
|
return HIDDEN_SERVICE_STATUS_REQUESTED ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
case HIDDEN_SERVICE_STATUS_OK :
|
|
||||||
std::cerr << "New service acquired." << std::endl;
|
|
||||||
return mHiddenServiceStatus ;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,6 @@ protected slots:
|
||||||
void handleEvent_main_thread(std::shared_ptr<const RsEvent> event);
|
void handleEvent_main_thread(std::shared_ptr<const RsEvent> event);
|
||||||
private:
|
private:
|
||||||
QString mErrorMsg ;
|
QString mErrorMsg ;
|
||||||
HiddenServiceStatus mHiddenServiceStatus ;
|
|
||||||
std::string mHiddenService;
|
std::string mHiddenService;
|
||||||
|
|
||||||
QTcpServer *mIncomingServer ;
|
QTcpServer *mIncomingServer ;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue