diff options
Diffstat (limited to 'OpenSim/Framework/Capabilities/Caps.cs')
-rw-r--r-- | OpenSim/Framework/Capabilities/Caps.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Framework/Capabilities/Caps.cs b/OpenSim/Framework/Capabilities/Caps.cs index 74c6ab0..62a1e17 100644 --- a/OpenSim/Framework/Capabilities/Caps.cs +++ b/OpenSim/Framework/Capabilities/Caps.cs | |||
@@ -99,6 +99,7 @@ namespace OpenSim.Framework.Capabilities | |||
99 | // private static readonly string m_remoteParcelRequestPath = "0009/";// This is in the LandManagementModule. | 99 | // private static readonly string m_remoteParcelRequestPath = "0009/";// This is in the LandManagementModule. |
100 | 100 | ||
101 | //private string eventQueue = "0100/"; | 101 | //private string eventQueue = "0100/"; |
102 | private IScene m_Scene; | ||
102 | private IHttpServer m_httpListener; | 103 | private IHttpServer m_httpListener; |
103 | private UUID m_agentID; | 104 | private UUID m_agentID; |
104 | private IAssetService m_assetCache; | 105 | private IAssetService m_assetCache; |
@@ -130,9 +131,10 @@ namespace OpenSim.Framework.Capabilities | |||
130 | public FetchInventoryDescendentsCAPS CAPSFetchInventoryDescendents = null; | 131 | public FetchInventoryDescendentsCAPS CAPSFetchInventoryDescendents = null; |
131 | public GetClientDelegate GetClient = null; | 132 | public GetClientDelegate GetClient = null; |
132 | 133 | ||
133 | public Caps(IAssetService assetCache, IHttpServer httpServer, string httpListen, uint httpPort, string capsPath, | 134 | public Caps(IScene scene, IAssetService assetCache, IHttpServer httpServer, string httpListen, uint httpPort, string capsPath, |
134 | UUID agent, bool dumpAssetsToFile, string regionName) | 135 | UUID agent, bool dumpAssetsToFile, string regionName) |
135 | { | 136 | { |
137 | m_Scene = scene; | ||
136 | m_assetCache = assetCache; | 138 | m_assetCache = assetCache; |
137 | m_capsObjectPath = capsPath; | 139 | m_capsObjectPath = capsPath; |
138 | m_httpListener = httpServer; | 140 | m_httpListener = httpServer; |
@@ -278,7 +280,13 @@ namespace OpenSim.Framework.Capabilities | |||
278 | public string CapsRequest(string request, string path, string param, | 280 | public string CapsRequest(string request, string path, string param, |
279 | OSHttpRequest httpRequest, OSHttpResponse httpResponse) | 281 | OSHttpRequest httpRequest, OSHttpResponse httpResponse) |
280 | { | 282 | { |
281 | //m_log.Debug("[CAPS]: Seed Caps Request in region: " + m_regionName); | 283 | m_log.Debug("[CAPS]: Seed Caps Request in region: " + m_regionName); |
284 | |||
285 | if (!m_Scene.CheckClient(m_agentID, httpRequest.RemoteIPEndPoint)) | ||
286 | { | ||
287 | m_log.DebugFormat("[CAPS]: Unauthorized CAPS client"); | ||
288 | return string.Empty; | ||
289 | } | ||
282 | 290 | ||
283 | string result = LLSDHelpers.SerialiseLLSDReply(m_capsHandlers.CapsDetails); | 291 | string result = LLSDHelpers.SerialiseLLSDReply(m_capsHandlers.CapsDetails); |
284 | 292 | ||
@@ -888,7 +896,7 @@ namespace OpenSim.Framework.Capabilities | |||
888 | } | 896 | } |
889 | 897 | ||
890 | AssetBase asset; | 898 | AssetBase asset; |
891 | asset = new AssetBase(assetID, assetName, assType); | 899 | asset = new AssetBase(assetID, assetName, assType, m_agentID.ToString()); |
892 | asset.Data = data; | 900 | asset.Data = data; |
893 | if (AddNewAsset != null) | 901 | if (AddNewAsset != null) |
894 | AddNewAsset(asset); | 902 | AddNewAsset(asset); |