aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie Thielker2014-09-25 22:03:02 +0200
committerMelanie Thielker2014-09-25 22:03:02 +0200
commite37637587a1d23179442c3aa80e7461c5451ad8f (patch)
tree3c27a04429d6dc52d88d90ce00cb0ff31b8fdda4 /OpenSim
parentRename = too generic (diff)
downloadopensim-SC-e37637587a1d23179442c3aa80e7461c5451ad8f.zip
opensim-SC-e37637587a1d23179442c3aa80e7461c5451ad8f.tar.gz
opensim-SC-e37637587a1d23179442c3aa80e7461c5451ad8f.tar.bz2
opensim-SC-e37637587a1d23179442c3aa80e7461c5451ad8f.tar.xz
Add a sample use for the validation
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs16
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs3
2 files changed, 18 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
index 0569836..fe60c90 100644
--- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
+++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
@@ -454,6 +454,22 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
454 454
455 private void ValidateAssets() 455 private void ValidateAssets()
456 { 456 {
457 if (m_asset.Type == (sbyte)CustomAssetType.AnimationSet)
458 {
459 AnimationSet animSet = new AnimationSet(m_asset.Data);
460
461 bool allOk = animSet.Validate(x => {
462 int perms = m_Scene.InventoryService.GetAssetPermissions(ourClient.AgentId, x);
463 int required = (int)(PermissionMask.Transfer | PermissionMask.Copy);
464 if ((perms & required) != required)
465 return false;
466 return true;
467 });
468
469 if (!allOk)
470 m_asset.Data = animSet.ToBytes();
471 }
472
457 if (m_asset.Type == (sbyte)AssetType.Clothing || 473 if (m_asset.Type == (sbyte)AssetType.Clothing ||
458 m_asset.Type == (sbyte)AssetType.Bodypart) 474 m_asset.Type == (sbyte)AssetType.Bodypart)
459 { 475 {
diff --git a/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs b/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs
index 84211a9..5c45e4d 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs
@@ -42,6 +42,7 @@ using OpenSim.Region.Framework.Interfaces;
42using OpenSim.Region.Framework.Scenes; 42using OpenSim.Region.Framework.Scenes;
43using OpenSim.Region.Framework.Scenes.Animation; 43using OpenSim.Region.Framework.Scenes.Animation;
44using OpenSim.Services.Interfaces; 44using OpenSim.Services.Interfaces;
45using AnimationSet = OpenSim.Region.Framework.Scenes.Animation.AnimationSet;
45 46
46namespace OpenSim.Region.OptionalModules.Avatar.Animations 47namespace OpenSim.Region.OptionalModules.Avatar.Animations
47{ 48{
@@ -197,4 +198,4 @@ namespace OpenSim.Region.OptionalModules.Avatar.Animations
197 sb.Append("\n"); 198 sb.Append("\n");
198 } 199 }
199 } 200 }
200} \ No newline at end of file 201}