GetRegionsByName and GetHypergridRegionByName: detect that provided url is for local grid, and make it a local by region name local search
parent
48efbeb8d3
commit
c0a23d36df
|
@ -508,6 +508,7 @@ namespace OpenSim.Services.GridService
|
||||||
if(!m_HypergridLinker.buildHGRegionURI(name, out regionURI, out regionName))
|
if(!m_HypergridLinker.buildHGRegionURI(name, out regionURI, out regionName))
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
bool localGrid = string.IsNullOrWhiteSpace(regionURI);
|
||||||
string mapname = regionURI + regionName;
|
string mapname = regionURI + regionName;
|
||||||
bool haveMatch = false;
|
bool haveMatch = false;
|
||||||
|
|
||||||
|
@ -531,7 +532,7 @@ namespace OpenSim.Services.GridService
|
||||||
if(haveMatch)
|
if(haveMatch)
|
||||||
return rinfos;
|
return rinfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
rdatas = m_Database.Get(Util.EscapeForLike(mapname)+ "%", scopeID);
|
rdatas = m_Database.Get(Util.EscapeForLike(mapname)+ "%", scopeID);
|
||||||
if (rdatas != null && (rdatas.Count > 0))
|
if (rdatas != null && (rdatas.Count > 0))
|
||||||
{
|
{
|
||||||
|
@ -554,14 +555,16 @@ namespace OpenSim.Services.GridService
|
||||||
if(haveMatch)
|
if(haveMatch)
|
||||||
return rinfos;
|
return rinfos;
|
||||||
}
|
}
|
||||||
|
if(!localGrid)
|
||||||
string HGname = regionURI +" "+ regionName;
|
|
||||||
GridRegion r = m_HypergridLinker.LinkRegion(scopeID, HGname);
|
|
||||||
if (r != null)
|
|
||||||
{
|
{
|
||||||
if( count == maxNumber)
|
string HGname = regionURI +" "+ regionName; // include space for compatibility
|
||||||
rinfos.RemoveAt(count - 1);
|
GridRegion r = m_HypergridLinker.LinkRegion(scopeID, HGname);
|
||||||
rinfos.Add(r);
|
if (r != null)
|
||||||
|
{
|
||||||
|
if( count == maxNumber)
|
||||||
|
rinfos.RemoveAt(count - 1);
|
||||||
|
rinfos.Add(r);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (rdatas != null && (rdatas.Count > 0))
|
else if (rdatas != null && (rdatas.Count > 0))
|
||||||
|
@ -597,11 +600,13 @@ namespace OpenSim.Services.GridService
|
||||||
if ((rdatas != null) && (rdatas.Count > 0))
|
if ((rdatas != null) && (rdatas.Count > 0))
|
||||||
return RegionData2RegionInfo(rdatas[0]); // get the first
|
return RegionData2RegionInfo(rdatas[0]); // get the first
|
||||||
|
|
||||||
string HGname = regionURI +" "+ regionName;
|
if(!string.IsNullOrWhiteSpace(regionURI))
|
||||||
return m_HypergridLinker.LinkRegion(scopeID, HGname);
|
{
|
||||||
|
string HGname = regionURI +" "+ regionName;
|
||||||
|
return m_HypergridLinker.LinkRegion(scopeID, HGname);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
return null;
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<GridRegion> GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax)
|
public List<GridRegion> GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax)
|
||||||
|
|
|
@ -137,6 +137,12 @@ namespace OpenSim.Services.GridService
|
||||||
m_log.WarnFormat("[HYPERGRID LINKER]: Malformed URL in [GridService], variable Gatekeeper = {0}", m_ThisGatekeeper);
|
m_log.WarnFormat("[HYPERGRID LINKER]: Malformed URL in [GridService], variable Gatekeeper = {0}", m_ThisGatekeeper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_ThisGatekeeper = m_ThisGatekeeperURI.AbsoluteUri;
|
||||||
|
if(m_ThisGatekeeperURI.Port == 80)
|
||||||
|
m_ThisGatekeeper = m_ThisGatekeeper.Trim(new char[] { '/', ' ' }) +":80/";
|
||||||
|
else if(m_ThisGatekeeperURI.Port == 443)
|
||||||
|
m_ThisGatekeeper = m_ThisGatekeeper.Trim(new char[] { '/', ' ' }) +":443/";
|
||||||
|
|
||||||
m_GatekeeperConnector = new GatekeeperServiceConnector(m_AssetService);
|
m_GatekeeperConnector = new GatekeeperServiceConnector(m_AssetService);
|
||||||
|
|
||||||
m_log.Debug("[HYPERGRID LINKER]: Loaded all services...");
|
m_log.Debug("[HYPERGRID LINKER]: Loaded all services...");
|
||||||
|
@ -302,6 +308,10 @@ namespace OpenSim.Services.GridService
|
||||||
serverURI = serverURI.Trim(new char[] { '/', ' ' }) +":80/";
|
serverURI = serverURI.Trim(new char[] { '/', ' ' }) +":80/";
|
||||||
else if(uri.Port == 443)
|
else if(uri.Port == 443)
|
||||||
serverURI = serverURI.Trim(new char[] { '/', ' ' }) +":443/";
|
serverURI = serverURI.Trim(new char[] { '/', ' ' }) +":443/";
|
||||||
|
|
||||||
|
if(serverURI == m_ThisGatekeeper)
|
||||||
|
serverURI = ""; // local grid, look for region name only
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue