aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Connectors
diff options
context:
space:
mode:
authorDiva Canto2010-09-02 16:36:05 -0700
committerDiva Canto2010-09-02 16:36:05 -0700
commitd96f5fa57db52c872b8e431bc9a1137f0525cbc5 (patch)
tree7a6c6fa7e984b2e51c1df3bdf08b038056b4cc5c /OpenSim/Services/Connectors
parentReplace hardcoded 0 with KickFlags provided by the client. (diff)
downloadopensim-SC_OLD-d96f5fa57db52c872b8e431bc9a1137f0525cbc5.zip
opensim-SC_OLD-d96f5fa57db52c872b8e431bc9a1137f0525cbc5.tar.gz
opensim-SC_OLD-d96f5fa57db52c872b8e431bc9a1137f0525cbc5.tar.bz2
opensim-SC_OLD-d96f5fa57db52c872b8e431bc9a1137f0525cbc5.tar.xz
Quick fix for making global references for gatekeepers that are not domain:port work. This needs a serious rewrite, as the assumption domain:port doesn't hold from here on. Just quick-fixing for now.
Diffstat (limited to 'OpenSim/Services/Connectors')
-rw-r--r--OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs6
-rw-r--r--OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs7
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs24
3 files changed, 22 insertions, 15 deletions
diff --git a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
index 024b42d..77e3b20 100644
--- a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
@@ -86,8 +86,8 @@ namespace OpenSim.Services.Connectors.Hypergrid
86 paramList.Add(hash); 86 paramList.Add(hash);
87 87
88 XmlRpcRequest request = new XmlRpcRequest("link_region", paramList); 88 XmlRpcRequest request = new XmlRpcRequest("link_region", paramList);
89 string uri = "http://" + info.ExternalEndPoint.Address + ":" + info.HttpPort + "/"; 89 string uri = "http://" + ((info.ServerURI == string.Empty) ? info.ExternalEndPoint.Address + ":" + info.HttpPort + "/" : info.ServerURI);
90 //m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Linking to " + uri); 90 m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Linking to " + uri);
91 XmlRpcResponse response = null; 91 XmlRpcResponse response = null;
92 try 92 try
93 { 93 {
@@ -188,7 +188,7 @@ namespace OpenSim.Services.Connectors.Hypergrid
188 paramList.Add(hash); 188 paramList.Add(hash);
189 189
190 XmlRpcRequest request = new XmlRpcRequest("get_region", paramList); 190 XmlRpcRequest request = new XmlRpcRequest("get_region", paramList);
191 string uri = "http://" + gatekeeper.ExternalEndPoint.Address + ":" + gatekeeper.HttpPort + "/"; 191 string uri = "http://" + ((gatekeeper.ServerURI == string.Empty) ? gatekeeper.ExternalEndPoint.Address + ":" + gatekeeper.HttpPort + "/" : gatekeeper.ServerURI);
192 m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: contacting " + uri); 192 m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: contacting " + uri);
193 XmlRpcResponse response = null; 193 XmlRpcResponse response = null;
194 try 194 try
diff --git a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs
index 4501937..7fa086a 100644
--- a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs
@@ -51,15 +51,16 @@ namespace OpenSim.Services.Connectors.Hypergrid
51 MethodBase.GetCurrentMethod().DeclaringType); 51 MethodBase.GetCurrentMethod().DeclaringType);
52 52
53 string m_ServerURL; 53 string m_ServerURL;
54 Uri m_Uri;
55 public UserAgentServiceConnector(string url) 54 public UserAgentServiceConnector(string url)
56 { 55 {
57 m_ServerURL = url; 56 m_ServerURL = url;
57 // Doing this here, because XML-RPC or mono have some strong ideas about
58 // caching DNS translations.
58 try 59 try
59 { 60 {
60 m_Uri = new Uri(m_ServerURL); 61 Uri m_Uri = new Uri(m_ServerURL);
61 IPAddress ip = Util.GetHostFromDNS(m_Uri.Host); 62 IPAddress ip = Util.GetHostFromDNS(m_Uri.Host);
62 m_ServerURL = "http://" + ip.ToString() + ":" + m_Uri.Port; 63 m_ServerURL = m_ServerURL.Replace(m_Uri.Host, ip.ToString()); ;
63 } 64 }
64 catch (Exception e) 65 catch (Exception e)
65 { 66 {
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
index 2b96b96..df818f5 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
@@ -104,17 +104,23 @@ namespace OpenSim.Services.Connectors.Simulation
104 return false; 104 return false;
105 } 105 }
106 106
107 // Eventually, we want to use a caps url instead of the agentID
108 string uri = string.Empty; 107 string uri = string.Empty;
109 try 108
110 { 109 // HACK -- Simian grid make it work!!!
111 uri = "http://" + destination.ExternalEndPoint.Address + ":" + destination.HttpPort + AgentPath() + aCircuit.AgentID + "/"; 110 if (destination.ServerURI != string.Empty)
112 } 111 uri = "http://" + destination.ServerURI + AgentPath() + aCircuit.AgentID + "/";
113 catch (Exception e) 112 else
114 { 113 {
115 m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Unable to resolve external endpoint on agent create. Reason: " + e.Message); 114 try
116 reason = e.Message; 115 {
117 return false; 116 uri = "http://" + destination.ExternalEndPoint.Address + ":" + destination.HttpPort + AgentPath() + aCircuit.AgentID + "/";
117 }
118 catch (Exception e)
119 {
120 m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Unable to resolve external endpoint on agent create. Reason: " + e.Message);
121 reason = e.Message;
122 return false;
123 }
118 } 124 }
119 125
120 //Console.WriteLine(" >>> DoCreateChildAgentCall <<< " + uri); 126 //Console.WriteLine(" >>> DoCreateChildAgentCall <<< " + uri);