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");
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 ));
httpListener.AddStreamHandler( new LLSDStreamhandler<LLSDAssetUploadRequest, LLSDAssetUploadResponse>("POST", capsBase + m_newInventory, this.NewAgentInventoryRequest));
AddLegacyCapsHandler(httpListener, m_requestPath, CapsRequest);
//AddLegacyCapsHandler(httpListener, m_requestTexture , RequestTexture);
AddLegacyCapsHandler(httpListener, m_notecardUpdatePath, NoteCardAgentInventory);
AddLegacyCapsHandler(httpListener, m_requestPath, CapsRequest);
//AddLegacyCapsHandler(httpListener, m_requestTexture , RequestTexture);
AddLegacyCapsHandler(httpListener, m_notecardUpdatePath, NoteCardAgentInventory);
}
catch
{
}
}
@ -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,8 +406,13 @@ 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();
@ -459,7 +469,7 @@ namespace OpenSim.Region.ClientStack
ip += (uint)byteIP[2] << 16;
ip += (uint)byteIP[1] << 8;
ip += (uint)byteIP[0];
teleport.Info.SimIP = ip;
teleport.Info.SimPort = (ushort)newRegionEndPoint.Port;
teleport.Info.LocationID = 4;