mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Fixed up bootstrap singleshot search function. Now returns parameters.
Not functioning 100% correctly yet - due to libbitdht behaviour (TO FIX) git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6005 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
766d156315
commit
5803a5ab65
@ -18,7 +18,11 @@ bool bdSingleShotFindPeer(const std::string bootstrapfile, const std::string pee
|
||||
|
||||
/* install search node */
|
||||
bdNodeId searchId;
|
||||
bdStdRandomNodeId(&searchId);
|
||||
if (!bdStdLoadNodeId(&searchId, peerId))
|
||||
{
|
||||
std::cerr << "bdSingleShotFindPeer(): Invalid Input Id: " << peerId;
|
||||
return false;
|
||||
}
|
||||
|
||||
std::cerr << "bssdht: searching for Id: ";
|
||||
bdStdPrintNodeId(std::cerr, &searchId);
|
||||
@ -48,6 +52,26 @@ bool bdSingleShotFindPeer(const std::string bootstrapfile, const std::string pee
|
||||
|
||||
dht.shutdown();
|
||||
|
||||
if ((status == BITDHT_QUERY_PEER_UNREACHABLE) ||
|
||||
(status == BITDHT_QUERY_SUCCESS))
|
||||
{
|
||||
|
||||
peer_ip = bdnet_inet_ntoa(resultId.addr.sin_addr);
|
||||
peer_port = ntohs(resultId.addr.sin_port);
|
||||
|
||||
std::cerr << "Answer: ";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\tPeer IpAddress: " << peer_ip;
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\tPeer Port: " << peer_port;
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "Sorry, Cant be found!";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,22 @@
|
||||
#include <iostream>
|
||||
#include <inttypes.h>
|
||||
|
||||
void args(char *name)
|
||||
{
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "Dht Single Shot Searcher";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "Usage:";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\t" << name << " -p <peerId> ";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "NB: The PeerId is Required to Run";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
|
||||
@ -10,6 +26,31 @@ int main(int argc, char **argv)
|
||||
std::string peerId;
|
||||
std::string ip;
|
||||
uint16_t port;
|
||||
int c;
|
||||
bool havePeerId = false;
|
||||
|
||||
|
||||
while((c = getopt(argc, argv,"p:")) != -1)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
case 'p':
|
||||
peerId = optarg;
|
||||
havePeerId = true;
|
||||
break;
|
||||
default:
|
||||
args(argv[0]);
|
||||
return 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!havePeerId)
|
||||
{
|
||||
args(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
std::cerr << "bssdht: starting up";
|
||||
std::cerr << std::endl;
|
||||
|
Loading…
Reference in New Issue
Block a user