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,13 +74,18 @@ namespace OpenSim.Region.Capabilities
{ {
Console.WriteLine("registering CAPS handlers"); Console.WriteLine("registering CAPS handlers");
string capsBase = "/CAPS/" + m_capsObjectPath; 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));
httpListener.AddStreamHandler(new LLSDStreamhandler<LLSDMapRequest, LLSDMapLayerResponse>("POST", capsBase + m_mapLayerPath, this.GetMapLayer )); AddLegacyCapsHandler(httpListener, m_requestPath, CapsRequest);
httpListener.AddStreamHandler( new LLSDStreamhandler<LLSDAssetUploadRequest, LLSDAssetUploadResponse>("POST", capsBase + m_newInventory, this.NewAgentInventoryRequest)); //AddLegacyCapsHandler(httpListener, m_requestTexture , RequestTexture);
AddLegacyCapsHandler(httpListener, m_notecardUpdatePath, NoteCardAgentInventory);
AddLegacyCapsHandler(httpListener, m_requestPath, CapsRequest); }
//AddLegacyCapsHandler(httpListener, m_requestTexture , RequestTexture); catch
AddLegacyCapsHandler(httpListener, m_notecardUpdatePath, NoteCardAgentInventory); {
}
} }
@ -361,3 +366,4 @@ namespace OpenSim.Region.Capabilities
} }
} }

View File

@ -383,7 +383,7 @@ namespace OpenSim.Region.ClientStack
agentData.child = false; agentData.child = false;
agentData.firstname = this.firstName; agentData.firstname = this.firstName;
agentData.lastname = this.lastName; agentData.lastname = this.lastName;
agentData.CapsPath=m_authenticateSessionsHandler.AgentCircuits[this.CircuitCode].CapsPath;
return agentData; return agentData;
} }
@ -406,8 +406,13 @@ namespace OpenSim.Region.ClientStack
newSimPack.RegionData.SimIP += (uint)byteIP[1] << 8; newSimPack.RegionData.SimIP += (uint)byteIP[1] << 8;
newSimPack.RegionData.SimIP += (uint)byteIP[0]; newSimPack.RegionData.SimIP += (uint)byteIP[0];
newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port; 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.OutPacket(newSimPack);
//this.DowngradeClient(); //this.DowngradeClient();
} }
@ -451,7 +456,12 @@ namespace OpenSim.Region.ClientStack
teleport.Info.AgentID = this.AgentID; teleport.Info.AgentID = this.AgentID;
teleport.Info.RegionHandle = regionHandle; teleport.Info.RegionHandle = regionHandle;
teleport.Info.SimAccess = simAccess; 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; IPAddress oIP = newRegionEndPoint.Address;
byte[] byteIP = oIP.GetAddressBytes(); byte[] byteIP = oIP.GetAddressBytes();
@ -459,7 +469,7 @@ namespace OpenSim.Region.ClientStack
ip += (uint)byteIP[2] << 16; ip += (uint)byteIP[2] << 16;
ip += (uint)byteIP[1] << 8; ip += (uint)byteIP[1] << 8;
ip += (uint)byteIP[0]; ip += (uint)byteIP[0];
teleport.Info.SimIP = ip; teleport.Info.SimIP = ip;
teleport.Info.SimPort = (ushort)newRegionEndPoint.Port; teleport.Info.SimPort = (ushort)newRegionEndPoint.Port;
teleport.Info.LocationID = 4; teleport.Info.LocationID = 4;