diff --git a/libretroshare/src/pqi/p3netmgr.cc b/libretroshare/src/pqi/p3netmgr.cc index bc5a6f1..63ee8e2 100644 --- a/libretroshare/src/pqi/p3netmgr.cc +++ b/libretroshare/src/pqi/p3netmgr.cc @@ -1014,7 +1014,7 @@ bool p3NetMgrIMPL::checkNetAddress() std::cerr << "p3NetMgrIMPL::checkNetAddress() LOOPBACK ... forcing to 127.0.0.1"; std::cerr << std::endl; #endif - sockaddr_storage_ipv4_aton(prefAddr, "127.0.0.1"); + sockaddr_storage_ipv4_aton(prefAddr, "0.0.0.0"); //wtf ?? validAddr = true; } else @@ -1077,7 +1077,7 @@ bool p3NetMgrIMPL::checkNetAddress() #endif // update address. - sockaddr_storage_copyip(mLocalAddr, prefAddr); + sockaddr_storage_copyip(mLocalAddr, prefAddr); //wtf ??! mNetFlags.mLocalAddr = mLocalAddr; if(sockaddr_storage_isLoopbackNet(mLocalAddr)) diff --git a/libretroshare/src/pqi/p3peermgr.cc b/libretroshare/src/pqi/p3peermgr.cc index f85edb5..680a84f 100644 --- a/libretroshare/src/pqi/p3peermgr.cc +++ b/libretroshare/src/pqi/p3peermgr.cc @@ -73,7 +73,7 @@ static struct RsLog::logInfo p3peermgrzoneInfo = {RsLog::Default, "p3peermgr"}; #define MAX_AVAIL_PERIOD 230 //times a peer stay in available state when not connected #define MIN_RETRY_PERIOD 140 -static const std::string kConfigDefaultProxyServerIpAddr = "127.0.0.1"; +static const std::string kConfigDefaultProxyServerIpAddr = "0.0.0.0"; //wtf ? static const uint16_t kConfigDefaultProxyServerPortTor = 9050; // standard port. static const uint16_t kConfigDefaultProxyServerPortI2P = 4447; // I2Pd's standard port @@ -214,7 +214,7 @@ bool p3PeerMgrIMPL::forceHiddenNode() // Force the Port. struct sockaddr_storage loopback; sockaddr_storage_clear(loopback); - sockaddr_storage_ipv4_aton(loopback, "127.0.0.1"); + sockaddr_storage_ipv4_aton(loopback, "0.0.0.0"); //should it be configurable ? uint16_t port = sockaddr_storage_port(mOwnState.localaddr); sockaddr_storage_ipv4_setport(loopback, port); diff --git a/libretroshare/src/rsserver/p3peers.cc b/libretroshare/src/rsserver/p3peers.cc index d4b5fe3..372d4c8 100644 --- a/libretroshare/src/rsserver/p3peers.cc +++ b/libretroshare/src/rsserver/p3peers.cc @@ -311,9 +311,9 @@ bool p3Peers::getPeerDetails(const RsPeerId& id, RsPeerDetails &d) d.hiddenNodePort = ps.hiddenPort; d.hiddenType = ps.hiddenType; - if(sockaddr_storage_isnull(ps.localaddr)) // that happens if the address is not initialised. + if(sockaddr_storage_isnull(ps.localaddr) && id != sOwnId) // that happens if the address is not initialised. { - d.localAddr = "INVALID_IP"; + d.localAddr = "0.0.0.0"; d.localPort = 0 ; } else @@ -334,7 +334,7 @@ bool p3Peers::getPeerDetails(const RsPeerId& id, RsPeerDetails &d) if (sockaddr_storage_isnull(ps.localaddr)) { - d.localAddr = "INVALID_IP"; + d.localAddr = "0.0.0.0"; d.localPort = 0; } else diff --git a/libretroshare/src/rsserver/rsinit.cc b/libretroshare/src/rsserver/rsinit.cc index 0f8a707..b6bc725 100644 --- a/libretroshare/src/rsserver/rsinit.cc +++ b/libretroshare/src/rsserver/rsinit.cc @@ -112,7 +112,7 @@ class RsInitConfig /* Listening Port */ bool forceExtPort; - bool forceLocalAddr; +// bool forceLocalAddr; unsigned short port; std::string inet ; @@ -170,12 +170,12 @@ void RsInit::InitRsConfig() rsInitConfig->load_trustedpeer = false; rsInitConfig->port = 0 ; - rsInitConfig->forceLocalAddr = false; +// rsInitConfig->forceLocalAddr = false; rsInitConfig->haveLogFile = false; rsInitConfig->outStderr = false; rsInitConfig->forceExtPort = false; - rsInitConfig->inet = std::string("127.0.0.1"); + rsInitConfig->inet = std::string("0.0.0.0"); rsInitConfig->autoLogin = false; // . rsInitConfig->startMinimised = false; @@ -376,7 +376,7 @@ int RsInit::InitRetroShare(int argcIgnored, char **argvIgnored, bool strictCheck if(rsInitConfig->autoLogin) rsInitConfig->startMinimised = true ; if(rsInitConfig->outStderr) rsInitConfig->haveLogFile = false ; if(!rsInitConfig->logfname.empty()) rsInitConfig->haveLogFile = true; - if(rsInitConfig->inet != "127.0.0.1") rsInitConfig->forceLocalAddr = true; +// if(rsInitConfig->inet != "127.0.0.1") rsInitConfig->forceLocalAddr = true; //wtf ? #ifdef LOCALNET_TESTING if(!portRestrictions.empty()) doPortRestrictions = true; #endif @@ -1687,23 +1687,23 @@ int RsServer::StartupRetroShare() /**************************************************************************/ std::cerr << "Force Any Configuration before Startup (After Load)" << std::endl; - if (rsInitConfig->forceLocalAddr) - { - struct sockaddr_storage laddr; - - /* clean sockaddr before setting values (MaxOSX) */ - sockaddr_storage_clear(laddr); - - struct sockaddr_in *lap = (struct sockaddr_in *) &laddr; - - lap->sin_family = AF_INET; - lap->sin_port = htons(rsInitConfig->port); - - // universal - lap->sin_addr.s_addr = inet_addr(rsInitConfig->inet.c_str()); - - mPeerMgr->setLocalAddress(ownId, laddr); - } +// if (rsInitConfig->forceLocalAddr) +// { +// struct sockaddr_storage laddr; +// +// /* clean sockaddr before setting values (MaxOSX) */ +// sockaddr_storage_clear(laddr); +// +// struct sockaddr_in *lap = (struct sockaddr_in *) &laddr; +// +// lap->sin_family = AF_INET; +// lap->sin_port = htons(rsInitConfig->port); +// +// // universal +// lap->sin_addr.s_addr = inet_addr(rsInitConfig->inet.c_str()); +// +// mPeerMgr->setLocalAddress(ownId, laddr); +// } if (rsInitConfig->forceExtPort) { diff --git a/retroshare-gui/src/gui/settings/ServerPage.cpp b/retroshare-gui/src/gui/settings/ServerPage.cpp index 9773570..126b546 100755 --- a/retroshare-gui/src/gui/settings/ServerPage.cpp +++ b/retroshare-gui/src/gui/settings/ServerPage.cpp @@ -953,7 +953,6 @@ void ServerPage::loadHiddenNode() /* TOR PAGE SETTINGS */ /* set local address */ - ui.hiddenpage_localAddress->setEnabled(false); ui.hiddenpage_localAddress->setText(QString::fromStdString(detail.localAddr)); ui.hiddenpage_localPort -> setValue(detail.localPort); @@ -1097,10 +1096,9 @@ void ServerPage::saveAddressesHiddenNode() if ((vs_disc != detail.vs_disc) || (vs_dht != detail.vs_dht)) rsPeers->setVisState(ownId, vs_disc, vs_dht); - if (detail.localPort != ui.hiddenpage_localPort->value()) + if (detail.localPort != ui.hiddenpage_localPort->value() || detail.localAddr != ui.hiddenpage_localAddress->displayText().toStdString()) { - // Set Local Address - force to 127.0.0.1 - rsPeers->setLocalAddress(ownId, "127.0.0.1", ui.hiddenpage_localPort->value()); + rsPeers->setLocalAddress(ownId, ui.hiddenpage_localAddress->text().toStdString(), ui.hiddenpage_localPort->value()); } std::string hiddenAddr = ui.hiddenpage_serviceAddress->text().toStdString();