aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMic Bowman2012-01-10 16:26:01 -0800
committerMic Bowman2012-01-10 16:26:01 -0800
commit5f7e392c7cc9410262dfb3333d9b60f6ff26eb79 (patch)
treeb3803554b09f62246de0877618f7256699055c4c /OpenSim/Region
parentminor: Fix wrong column length in image queues report (diff)
downloadopensim-SC-5f7e392c7cc9410262dfb3333d9b60f6ff26eb79.zip
opensim-SC-5f7e392c7cc9410262dfb3333d9b60f6ff26eb79.tar.gz
opensim-SC-5f7e392c7cc9410262dfb3333d9b60f6ff26eb79.tar.bz2
opensim-SC-5f7e392c7cc9410262dfb3333d9b60f6ff26eb79.tar.xz
Add a check to see if an asset exists before recreating it while
loading an archive. This does add an extra roundtrip to the asset server if loading new assets but it protects against overwriting (and potentially corrupting) existing assets.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs6
1 files changed, 6 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index 587d260..edc5ba4 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -404,6 +404,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver
404 string extension = filename.Substring(i); 404 string extension = filename.Substring(i);
405 string uuid = filename.Remove(filename.Length - extension.Length); 405 string uuid = filename.Remove(filename.Length - extension.Length);
406 406
407 if (m_scene.AssetService.GetMetadata(uuid) != null)
408 {
409 // m_log.DebugFormat("[ARCHIVER]: found existing asset {0}",uuid);
410 return true;
411 }
412
407 if (ArchiveConstants.EXTENSION_TO_ASSET_TYPE.ContainsKey(extension)) 413 if (ArchiveConstants.EXTENSION_TO_ASSET_TYPE.ContainsKey(extension))
408 { 414 {
409 sbyte assetType = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension]; 415 sbyte assetType = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension];