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.
parent
374807d194
commit
d96f5fa57d
|
@ -86,8 +86,8 @@ namespace OpenSim.Services.Connectors.Hypergrid
|
|||
paramList.Add(hash);
|
||||
|
||||
XmlRpcRequest request = new XmlRpcRequest("link_region", paramList);
|
||||
string uri = "http://" + info.ExternalEndPoint.Address + ":" + info.HttpPort + "/";
|
||||
//m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Linking to " + uri);
|
||||
string uri = "http://" + ((info.ServerURI == string.Empty) ? info.ExternalEndPoint.Address + ":" + info.HttpPort + "/" : info.ServerURI);
|
||||
m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Linking to " + uri);
|
||||
XmlRpcResponse response = null;
|
||||
try
|
||||
{
|
||||
|
@ -188,7 +188,7 @@ namespace OpenSim.Services.Connectors.Hypergrid
|
|||
paramList.Add(hash);
|
||||
|
||||
XmlRpcRequest request = new XmlRpcRequest("get_region", paramList);
|
||||
string uri = "http://" + gatekeeper.ExternalEndPoint.Address + ":" + gatekeeper.HttpPort + "/";
|
||||
string uri = "http://" + ((gatekeeper.ServerURI == string.Empty) ? gatekeeper.ExternalEndPoint.Address + ":" + gatekeeper.HttpPort + "/" : gatekeeper.ServerURI);
|
||||
m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: contacting " + uri);
|
||||
XmlRpcResponse response = null;
|
||||
try
|
||||
|
|
|
@ -51,15 +51,16 @@ namespace OpenSim.Services.Connectors.Hypergrid
|
|||
MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
string m_ServerURL;
|
||||
Uri m_Uri;
|
||||
public UserAgentServiceConnector(string url)
|
||||
{
|
||||
m_ServerURL = url;
|
||||
// Doing this here, because XML-RPC or mono have some strong ideas about
|
||||
// caching DNS translations.
|
||||
try
|
||||
{
|
||||
m_Uri = new Uri(m_ServerURL);
|
||||
Uri m_Uri = new Uri(m_ServerURL);
|
||||
IPAddress ip = Util.GetHostFromDNS(m_Uri.Host);
|
||||
m_ServerURL = "http://" + ip.ToString() + ":" + m_Uri.Port;
|
||||
m_ServerURL = m_ServerURL.Replace(m_Uri.Host, ip.ToString()); ;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -104,8 +104,13 @@ namespace OpenSim.Services.Connectors.Simulation
|
|||
return false;
|
||||
}
|
||||
|
||||
// Eventually, we want to use a caps url instead of the agentID
|
||||
string uri = string.Empty;
|
||||
|
||||
// HACK -- Simian grid make it work!!!
|
||||
if (destination.ServerURI != string.Empty)
|
||||
uri = "http://" + destination.ServerURI + AgentPath() + aCircuit.AgentID + "/";
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
uri = "http://" + destination.ExternalEndPoint.Address + ":" + destination.HttpPort + AgentPath() + aCircuit.AgentID + "/";
|
||||
|
@ -116,6 +121,7 @@ namespace OpenSim.Services.Connectors.Simulation
|
|||
reason = e.Message;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//Console.WriteLine(" >>> DoCreateChildAgentCall <<< " + uri);
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ namespace OpenSim.Services.GridService
|
|||
string host = "127.0.0.1";
|
||||
string portstr;
|
||||
string regionName = "";
|
||||
uint port = 9000;
|
||||
uint port = 0;
|
||||
string[] parts = mapName.Split(new char[] { ':' });
|
||||
if (parts.Length >= 1)
|
||||
{
|
||||
|
@ -177,18 +177,16 @@ namespace OpenSim.Services.GridService
|
|||
regionName = parts[2];
|
||||
}
|
||||
|
||||
// Sanity check.
|
||||
//IPAddress ipaddr = null;
|
||||
try
|
||||
{
|
||||
//ipaddr = Util.GetHostFromDNS(host);
|
||||
Util.GetHostFromDNS(host);
|
||||
}
|
||||
catch
|
||||
{
|
||||
reason = "Malformed hostname";
|
||||
return null;
|
||||
}
|
||||
//// Sanity check.
|
||||
//try
|
||||
//{
|
||||
// Util.GetHostFromDNS(host);
|
||||
//}
|
||||
//catch
|
||||
//{
|
||||
// reason = "Malformed hostname";
|
||||
// return null;
|
||||
//}
|
||||
|
||||
GridRegion regInfo;
|
||||
bool success = TryCreateLink(scopeID, xloc, yloc, regionName, port, host, out regInfo, out reason);
|
||||
|
@ -217,6 +215,11 @@ namespace OpenSim.Services.GridService
|
|||
regInfo.RegionLocY = yloc;
|
||||
regInfo.ScopeID = scopeID;
|
||||
|
||||
// Big HACK for Simian Grid !!!
|
||||
// We need to clean up all URLs used in OpenSim !!!
|
||||
if (externalHostName.Contains("/"))
|
||||
regInfo.ServerURI = externalHostName;
|
||||
|
||||
try
|
||||
{
|
||||
regInfo.InternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), (int)0);
|
||||
|
|
Loading…
Reference in New Issue