1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
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();
|