diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index 921d3bf..59b9585 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | |||
@@ -355,11 +355,22 @@ namespace OpenSim.Region.ClientStack.Linden | |||
355 | return string.Empty; | 355 | return string.Empty; |
356 | } | 356 | } |
357 | 357 | ||
358 | Hashtable caps = m_HostCapsObj.CapsHandlers.GetCapsDetails(true); | 358 | OSDArray capsRequested = (OSDArray)OSDParser.DeserializeLLSDXml(request); |
359 | List<string> validCaps = new List<string>(); | ||
360 | |||
361 | foreach (OSD c in capsRequested) | ||
362 | validCaps.Add(c.AsString()); | ||
363 | |||
364 | Hashtable caps = m_HostCapsObj.CapsHandlers.GetCapsDetails(true, validCaps); | ||
359 | 365 | ||
360 | // Add the external too | 366 | // Add the external too |
361 | foreach (KeyValuePair<string, string> kvp in m_HostCapsObj.ExternalCapsHandlers) | 367 | foreach (KeyValuePair<string, string> kvp in m_HostCapsObj.ExternalCapsHandlers) |
368 | { | ||
369 | if (!validCaps.Contains(kvp.Key)) | ||
370 | continue; | ||
371 | |||
362 | caps[kvp.Key] = kvp.Value; | 372 | caps[kvp.Key] = kvp.Value; |
373 | } | ||
363 | 374 | ||
364 | string result = LLSDHelpers.SerialiseLLSDReply(caps); | 375 | string result = LLSDHelpers.SerialiseLLSDReply(caps); |
365 | 376 | ||
diff --git a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs index 2eb9bfb..fff86d5 100644 --- a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs | |||
@@ -252,7 +252,7 @@ namespace OpenSim.Region.CoreModules.Framework | |||
252 | { | 252 | { |
253 | caps.AppendFormat("** Circuit {0}:\n", kvp.Key); | 253 | caps.AppendFormat("** Circuit {0}:\n", kvp.Key); |
254 | 254 | ||
255 | for (IDictionaryEnumerator kvp2 = kvp.Value.CapsHandlers.GetCapsDetails(false).GetEnumerator(); kvp2.MoveNext(); ) | 255 | for (IDictionaryEnumerator kvp2 = kvp.Value.CapsHandlers.GetCapsDetails(false, null).GetEnumerator(); kvp2.MoveNext(); ) |
256 | { | 256 | { |
257 | Uri uri = new Uri(kvp2.Value.ToString()); | 257 | Uri uri = new Uri(kvp2.Value.ToString()); |
258 | caps.AppendFormat(m_showCapsCommandFormat, kvp2.Key, uri.PathAndQuery); | 258 | caps.AppendFormat(m_showCapsCommandFormat, kvp2.Key, uri.PathAndQuery); |