aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-11-02 00:02:10 +0000
committerJustin Clark-Casey (justincc)2012-11-02 00:02:10 +0000
commit462ad336dcd59dfc4325aed9e6d635aa866cd094 (patch)
tree627f81bf796e3bf8885b05a83728e59ccf0c38d4
parentComment out checks not to overwrite existing IAR/OAR files for now on "save i... (diff)
downloadopensim-SC_OLD-462ad336dcd59dfc4325aed9e6d635aa866cd094.zip
opensim-SC_OLD-462ad336dcd59dfc4325aed9e6d635aa866cd094.tar.gz
opensim-SC_OLD-462ad336dcd59dfc4325aed9e6d635aa866cd094.tar.bz2
opensim-SC_OLD-462ad336dcd59dfc4325aed9e6d635aa866cd094.tar.xz
Move check to allow only deletion of maptiles up to AssetServerDeleteHandler from AssetService.
This allows us to use a common check for both AssetService and XAssetService. It also allows future console commands to delete an asset. As before, deletion of maptile assets is not allowed remotely unless this is explicitly configured.
-rw-r--r--OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs17
-rw-r--r--OpenSim/Services/AssetService/AssetService.cs17
-rw-r--r--OpenSim/Services/AssetService/XAssetService.cs18
3 files changed, 18 insertions, 34 deletions
diff --git a/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs b/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
index 0cfe5b1..9a8aee6 100644
--- a/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
+++ b/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
@@ -44,7 +44,7 @@ namespace OpenSim.Server.Handlers.Asset
44{ 44{
45 public class AssetServerDeleteHandler : BaseStreamHandler 45 public class AssetServerDeleteHandler : BaseStreamHandler
46 { 46 {
47 // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48 48
49 private IAssetService m_AssetService; 49 private IAssetService m_AssetService;
50 protected bool m_allowDelete; 50 protected bool m_allowDelete;
@@ -65,11 +65,22 @@ namespace OpenSim.Server.Handlers.Asset
65 65
66 if (p.Length > 0 && m_allowDelete) 66 if (p.Length > 0 && m_allowDelete)
67 { 67 {
68 result = m_AssetService.Delete(p[0]); 68 string assetID = p[0];
69
70 AssetBase asset = m_AssetService.Get(assetID);
71 if (asset != null && (int)(asset.Flags & AssetFlags.Maptile) != 0)
72 {
73 result = m_AssetService.Delete(assetID);
74 }
75 else
76 {
77 m_log.DebugFormat(
78 "[ASSET SERVER DELETE HANDLER]: Request to delete asset {0}, but flags are not Maptile", assetID);
79 }
69 } 80 }
70 81
71 XmlSerializer xs = new XmlSerializer(typeof(bool)); 82 XmlSerializer xs = new XmlSerializer(typeof(bool));
72 return ServerUtils.SerializeResult(xs, result); 83 return ServerUtils.SerializeResult(xs, result);
73 } 84 }
74 } 85 }
75} 86} \ No newline at end of file
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs
index b1f0f7e..e7eb6fe 100644
--- a/OpenSim/Services/AssetService/AssetService.cs
+++ b/OpenSim/Services/AssetService/AssetService.cs
@@ -70,7 +70,7 @@ namespace OpenSim.Services.AssetService
70 70
71 if (assetLoaderEnabled) 71 if (assetLoaderEnabled)
72 { 72 {
73 m_log.DebugFormat("[ASSET]: Loading default asset set from {0}", loaderArgs); 73 m_log.DebugFormat("[ASSET SERVICE]: Loading default asset set from {0}", loaderArgs);
74 74
75 m_AssetLoader.ForEachDefaultXmlAsset( 75 m_AssetLoader.ForEachDefaultXmlAsset(
76 loaderArgs, 76 loaderArgs,
@@ -197,20 +197,7 @@ namespace OpenSim.Services.AssetService
197 if (!UUID.TryParse(id, out assetID)) 197 if (!UUID.TryParse(id, out assetID))
198 return false; 198 return false;
199 199
200 AssetBase asset = m_Database.GetAsset(assetID); 200 return m_Database.Delete(id);
201 if (asset == null)
202 return false;
203
204 if ((int)(asset.Flags & AssetFlags.Maptile) != 0)
205 {
206 return m_Database.Delete(id);
207 }
208 else
209 {
210 m_log.DebugFormat("[ASSET SERVICE]: Request to delete asset {0}, but flags are not Maptile", id);
211 }
212
213 return false;
214 } 201 }
215 } 202 }
216} \ No newline at end of file 203} \ No newline at end of file
diff --git a/OpenSim/Services/AssetService/XAssetService.cs b/OpenSim/Services/AssetService/XAssetService.cs
index e62bcb5..a1d10ed 100644
--- a/OpenSim/Services/AssetService/XAssetService.cs
+++ b/OpenSim/Services/AssetService/XAssetService.cs
@@ -194,21 +194,7 @@ namespace OpenSim.Services.AssetService
194 if (!UUID.TryParse(id, out assetID)) 194 if (!UUID.TryParse(id, out assetID))
195 return false; 195 return false;
196 196
197 AssetBase asset = m_Database.GetAsset(assetID); 197 return m_Database.Delete(id);
198 if (asset == null)
199 return false;
200
201 if ((int)(asset.Flags & AssetFlags.Maptile) != 0)
202 {
203 return m_Database.Delete(id);
204 }
205 else
206 {
207 m_log.DebugFormat("[XASSET SERVICE]: Request to delete asset {0}, but flags are not Maptile", id);
208 }
209
210 return false;
211 } 198 }
212 } 199 }
213} 200} \ No newline at end of file
214