Merge branch 'master' into careminster
Conflicts: OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs OpenSim/Services/Connectors/Friends/FriendsSimConnector.csavinationmerge
commit
fa52effb27
|
@ -241,8 +241,8 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
m_HostCapsObj.RegisterHandler(
|
m_HostCapsObj.RegisterHandler(
|
||||||
"SEED", new RestStreamHandler("POST", capsBase + m_requestPath, SeedCapRequest, "SEED", null));
|
"SEED", new RestStreamHandler("POST", capsBase + m_requestPath, SeedCapRequest, "SEED", null));
|
||||||
|
|
||||||
m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
"[CAPS]: Registered seed capability {0} for {1}", capsBase + m_requestPath, m_HostCapsObj.AgentID);
|
// "[CAPS]: Registered seed capability {0} for {1}", capsBase + m_requestPath, m_HostCapsObj.AgentID);
|
||||||
|
|
||||||
//m_capsHandlers["MapLayer"] =
|
//m_capsHandlers["MapLayer"] =
|
||||||
// new LLSDStreamhandler<OSDMapRequest, OSDMapLayerResponse>("POST",
|
// new LLSDStreamhandler<OSDMapRequest, OSDMapLayerResponse>("POST",
|
||||||
|
@ -337,11 +337,12 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
public string SeedCapRequest(string request, string path, string param,
|
public string SeedCapRequest(string request, string path, string param,
|
||||||
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
|
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
|
||||||
{
|
{
|
||||||
// m_log.Debug("[CAPS]: Seed Caps Request in region: " + m_regionName);
|
m_log.DebugFormat(
|
||||||
|
"[CAPS]: Received SEED caps request in {0} for agent {1}", m_regionName, m_HostCapsObj.AgentID);
|
||||||
|
|
||||||
if (!m_Scene.CheckClient(m_HostCapsObj.AgentID, httpRequest.RemoteIPEndPoint))
|
if (!m_Scene.CheckClient(m_HostCapsObj.AgentID, httpRequest.RemoteIPEndPoint))
|
||||||
{
|
{
|
||||||
m_log.DebugFormat(
|
m_log.WarnFormat(
|
||||||
"[CAPS]: Unauthorized CAPS client {0} from {1}",
|
"[CAPS]: Unauthorized CAPS client {0} from {1}",
|
||||||
m_HostCapsObj.AgentID, httpRequest.RemoteIPEndPoint);
|
m_HostCapsObj.AgentID, httpRequest.RemoteIPEndPoint);
|
||||||
|
|
||||||
|
|
|
@ -111,10 +111,10 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
false,
|
false,
|
||||||
"debug eq",
|
"debug eq",
|
||||||
"debug eq [0|1|2]",
|
"debug eq [0|1|2]",
|
||||||
"Turn on event queue debugging"
|
"Turn on event queue debugging\n"
|
||||||
+ "<= 0 - turns off all event queue logging"
|
+ " <= 0 - turns off all event queue logging\n"
|
||||||
+ ">= 1 - turns on outgoing event logging"
|
+ " >= 1 - turns on outgoing event logging\n"
|
||||||
+ ">= 2 - turns on poll notification",
|
+ " >= 2 - turns on poll notification",
|
||||||
HandleDebugEq);
|
HandleDebugEq);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -109,7 +109,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
|
|
||||||
UUID capID = UUID.Random();
|
UUID capID = UUID.Random();
|
||||||
|
|
||||||
m_log.DebugFormat("[REGION CONSOLE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName);
|
// m_log.DebugFormat("[REGION CONSOLE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName);
|
||||||
caps.RegisterHandler(
|
caps.RegisterHandler(
|
||||||
"SimConsoleAsync",
|
"SimConsoleAsync",
|
||||||
new ConsoleHandler("/CAPS/" + capID + "/", "SimConsoleAsync", agentID, this, m_scene));
|
new ConsoleHandler("/CAPS/" + capID + "/", "SimConsoleAsync", agentID, this, m_scene));
|
||||||
|
|
|
@ -9251,7 +9251,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
switch (Utils.BytesToString(messagePacket.MethodData.Method))
|
string method = Utils.BytesToString(messagePacket.MethodData.Method);
|
||||||
|
|
||||||
|
switch (method)
|
||||||
{
|
{
|
||||||
case "getinfo":
|
case "getinfo":
|
||||||
if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
|
if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
|
||||||
|
@ -9567,7 +9569,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
m_log.Error("EstateOwnerMessage: Unknown method requested\n" + messagePacket);
|
m_log.WarnFormat(
|
||||||
|
"[LLCLIENTVIEW]: EstateOwnerMessage: Unknown method {0} requested for {1} in {2}",
|
||||||
|
method, Name, Scene.Name);
|
||||||
|
|
||||||
|
for (int i = 0; i < messagePacket.ParamList.Length; i++)
|
||||||
|
{
|
||||||
|
EstateOwnerMessagePacket.ParamListBlock block = messagePacket.ParamList[i];
|
||||||
|
string data = (string)Utils.BytesToString(block.Parameter);
|
||||||
|
m_log.DebugFormat("[LLCLIENTVIEW]: Param {0}={1}", i, data);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -488,10 +488,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// both regions
|
// both regions
|
||||||
if (sp.ParentID != (uint)0)
|
if (sp.ParentID != (uint)0)
|
||||||
sp.StandUp();
|
sp.StandUp();
|
||||||
|
|
||||||
else if (sp.Flying)
|
else if (sp.Flying)
|
||||||
teleportFlags |= (uint)TeleportFlags.IsFlying;
|
teleportFlags |= (uint)TeleportFlags.IsFlying;
|
||||||
|
|
||||||
|
// At least on LL 3.3.4, this is not strictly necessary - a teleport will succeed without sending this to
|
||||||
|
// the viewer. However, it might mean that the viewer does not see the black teleport screen (untested).
|
||||||
sp.ControllingClient.SendTeleportStart(teleportFlags);
|
sp.ControllingClient.SendTeleportStart(teleportFlags);
|
||||||
|
|
||||||
// the avatar.Close below will clear the child region list. We need this below for (possibly)
|
// the avatar.Close below will clear the child region list. We need this below for (possibly)
|
||||||
|
@ -567,8 +568,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// So let's wait
|
// So let's wait
|
||||||
Thread.Sleep(200);
|
Thread.Sleep(200);
|
||||||
|
|
||||||
|
// At least on LL 3.3.4 for teleports between different regions on the same simulator this appears
|
||||||
|
// unnecessary - teleport will succeed and SEED caps will be requested without it (though possibly
|
||||||
|
// only on TeleportFinish). This is untested for region teleport between different simulators
|
||||||
|
// though this probably also works.
|
||||||
m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath);
|
m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -4345,8 +4345,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// We have to wait until the viewer contacts this region after receiving EAC.
|
// We have to wait until the viewer contacts this region
|
||||||
// That calls AddNewClient, which finally creates the ScenePresence
|
// after receiving the EnableSimulator HTTP Event Queue message. This triggers the viewer to send
|
||||||
|
// a UseCircuitCode packet which in turn calls AddNewClient which finally creates the ScenePresence.
|
||||||
ScenePresence childAgentUpdate = WaitGetScenePresence(cAgentData.AgentID);
|
ScenePresence childAgentUpdate = WaitGetScenePresence(cAgentData.AgentID);
|
||||||
|
|
||||||
if (childAgentUpdate != null)
|
if (childAgentUpdate != null)
|
||||||
|
|
|
@ -59,6 +59,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
|
using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
|
||||||
using PrimType = OpenSim.Region.Framework.Scenes.PrimType;
|
using PrimType = OpenSim.Region.Framework.Scenes.PrimType;
|
||||||
using AssetLandmark = OpenSim.Framework.AssetLandmark;
|
using AssetLandmark = OpenSim.Framework.AssetLandmark;
|
||||||
|
using RegionFlags = OpenSim.Framework.RegionFlags;
|
||||||
|
|
||||||
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
|
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
|
||||||
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
|
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
|
||||||
|
@ -6918,7 +6919,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
GridInstantMessage msg = new GridInstantMessage(World,
|
GridInstantMessage msg = new GridInstantMessage(World,
|
||||||
m_host.OwnerID, m_host.Name, destID,
|
m_host.OwnerID, m_host.Name, destID,
|
||||||
(byte)InstantMessageDialog.TaskInventoryOffered,
|
(byte)InstantMessageDialog.TaskInventoryOffered,
|
||||||
false, string.Format("'{0}'"),
|
false, string.Format("'{0}'", category),
|
||||||
// We won't go so far as to add a SLURL, but this is the format used by LL as of 2012-10-06
|
// We won't go so far as to add a SLURL, but this is the format used by LL as of 2012-10-06
|
||||||
// false, string.Format("'{0}' ( http://slurl.com/secondlife/{1}/{2}/{3}/{4} )", category, World.Name, (int)pos.X, (int)pos.Y, (int)pos.Z),
|
// false, string.Format("'{0}' ( http://slurl.com/secondlife/{1}/{2}/{3}/{4} )", category, World.Name, (int)pos.X, (int)pos.Y, (int)pos.Z),
|
||||||
folderID, false, pos,
|
folderID, false, pos,
|
||||||
|
@ -10058,11 +10059,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
GridRegion info;
|
GridRegion info;
|
||||||
|
|
||||||
if (m_ScriptEngine.World.RegionInfo.RegionName == simulator) //Det data for this simulator?
|
if (World.RegionInfo.RegionName == simulator)
|
||||||
|
info = new GridRegion(World.RegionInfo);
|
||||||
info = new GridRegion(m_ScriptEngine.World.RegionInfo);
|
|
||||||
else
|
else
|
||||||
info = m_ScriptEngine.World.GridService.GetRegionByName(m_ScriptEngine.World.RegionInfo.ScopeID, simulator);
|
info = World.GridService.GetRegionByName(m_ScriptEngine.World.RegionInfo.ScopeID, simulator);
|
||||||
|
|
||||||
switch (data)
|
switch (data)
|
||||||
{
|
{
|
||||||
|
@ -10072,9 +10072,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
ScriptSleep(1000);
|
ScriptSleep(1000);
|
||||||
return UUID.Zero.ToString();
|
return UUID.Zero.ToString();
|
||||||
}
|
}
|
||||||
if (m_ScriptEngine.World.RegionInfo.RegionName != simulator)
|
|
||||||
|
bool isHypergridRegion = false;
|
||||||
|
|
||||||
|
if (World.RegionInfo.RegionName != simulator && info.RegionSecret != "")
|
||||||
|
{
|
||||||
|
// Hypergrid is currently placing real destination region co-ords into RegionSecret.
|
||||||
|
// But other code can also use this field for a genuine RegionSecret! Therefore, if
|
||||||
|
// anything is present we need to disambiguate.
|
||||||
|
//
|
||||||
|
// FIXME: Hypergrid should be storing this data in a different field.
|
||||||
|
RegionFlags regionFlags
|
||||||
|
= (RegionFlags)m_ScriptEngine.World.GridService.GetRegionFlags(
|
||||||
|
info.ScopeID, info.RegionID);
|
||||||
|
isHypergridRegion = (regionFlags & RegionFlags.Hyperlink) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isHypergridRegion)
|
||||||
{
|
{
|
||||||
//Hypergrid Region co-ordinates
|
|
||||||
uint rx = 0, ry = 0;
|
uint rx = 0, ry = 0;
|
||||||
Utils.LongToUInts(Convert.ToUInt64(info.RegionSecret), out rx, out ry);
|
Utils.LongToUInts(Convert.ToUInt64(info.RegionSecret), out rx, out ry);
|
||||||
|
|
||||||
|
@ -10085,7 +10100,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Local-cooridnates
|
// Local grid co-oridnates
|
||||||
reply = new LSL_Vector(
|
reply = new LSL_Vector(
|
||||||
info.RegionLocX,
|
info.RegionLocX,
|
||||||
info.RegionLocY,
|
info.RegionLocY,
|
||||||
|
|
|
@ -154,7 +154,7 @@ namespace OpenSim.Services.Connectors.Friends
|
||||||
if (!region.ServerURI.EndsWith("/"))
|
if (!region.ServerURI.EndsWith("/"))
|
||||||
path = "/" + path;
|
path = "/" + path;
|
||||||
string uri = region.ServerURI + path;
|
string uri = region.ServerURI + path;
|
||||||
m_log.DebugFormat("[FRIENDS SIM CONNECTOR]: calling {0}", uri);
|
// m_log.DebugFormat("[FRIENDS SIM CONNECTOR]: calling {0}", uri);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue