mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 06:06:10 -04:00
Cleaned the gui a little bit:
- added a checkbox to control the use of external servers for ip determination. - put back Network on the left - put channels out of RS_RELEASE_VERSION, as it's not working yet. - NetworkDialog: - set the info in columns about trust to be more explicit - changed dark green into light green to comply with colors in the trust matrix (it's also more readable in light green) - corrected trust strings that appeared in the Last Contact column - changed "generate certificate" in connect friends wizard into "export my certificate..." which is more appropriate git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1113 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
afb51d5d31
commit
4bb497a905
16 changed files with 145 additions and 136 deletions
|
@ -120,31 +120,24 @@ static void getPage(const std::string& server_name,std::string& page)
|
|||
}
|
||||
|
||||
|
||||
extern "C" void* doExtAddrSearch(void *p)
|
||||
void* doExtAddrSearch(void *p)
|
||||
{
|
||||
static const int nb_ipservers = 4 ;
|
||||
const std::string servers[nb_ipservers] = {
|
||||
"checkip.dyndns.org",
|
||||
"www.showmyip.com",
|
||||
"showip.net",
|
||||
"www.displaymyip.com"
|
||||
};
|
||||
|
||||
|
||||
std::vector<std::string> res ;
|
||||
|
||||
ExtAddrFinder *af = (ExtAddrFinder*)p ;
|
||||
|
||||
for(int i=0;i<nb_ipservers;++i)
|
||||
for(std::list<std::string>::const_iterator it(af->_ip_servers.begin());it!=af->_ip_servers.end();++it)
|
||||
{
|
||||
std::string page ;
|
||||
|
||||
getPage(servers[i],page) ;
|
||||
getPage(*it,page) ;
|
||||
std::string ip = scan_ip(page) ;
|
||||
|
||||
if(ip != "")
|
||||
res.push_back(ip) ;
|
||||
#ifdef EXTADDRSEARCH_DEBUG
|
||||
std::cout << "ip found through " << servers[i] << ": \"" << ip << "\"" << std::endl ;
|
||||
std::cout << "ip found through " << *it << ": \"" << ip << "\"" << std::endl ;
|
||||
#endif
|
||||
}
|
||||
if(res.empty())
|
||||
|
@ -244,6 +237,11 @@ ExtAddrFinder::ExtAddrFinder()
|
|||
|
||||
_addr = (sockaddr_in*)malloc(sizeof(sockaddr_in)) ;
|
||||
|
||||
_ip_servers.push_back(std::string( "checkip.dyndns.org" )) ;
|
||||
_ip_servers.push_back(std::string( "www.showmyip.com" )) ;
|
||||
_ip_servers.push_back(std::string( "showip.net" )) ;
|
||||
_ip_servers.push_back(std::string( "www.displaymyip.com")) ;
|
||||
|
||||
start_request() ;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <list>
|
||||
#include <string>
|
||||
#include "util/rsthreads.h"
|
||||
|
||||
struct sockaddr ;
|
||||
|
@ -11,11 +13,16 @@ class ExtAddrFinder
|
|||
~ExtAddrFinder() ;
|
||||
|
||||
bool hasValidIP(struct sockaddr_in *addr) ;
|
||||
void getIPServersList(std::list<std::string>& ip_servers) { ip_servers = _ip_servers ; }
|
||||
|
||||
void start_request() ;
|
||||
|
||||
private:
|
||||
friend void* doExtAddrSearch(void *p) ;
|
||||
|
||||
RsMutex _addrMtx ;
|
||||
struct sockaddr_in *_addr ;
|
||||
bool *_found ;
|
||||
bool *_searching ;
|
||||
std::list<std::string> _ip_servers ;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue