CAPS should now be working in standalone mode. Texture uploads will work even after you cross a region boundary.

afrisby
Brian McBee 2007-08-08 07:00:56 +00:00
parent 1b709be156
commit 5061a703ea
2 changed files with 26 additions and 10 deletions

View File

@ -74,7 +74,8 @@ namespace OpenSim.Region.Capabilities
{
Console.WriteLine("registering CAPS handlers");
string capsBase = "/CAPS/" + m_capsObjectPath;
try
{
httpListener.AddStreamHandler(new LLSDStreamhandler<LLSDMapRequest, LLSDMapLayerResponse>("POST", capsBase + m_mapLayerPath, this.GetMapLayer));
httpListener.AddStreamHandler(new LLSDStreamhandler<LLSDAssetUploadRequest, LLSDAssetUploadResponse>("POST", capsBase + m_newInventory, this.NewAgentInventoryRequest));
@ -82,6 +83,10 @@ namespace OpenSim.Region.Capabilities
//AddLegacyCapsHandler(httpListener, m_requestTexture , RequestTexture);
AddLegacyCapsHandler(httpListener, m_notecardUpdatePath, NoteCardAgentInventory);
}
catch
{
}
}
//[Obsolete("Use BaseHttpServer.AddStreamHandler(new LLSDStreamHandler( LLSDMethod delegate )) instead.")]
@ -361,3 +366,4 @@ namespace OpenSim.Region.Capabilities
}
}

View File

@ -383,7 +383,7 @@ namespace OpenSim.Region.ClientStack
agentData.child = false;
agentData.firstname = this.firstName;
agentData.lastname = this.lastName;
agentData.CapsPath=m_authenticateSessionsHandler.AgentCircuits[this.CircuitCode].CapsPath;
return agentData;
}
@ -406,7 +406,12 @@ namespace OpenSim.Region.ClientStack
newSimPack.RegionData.SimIP += (uint)byteIP[1] << 8;
newSimPack.RegionData.SimIP += (uint)byteIP[0];
newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port;
newSimPack.RegionData.SeedCapability = new byte[0];
//newSimPack.RegionData.SeedCapability = new byte[0];
string capsPath = "http://" + externalIPEndPoint.Address.ToString() + ":9000/CAPS/" + m_authenticateSessionsHandler.AgentCircuits[this.CircuitCode].CapsPath +"0000/";
System.Text.ASCIIEncoding enc=new System.Text.ASCIIEncoding();
newSimPack.RegionData.SeedCapability = enc.GetBytes(capsPath);
this.OutPacket(newSimPack);
//this.DowngradeClient();
@ -451,7 +456,12 @@ namespace OpenSim.Region.ClientStack
teleport.Info.AgentID = this.AgentID;
teleport.Info.RegionHandle = regionHandle;
teleport.Info.SimAccess = simAccess;
teleport.Info.SeedCapability = new byte[0];
string capsPath = "http://" + newRegionEndPoint.Address.ToString() + ":9000/CAPS/" + m_authenticateSessionsHandler.AgentCircuits[this.CircuitCode].CapsPath + "0000/";
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
teleport.Info.SeedCapability = enc.GetBytes(capsPath);
//teleport.Info.SeedCapability = new byte[0];
IPAddress oIP = newRegionEndPoint.Address;
byte[] byteIP = oIP.GetAddressBytes();