diff options
author | Justin Clark-Casey (justincc) | 2012-11-02 00:02:10 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-11-02 00:02:10 +0000 |
commit | 462ad336dcd59dfc4325aed9e6d635aa866cd094 (patch) | |
tree | 627f81bf796e3bf8885b05a83728e59ccf0c38d4 | |
parent | Comment out checks not to overwrite existing IAR/OAR files for now on "save i... (diff) | |
download | opensim-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.cs | 17 | ||||
-rw-r--r-- | OpenSim/Services/AssetService/AssetService.cs | 17 | ||||
-rw-r--r-- | OpenSim/Services/AssetService/XAssetService.cs | 18 |
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 | |||