aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorCasperW2010-01-18 17:56:27 +0100
committerMelanie2010-01-18 16:52:06 +0000
commit3ff28e7a8f6a7816dd76307c36153ba8f393dea1 (patch)
treeeb110a78ff8c115cb179dea684e7b42282ea741f /OpenSim
parentLet monitor data be requested using either the short form of the name or the (diff)
downloadopensim-SC-3ff28e7a8f6a7816dd76307c36153ba8f393dea1.zip
opensim-SC-3ff28e7a8f6a7816dd76307c36153ba8f393dea1.tar.gz
opensim-SC-3ff28e7a8f6a7816dd76307c36153ba8f393dea1.tar.bz2
opensim-SC-3ff28e7a8f6a7816dd76307c36153ba8f393dea1.tar.xz
Fix a major security problem with osSetDynamicTexture which allowed the deletion of /any/ asset.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs17
1 files changed, 12 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
index f51d0c2..679c871 100644
--- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
@@ -358,11 +358,18 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
358 // tmptex.DefaultTexture.Fullbright = true; 358 // tmptex.DefaultTexture.Fullbright = true;
359 359
360 part.UpdateTexture(tmptex); 360 part.UpdateTexture(tmptex);
361 } 361 }
362 362
363 if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0)) 363 if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0))
364 { 364 {
365 scene.AssetService.Delete(oldID.ToString()); 365 if (oldAsset == null) oldAsset = scene.AssetService.Get(oldID.ToString());
366 if (oldAsset != null)
367 {
368 if (oldAsset.Temporary == true)
369 {
370 scene.AssetService.Delete(oldID.ToString());
371 }
372 }
366 } 373 }
367 } 374 }
368 375