mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 17:05:55 +08:00
Merge branch 'master' into careminster
This commit is contained in:
@@ -557,7 +557,7 @@ namespace OpenSim.Region.CoreModules.InterGrid
|
||||
|
||||
// Call 'new user' event handler
|
||||
string reason;
|
||||
if (!homeScene.NewUserConnection(agentData, out reason))
|
||||
if (!homeScene.NewUserConnection(agentData, (uint)TeleportFlags.ViaLogin, out reason))
|
||||
{
|
||||
responseMap["connect"] = OSD.FromBoolean(false);
|
||||
responseMap["message"] = OSD.FromString(String.Format("Connection refused: {0}", reason));
|
||||
|
||||
@@ -144,7 +144,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
||||
* Agent-related communications
|
||||
*/
|
||||
|
||||
public bool SendCreateChildAgent(ulong regionHandle, AgentCircuitData aCircuit, out string reason)
|
||||
public bool SendCreateChildAgent(ulong regionHandle, AgentCircuitData aCircuit, uint teleportFlags, out string reason)
|
||||
{
|
||||
|
||||
foreach (Scene s in m_sceneList)
|
||||
@@ -152,7 +152,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
||||
if (s.RegionInfo.RegionHandle == regionHandle)
|
||||
{
|
||||
// m_log.DebugFormat("[LOCAL COMMS]: Found region {0} to send SendCreateChildAgent", regionHandle);
|
||||
return s.NewUserConnection(aCircuit, out reason);
|
||||
return s.NewUserConnection(aCircuit, teleportFlags, out reason);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -157,10 +157,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
||||
* Agent-related communications
|
||||
*/
|
||||
|
||||
public bool SendCreateChildAgent(ulong regionHandle, AgentCircuitData aCircuit, out string reason)
|
||||
public bool SendCreateChildAgent(ulong regionHandle, AgentCircuitData aCircuit, uint teleportFlags, out string reason)
|
||||
{
|
||||
// Try local first
|
||||
if (m_localBackend.SendCreateChildAgent(regionHandle, aCircuit, out reason))
|
||||
if (m_localBackend.SendCreateChildAgent(regionHandle, aCircuit, teleportFlags, out reason))
|
||||
return true;
|
||||
|
||||
// else do the remote thing
|
||||
@@ -173,7 +173,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
||||
{
|
||||
m_regionClient.SendUserInformation(regInfo, aCircuit);
|
||||
|
||||
return m_regionClient.DoCreateChildAgentCall(regInfo, aCircuit, "None", out reason);
|
||||
return m_regionClient.DoCreateChildAgentCall(regInfo, aCircuit, "None", teleportFlags, out reason);
|
||||
}
|
||||
//else
|
||||
// m_log.Warn("[REST COMMS]: Region not found " + regionHandle);
|
||||
@@ -435,11 +435,16 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
||||
}
|
||||
|
||||
OSDMap resp = new OSDMap(2);
|
||||
string reason = String.Empty;
|
||||
|
||||
string reason = String.Empty;
|
||||
uint teleportFlags = 0;
|
||||
if (args.ContainsKey("teleport_flags"))
|
||||
{
|
||||
teleportFlags = args["teleport_flags"].AsUInteger();
|
||||
}
|
||||
|
||||
// This is the meaning of POST agent
|
||||
m_regionClient.AdjustUserInformation(aCircuit);
|
||||
bool result = m_localBackend.SendCreateChildAgent(regionhandle, aCircuit, out reason);
|
||||
bool result = m_localBackend.SendCreateChildAgent(regionhandle, aCircuit, teleportFlags, out reason);
|
||||
|
||||
resp["reason"] = OSD.FromString(reason);
|
||||
resp["success"] = OSD.FromBoolean(result);
|
||||
|
||||
Reference in New Issue
Block a user