Changed the maximum asset name and description lengths to constants. Also, pre-truncate the description of dynamic textures.

0.8.0.3
Oren Hurvitz 2014-04-22 12:04:06 +03:00
parent 4cac87d9f4
commit 93a9ed2a6d
7 changed files with 25 additions and 20 deletions

View File

@ -160,18 +160,18 @@ namespace OpenSim.Data.MSSQL
@temporary, @create_time, @access_time, @creatorid, @asset_flags, @data)"; @temporary, @create_time, @access_time, @creatorid, @asset_flags, @data)";
string assetName = asset.Name; string assetName = asset.Name;
if (asset.Name.Length > 64) if (asset.Name.Length > AssetBase.MAX_ASSET_NAME)
{ {
assetName = asset.Name.Substring(0, 64); assetName = asset.Name.Substring(0, AssetBase.MAX_ASSET_NAME);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Name, asset.ID, asset.Name.Length, assetName.Length); asset.Name, asset.ID, asset.Name.Length, assetName.Length);
} }
string assetDescription = asset.Description; string assetDescription = asset.Description;
if (asset.Description.Length > 64) if (asset.Description.Length > AssetBase.MAX_ASSET_DESC)
{ {
assetDescription = asset.Description.Substring(0, 64); assetDescription = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); asset.Description, asset.ID, asset.Description.Length, assetDescription.Length);

View File

@ -171,18 +171,18 @@ namespace OpenSim.Data.MySQL
dbcon)) dbcon))
{ {
string assetName = asset.Name; string assetName = asset.Name;
if (asset.Name.Length > 64) if (asset.Name.Length > AssetBase.MAX_ASSET_NAME)
{ {
assetName = asset.Name.Substring(0, 64); assetName = asset.Name.Substring(0, AssetBase.MAX_ASSET_NAME);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Name, asset.ID, asset.Name.Length, assetName.Length); asset.Name, asset.ID, asset.Name.Length, assetName.Length);
} }
string assetDescription = asset.Description; string assetDescription = asset.Description;
if (asset.Description.Length > 64) if (asset.Description.Length > AssetBase.MAX_ASSET_DESC)
{ {
assetDescription = asset.Description.Substring(0, 64); assetDescription = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); asset.Description, asset.ID, asset.Description.Length, assetDescription.Length);

View File

@ -210,18 +210,18 @@ namespace OpenSim.Data.MySQL
using (MySqlTransaction transaction = dbcon.BeginTransaction()) using (MySqlTransaction transaction = dbcon.BeginTransaction())
{ {
string assetName = asset.Name; string assetName = asset.Name;
if (asset.Name.Length > 64) if (asset.Name.Length > AssetBase.MAX_ASSET_NAME)
{ {
assetName = asset.Name.Substring(0, 64); assetName = asset.Name.Substring(0, AssetBase.MAX_ASSET_NAME);
m_log.WarnFormat( m_log.WarnFormat(
"[XASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", "[XASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Name, asset.ID, asset.Name.Length, assetName.Length); asset.Name, asset.ID, asset.Name.Length, assetName.Length);
} }
string assetDescription = asset.Description; string assetDescription = asset.Description;
if (asset.Description.Length > 64) if (asset.Description.Length > AssetBase.MAX_ASSET_DESC)
{ {
assetDescription = asset.Description.Substring(0, 64); assetDescription = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC);
m_log.WarnFormat( m_log.WarnFormat(
"[XASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", "[XASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); asset.Description, asset.ID, asset.Description.Length, assetDescription.Length);

View File

@ -166,18 +166,18 @@ namespace OpenSim.Data.PGSQL
"; ";
string assetName = asset.Name; string assetName = asset.Name;
if (asset.Name.Length > 64) if (asset.Name.Length > AssetBase.MAX_ASSET_NAME)
{ {
assetName = asset.Name.Substring(0, 64); assetName = asset.Name.Substring(0, AssetBase.MAX_ASSET_NAME);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Name, asset.ID, asset.Name.Length, assetName.Length); asset.Name, asset.ID, asset.Name.Length, assetName.Length);
} }
string assetDescription = asset.Description; string assetDescription = asset.Description;
if (asset.Description.Length > 64) if (asset.Description.Length > AssetBase.MAX_ASSET_DESC)
{ {
assetDescription = asset.Description.Substring(0, 64); assetDescription = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); asset.Description, asset.ID, asset.Description.Length, assetDescription.Length);

View File

@ -134,18 +134,18 @@ namespace OpenSim.Data.SQLite
override public void StoreAsset(AssetBase asset) override public void StoreAsset(AssetBase asset)
{ {
string assetName = asset.Name; string assetName = asset.Name;
if (asset.Name.Length > 64) if (asset.Name.Length > AssetBase.MAX_ASSET_NAME)
{ {
assetName = asset.Name.Substring(0, 64); assetName = asset.Name.Substring(0, AssetBase.MAX_ASSET_NAME);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Name, asset.ID, asset.Name.Length, assetName.Length); asset.Name, asset.ID, asset.Name.Length, assetName.Length);
} }
string assetDescription = asset.Description; string assetDescription = asset.Description;
if (asset.Description.Length > 64) if (asset.Description.Length > AssetBase.MAX_ASSET_DESC)
{ {
assetDescription = asset.Description.Substring(0, 64); assetDescription = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC);
m_log.WarnFormat( m_log.WarnFormat(
"[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add",
asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); asset.Description, asset.ID, asset.Description.Length, assetDescription.Length);

View File

@ -50,6 +50,9 @@ namespace OpenSim.Framework
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public static readonly int MAX_ASSET_NAME = 64;
public static readonly int MAX_ASSET_DESC = 64;
/// <summary> /// <summary>
/// Data of the Asset /// Data of the Asset
/// </summary> /// </summary>

View File

@ -514,6 +514,8 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
scene.RegionInfo.RegionID.ToString()); scene.RegionInfo.RegionID.ToString());
asset.Data = assetData; asset.Data = assetData;
asset.Description = String.Format("URL image : {0}", Url); asset.Description = String.Format("URL image : {0}", Url);
if (asset.Description.Length > AssetBase.MAX_ASSET_DESC)
asset.Description = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC);
asset.Local = false; asset.Local = false;
asset.Temporary = ((Disp & DISP_TEMP) != 0); asset.Temporary = ((Disp & DISP_TEMP) != 0);
scene.AssetService.Store(asset); scene.AssetService.Store(asset);