From 9e12ef92344d43356ae276ae3a03921e26986a38 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 5 May 2017 01:39:38 +0100 Subject: [PATCH 01/19] let all clients get a group title update on create group --- OpenSim/Addons/Groups/GroupsModule.cs | 2 +- .../OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenSim/Addons/Groups/GroupsModule.cs b/OpenSim/Addons/Groups/GroupsModule.cs index 0e3a1729b5..5b76e0a5b8 100644 --- a/OpenSim/Addons/Groups/GroupsModule.cs +++ b/OpenSim/Addons/Groups/GroupsModule.cs @@ -787,7 +787,7 @@ namespace OpenSim.Groups remoteClient.SendCreateGroupReply(groupID, true, "Group created successfully"); // Update the founder with new group information. - SendAgentGroupDataUpdate(remoteClient, false); + SendAgentGroupDataUpdate(remoteClient, true); } else remoteClient.SendCreateGroupReply(groupID, false, reason); diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index d52a1d53db..a39b32e58e 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs @@ -901,7 +901,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups remoteClient.SendCreateGroupReply(groupID, true, "Group created successfully"); // Update the founder with new group information. - SendAgentGroupDataUpdate(remoteClient, false); + SendAgentGroupDataUpdate(remoteClient, true); return groupID; } @@ -1520,12 +1520,12 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups lastname, activeGroupPowers, activeGroupName, activeGroupTitle); - if (tellOthers) - SendScenePresenceUpdate(agentID, activeGroupTitle); - ScenePresence sp = (ScenePresence)remoteClient.SceneAgent; if (sp != null) sp.Grouptitle = activeGroupTitle; + + if (tellOthers) + SendScenePresenceUpdate(agentID, activeGroupTitle); } #endregion From f31fe66ce16972d902bdde58785ab648d614077d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 5 May 2017 01:53:02 +0100 Subject: [PATCH 02/19] fix bad move on xmlgroups --- .../OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index a39b32e58e..65d50bb9a0 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs @@ -1520,12 +1520,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups lastname, activeGroupPowers, activeGroupName, activeGroupTitle); - ScenePresence sp = (ScenePresence)remoteClient.SceneAgent; - if (sp != null) - sp.Grouptitle = activeGroupTitle; if (tellOthers) SendScenePresenceUpdate(agentID, activeGroupTitle); + + ScenePresence sp = (ScenePresence)remoteClient.SceneAgent; + if (sp != null) + sp.Grouptitle = activeGroupTitle; } #endregion From ab4f87000067a6466d3b49b825b744fccceff47f Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 4 May 2017 18:19:46 -0700 Subject: [PATCH 03/19] Change the engine of the groups table back to MyISAM, because MySQL 5.5 and older don't support full test search on InnoDB --- OpenSim/Data/MySQL/Resources/os_groups_Store.migrations | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Data/MySQL/Resources/os_groups_Store.migrations b/OpenSim/Data/MySQL/Resources/os_groups_Store.migrations index 1a499000fb..6ec89144b5 100644 --- a/OpenSim/Data/MySQL/Resources/os_groups_Store.migrations +++ b/OpenSim/Data/MySQL/Resources/os_groups_Store.migrations @@ -18,7 +18,7 @@ CREATE TABLE `os_groups_groups` ( PRIMARY KEY (`GroupID`), UNIQUE KEY `Name` (`Name`), FULLTEXT KEY `Name_2` (`Name`) -) ENGINE=InnoDB; +) ENGINE=MyISAM; CREATE TABLE `os_groups_membership` ( From dd883194959e082b3489deaa9935291ba2c6e53a Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 4 May 2017 18:20:10 -0700 Subject: [PATCH 04/19] Add a groups module to the perms test suite --- OpenSim/Tests/Permissions/Common.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OpenSim/Tests/Permissions/Common.cs b/OpenSim/Tests/Permissions/Common.cs index f93c1201e1..4ecce383e4 100644 --- a/OpenSim/Tests/Permissions/Common.cs +++ b/OpenSim/Tests/Permissions/Common.cs @@ -72,12 +72,21 @@ namespace OpenSim.Tests.Permissions IConfigSource config = new IniConfigSource(); config.AddConfig("Messaging"); config.Configs["Messaging"].Set("InventoryTransferModule", "InventoryTransferModule"); + config.AddConfig("Modules"); config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule"); + config.AddConfig("InventoryService"); config.Configs["InventoryService"].Set("LocalServiceModule", "OpenSim.Services.InventoryService.dll:XInventoryService"); config.Configs["InventoryService"].Set("StorageProvider", "OpenSim.Tests.Common.dll:TestXInventoryDataPlugin"); + config.AddConfig("Groups"); + config.Configs["Groups"].Set("Enabled", "true"); + config.Configs["Groups"].Set("Module", "Groups Module V2"); + config.Configs["Groups"].Set("StorageProvider", "OpenSim.Tests.Common.dll:TestGroupsDataPlugin"); + config.Configs["Groups"].Set("ServicesConnectorModule", "Groups Local Service Connector"); + config.Configs["Groups"].Set("LocalService", "local"); + m_Scene = new SceneHelpers().SetupScene("Test", UUID.Random(), 1000, 1000, config); // Add modules SceneHelpers.SetupSceneModules(m_Scene, config, new DefaultPermissionsModule(), new InventoryTransferModule(), new BasicInventoryAccessModule()); From 3f641d98bd4c9fa1ce5b98c8d071f53596d06a7a Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 4 May 2017 20:17:54 -0700 Subject: [PATCH 05/19] Added a fully functional groups data layer for testing. --- .../Tests/Common/Mock/TestGroupsDataPlugin.cs | 339 ++++++++++++++++++ 1 file changed, 339 insertions(+) create mode 100644 OpenSim/Tests/Common/Mock/TestGroupsDataPlugin.cs diff --git a/OpenSim/Tests/Common/Mock/TestGroupsDataPlugin.cs b/OpenSim/Tests/Common/Mock/TestGroupsDataPlugin.cs new file mode 100644 index 0000000000..8e2d8e6c98 --- /dev/null +++ b/OpenSim/Tests/Common/Mock/TestGroupsDataPlugin.cs @@ -0,0 +1,339 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using OpenMetaverse; +using OpenSim.Data; + +namespace OpenSim.Tests.Common.Mock +{ + public class TestGroupsDataPlugin : IGroupsData + { + class CompositeKey + { + private readonly string _key; + public string Key + { + get { return _key; } + } + + public CompositeKey(UUID _k1, string _k2) + { + _key = _k1.ToString() + _k2; + } + + public CompositeKey(UUID _k1, string _k2, string _k3) + { + _key = _k1.ToString() + _k2 + _k3; + } + + public override bool Equals(object obj) + { + if (obj is CompositeKey) + { + return Key == ((CompositeKey)obj).Key; + } + return false; + } + + public override int GetHashCode() + { + return base.GetHashCode(); + } + + public override string ToString() + { + return Key; + } + } + + private Dictionary m_Groups; + private Dictionary m_Membership; + private Dictionary m_Roles; + private Dictionary m_RoleMembership; + private Dictionary m_Invites; + private Dictionary m_Notices; + private Dictionary m_Principals; + + public TestGroupsDataPlugin(string connectionString, string realm) + { + m_Groups = new Dictionary(); + m_Membership = new Dictionary(); + m_Roles = new Dictionary(); + m_RoleMembership = new Dictionary(); + m_Invites = new Dictionary(); + m_Notices = new Dictionary(); + m_Principals = new Dictionary(); + } + + #region groups table + public bool StoreGroup(GroupData data) + { + return false; + } + + public GroupData RetrieveGroup(UUID groupID) + { + if (m_Groups.ContainsKey(groupID)) + return m_Groups[groupID]; + + return null; + } + + public GroupData RetrieveGroup(string name) + { + return m_Groups.Values.First(g => g.Data.ContainsKey("Name") && g.Data["Name"] == name); + } + + public GroupData[] RetrieveGroups(string pattern) + { + if (string.IsNullOrEmpty(pattern)) + pattern = "1"; + + IEnumerable groups = m_Groups.Values.Where(g => g.Data.ContainsKey("Name") && (g.Data["Name"].StartsWith(pattern) || g.Data["Name"].EndsWith(pattern))); + + return (groups != null) ? groups.ToArray() : new GroupData[0]; + } + + public bool DeleteGroup(UUID groupID) + { + return m_Groups.Remove(groupID); + } + + public int GroupsCount() + { + return m_Groups.Count; + } + #endregion + + #region membership table + public MembershipData RetrieveMember(UUID groupID, string pricipalID) + { + CompositeKey dkey = new CompositeKey(groupID, pricipalID); + if (m_Membership.ContainsKey(dkey)) + return m_Membership[dkey]; + + return null; + } + + public MembershipData[] RetrieveMembers(UUID groupID) + { + IEnumerable keys = m_Membership.Keys.Where(k => k.Key.StartsWith(groupID.ToString())); + return keys.Where(m_Membership.ContainsKey).Select(x => m_Membership[x]).ToArray(); + } + + public MembershipData[] RetrieveMemberships(string principalID) + { + IEnumerable keys = m_Membership.Keys.Where(k => k.Key.EndsWith(principalID.ToString())); + return keys.Where(m_Membership.ContainsKey).Select(x => m_Membership[x]).ToArray(); + } + + public MembershipData[] RetrievePrincipalGroupMemberships(string principalID) + { + return RetrieveMemberships(principalID); + } + + public MembershipData RetrievePrincipalGroupMembership(string principalID, UUID groupID) + { + CompositeKey dkey = new CompositeKey(groupID, principalID); + if (m_Membership.ContainsKey(dkey)) + return m_Membership[dkey]; + return null; + } + + public bool StoreMember(MembershipData data) + { + CompositeKey dkey = new CompositeKey(data.GroupID, data.PrincipalID); + m_Membership[dkey] = data; + return true; + } + + public bool DeleteMember(UUID groupID, string principalID) + { + CompositeKey dkey = new CompositeKey(groupID, principalID); + if (m_Membership.ContainsKey(dkey)) + return m_Membership.Remove(dkey); + + return false; + } + + public int MemberCount(UUID groupID) + { + return m_Membership.Count; + } + #endregion + + #region roles table + public bool StoreRole(RoleData data) + { + CompositeKey dkey = new CompositeKey(data.GroupID, data.RoleID.ToString()); + m_Roles[dkey] = data; + return true; + } + + public RoleData RetrieveRole(UUID groupID, UUID roleID) + { + CompositeKey dkey = new CompositeKey(groupID, roleID.ToString()); + if (m_Roles.ContainsKey(dkey)) + return m_Roles[dkey]; + + return null; + } + + public RoleData[] RetrieveRoles(UUID groupID) + { + IEnumerable keys = m_Roles.Keys.Where(k => k.Key.StartsWith(groupID.ToString())); + return keys.Where(m_Roles.ContainsKey).Select(x => m_Roles[x]).ToArray(); + } + + public bool DeleteRole(UUID groupID, UUID roleID) + { + CompositeKey dkey = new CompositeKey(groupID, roleID.ToString()); + if (m_Roles.ContainsKey(dkey)) + return m_Roles.Remove(dkey); + + return false; + } + + public int RoleCount(UUID groupID) + { + return m_Roles.Count; + } + #endregion + + #region rolememberhip table + public RoleMembershipData[] RetrieveRolesMembers(UUID groupID) + { + IEnumerable keys = m_Roles.Keys.Where(k => k.Key.StartsWith(groupID.ToString())); + return keys.Where(m_RoleMembership.ContainsKey).Select(x => m_RoleMembership[x]).ToArray(); + } + + public RoleMembershipData[] RetrieveRoleMembers(UUID groupID, UUID roleID) + { + IEnumerable keys = m_Roles.Keys.Where(k => k.Key.StartsWith(groupID.ToString() + roleID.ToString())); + return keys.Where(m_RoleMembership.ContainsKey).Select(x => m_RoleMembership[x]).ToArray(); + } + + public RoleMembershipData[] RetrieveMemberRoles(UUID groupID, string principalID) + { + IEnumerable keys = m_Roles.Keys.Where(k => k.Key.StartsWith(groupID.ToString()) && k.Key.EndsWith(principalID)); + return keys.Where(m_RoleMembership.ContainsKey).Select(x => m_RoleMembership[x]).ToArray(); + } + + public RoleMembershipData RetrieveRoleMember(UUID groupID, UUID roleID, string principalID) + { + CompositeKey dkey = new CompositeKey(groupID, roleID.ToString(), principalID); + if (m_RoleMembership.ContainsKey(dkey)) + return m_RoleMembership[dkey]; + + return null; + } + + public int RoleMemberCount(UUID groupID, UUID roleID) + { + return m_RoleMembership.Count; + } + + public bool StoreRoleMember(RoleMembershipData data) + { + CompositeKey dkey = new CompositeKey(data.GroupID, data.RoleID.ToString(), data.PrincipalID); + m_RoleMembership[dkey] = data; + return true; + } + + public bool DeleteRoleMember(RoleMembershipData data) + { + CompositeKey dkey = new CompositeKey(data.GroupID, data.RoleID.ToString(), data.PrincipalID); + if (m_RoleMembership.ContainsKey(dkey)) + return m_RoleMembership.Remove(dkey); + + return false; + } + + public bool DeleteMemberAllRoles(UUID groupID, string principalID) + { + List keys = m_RoleMembership.Keys.Where(k => k.Key.StartsWith(groupID.ToString()) && k.Key.EndsWith(principalID)).ToList(); + foreach (CompositeKey k in keys) + m_RoleMembership.Remove(k); + return true; + } + #endregion + + #region principals table + public bool StorePrincipal(PrincipalData data) + { + m_Principals[data.PrincipalID] = data; + return true; + } + + public PrincipalData RetrievePrincipal(string principalID) + { + if (m_Principals.ContainsKey(principalID)) + return m_Principals[principalID]; + + return null; + } + + public bool DeletePrincipal(string principalID) + { + if (m_Principals.ContainsKey(principalID)) + return m_Principals.Remove(principalID); + return false; + } + #endregion + + #region invites table + public bool StoreInvitation(InvitationData data) + { + return false; + } + + public InvitationData RetrieveInvitation(UUID inviteID) + { + return null; + } + + public InvitationData RetrieveInvitation(UUID groupID, string principalID) + { + return null; + } + + public bool DeleteInvite(UUID inviteID) + { + return false; + } + + public void DeleteOldInvites() + { + } + #endregion + + #region notices table + public bool StoreNotice(NoticeData data) + { + return false; + } + + public NoticeData RetrieveNotice(UUID noticeID) + { + return null; + } + + public NoticeData[] RetrieveNotices(UUID groupID) + { + return new NoticeData[0]; + } + + public bool DeleteNotice(UUID noticeID) + { + return false; + } + + public void DeleteOldNotices() + { + } + #endregion + + } +} From 3bc64f638af9e28efda1d0b1ca9b0f0b45d88b0b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 5 May 2017 17:44:33 +0100 Subject: [PATCH 06/19] add a few guard checks on serviceThrottlemodule --- .../Framework/ServiceThrottle/ServiceThrottleModule.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/ServiceThrottle/ServiceThrottleModule.cs b/OpenSim/Region/CoreModules/Framework/ServiceThrottle/ServiceThrottleModule.cs index 924a1a3c1a..2c74c0e0c0 100644 --- a/OpenSim/Region/CoreModules/Framework/ServiceThrottle/ServiceThrottleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/ServiceThrottle/ServiceThrottleModule.cs @@ -119,7 +119,15 @@ namespace OpenSim.Region.CoreModules.Framework if(!client.IsActive) return; - GridRegion r = m_scenes[0].GridService.GetRegionByUUID(UUID.Zero, regionID); + if(m_scenes.Count == 0) + return; + + Scene baseScene = m_scenes[0]; + + if(baseScene == null || baseScene.ShuttingDown) + return; + + GridRegion r = baseScene.GridService.GetRegionByUUID(UUID.Zero, regionID); if(!client.IsActive) return; From 8e300168419d13b00bfaf76c5b6d9b9cb5313970 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 5 May 2017 22:24:05 +0100 Subject: [PATCH 07/19] revert to older CSJ2K.dll since new seems have issues on linux with existent textures/sculpts --- bin/CSJ2K.dll | Bin 483328 -> 502784 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index e882e4c6c6a27ef0f6102a26089a564823ce6416..238291f7e7ed6cf868afc1a1cf15ade5274313ba 100755 GIT binary patch literal 502784 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 literal 483328 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%0DvGO|-f0&_(l>3Qmsq6ZT6agfe_A}?4= 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

sVs!a&}jR$ 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

45U!r|L;D5W6^d$ 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 Date: Sat, 6 May 2017 01:25:54 +0100 Subject: [PATCH 08/19] MySQLConnector is not a MS product --- OpenSim/Data/MySQL/MySQLAssetData.cs | 7 +++++ OpenSim/Data/MySQL/MySQLAuthenticationData.cs | 2 ++ OpenSim/Data/MySQL/MySQLEstateData.cs | 11 +++++-- OpenSim/Data/MySQL/MySQLFSAssetData.cs | 11 +++++-- OpenSim/Data/MySQL/MySQLFramework.cs | 9 ++++-- .../Data/MySQL/MySQLGenericTableHandler.cs | 12 +++++--- OpenSim/Data/MySQL/MySQLInventoryData.cs | 15 ++++++++++ OpenSim/Data/MySQL/MySQLRegionData.cs | 3 ++ OpenSim/Data/MySQL/MySQLSimulationData.cs | 30 ++++++++++++++++++- OpenSim/Data/MySQL/MySQLUserProfilesData.cs | 16 ++++++++++ OpenSim/Data/MySQL/MySQLXAssetData.cs | 7 ++++- OpenSim/Data/MySQL/MySQLXInventoryData.cs | 1 - 12 files changed, 110 insertions(+), 14 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index f16cd913e7..27cc0ba5bd 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs @@ -75,6 +75,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); Migration m = new Migration(dbcon, Assembly, "AssetStore"); m.Update(); + dbcon.Close(); } } @@ -144,6 +145,7 @@ namespace OpenSim.Data.MySQL string.Format("[ASSETS DB]: MySql failure fetching asset {0}. Exception ", assetID), e); } } + dbcon.Close(); } return asset; @@ -209,6 +211,7 @@ namespace OpenSim.Data.MySQL return false; } } + dbcon.Close(); } } @@ -238,6 +241,7 @@ namespace OpenSim.Data.MySQL e); } } + dbcon.Close(); } } @@ -270,6 +274,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } bool[] results = new bool[uuids.Length]; @@ -334,6 +339,7 @@ namespace OpenSim.Data.MySQL e); } } + dbcon.Close(); } return retList; @@ -350,6 +356,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?id", id); cmd.ExecuteNonQuery(); } + dbcon.Close(); } return true; diff --git a/OpenSim/Data/MySQL/MySQLAuthenticationData.cs b/OpenSim/Data/MySQL/MySQLAuthenticationData.cs index af6be75bf7..5030c1d0f9 100644 --- a/OpenSim/Data/MySQL/MySQLAuthenticationData.cs +++ b/OpenSim/Data/MySQL/MySQLAuthenticationData.cs @@ -59,6 +59,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); Migration m = new Migration(dbcon, Assembly, "AuthStore"); m.Update(); + dbcon.Close(); } } @@ -99,6 +100,7 @@ namespace OpenSim.Data.MySQL return null; } } + dbcon.Close(); } } diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs index a5c8d24de5..12593f6c95 100644 --- a/OpenSim/Data/MySQL/MySQLEstateData.cs +++ b/OpenSim/Data/MySQL/MySQLEstateData.cs @@ -171,12 +171,13 @@ namespace OpenSim.Data.MySQL } } } - if (!found && create) { DoCreate(es); LinkRegion(regionID, (int)es.EstateID); } + cmd.Connection = null; + dbcon.Close(); } LoadBanList(es); @@ -231,6 +232,7 @@ namespace OpenSim.Data.MySQL es.Save(); } + dbcon.Close(); } } @@ -263,6 +265,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } SaveBanList(es); @@ -300,6 +303,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -329,6 +333,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.Clear(); } } + dbcon.Close(); } } @@ -358,6 +363,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.Clear(); } } + dbcon.Close(); } } @@ -383,6 +389,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } return uuids.ToArray(); @@ -437,7 +444,6 @@ namespace OpenSim.Data.MySQL reader.Close(); } } - dbcon.Close(); } @@ -466,7 +472,6 @@ namespace OpenSim.Data.MySQL reader.Close(); } } - dbcon.Close(); } diff --git a/OpenSim/Data/MySQL/MySQLFSAssetData.cs b/OpenSim/Data/MySQL/MySQLFSAssetData.cs index 2837ce31be..0918596ca8 100644 --- a/OpenSim/Data/MySQL/MySQLFSAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLFSAssetData.cs @@ -121,9 +121,13 @@ namespace OpenSim.Data.MySQL } catch (MySqlException e) { + cmd.Connection = null; + conn.Close(); m_log.ErrorFormat("[FSASSETS]: Query {0} failed with {1}", cmd.CommandText, e.ToString()); return false; } + cmd.Connection = null; + conn.Close(); } return true; @@ -175,7 +179,7 @@ namespace OpenSim.Data.MySQL UpdateAccessTime(id, AccessTime); } } - + conn.Close(); } return meta; @@ -206,6 +210,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?id", AssetID); cmd.ExecuteNonQuery(); } + conn.Close(); } } @@ -299,6 +304,7 @@ namespace OpenSim.Data.MySQL } } } + conn.Close(); } for (int i = 0; i < uuids.Length; i++) @@ -333,6 +339,7 @@ namespace OpenSim.Data.MySQL count = Convert.ToInt32(reader["count"]); } } + conn.Close(); } return count; @@ -413,8 +420,8 @@ namespace OpenSim.Data.MySQL imported++; } } - } + importConn.Close(); } MainConsole.Instance.Output(String.Format("Import done, {0} assets imported", imported)); diff --git a/OpenSim/Data/MySQL/MySQLFramework.cs b/OpenSim/Data/MySQL/MySQLFramework.cs index 93662db875..98106f0057 100644 --- a/OpenSim/Data/MySQL/MySQLFramework.cs +++ b/OpenSim/Data/MySQL/MySQLFramework.cs @@ -74,7 +74,9 @@ namespace OpenSim.Data.MySQL using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); - return ExecuteNonQueryWithConnection(cmd, dbcon); + int ret = ExecuteNonQueryWithConnection(cmd, dbcon); + dbcon.Close(); + return ret; } } else @@ -97,12 +99,15 @@ namespace OpenSim.Data.MySQL try { - return cmd.ExecuteNonQuery(); + int ret = cmd.ExecuteNonQuery(); + cmd.Connection = null; + return ret; } catch (Exception e) { m_log.Error(e.Message, e); m_log.Error(Environment.StackTrace.ToString()); + cmd.Connection = null; return 0; } } diff --git a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs index bd8bbd5920..9bd3c0cc26 100644 --- a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs +++ b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs @@ -160,8 +160,9 @@ namespace OpenSim.Data.MySQL using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); - - return DoQueryWithConnection(cmd, dbcon); + T[] ret = DoQueryWithConnection(cmd, dbcon); + dbcon.Close(); + return ret; } } else @@ -243,7 +244,7 @@ namespace OpenSim.Data.MySQL result.Add(row); } } - + cmd.Connection = null; return result.ToArray(); } @@ -402,7 +403,10 @@ namespace OpenSim.Data.MySQL dbcon.Open(); cmd.Connection = dbcon; - return cmd.ExecuteScalar(); + Object ret = cmd.ExecuteScalar(); + cmd.Connection = null; + dbcon.Close(); + return ret; } } else diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs index 382d4a5c33..3216544e54 100644 --- a/OpenSim/Data/MySQL/MySQLInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs @@ -78,6 +78,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); Migration m = new Migration(dbcon, assem, "InventoryStore"); m.Update(); + dbcon.Close(); } } @@ -133,6 +134,7 @@ namespace OpenSim.Data.MySQL return items; } } + dbcon.Close(); } } } @@ -173,6 +175,7 @@ namespace OpenSim.Data.MySQL return items; } } + dbcon.Close(); } } } @@ -224,6 +227,7 @@ namespace OpenSim.Data.MySQL return rootFolder; } } + dbcon.Close(); } } } @@ -264,6 +268,7 @@ namespace OpenSim.Data.MySQL return items; } } + dbcon.Close(); } } } @@ -355,6 +360,7 @@ namespace OpenSim.Data.MySQL return item; } } + dbcon.Close(); } } } @@ -420,6 +426,7 @@ namespace OpenSim.Data.MySQL return folder; } } + dbcon.Close(); } } } @@ -497,6 +504,8 @@ namespace OpenSim.Data.MySQL result.Dispose(); } + dbcon.Close(); + using (MySqlCommand result = new MySqlCommand("update inventoryfolders set version=version+1 where folderID = ?folderID", dbcon)) { result.Parameters.AddWithValue("?folderID", item.Folder.ToString()); @@ -540,6 +549,7 @@ namespace OpenSim.Data.MySQL lock (m_dbLock) cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (MySqlException e) @@ -600,6 +610,7 @@ namespace OpenSim.Data.MySQL m_log.Error(e.ToString()); } } + dbcon.Close(); } } @@ -643,6 +654,7 @@ namespace OpenSim.Data.MySQL m_log.Error(e.ToString()); } } + dbcon.Close(); } } @@ -806,6 +818,7 @@ namespace OpenSim.Data.MySQL lock (m_dbLock) cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (MySqlException e) @@ -833,6 +846,7 @@ namespace OpenSim.Data.MySQL lock (m_dbLock) cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (MySqlException e) @@ -889,6 +903,7 @@ namespace OpenSim.Data.MySQL return list; } } + dbcon.Close(); } } catch (Exception e) diff --git a/OpenSim/Data/MySQL/MySQLRegionData.cs b/OpenSim/Data/MySQL/MySQLRegionData.cs index 0e55285451..46df421352 100644 --- a/OpenSim/Data/MySQL/MySQLRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLRegionData.cs @@ -60,6 +60,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); Migration m = new Migration(dbcon, Assembly, "GridStore"); m.Update(); + dbcon.Close(); } } @@ -260,6 +261,8 @@ namespace OpenSim.Data.MySQL retList.Add(ret); } } + cmd.Connection = null; + dbcon.Close(); } return retList; diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 5740b916db..8d1a4a5713 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -88,6 +88,7 @@ namespace OpenSim.Data.MySQL // Migration m = new Migration(dbcon, Assembly, "RegionStore"); m.Update(); + dbcon.Close(); } } @@ -334,6 +335,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } + dbcon.Close(); } } } @@ -372,6 +374,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } + dbcon.Close(); } } } @@ -411,6 +414,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } + dbcon.Close(); } } } @@ -460,6 +464,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -535,6 +540,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -580,6 +586,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } prim.Inventory.RestoreInventoryItems(inventory); @@ -634,6 +641,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } }); @@ -681,6 +689,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } }); @@ -727,6 +736,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -762,6 +772,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -783,6 +794,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } + dbcon.Close(); } } } @@ -842,6 +854,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.Clear(); } } + dbcon.Close(); } } } @@ -939,6 +952,7 @@ namespace OpenSim.Data.MySQL nWP.valid = true; } } + dbcon.Close(); } return nWP; @@ -976,6 +990,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -1084,6 +1099,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } + dbcon.Close(); } } @@ -1099,6 +1115,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?regionID", regionID.ToString()); ExecuteNonQuery(cmd); } + dbcon.Close(); } } @@ -1127,6 +1144,7 @@ namespace OpenSim.Data.MySQL return Convert.ToString(result["llsd_settings"]); } } + dbcon.Close(); } } @@ -1145,6 +1163,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } + dbcon.Close(); } } @@ -1160,6 +1179,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?region_id", regionUUID.ToString()); ExecuteNonQuery(cmd); } + dbcon.Close(); } } #endregion @@ -1212,7 +1232,7 @@ namespace OpenSim.Data.MySQL FillRegionSettingsCommand(cmd, rs); ExecuteNonQuery(cmd); } - + dbcon.Close(); SaveSpawnPoints(rs); } } @@ -1259,6 +1279,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -2123,6 +2144,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } } + dbcon.Close(); } } } @@ -2152,6 +2174,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } @@ -2187,6 +2210,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } } @@ -2221,6 +2245,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.Clear(); } } + dbcon.Close(); } } } @@ -2240,6 +2265,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } @@ -2257,6 +2283,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } @@ -2280,6 +2307,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } return ret; diff --git a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs index 8af2a3ef29..dfc3711674 100644 --- a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs +++ b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs @@ -69,6 +69,7 @@ namespace OpenSim.Data.MySQL Migration m = new Migration(dbcon, Assembly, "UserProfiles"); m.Update(); + dbcon.Close(); } } #endregion Member Functions @@ -121,6 +122,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } return data; } @@ -228,6 +230,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) @@ -258,6 +261,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?recordId", recordId.ToString()); cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) @@ -352,6 +356,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } catch (Exception e) @@ -474,6 +479,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) @@ -504,6 +510,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) @@ -548,6 +555,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } catch (Exception e) @@ -596,6 +604,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) @@ -719,6 +728,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } catch (Exception e) @@ -759,6 +769,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) @@ -884,6 +895,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } catch (Exception e) @@ -939,6 +951,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } catch (Exception e) @@ -975,6 +988,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) @@ -1035,6 +1049,7 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); } } catch (Exception e) @@ -1072,6 +1087,7 @@ namespace OpenSim.Data.MySQL cmd.ExecuteNonQuery(); } + dbcon.Close(); } } catch (Exception e) diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs index 2c6acdef32..2ef7f8fc79 100644 --- a/OpenSim/Data/MySQL/MySQLXAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs @@ -97,6 +97,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); Migration m = new Migration(dbcon, Assembly, "XAssetStore"); m.Update(); + dbcon.Close(); } } @@ -184,6 +185,7 @@ namespace OpenSim.Data.MySQL m_log.Error(string.Format("[MYSQL XASSET DATA]: Failure fetching asset {0}", assetID), e); } } + dbcon.Close(); } return asset; @@ -303,6 +305,7 @@ namespace OpenSim.Data.MySQL transaction.Commit(); } + dbcon.Close(); } } @@ -344,6 +347,7 @@ namespace OpenSim.Data.MySQL "[XASSET MYSQL DB]: Failure updating access_time for asset {0} with name {1}", assetMetadata.ID, assetMetadata.Name); } + dbcon.Close(); } } @@ -474,6 +478,7 @@ namespace OpenSim.Data.MySQL m_log.Error("[XASSETS DB]: MySql failure fetching asset set" + Environment.NewLine + e.ToString()); } } + dbcon.Close(); } return retList; @@ -492,9 +497,9 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?ID", id); cmd.ExecuteNonQuery(); } - // TODO: How do we deal with data from deleted assets? Probably not easily reapable unless we // keep a reference count (?) + dbcon.Close(); } return true; diff --git a/OpenSim/Data/MySQL/MySQLXInventoryData.cs b/OpenSim/Data/MySQL/MySQLXInventoryData.cs index 4e41fec9cd..501999425d 100644 --- a/OpenSim/Data/MySQL/MySQLXInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLXInventoryData.cs @@ -328,7 +328,6 @@ namespace OpenSim.Data.MySQL { return false; } - cmd.Dispose(); } dbcon.Close(); From d26a9ed0b18384d38c6070f7a7efdc61bcc7e75e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 01:41:33 +0100 Subject: [PATCH 09/19] fix wrong placement --- OpenSim/Data/MySQL/MySQLInventoryData.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs index 3216544e54..c93af0b439 100644 --- a/OpenSim/Data/MySQL/MySQLInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs @@ -504,8 +504,6 @@ namespace OpenSim.Data.MySQL result.Dispose(); } - dbcon.Close(); - using (MySqlCommand result = new MySqlCommand("update inventoryfolders set version=version+1 where folderID = ?folderID", dbcon)) { result.Parameters.AddWithValue("?folderID", item.Folder.ToString()); @@ -513,6 +511,7 @@ namespace OpenSim.Data.MySQL lock (m_dbLock) result.ExecuteNonQuery(); } + dbcon.Close(); } } catch (MySqlException e) From 025bef4e07fa134fe93c56abe7a9e9b3006413e1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 01:47:26 +0100 Subject: [PATCH 10/19] fix a few wrong placement ( this is a test by the way ) --- OpenSim/Data/MySQL/MySQLInventoryData.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs index c93af0b439..cc787ccde8 100644 --- a/OpenSim/Data/MySQL/MySQLInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs @@ -131,10 +131,10 @@ namespace OpenSim.Data.MySQL items.Add(item); } + dbcon.Close(); return items; } } - dbcon.Close(); } } } @@ -172,10 +172,10 @@ namespace OpenSim.Data.MySQL while (reader.Read()) items.Add(readInventoryFolder(reader)); + dbcon.Close(); return items; } } - dbcon.Close(); } } } @@ -224,10 +224,10 @@ namespace OpenSim.Data.MySQL if (items.Count > 0) rootFolder = items[0]; + dbcon.Close(); return rootFolder; } } - dbcon.Close(); } } } @@ -265,10 +265,10 @@ namespace OpenSim.Data.MySQL while (reader.Read()) items.Add(readInventoryFolder(reader)); + dbcon.Close(); return items; } } - dbcon.Close(); } } } @@ -357,10 +357,10 @@ namespace OpenSim.Data.MySQL if (reader.Read()) item = readInventoryItem(reader); + dbcon.Close(); return item; } } - dbcon.Close(); } } } @@ -423,10 +423,10 @@ namespace OpenSim.Data.MySQL if (reader.Read()) folder = readInventoryFolder(reader); + dbcon.Close(); return folder; } } - dbcon.Close(); } } } @@ -899,10 +899,10 @@ namespace OpenSim.Data.MySQL if (item != null) list.Add(item); } + dbcon.Close(); return list; } } - dbcon.Close(); } } catch (Exception e) From ae191cd3042fec6b753b41b19907d236690a70cf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 15:57:47 +0100 Subject: [PATCH 11/19] dispose some MemoryStreams --- .../Handlers/GetTexture/GetTextureHandler.cs | 5 ----- .../GetTexture/GetTextureRobustHandler.cs | 6 ------ .../Avatar/BakedTextures/XBakesModule.cs | 2 ++ .../Handlers/Map/MapRemoveServerConnector.cs | 15 +++++++++------ 4 files changed, 11 insertions(+), 17 deletions(-) diff --git a/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs b/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs index 062a842748..e73cf9eca0 100644 --- a/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs +++ b/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs @@ -362,8 +362,6 @@ namespace OpenSim.Capabilities.Handlers { // Taking our jpeg2000 data, decoding it, then saving it to a byte array with regular data - imgstream = new MemoryStream(); - // Decode image to System.Drawing.Image if (OpenJPEG.DecodeToImage(texture.Data, out managedImage, out image) && image != null) { @@ -404,10 +402,7 @@ namespace OpenSim.Capabilities.Handlers if(managedImage != null) managedImage.Clear(); if (imgstream != null) - { - imgstream.Close(); imgstream.Dispose(); - } } return data; diff --git a/OpenSim/Capabilities/Handlers/GetTexture/GetTextureRobustHandler.cs b/OpenSim/Capabilities/Handlers/GetTexture/GetTextureRobustHandler.cs index d5df7a29bd..c339ec5d7e 100644 --- a/OpenSim/Capabilities/Handlers/GetTexture/GetTextureRobustHandler.cs +++ b/OpenSim/Capabilities/Handlers/GetTexture/GetTextureRobustHandler.cs @@ -368,9 +368,6 @@ namespace OpenSim.Capabilities.Handlers try { // Taking our jpeg2000 data, decoding it, then saving it to a byte array with regular data - - imgstream = new MemoryStream(); - // Decode image to System.Drawing.Image if (OpenJPEG.DecodeToImage(texture.Data, out managedImage, out image) && image != null) { @@ -412,10 +409,7 @@ namespace OpenSim.Capabilities.Handlers managedImage.Clear(); if (imgstream != null) - { - imgstream.Close(); imgstream.Dispose(); - } } return data; diff --git a/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs b/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs index 27e84b0f13..cfa9581d82 100644 --- a/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs @@ -216,6 +216,8 @@ namespace OpenSim.Region.CoreModules.Avatar.BakedTextures rc.Request(reqStream, m_Auth); m_log.DebugFormat("[XBakes]: stored {0} textures for user {1}", numberWears, agentId); } + if(reqStream != null) + reqStream.Dispose(); }, null, "XBakesModule.Store" ); } diff --git a/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs b/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs index f292b9585d..ffd8ef6fb5 100644 --- a/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs +++ b/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs @@ -215,13 +215,16 @@ namespace OpenSim.Server.Handlers.MapImage private byte[] DocToBytes(XmlDocument doc) { - MemoryStream ms = new MemoryStream(); - XmlTextWriter xw = new XmlTextWriter(ms, null); - xw.Formatting = Formatting.Indented; - doc.WriteTo(xw); - xw.Flush(); - + using(MemoryStream ms = new MemoryStream()) + { + using(XmlTextWriter xw = new XmlTextWriter(ms,null)) + { + xw.Formatting = Formatting.Indented; + doc.WriteTo(xw); + xw.Flush(); + } return ms.ToArray(); + } } private System.Net.IPAddress GetCallerIP(IOSHttpRequest request) From eb93855d84414be6c9e927c0da3be56ae6831573 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 17:47:43 +0100 Subject: [PATCH 12/19] dispose some MemoryStreams --- OpenSim/Data/MySQL/MySQLXAssetData.cs | 14 ++++++++------ OpenSim/Data/PGSQL/PGSQLXAssetData.cs | 10 ++++++---- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs index 2ef7f8fc79..23f6837cfb 100644 --- a/OpenSim/Data/MySQL/MySQLXAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs @@ -163,13 +163,15 @@ namespace OpenSim.Data.MySQL if (m_enableCompression) { - using (GZipStream decompressionStream = new GZipStream(new MemoryStream(asset.Data), CompressionMode.Decompress)) + using(GZipStream decompressionStream = new GZipStream(new MemoryStream(asset.Data), + CompressionMode.Decompress)) { - MemoryStream outputStream = new MemoryStream(); - WebUtil.CopyStream(decompressionStream, outputStream, int.MaxValue); -// int compressedLength = asset.Data.Length; - asset.Data = outputStream.ToArray(); - + using(MemoryStream outputStream = new MemoryStream()) + { + WebUtil.CopyStream(decompressionStream, outputStream, int.MaxValue); +// int compressedLength = asset.Data.Length; + asset.Data = outputStream.ToArray(); + } // m_log.DebugFormat( // "[XASSET DB]: Decompressed {0} {1} to {2} bytes from {3}", // asset.ID, asset.Name, asset.Data.Length, compressedLength); diff --git a/OpenSim/Data/PGSQL/PGSQLXAssetData.cs b/OpenSim/Data/PGSQL/PGSQLXAssetData.cs index 6e884898f5..000a446d1b 100644 --- a/OpenSim/Data/PGSQL/PGSQLXAssetData.cs +++ b/OpenSim/Data/PGSQL/PGSQLXAssetData.cs @@ -173,13 +173,15 @@ namespace OpenSim.Data.PGSQL if (m_enableCompression) { - using (GZipStream decompressionStream = new GZipStream(new MemoryStream(asset.Data), CompressionMode.Decompress)) + using (GZipStream decompressionStream = new GZipStream( new MemoryStream(asset.Data), + CompressionMode.Decompress)) { - MemoryStream outputStream = new MemoryStream(); - WebUtil.CopyStream(decompressionStream, outputStream, int.MaxValue); + using(MemoryStream outputStream = new MemoryStream()) + { + WebUtil.CopyStream(decompressionStream,outputStream,int.MaxValue); // int compressedLength = asset.Data.Length; asset.Data = outputStream.ToArray(); - + } // m_log.DebugFormat( // "[XASSET DB]: Decompressed {0} {1} to {2} bytes from {3}", // asset.ID, asset.Name, asset.Data.Length, compressedLength); From 54eb6fc779c578e28ea4f5a17aebb956838ab14d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 18:25:07 +0100 Subject: [PATCH 13/19] GZipStream does have a CopyTo() --- OpenSim/Data/MySQL/MySQLXAssetData.cs | 10 +++++----- OpenSim/Data/PGSQL/PGSQLXAssetData.cs | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs index 23f6837cfb..e519a94528 100644 --- a/OpenSim/Data/MySQL/MySQLXAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs @@ -163,19 +163,19 @@ namespace OpenSim.Data.MySQL if (m_enableCompression) { - using(GZipStream decompressionStream = new GZipStream(new MemoryStream(asset.Data), - CompressionMode.Decompress)) + using(MemoryStream ms = new MemoryStream(asset.Data)) + using(GZipStream decompressionStream = new GZipStream(ms, CompressionMode.Decompress)) { using(MemoryStream outputStream = new MemoryStream()) { - WebUtil.CopyStream(decompressionStream, outputStream, int.MaxValue); + decompressionStream.CopyTo(outputStream, int.MaxValue); // int compressedLength = asset.Data.Length; - asset.Data = outputStream.ToArray(); + asset.Data = outputStream.ToArray(); } // m_log.DebugFormat( // "[XASSET DB]: Decompressed {0} {1} to {2} bytes from {3}", // asset.ID, asset.Name, asset.Data.Length, compressedLength); - } + } } UpdateAccessTime(asset.Metadata, (int)dbReader["AccessTime"]); diff --git a/OpenSim/Data/PGSQL/PGSQLXAssetData.cs b/OpenSim/Data/PGSQL/PGSQLXAssetData.cs index 000a446d1b..1798d20508 100644 --- a/OpenSim/Data/PGSQL/PGSQLXAssetData.cs +++ b/OpenSim/Data/PGSQL/PGSQLXAssetData.cs @@ -173,18 +173,18 @@ namespace OpenSim.Data.PGSQL if (m_enableCompression) { - using (GZipStream decompressionStream = new GZipStream( new MemoryStream(asset.Data), - CompressionMode.Decompress)) + using(MemoryStream ms = new MemoryStream(asset.Data)) + using(GZipStream decompressionStream = new GZipStream(ms, CompressionMode.Decompress)) { using(MemoryStream outputStream = new MemoryStream()) { - WebUtil.CopyStream(decompressionStream,outputStream,int.MaxValue); - // int compressedLength = asset.Data.Length; - asset.Data = outputStream.ToArray(); - } - // m_log.DebugFormat( - // "[XASSET DB]: Decompressed {0} {1} to {2} bytes from {3}", - // asset.ID, asset.Name, asset.Data.Length, compressedLength); + decompressionStream.CopyTo(outputStream,int.MaxValue); + // int compressedLength = asset.Data.Length; + asset.Data = outputStream.ToArray(); + } + // m_log.DebugFormat( + // "[XASSET DB]: Decompressed {0} {1} to {2} bytes from {3}", + // asset.ID, asset.Name, asset.Data.Length, compressedLength); } } From 504736eb433d4f032c1930b70d9007934caef9c5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 20:23:55 +0100 Subject: [PATCH 14/19] build const strings a compile time... --- OpenSim/Data/MySQL/MySQLUserProfilesData.cs | 347 ++++++++------------ 1 file changed, 146 insertions(+), 201 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs index dfc3711674..c98e0173a2 100644 --- a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs +++ b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs @@ -90,7 +90,7 @@ namespace OpenSim.Data.MySQL using (MySqlConnection dbcon = new MySqlConnection(ConnectionString)) { - string query = "SELECT classifieduuid, name FROM classifieds WHERE creatoruuid = ?Id"; + const string query = "SELECT classifieduuid, name FROM classifieds WHERE creatoruuid = ?Id"; dbcon.Open(); using (MySqlCommand cmd = new MySqlCommand(query, dbcon)) { @@ -129,52 +129,51 @@ namespace OpenSim.Data.MySQL public bool UpdateClassifiedRecord(UserClassifiedAdd ad, ref string result) { - string query = string.Empty; - - - query += "INSERT INTO classifieds ("; - query += "`classifieduuid`,"; - query += "`creatoruuid`,"; - query += "`creationdate`,"; - query += "`expirationdate`,"; - query += "`category`,"; - query += "`name`,"; - query += "`description`,"; - query += "`parceluuid`,"; - query += "`parentestate`,"; - query += "`snapshotuuid`,"; - query += "`simname`,"; - query += "`posglobal`,"; - query += "`parcelname`,"; - query += "`classifiedflags`,"; - query += "`priceforlisting`) "; - query += "VALUES ("; - query += "?ClassifiedId,"; - query += "?CreatorId,"; - query += "?CreatedDate,"; - query += "?ExpirationDate,"; - query += "?Category,"; - query += "?Name,"; - query += "?Description,"; - query += "?ParcelId,"; - query += "?ParentEstate,"; - query += "?SnapshotId,"; - query += "?SimName,"; - query += "?GlobalPos,"; - query += "?ParcelName,"; - query += "?Flags,"; - query += "?ListingPrice ) "; - query += "ON DUPLICATE KEY UPDATE "; - query += "category=?Category, "; - query += "expirationdate=?ExpirationDate, "; - query += "name=?Name, "; - query += "description=?Description, "; - query += "parentestate=?ParentEstate, "; - query += "posglobal=?GlobalPos, "; - query += "parcelname=?ParcelName, "; - query += "classifiedflags=?Flags, "; - query += "priceforlisting=?ListingPrice, "; - query += "snapshotuuid=?SnapshotId"; + const string query = + "INSERT INTO classifieds (" + + "`classifieduuid`," + + "`creatoruuid`," + + "`creationdate`," + + "`expirationdate`," + + "`category`," + + "`name`," + + "`description`," + + "`parceluuid`," + + "`parentestate`," + + "`snapshotuuid`," + + "`simname`," + + "`posglobal`," + + "`parcelname`," + + "`classifiedflags`," + + "`priceforlisting`) " + + "VALUES (" + + "?ClassifiedId," + + "?CreatorId," + + "?CreatedDate," + + "?ExpirationDate," + + "?Category," + + "?Name," + + "?Description," + + "?ParcelId," + + "?ParentEstate," + + "?SnapshotId," + + "?SimName," + + "?GlobalPos," + + "?ParcelName," + + "?Flags," + + "?ListingPrice ) " + + "ON DUPLICATE KEY UPDATE " + + "category=?Category, " + + "expirationdate=?ExpirationDate, " + + "name=?Name, " + + "description=?Description, " + + "parentestate=?ParentEstate, " + + "posglobal=?GlobalPos, " + + "parcelname=?ParcelName, " + + "classifiedflags=?Flags, " + + "priceforlisting=?ListingPrice, " + + "snapshotuuid=?SnapshotId" + ; if(string.IsNullOrEmpty(ad.ParcelName)) ad.ParcelName = "Unknown"; @@ -245,10 +244,7 @@ namespace OpenSim.Data.MySQL public bool DeleteClassifiedRecord(UUID recordId) { - string query = string.Empty; - - query += "DELETE FROM classifieds WHERE "; - query += "classifieduuid = ?recordId"; + const string query = "DELETE FROM classifieds WHERE classifieduuid = ?recordId"; try { @@ -275,10 +271,8 @@ namespace OpenSim.Data.MySQL public bool GetClassifiedInfo(ref UserClassifiedAdd ad, ref string result) { - string query = string.Empty; - query += "SELECT * FROM classifieds WHERE "; - query += "classifieduuid = ?AdId"; + const string query = "SELECT * FROM classifieds WHERE classifieduuid = ?AdId"; try { @@ -326,10 +320,8 @@ namespace OpenSim.Data.MySQL #region Picks Queries public OSDArray GetAvatarPicks(UUID avatarId) { - string query = string.Empty; + const string query = "SELECT `pickuuid`,`name` FROM userpicks WHERE creatoruuid = ?Id"; - query += "SELECT `pickuuid`,`name` FROM userpicks WHERE "; - query += "creatoruuid = ?Id"; OSDArray data = new OSDArray(); try @@ -369,12 +361,8 @@ namespace OpenSim.Data.MySQL public UserProfilePick GetPickInfo(UUID avatarId, UUID pickId) { - string query = string.Empty; UserProfilePick pick = new UserProfilePick(); - - query += "SELECT * FROM userpicks WHERE "; - query += "creatoruuid = ?CreatorId AND "; - query += "pickuuid = ?PickId"; + const string query = "SELECT * FROM userpicks WHERE creatoruuid = ?CreatorId AND pickuuid = ?PickId"; try { @@ -427,33 +415,33 @@ namespace OpenSim.Data.MySQL public bool UpdatePicksRecord(UserProfilePick pick) { - string query = string.Empty; - - query += "INSERT INTO userpicks VALUES ("; - query += "?PickId,"; - query += "?CreatorId,"; - query += "?TopPick,"; - query += "?ParcelId,"; - query += "?Name,"; - query += "?Desc,"; - query += "?SnapshotId,"; - query += "?User,"; - query += "?Original,"; - query += "?SimName,"; - query += "?GlobalPos,"; - query += "?SortOrder,"; - query += "?Enabled,"; - query += "?Gatekeeper)"; - query += "ON DUPLICATE KEY UPDATE "; - query += "parceluuid=?ParcelId,"; - query += "name=?Name,"; - query += "description=?Desc,"; - query += "user=?User,"; - query += "simname=?SimName,"; - query += "snapshotuuid=?SnapshotId,"; - query += "pickuuid=?PickId,"; - query += "posglobal=?GlobalPos,"; - query += "gatekeeper=?Gatekeeper"; + const string query = + "INSERT INTO userpicks VALUES (" + + "?PickId," + + "?CreatorId," + + "?TopPick," + + "?ParcelId," + + "?Name," + + "?Desc," + + "?SnapshotId," + + "?User," + + "?Original," + + "?SimName," + + "?GlobalPos," + + "?SortOrder," + + "?Enabled," + + "?Gatekeeper)" + + "ON DUPLICATE KEY UPDATE " + + "parceluuid=?ParcelId," + + "name=?Name," + + "description=?Desc," + + "user=?User," + + "simname=?SimName," + + "snapshotuuid=?SnapshotId," + + "pickuuid=?PickId," + + "posglobal=?GlobalPos," + + "gatekeeper=?Gatekeeper" + ; try { @@ -493,10 +481,7 @@ namespace OpenSim.Data.MySQL public bool DeletePicksRecord(UUID pickId) { - string query = string.Empty; - - query += "DELETE FROM userpicks WHERE "; - query += "pickuuid = ?PickId"; + string query = "DELETE FROM userpicks WHERE pickuuid = ?PickId"; try { @@ -526,11 +511,7 @@ namespace OpenSim.Data.MySQL #region Avatar Notes Queries public bool GetAvatarNotes(ref UserProfileNotes notes) { // WIP - string query = string.Empty; - - query += "SELECT `notes` FROM usernotes WHERE "; - query += "useruuid = ?Id AND "; - query += "targetuuid = ?TargetId"; + const string query = "SELECT `notes` FROM usernotes WHERE useruuid = ?Id AND targetuuid = ?TargetId"; try { @@ -568,26 +549,25 @@ namespace OpenSim.Data.MySQL public bool UpdateAvatarNotes(ref UserProfileNotes note, ref string result) { - string query = string.Empty; + string query; bool remove; if(string.IsNullOrEmpty(note.Notes)) { remove = true; - query += "DELETE FROM usernotes WHERE "; - query += "useruuid=?UserId AND "; - query += "targetuuid=?TargetId"; + query = "DELETE FROM usernotes WHERE useruuid=?UserId AND targetuuid=?TargetId"; } else { remove = false; - query += "INSERT INTO usernotes VALUES ( "; - query += "?UserId,"; - query += "?TargetId,"; - query += "?Notes )"; - query += "ON DUPLICATE KEY "; - query += "UPDATE "; - query += "notes=?Notes"; + query = "INSERT INTO usernotes VALUES (" + + "?UserId," + + "?TargetId," + + "?Notes )" + + "ON DUPLICATE KEY " + + "UPDATE " + + "notes=?Notes" + ; } try @@ -621,10 +601,7 @@ namespace OpenSim.Data.MySQL #region Avatar Properties public bool GetAvatarProperties(ref UserProfileProperties props, ref string result) { - string query = string.Empty; - - query += "SELECT * FROM userprofile WHERE "; - query += "useruuid = ?Id"; + string query = "SELECT * FROM userprofile WHERE useruuid = ?Id"; try { @@ -673,35 +650,36 @@ namespace OpenSim.Data.MySQL props.PublishProfile = false; props.PublishMature = false; - query = "INSERT INTO userprofile ("; - query += "useruuid, "; - query += "profilePartner, "; - query += "profileAllowPublish, "; - query += "profileMaturePublish, "; - query += "profileURL, "; - query += "profileWantToMask, "; - query += "profileWantToText, "; - query += "profileSkillsMask, "; - query += "profileSkillsText, "; - query += "profileLanguages, "; - query += "profileImage, "; - query += "profileAboutText, "; - query += "profileFirstImage, "; - query += "profileFirstText) VALUES ("; - query += "?userId, "; - query += "?profilePartner, "; - query += "?profileAllowPublish, "; - query += "?profileMaturePublish, "; - query += "?profileURL, "; - query += "?profileWantToMask, "; - query += "?profileWantToText, "; - query += "?profileSkillsMask, "; - query += "?profileSkillsText, "; - query += "?profileLanguages, "; - query += "?profileImage, "; - query += "?profileAboutText, "; - query += "?profileFirstImage, "; - query += "?profileFirstText)"; + query = "INSERT INTO userprofile (" + + "useruuid, " + + "profilePartner, " + + "profileAllowPublish, " + + "profileMaturePublish, " + + "profileURL, " + + "profileWantToMask, " + + "profileWantToText, " + + "profileSkillsMask, " + + "profileSkillsText, " + + "profileLanguages, " + + "profileImage, " + + "profileAboutText, " + + "profileFirstImage, " + + "profileFirstText) VALUES (" + + "?userId, " + + "?profilePartner, " + + "?profileAllowPublish, " + + "?profileMaturePublish, " + + "?profileURL, " + + "?profileWantToMask, " + + "?profileWantToText, " + + "?profileSkillsMask, " + + "?profileSkillsText, " + + "?profileLanguages, " + + "?profileImage, " + + "?profileAboutText, " + + "?profileFirstImage, " + + "?profileFirstText)" + ; dbcon.Close(); dbcon.Open(); @@ -743,15 +721,10 @@ namespace OpenSim.Data.MySQL public bool UpdateAvatarProperties(ref UserProfileProperties props, ref string result) { - string query = string.Empty; - - query += "UPDATE userprofile SET "; - query += "profileURL=?profileURL, "; - query += "profileImage=?image, "; - query += "profileAboutText=?abouttext,"; - query += "profileFirstImage=?firstlifeimage,"; - query += "profileFirstText=?firstlifetext "; - query += "WHERE useruuid=?uuid"; + const string query = "UPDATE userprofile SET profileURL=?profileURL," + + "profileImage=?image, profileAboutText=?abouttext," + + "profileFirstImage=?firstlifeimage, profileFirstText=?firstlifetext " + + "WHERE useruuid=?uuid"; try { @@ -786,15 +759,13 @@ namespace OpenSim.Data.MySQL #region Avatar Interests public bool UpdateAvatarInterests(UserProfileProperties up, ref string result) { - string query = string.Empty; - - query += "UPDATE userprofile SET "; - query += "profileWantToMask=?WantMask, "; - query += "profileWantToText=?WantText,"; - query += "profileSkillsMask=?SkillsMask,"; - query += "profileSkillsText=?SkillsText, "; - query += "profileLanguages=?Languages "; - query += "WHERE useruuid=?uuid"; + const string query = "UPDATE userprofile SET " + + "profileWantToMask=?WantMask, " + + "profileWantToText=?WantText," + + "profileSkillsMask=?SkillsMask," + + "profileSkillsText=?SkillsText, " + + "profileLanguages=?Languages " + + "WHERE useruuid=?uuid"; try { @@ -828,18 +799,17 @@ namespace OpenSim.Data.MySQL public OSDArray GetUserImageAssets(UUID avatarId) { OSDArray data = new OSDArray(); - string query = "SELECT `snapshotuuid` FROM {0} WHERE `creatoruuid` = ?Id"; + const string queryA = "SELECT `snapshotuuid` FROM {0} WHERE `creatoruuid` = ?Id"; // Get classified image assets - try { using (MySqlConnection dbcon = new MySqlConnection(ConnectionString)) { dbcon.Open(); - using (MySqlCommand cmd = new MySqlCommand(string.Format (query,"`classifieds`"), dbcon)) + using (MySqlCommand cmd = new MySqlCommand(string.Format (queryA,"`classifieds`"), dbcon)) { cmd.Parameters.AddWithValue("?Id", avatarId.ToString()); @@ -858,7 +828,7 @@ namespace OpenSim.Data.MySQL dbcon.Close(); dbcon.Open(); - using (MySqlCommand cmd = new MySqlCommand(string.Format (query,"`userpicks`"), dbcon)) + using (MySqlCommand cmd = new MySqlCommand(string.Format (queryA,"`userpicks`"), dbcon)) { cmd.Parameters.AddWithValue("?Id", avatarId.ToString()); @@ -877,9 +847,9 @@ namespace OpenSim.Data.MySQL dbcon.Close(); dbcon.Open(); - query = "SELECT `profileImage`, `profileFirstImage` FROM `userprofile` WHERE `useruuid` = ?Id"; + const string queryB = "SELECT `profileImage`, `profileFirstImage` FROM `userprofile` WHERE `useruuid` = ?Id"; - using (MySqlCommand cmd = new MySqlCommand(string.Format (query,"`userpicks`"), dbcon)) + using (MySqlCommand cmd = new MySqlCommand(string.Format (queryB,"`userpicks`"), dbcon)) { cmd.Parameters.AddWithValue("?Id", avatarId.ToString()); @@ -909,11 +879,7 @@ namespace OpenSim.Data.MySQL #region User Preferences public bool GetUserPreferences(ref UserPreferences pref, ref string result) { - string query = string.Empty; - - query += "SELECT imviaemail,visible,email FROM "; - query += "usersettings WHERE "; - query += "useruuid = ?Id"; + const string query = "SELECT imviaemail,visible,email FROM usersettings WHERE useruuid = ?Id"; try { @@ -937,10 +903,9 @@ namespace OpenSim.Data.MySQL dbcon.Close(); dbcon.Open(); - query = "INSERT INTO usersettings VALUES "; - query += "(?uuid,'false','false', ?Email)"; + const string queryB = "INSERT INTO usersettings VALUES (?uuid,'false','false', ?Email)"; - using (MySqlCommand put = new MySqlCommand(query, dbcon)) + using (MySqlCommand put = new MySqlCommand(queryB, dbcon)) { put.Parameters.AddWithValue("?Email", pref.EMail); @@ -966,13 +931,9 @@ namespace OpenSim.Data.MySQL public bool UpdateUserPreferences(ref UserPreferences pref, ref string result) { - string query = string.Empty; - - query += "UPDATE usersettings SET "; - query += "imviaemail=?ImViaEmail, "; - query += "visible=?Visible, "; - query += "email=?EMail "; - query += "WHERE useruuid=?uuid"; + const string query = "UPDATE usersettings SET imviaemail=?ImViaEmail," + + "visible=?Visible, email=?EMail " + + "WHERE useruuid=?uuid"; try { @@ -1005,11 +966,7 @@ namespace OpenSim.Data.MySQL #region Integration public bool GetUserAppData(ref UserAppData props, ref string result) { - string query = string.Empty; - - query += "SELECT * FROM `userdata` WHERE "; - query += "UserId = ?Id AND "; - query += "TagId = ?TagId"; + const string query = "SELECT * FROM `userdata` WHERE UserId = ?Id AND TagId = ?TagId"; try { @@ -1031,13 +988,8 @@ namespace OpenSim.Data.MySQL } else { - query += "INSERT INTO userdata VALUES ( "; - query += "?UserId,"; - query += "?TagId,"; - query += "?DataKey,"; - query += "?DataVal) "; - - using (MySqlCommand put = new MySqlCommand(query, dbcon)) + const string queryB = "INSERT INTO userdata VALUES (?UserId, ?TagId, ?DataKey, ?DataVal)"; + using (MySqlCommand put = new MySqlCommand(queryB, dbcon)) { put.Parameters.AddWithValue("?UserId", props.UserId.ToString()); put.Parameters.AddWithValue("?TagId", props.TagId.ToString()); @@ -1064,14 +1016,7 @@ namespace OpenSim.Data.MySQL public bool SetUserAppData(UserAppData props, ref string result) { - string query = string.Empty; - - query += "UPDATE userdata SET "; - query += "TagId = ?TagId, "; - query += "DataKey = ?DataKey, "; - query += "DataVal = ?DataVal WHERE "; - query += "UserId = ?UserId AND "; - query += "TagId = ?TagId"; + const string query = "UPDATE userdata SET TagId = ?TagId, DataKey = ?DataKey, DataVal = ?DataVal WHERE UserId = ?UserId AND TagId = ?TagId"; try { From 76337b1d8e532173d37038539163cbda9a742281 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 20:38:38 +0100 Subject: [PATCH 15/19] another misplaced close --- OpenSim/Data/MySQL/MySQLAssetData.cs | 42 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index 27cc0ba5bd..8569c903a6 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs @@ -158,28 +158,27 @@ namespace OpenSim.Data.MySQL /// On failure : Throw an exception and attempt to reconnect to database override public bool StoreAsset(AssetBase asset) { + string assetName = asset.Name; + if (asset.Name.Length > AssetBase.MAX_ASSET_NAME) + { + assetName = asset.Name.Substring(0, AssetBase.MAX_ASSET_NAME); + m_log.WarnFormat( + "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Name, asset.ID, asset.Name.Length, assetName.Length); + } + + string assetDescription = asset.Description; + if (asset.Description.Length > AssetBase.MAX_ASSET_DESC) + { + assetDescription = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC); + m_log.WarnFormat( + "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); + } + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); - - string assetName = asset.Name; - if (asset.Name.Length > AssetBase.MAX_ASSET_NAME) - { - assetName = asset.Name.Substring(0, AssetBase.MAX_ASSET_NAME); - m_log.WarnFormat( - "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", - asset.Name, asset.ID, asset.Name.Length, assetName.Length); - } - - string assetDescription = asset.Description; - if (asset.Description.Length > AssetBase.MAX_ASSET_DESC) - { - assetDescription = asset.Description.Substring(0, AssetBase.MAX_ASSET_DESC); - m_log.WarnFormat( - "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", - asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); - } - using (MySqlCommand cmd = new MySqlCommand( "replace INTO assets(id, name, description, assetType, local, temporary, create_time, access_time, asset_flags, CreatorID, data)" + @@ -202,16 +201,17 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?asset_flags", (int)asset.Flags); cmd.Parameters.AddWithValue("?data", asset.Data); cmd.ExecuteNonQuery(); + dbcon.Close(); return true; } catch (Exception e) { m_log.ErrorFormat("[ASSET DB]: MySQL failure creating asset {0} with name \"{1}\". Error: {2}", asset.FullID, asset.Name, e.Message); + dbcon.Close(); return false; } - } - dbcon.Close(); + } } } From 4b2ef46de6dc49926f111d30d2a26b6bf8c19601 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 20:40:29 +0100 Subject: [PATCH 16/19] don't hold dbconn longer than necessart --- OpenSim/Data/MySQL/MySQLXAssetData.cs | 52 ++++++++++++++++----------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs index e519a94528..9f9c9cf4fa 100644 --- a/OpenSim/Data/MySQL/MySQLXAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs @@ -131,6 +131,7 @@ namespace OpenSim.Data.MySQL // m_log.DebugFormat("[MYSQL XASSET DATA]: Looking for asset {0}", assetID); AssetBase asset = null; + int accessTime = 0; using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { @@ -141,7 +142,6 @@ namespace OpenSim.Data.MySQL dbcon)) { cmd.Parameters.AddWithValue("?ID", assetID.ToString()); - try { using (MySqlDataReader dbReader = cmd.ExecuteReader(CommandBehavior.SingleRow)) @@ -160,25 +160,7 @@ namespace OpenSim.Data.MySQL asset.Temporary = Convert.ToBoolean(dbReader["Temporary"]); asset.Flags = (AssetFlags)Convert.ToInt32(dbReader["AssetFlags"]); - - if (m_enableCompression) - { - using(MemoryStream ms = new MemoryStream(asset.Data)) - using(GZipStream decompressionStream = new GZipStream(ms, CompressionMode.Decompress)) - { - using(MemoryStream outputStream = new MemoryStream()) - { - decompressionStream.CopyTo(outputStream, int.MaxValue); -// int compressedLength = asset.Data.Length; - asset.Data = outputStream.ToArray(); - } -// m_log.DebugFormat( -// "[XASSET DB]: Decompressed {0} {1} to {2} bytes from {3}", -// asset.ID, asset.Name, asset.Data.Length, compressedLength); - } - } - - UpdateAccessTime(asset.Metadata, (int)dbReader["AccessTime"]); + accessTime = (int)dbReader["AccessTime"]; } } } @@ -190,7 +172,35 @@ namespace OpenSim.Data.MySQL dbcon.Close(); } - return asset; + if(asset == null) + return asset; + + if(accessTime > 0) + { + try + { + UpdateAccessTime(asset.Metadata, accessTime); + } + catch { } + } + + if (m_enableCompression && asset.Data != null) + { + using(MemoryStream ms = new MemoryStream(asset.Data)) + using(GZipStream decompressionStream = new GZipStream(ms, CompressionMode.Decompress)) + { + using(MemoryStream outputStream = new MemoryStream()) + { + decompressionStream.CopyTo(outputStream, int.MaxValue); +// int compressedLength = asset.Data.Length; + asset.Data = outputStream.ToArray(); + } +// m_log.DebugFormat( +// "[XASSET DB]: Decompressed {0} {1} to {2} bytes from {3}", +// asset.ID, asset.Name, asset.Data.Length, compressedLength); + } + } + return asset; } ///

From c57215687f6ab0a9585c5331edc2da89a88b8a28 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 21:43:22 +0100 Subject: [PATCH 17/19] a few more changes on mysql --- OpenSim/Data/MySQL/MySQLAuthenticationData.cs | 38 ++++++------ OpenSim/Data/MySQL/MySQLEstateData.cs | 7 ++- OpenSim/Data/MySQL/MySQLFSAssetData.cs | 3 +- OpenSim/Data/MySQL/MySQLSimulationData.cs | 62 +++++++++++-------- 4 files changed, 61 insertions(+), 49 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLAuthenticationData.cs b/OpenSim/Data/MySQL/MySQLAuthenticationData.cs index 5030c1d0f9..fef582e809 100644 --- a/OpenSim/Data/MySQL/MySQLAuthenticationData.cs +++ b/OpenSim/Data/MySQL/MySQLAuthenticationData.cs @@ -77,30 +77,32 @@ namespace OpenSim.Data.MySQL { cmd.Parameters.AddWithValue("?principalID", principalID.ToString()); - IDataReader result = cmd.ExecuteReader(); - - if (result.Read()) + using(IDataReader result = cmd.ExecuteReader()) { - ret.PrincipalID = principalID; - - CheckColumnNames(result); - - foreach (string s in m_ColumnNames) + if(result.Read()) { - if (s == "UUID") - continue; + ret.PrincipalID = principalID; - ret.Data[s] = result[s].ToString(); + CheckColumnNames(result); + + foreach(string s in m_ColumnNames) + { + if(s == "UUID") + continue; + + ret.Data[s] = result[s].ToString(); + } + + dbcon.Close(); + return ret; + } + else + { + dbcon.Close(); + return null; } - - return ret; - } - else - { - return null; } } - dbcon.Close(); } } diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs index 12593f6c95..eeedf02b29 100644 --- a/OpenSim/Data/MySQL/MySQLEstateData.cs +++ b/OpenSim/Data/MySQL/MySQLEstateData.cs @@ -82,6 +82,7 @@ namespace OpenSim.Data.MySQL Migration m = new Migration(dbcon, Assembly, "EstateStore"); m.Update(); + dbcon.Close(); Type t = typeof(EstateSettings); m_Fields = t.GetFields(BindingFlags.NonPublic | @@ -143,7 +144,6 @@ namespace OpenSim.Data.MySQL using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); - cmd.Connection = dbcon; bool found = false; @@ -171,13 +171,14 @@ namespace OpenSim.Data.MySQL } } } + dbcon.Close(); + cmd.Connection = null; + if (!found && create) { DoCreate(es); LinkRegion(regionID, (int)es.EstateID); } - cmd.Connection = null; - dbcon.Close(); } LoadBanList(es); diff --git a/OpenSim/Data/MySQL/MySQLFSAssetData.cs b/OpenSim/Data/MySQL/MySQLFSAssetData.cs index 0918596ca8..6c486077d3 100644 --- a/OpenSim/Data/MySQL/MySQLFSAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLFSAssetData.cs @@ -78,6 +78,7 @@ namespace OpenSim.Data.MySQL conn.Open(); Migration m = new Migration(conn, Assembly, "FSAssetStore"); m.Update(); + conn.Close(); } } catch (MySqlException e) @@ -126,8 +127,8 @@ namespace OpenSim.Data.MySQL m_log.ErrorFormat("[FSASSETS]: Query {0} failed with {1}", cmd.CommandText, e.ToString()); return false; } - cmd.Connection = null; conn.Close(); + cmd.Connection = null; } return true; diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 8d1a4a5713..3ea5805163 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -262,6 +262,7 @@ namespace OpenSim.Data.MySQL ExecuteNonQuery(cmd); } } + dbcon.Close(); } } } @@ -301,6 +302,7 @@ namespace OpenSim.Data.MySQL cmd.CommandText = "delete from prims where SceneGroupID= ?UUID"; ExecuteNonQuery(cmd); } + dbcon.Close(); } } @@ -961,6 +963,7 @@ namespace OpenSim.Data.MySQL public virtual RegionSettings LoadRegionSettings(UUID regionUUID) { RegionSettings rs = null; + bool needStore = false; lock (m_dbLock) { @@ -986,7 +989,7 @@ namespace OpenSim.Data.MySQL rs.RegionUUID = regionUUID; rs.OnSave += StoreRegionSettings; - StoreRegionSettings(rs); + needStore = true; } } } @@ -994,6 +997,9 @@ namespace OpenSim.Data.MySQL } } + if(needStore) + StoreRegionSettings(rs); + LoadSpawnPoints(rs); return rs; @@ -1007,31 +1013,32 @@ namespace OpenSim.Data.MySQL using (MySqlCommand cmd = dbcon.CreateCommand()) { - cmd.CommandText = "REPLACE INTO `regionwindlight` (`region_id`, `water_color_r`, `water_color_g`, "; - cmd.CommandText += "`water_color_b`, `water_fog_density_exponent`, `underwater_fog_modifier`, "; - cmd.CommandText += "`reflection_wavelet_scale_1`, `reflection_wavelet_scale_2`, `reflection_wavelet_scale_3`, "; - cmd.CommandText += "`fresnel_scale`, `fresnel_offset`, `refract_scale_above`, `refract_scale_below`, "; - cmd.CommandText += "`blur_multiplier`, `big_wave_direction_x`, `big_wave_direction_y`, `little_wave_direction_x`, "; - cmd.CommandText += "`little_wave_direction_y`, `normal_map_texture`, `horizon_r`, `horizon_g`, `horizon_b`, "; - cmd.CommandText += "`horizon_i`, `haze_horizon`, `blue_density_r`, `blue_density_g`, `blue_density_b`, "; - cmd.CommandText += "`blue_density_i`, `haze_density`, `density_multiplier`, `distance_multiplier`, `max_altitude`, "; - cmd.CommandText += "`sun_moon_color_r`, `sun_moon_color_g`, `sun_moon_color_b`, `sun_moon_color_i`, `sun_moon_position`, "; - cmd.CommandText += "`ambient_r`, `ambient_g`, `ambient_b`, `ambient_i`, `east_angle`, `sun_glow_focus`, `sun_glow_size`, "; - cmd.CommandText += "`scene_gamma`, `star_brightness`, `cloud_color_r`, `cloud_color_g`, `cloud_color_b`, `cloud_color_i`, "; - cmd.CommandText += "`cloud_x`, `cloud_y`, `cloud_density`, `cloud_coverage`, `cloud_scale`, `cloud_detail_x`, "; - cmd.CommandText += "`cloud_detail_y`, `cloud_detail_density`, `cloud_scroll_x`, `cloud_scroll_x_lock`, `cloud_scroll_y`, "; - cmd.CommandText += "`cloud_scroll_y_lock`, `draw_classic_clouds`) VALUES (?region_id, ?water_color_r, "; - cmd.CommandText += "?water_color_g, ?water_color_b, ?water_fog_density_exponent, ?underwater_fog_modifier, ?reflection_wavelet_scale_1, "; - cmd.CommandText += "?reflection_wavelet_scale_2, ?reflection_wavelet_scale_3, ?fresnel_scale, ?fresnel_offset, ?refract_scale_above, "; - cmd.CommandText += "?refract_scale_below, ?blur_multiplier, ?big_wave_direction_x, ?big_wave_direction_y, ?little_wave_direction_x, "; - cmd.CommandText += "?little_wave_direction_y, ?normal_map_texture, ?horizon_r, ?horizon_g, ?horizon_b, ?horizon_i, ?haze_horizon, "; - cmd.CommandText += "?blue_density_r, ?blue_density_g, ?blue_density_b, ?blue_density_i, ?haze_density, ?density_multiplier, "; - cmd.CommandText += "?distance_multiplier, ?max_altitude, ?sun_moon_color_r, ?sun_moon_color_g, ?sun_moon_color_b, "; - cmd.CommandText += "?sun_moon_color_i, ?sun_moon_position, ?ambient_r, ?ambient_g, ?ambient_b, ?ambient_i, ?east_angle, "; - cmd.CommandText += "?sun_glow_focus, ?sun_glow_size, ?scene_gamma, ?star_brightness, ?cloud_color_r, ?cloud_color_g, "; - cmd.CommandText += "?cloud_color_b, ?cloud_color_i, ?cloud_x, ?cloud_y, ?cloud_density, ?cloud_coverage, ?cloud_scale, "; - cmd.CommandText += "?cloud_detail_x, ?cloud_detail_y, ?cloud_detail_density, ?cloud_scroll_x, ?cloud_scroll_x_lock, "; - cmd.CommandText += "?cloud_scroll_y, ?cloud_scroll_y_lock, ?draw_classic_clouds)"; + cmd.CommandText = "REPLACE INTO `regionwindlight` (`region_id`, `water_color_r`, `water_color_g`, " + + "`water_color_b`, `water_fog_density_exponent`, `underwater_fog_modifier`, " + + "`reflection_wavelet_scale_1`, `reflection_wavelet_scale_2`, `reflection_wavelet_scale_3`, " + + "`fresnel_scale`, `fresnel_offset`, `refract_scale_above`, `refract_scale_below`, " + + "`blur_multiplier`, `big_wave_direction_x`, `big_wave_direction_y`, `little_wave_direction_x`, " + + "`little_wave_direction_y`, `normal_map_texture`, `horizon_r`, `horizon_g`, `horizon_b`, " + + "`horizon_i`, `haze_horizon`, `blue_density_r`, `blue_density_g`, `blue_density_b`, " + + "`blue_density_i`, `haze_density`, `density_multiplier`, `distance_multiplier`, `max_altitude`, " + + "`sun_moon_color_r`, `sun_moon_color_g`, `sun_moon_color_b`, `sun_moon_color_i`, `sun_moon_position`, " + + "`ambient_r`, `ambient_g`, `ambient_b`, `ambient_i`, `east_angle`, `sun_glow_focus`, `sun_glow_size`, " + + "`scene_gamma`, `star_brightness`, `cloud_color_r`, `cloud_color_g`, `cloud_color_b`, `cloud_color_i`, " + + "`cloud_x`, `cloud_y`, `cloud_density`, `cloud_coverage`, `cloud_scale`, `cloud_detail_x`, " + + "`cloud_detail_y`, `cloud_detail_density`, `cloud_scroll_x`, `cloud_scroll_x_lock`, `cloud_scroll_y`, " + + "`cloud_scroll_y_lock`, `draw_classic_clouds`) VALUES (?region_id, ?water_color_r, " + + "?water_color_g, ?water_color_b, ?water_fog_density_exponent, ?underwater_fog_modifier, ?reflection_wavelet_scale_1, " + + "?reflection_wavelet_scale_2, ?reflection_wavelet_scale_3, ?fresnel_scale, ?fresnel_offset, ?refract_scale_above, " + + "?refract_scale_below, ?blur_multiplier, ?big_wave_direction_x, ?big_wave_direction_y, ?little_wave_direction_x, " + + "?little_wave_direction_y, ?normal_map_texture, ?horizon_r, ?horizon_g, ?horizon_b, ?horizon_i, ?haze_horizon, " + + "?blue_density_r, ?blue_density_g, ?blue_density_b, ?blue_density_i, ?haze_density, ?density_multiplier, " + + "?distance_multiplier, ?max_altitude, ?sun_moon_color_r, ?sun_moon_color_g, ?sun_moon_color_b, " + + "?sun_moon_color_i, ?sun_moon_position, ?ambient_r, ?ambient_g, ?ambient_b, ?ambient_i, ?east_angle, " + + "?sun_glow_focus, ?sun_glow_size, ?scene_gamma, ?star_brightness, ?cloud_color_r, ?cloud_color_g, " + + "?cloud_color_b, ?cloud_color_i, ?cloud_x, ?cloud_y, ?cloud_density, ?cloud_coverage, ?cloud_scale, " + + "?cloud_detail_x, ?cloud_detail_y, ?cloud_detail_density, ?cloud_scroll_x, ?cloud_scroll_x_lock, " + + "?cloud_scroll_y, ?cloud_scroll_y_lock, ?draw_classic_clouds)" + ; cmd.Parameters.AddWithValue("region_id", wl.regionID); cmd.Parameters.AddWithValue("water_color_r", wl.waterColor.X); @@ -1137,14 +1144,15 @@ namespace OpenSim.Data.MySQL IDataReader result = ExecuteReader(cmd); if (!result.Read()) { + dbcon.Close(); return String.Empty; } else { + dbcon.Close(); return Convert.ToString(result["llsd_settings"]); } } - dbcon.Close(); } } From de55ad9545a9a2709899efd57c1a81c4798bb779 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 May 2017 22:12:45 +0100 Subject: [PATCH 18/19] oops closed too soon --- OpenSim/Data/MySQL/MySQLSimulationData.cs | 169 +++++++++++----------- 1 file changed, 87 insertions(+), 82 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 3ea5805163..47663722fd 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -878,80 +878,82 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?regionID", regionUUID.ToString()); - IDataReader result = ExecuteReader(cmd); - if (!result.Read()) + using(IDataReader result = ExecuteReader(cmd)) { - //No result, so store our default windlight profile and return it - nWP.regionID = regionUUID; -// StoreRegionWindlightSettings(nWP); - return nWP; - } - else - { - nWP.regionID = DBGuid.FromDB(result["region_id"]); - nWP.waterColor.X = Convert.ToSingle(result["water_color_r"]); - nWP.waterColor.Y = Convert.ToSingle(result["water_color_g"]); - nWP.waterColor.Z = Convert.ToSingle(result["water_color_b"]); - nWP.waterFogDensityExponent = Convert.ToSingle(result["water_fog_density_exponent"]); - nWP.underwaterFogModifier = Convert.ToSingle(result["underwater_fog_modifier"]); - nWP.reflectionWaveletScale.X = Convert.ToSingle(result["reflection_wavelet_scale_1"]); - nWP.reflectionWaveletScale.Y = Convert.ToSingle(result["reflection_wavelet_scale_2"]); - nWP.reflectionWaveletScale.Z = Convert.ToSingle(result["reflection_wavelet_scale_3"]); - nWP.fresnelScale = Convert.ToSingle(result["fresnel_scale"]); - nWP.fresnelOffset = Convert.ToSingle(result["fresnel_offset"]); - nWP.refractScaleAbove = Convert.ToSingle(result["refract_scale_above"]); - nWP.refractScaleBelow = Convert.ToSingle(result["refract_scale_below"]); - nWP.blurMultiplier = Convert.ToSingle(result["blur_multiplier"]); - nWP.bigWaveDirection.X = Convert.ToSingle(result["big_wave_direction_x"]); - nWP.bigWaveDirection.Y = Convert.ToSingle(result["big_wave_direction_y"]); - nWP.littleWaveDirection.X = Convert.ToSingle(result["little_wave_direction_x"]); - nWP.littleWaveDirection.Y = Convert.ToSingle(result["little_wave_direction_y"]); - UUID.TryParse(result["normal_map_texture"].ToString(), out nWP.normalMapTexture); - nWP.horizon.X = Convert.ToSingle(result["horizon_r"]); - nWP.horizon.Y = Convert.ToSingle(result["horizon_g"]); - nWP.horizon.Z = Convert.ToSingle(result["horizon_b"]); - nWP.horizon.W = Convert.ToSingle(result["horizon_i"]); - nWP.hazeHorizon = Convert.ToSingle(result["haze_horizon"]); - nWP.blueDensity.X = Convert.ToSingle(result["blue_density_r"]); - nWP.blueDensity.Y = Convert.ToSingle(result["blue_density_g"]); - nWP.blueDensity.Z = Convert.ToSingle(result["blue_density_b"]); - nWP.blueDensity.W = Convert.ToSingle(result["blue_density_i"]); - nWP.hazeDensity = Convert.ToSingle(result["haze_density"]); - nWP.densityMultiplier = Convert.ToSingle(result["density_multiplier"]); - nWP.distanceMultiplier = Convert.ToSingle(result["distance_multiplier"]); - nWP.maxAltitude = Convert.ToUInt16(result["max_altitude"]); - nWP.sunMoonColor.X = Convert.ToSingle(result["sun_moon_color_r"]); - nWP.sunMoonColor.Y = Convert.ToSingle(result["sun_moon_color_g"]); - nWP.sunMoonColor.Z = Convert.ToSingle(result["sun_moon_color_b"]); - nWP.sunMoonColor.W = Convert.ToSingle(result["sun_moon_color_i"]); - nWP.sunMoonPosition = Convert.ToSingle(result["sun_moon_position"]); - nWP.ambient.X = Convert.ToSingle(result["ambient_r"]); - nWP.ambient.Y = Convert.ToSingle(result["ambient_g"]); - nWP.ambient.Z = Convert.ToSingle(result["ambient_b"]); - nWP.ambient.W = Convert.ToSingle(result["ambient_i"]); - nWP.eastAngle = Convert.ToSingle(result["east_angle"]); - nWP.sunGlowFocus = Convert.ToSingle(result["sun_glow_focus"]); - nWP.sunGlowSize = Convert.ToSingle(result["sun_glow_size"]); - nWP.sceneGamma = Convert.ToSingle(result["scene_gamma"]); - nWP.starBrightness = Convert.ToSingle(result["star_brightness"]); - nWP.cloudColor.X = Convert.ToSingle(result["cloud_color_r"]); - nWP.cloudColor.Y = Convert.ToSingle(result["cloud_color_g"]); - nWP.cloudColor.Z = Convert.ToSingle(result["cloud_color_b"]); - nWP.cloudColor.W = Convert.ToSingle(result["cloud_color_i"]); - nWP.cloudXYDensity.X = Convert.ToSingle(result["cloud_x"]); - nWP.cloudXYDensity.Y = Convert.ToSingle(result["cloud_y"]); - nWP.cloudXYDensity.Z = Convert.ToSingle(result["cloud_density"]); - nWP.cloudCoverage = Convert.ToSingle(result["cloud_coverage"]); - nWP.cloudScale = Convert.ToSingle(result["cloud_scale"]); - nWP.cloudDetailXYDensity.X = Convert.ToSingle(result["cloud_detail_x"]); - nWP.cloudDetailXYDensity.Y = Convert.ToSingle(result["cloud_detail_y"]); - nWP.cloudDetailXYDensity.Z = Convert.ToSingle(result["cloud_detail_density"]); - nWP.cloudScrollX = Convert.ToSingle(result["cloud_scroll_x"]); - nWP.cloudScrollXLock = Convert.ToBoolean(result["cloud_scroll_x_lock"]); - nWP.cloudScrollY = Convert.ToSingle(result["cloud_scroll_y"]); - nWP.cloudScrollYLock = Convert.ToBoolean(result["cloud_scroll_y_lock"]); - nWP.drawClassicClouds = Convert.ToBoolean(result["draw_classic_clouds"]); - nWP.valid = true; + if(!result.Read()) + { + //No result, so store our default windlight profile and return it + nWP.regionID = regionUUID; + // StoreRegionWindlightSettings(nWP); + return nWP; + } + else + { + nWP.regionID = DBGuid.FromDB(result["region_id"]); + nWP.waterColor.X = Convert.ToSingle(result["water_color_r"]); + nWP.waterColor.Y = Convert.ToSingle(result["water_color_g"]); + nWP.waterColor.Z = Convert.ToSingle(result["water_color_b"]); + nWP.waterFogDensityExponent = Convert.ToSingle(result["water_fog_density_exponent"]); + nWP.underwaterFogModifier = Convert.ToSingle(result["underwater_fog_modifier"]); + nWP.reflectionWaveletScale.X = Convert.ToSingle(result["reflection_wavelet_scale_1"]); + nWP.reflectionWaveletScale.Y = Convert.ToSingle(result["reflection_wavelet_scale_2"]); + nWP.reflectionWaveletScale.Z = Convert.ToSingle(result["reflection_wavelet_scale_3"]); + nWP.fresnelScale = Convert.ToSingle(result["fresnel_scale"]); + nWP.fresnelOffset = Convert.ToSingle(result["fresnel_offset"]); + nWP.refractScaleAbove = Convert.ToSingle(result["refract_scale_above"]); + nWP.refractScaleBelow = Convert.ToSingle(result["refract_scale_below"]); + nWP.blurMultiplier = Convert.ToSingle(result["blur_multiplier"]); + nWP.bigWaveDirection.X = Convert.ToSingle(result["big_wave_direction_x"]); + nWP.bigWaveDirection.Y = Convert.ToSingle(result["big_wave_direction_y"]); + nWP.littleWaveDirection.X = Convert.ToSingle(result["little_wave_direction_x"]); + nWP.littleWaveDirection.Y = Convert.ToSingle(result["little_wave_direction_y"]); + UUID.TryParse(result["normal_map_texture"].ToString(),out nWP.normalMapTexture); + nWP.horizon.X = Convert.ToSingle(result["horizon_r"]); + nWP.horizon.Y = Convert.ToSingle(result["horizon_g"]); + nWP.horizon.Z = Convert.ToSingle(result["horizon_b"]); + nWP.horizon.W = Convert.ToSingle(result["horizon_i"]); + nWP.hazeHorizon = Convert.ToSingle(result["haze_horizon"]); + nWP.blueDensity.X = Convert.ToSingle(result["blue_density_r"]); + nWP.blueDensity.Y = Convert.ToSingle(result["blue_density_g"]); + nWP.blueDensity.Z = Convert.ToSingle(result["blue_density_b"]); + nWP.blueDensity.W = Convert.ToSingle(result["blue_density_i"]); + nWP.hazeDensity = Convert.ToSingle(result["haze_density"]); + nWP.densityMultiplier = Convert.ToSingle(result["density_multiplier"]); + nWP.distanceMultiplier = Convert.ToSingle(result["distance_multiplier"]); + nWP.maxAltitude = Convert.ToUInt16(result["max_altitude"]); + nWP.sunMoonColor.X = Convert.ToSingle(result["sun_moon_color_r"]); + nWP.sunMoonColor.Y = Convert.ToSingle(result["sun_moon_color_g"]); + nWP.sunMoonColor.Z = Convert.ToSingle(result["sun_moon_color_b"]); + nWP.sunMoonColor.W = Convert.ToSingle(result["sun_moon_color_i"]); + nWP.sunMoonPosition = Convert.ToSingle(result["sun_moon_position"]); + nWP.ambient.X = Convert.ToSingle(result["ambient_r"]); + nWP.ambient.Y = Convert.ToSingle(result["ambient_g"]); + nWP.ambient.Z = Convert.ToSingle(result["ambient_b"]); + nWP.ambient.W = Convert.ToSingle(result["ambient_i"]); + nWP.eastAngle = Convert.ToSingle(result["east_angle"]); + nWP.sunGlowFocus = Convert.ToSingle(result["sun_glow_focus"]); + nWP.sunGlowSize = Convert.ToSingle(result["sun_glow_size"]); + nWP.sceneGamma = Convert.ToSingle(result["scene_gamma"]); + nWP.starBrightness = Convert.ToSingle(result["star_brightness"]); + nWP.cloudColor.X = Convert.ToSingle(result["cloud_color_r"]); + nWP.cloudColor.Y = Convert.ToSingle(result["cloud_color_g"]); + nWP.cloudColor.Z = Convert.ToSingle(result["cloud_color_b"]); + nWP.cloudColor.W = Convert.ToSingle(result["cloud_color_i"]); + nWP.cloudXYDensity.X = Convert.ToSingle(result["cloud_x"]); + nWP.cloudXYDensity.Y = Convert.ToSingle(result["cloud_y"]); + nWP.cloudXYDensity.Z = Convert.ToSingle(result["cloud_density"]); + nWP.cloudCoverage = Convert.ToSingle(result["cloud_coverage"]); + nWP.cloudScale = Convert.ToSingle(result["cloud_scale"]); + nWP.cloudDetailXYDensity.X = Convert.ToSingle(result["cloud_detail_x"]); + nWP.cloudDetailXYDensity.Y = Convert.ToSingle(result["cloud_detail_y"]); + nWP.cloudDetailXYDensity.Z = Convert.ToSingle(result["cloud_detail_density"]); + nWP.cloudScrollX = Convert.ToSingle(result["cloud_scroll_x"]); + nWP.cloudScrollXLock = Convert.ToBoolean(result["cloud_scroll_x_lock"]); + nWP.cloudScrollY = Convert.ToSingle(result["cloud_scroll_y"]); + nWP.cloudScrollYLock = Convert.ToBoolean(result["cloud_scroll_y_lock"]); + nWP.drawClassicClouds = Convert.ToBoolean(result["draw_classic_clouds"]); + nWP.valid = true; + } } } dbcon.Close(); @@ -1141,16 +1143,19 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("?region_id", regionUUID.ToString()); - IDataReader result = ExecuteReader(cmd); - if (!result.Read()) + using(IDataReader result = ExecuteReader(cmd)) { - dbcon.Close(); - return String.Empty; - } - else - { - dbcon.Close(); - return Convert.ToString(result["llsd_settings"]); + if(!result.Read()) + { + dbcon.Close(); + return String.Empty; + } + else + { + string ret = Convert.ToString(result["llsd_settings"]); + dbcon.Close(); + return ret; + } } } } From d0912b61516914f810ba306641aaaa813134462e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 7 May 2017 00:47:45 +0100 Subject: [PATCH 19/19] let StreamReader be in using statements --- .../HGGroupsServiceRobustConnector.cs | 7 ++-- .../Remote/GroupsServiceRobustConnector.cs | 7 ++-- .../Servers/HttpServer/BaseHttpServer.cs | 42 +++++++------------ .../Servers/HttpServer/RestStreamHandler.cs | 7 ++-- .../Linden/Caps/RegionConsoleModule.cs | 5 ++- .../Avatar/Friends/FriendsRequestHandler.cs | 7 ++-- .../World/Estate/EstateRequestHandler.cs | 7 ++-- .../Avatar/Concierge/ConciergeModule.cs | 5 +-- .../AuthenticationServerPostHandler.cs | 8 ++-- .../Authentication/OpenIdServerHandler.cs | 5 ++- .../Avatar/AvatarServerPostHandler.cs | 6 +-- .../BakedTextures/XBakesPostHandler.cs | 6 +-- .../Estate/EstateDataRobustConnector.cs | 7 ++-- .../Friends/FriendsServerPostHandler.cs | 6 +-- .../Handlers/Grid/GridServerPostHandler.cs | 6 +-- .../GridUser/GridUserServerPostHandler.cs | 6 +-- .../Hypergrid/HGFriendsServerPostHandler.cs | 6 +-- .../Inventory/XInventoryInConnector.cs | 6 +-- .../Handlers/Map/MapAddServerConnector.cs | 6 +-- .../Handlers/Map/MapRemoveServerConnector.cs | 6 +-- .../UserAccountServerPostHandler.cs | 6 +-- .../Neighbour/NeighbourServicesConnector.cs | 2 +- 22 files changed, 81 insertions(+), 88 deletions(-) diff --git a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs index af007709be..51f3ec15e0 100644 --- a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs @@ -115,9 +115,10 @@ namespace OpenSim.Groups protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); + body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs index 598e7a5a9d..8502bb5bda 100644 --- a/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs @@ -91,9 +91,10 @@ namespace OpenSim.Groups protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); + body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index fb92b9237a..c32ee28381 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -399,11 +399,10 @@ namespace OpenSim.Framework.Servers.HttpServer Stream requestStream = req.InputStream; + string requestBody; Encoding encoding = Encoding.UTF8; - StreamReader reader = new StreamReader(requestStream, encoding); - - string requestBody = reader.ReadToEnd(); - reader.Close(); + using(StreamReader reader = new StreamReader(requestStream, encoding)) + requestBody = reader.ReadToEnd(); Hashtable keysvals = new Hashtable(); Hashtable headervals = new Hashtable(); @@ -567,13 +566,10 @@ namespace OpenSim.Framework.Servers.HttpServer IGenericHTTPHandler HTTPRequestHandler = requestHandler as IGenericHTTPHandler; Stream requestStream = request.InputStream; + string requestBody; Encoding encoding = Encoding.UTF8; - StreamReader reader = new StreamReader(requestStream, encoding); - - string requestBody = reader.ReadToEnd(); - - reader.Close(); - //requestStream.Close(); + using(StreamReader reader = new StreamReader(requestStream, encoding)) + requestBody = reader.ReadToEnd(); Hashtable keysvals = new Hashtable(); Hashtable headervals = new Hashtable(); @@ -690,7 +686,7 @@ namespace OpenSim.Framework.Servers.HttpServer } } - request.InputStream.Close(); + request.InputStream.Dispose(); if (buffer != null) { @@ -998,7 +994,7 @@ namespace OpenSim.Framework.Servers.HttpServer { String requestBody; - Stream requestStream = request.InputStream; + Stream requestStream = Util.Copy(request.InputStream); Stream innerStream = null; try { @@ -1009,9 +1005,8 @@ namespace OpenSim.Framework.Servers.HttpServer } using (StreamReader reader = new StreamReader(requestStream, Encoding.UTF8)) - { requestBody = reader.ReadToEnd(); - } + } finally { @@ -1263,12 +1258,10 @@ namespace OpenSim.Framework.Servers.HttpServer //m_log.Warn("[BASE HTTP SERVER]: We've figured out it's a LLSD Request"); Stream requestStream = request.InputStream; + string requestBody; Encoding encoding = Encoding.UTF8; - StreamReader reader = new StreamReader(requestStream, encoding); - - string requestBody = reader.ReadToEnd(); - reader.Close(); - requestStream.Close(); + using(StreamReader reader = new StreamReader(requestStream, encoding)) + requestBody= reader.ReadToEnd(); //m_log.DebugFormat("[OGP]: {0}:{1}", request.RawUrl, requestBody); response.KeepAlive = true; @@ -1592,15 +1585,10 @@ namespace OpenSim.Framework.Servers.HttpServer byte[] buffer; Stream requestStream = request.InputStream; - + string requestBody; Encoding encoding = Encoding.UTF8; - StreamReader reader = new StreamReader(requestStream, encoding); - - string requestBody = reader.ReadToEnd(); - // avoid warning for now - reader.ReadToEnd(); - reader.Close(); - requestStream.Close(); + using(StreamReader reader = new StreamReader(requestStream, encoding)) + requestBody = reader.ReadToEnd(); Hashtable keysvals = new Hashtable(); Hashtable headervals = new Hashtable(); diff --git a/OpenSim/Framework/Servers/HttpServer/RestStreamHandler.cs b/OpenSim/Framework/Servers/HttpServer/RestStreamHandler.cs index 0305dee118..dfc27157a3 100644 --- a/OpenSim/Framework/Servers/HttpServer/RestStreamHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/RestStreamHandler.cs @@ -50,11 +50,10 @@ namespace OpenSim.Framework.Servers.HttpServer protected override byte[] ProcessRequest(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { + string requestBody; Encoding encoding = Encoding.UTF8; - StreamReader streamReader = new StreamReader(request, encoding); - - string requestBody = streamReader.ReadToEnd(); - streamReader.Close(); + using(StreamReader streamReader = new StreamReader(request,encoding)) + requestBody = streamReader.ReadToEnd(); string param = GetParam(path); string responseString = m_restMethod(requestBody, path, param, httpRequest, httpResponse); diff --git a/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs index b3e3ac3795..e8387e3de2 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs @@ -185,8 +185,9 @@ namespace OpenSim.Region.ClientStack.Linden protected override byte[] ProcessRequest(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader reader = new StreamReader(request); - string message = reader.ReadToEnd(); + string message; + using(StreamReader reader = new StreamReader(request)) + message = reader.ReadToEnd(); OSD osd = OSDParser.DeserializeLLSDXml(message); diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs index 81aa8829a4..091b1975e4 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs @@ -65,9 +65,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends protected override byte[] ProcessRequest( string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); + body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateRequestHandler.cs b/OpenSim/Region/CoreModules/World/Estate/EstateRequestHandler.cs index 7ab92d1a47..5eda8ab02b 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateRequestHandler.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateRequestHandler.cs @@ -60,9 +60,10 @@ namespace OpenSim.Region.CoreModules.World.Estate protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); + body = body.Trim(); // m_log.DebugFormat("[XESTATE HANDLER]: query String: {0}", body); diff --git a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs index c0de3d95db..a5dc0ad0d0 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs @@ -460,9 +460,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge if (resp.ContentLength > 0) { - StreamReader content = new StreamReader(resp.GetResponseStream()); - m_log.ErrorFormat("[Concierge] response from {0} content: {1}", bs.Uri, content.ReadToEnd()); - content.Close(); + using(StreamReader content = new StreamReader(resp.GetResponseStream())) + m_log.ErrorFormat("[Concierge] response from {0} content: {1}", bs.Uri, content.ReadToEnd()); } } } diff --git a/OpenSim/Server/Handlers/Authentication/AuthenticationServerPostHandler.cs b/OpenSim/Server/Handlers/Authentication/AuthenticationServerPostHandler.cs index d3ea7e23da..4f03cf4a28 100644 --- a/OpenSim/Server/Handlers/Authentication/AuthenticationServerPostHandler.cs +++ b/OpenSim/Server/Handlers/Authentication/AuthenticationServerPostHandler.cs @@ -82,11 +82,11 @@ namespace OpenSim.Server.Handlers.Authentication switch (p[0]) { case "plain": - StreamReader sr = new StreamReader(request); - string body = sr.ReadToEnd(); - sr.Close(); - + string body; + using(StreamReader sr = new StreamReader(request)) + body = sr.ReadToEnd(); return DoPlainMethods(body); + case "crypt": byte[] buffer = new byte[request.Length]; long length = request.Length; diff --git a/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs b/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs index a6605a113b..254b82fadd 100644 --- a/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs +++ b/OpenSim/Server/Handlers/Authentication/OpenIdServerHandler.cs @@ -222,7 +222,10 @@ For more information, see http://openid.net/. try { - NameValueCollection postQuery = HttpUtility.ParseQueryString(new StreamReader(httpRequest.InputStream).ReadToEnd()); + string forPost; + using(StreamReader sr = new StreamReader(httpRequest.InputStream)) + forPost = sr.ReadToEnd(); + NameValueCollection postQuery = HttpUtility.ParseQueryString(forPost); NameValueCollection getQuery = HttpUtility.ParseQueryString(httpRequest.Url.Query); NameValueCollection openIdQuery = (postQuery.GetValues("openid.mode") != null ? postQuery : getQuery); diff --git a/OpenSim/Server/Handlers/Avatar/AvatarServerPostHandler.cs b/OpenSim/Server/Handlers/Avatar/AvatarServerPostHandler.cs index 69c1a896f7..b8fdacfb60 100644 --- a/OpenSim/Server/Handlers/Avatar/AvatarServerPostHandler.cs +++ b/OpenSim/Server/Handlers/Avatar/AvatarServerPostHandler.cs @@ -60,9 +60,9 @@ namespace OpenSim.Server.Handlers.Avatar protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Server/Handlers/BakedTextures/XBakesPostHandler.cs b/OpenSim/Server/Handlers/BakedTextures/XBakesPostHandler.cs index 24f63d9319..d16000d572 100644 --- a/OpenSim/Server/Handlers/BakedTextures/XBakesPostHandler.cs +++ b/OpenSim/Server/Handlers/BakedTextures/XBakesPostHandler.cs @@ -65,10 +65,8 @@ namespace OpenSim.Server.Handlers.BakedTextures return new byte[0]; } - StreamReader sr = new StreamReader(request); - - m_BakesService.Store(p[0], sr.ReadToEnd()); - sr.Close(); + using(StreamReader sr = new StreamReader(request)) + m_BakesService.Store(p[0],sr.ReadToEnd()); return new byte[0]; } diff --git a/OpenSim/Server/Handlers/Estate/EstateDataRobustConnector.cs b/OpenSim/Server/Handlers/Estate/EstateDataRobustConnector.cs index e0c281044f..b7558ec2a9 100644 --- a/OpenSim/Server/Handlers/Estate/EstateDataRobustConnector.cs +++ b/OpenSim/Server/Handlers/Estate/EstateDataRobustConnector.cs @@ -282,9 +282,10 @@ namespace OpenSim.Server.Handlers // /estates/estate/?eid=int®ion=uuid if ("estate".Equals(resource)) { - StreamReader sr = new StreamReader(request); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(request)) + body = sr.ReadToEnd(); + body = body.Trim(); Dictionary requestData = ServerUtils.ParseQueryString(body); diff --git a/OpenSim/Server/Handlers/Friends/FriendsServerPostHandler.cs b/OpenSim/Server/Handlers/Friends/FriendsServerPostHandler.cs index 3aab30b3c3..d6668abe13 100644 --- a/OpenSim/Server/Handlers/Friends/FriendsServerPostHandler.cs +++ b/OpenSim/Server/Handlers/Friends/FriendsServerPostHandler.cs @@ -61,9 +61,9 @@ namespace OpenSim.Server.Handlers.Friends protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs b/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs index f51c4ee48c..44d4654ceb 100644 --- a/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs +++ b/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs @@ -65,9 +65,9 @@ namespace OpenSim.Server.Handlers.Grid protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Server/Handlers/GridUser/GridUserServerPostHandler.cs b/OpenSim/Server/Handlers/GridUser/GridUserServerPostHandler.cs index 8806c2cbbd..1f691d66b2 100644 --- a/OpenSim/Server/Handlers/GridUser/GridUserServerPostHandler.cs +++ b/OpenSim/Server/Handlers/GridUser/GridUserServerPostHandler.cs @@ -60,9 +60,9 @@ namespace OpenSim.Server.Handlers.GridUser protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs b/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs index 8116050afe..fc1a77d0e1 100644 --- a/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs +++ b/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs @@ -71,9 +71,9 @@ namespace OpenSim.Server.Handlers.Hypergrid protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs index 4400395c30..742d1a045b 100644 --- a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs +++ b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs @@ -95,9 +95,9 @@ namespace OpenSim.Server.Handlers.Inventory protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); //m_log.DebugFormat("[XXX]: query String: {0}", body); diff --git a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs index 7611f538dd..bfd73a257b 100644 --- a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs +++ b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs @@ -104,9 +104,9 @@ namespace OpenSim.Server.Handlers.MapImage protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { // m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path); - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); try diff --git a/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs b/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs index ffd8ef6fb5..8a3875dc5d 100644 --- a/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs +++ b/OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs @@ -102,9 +102,9 @@ namespace OpenSim.Server.Handlers.MapImage public override byte[] Handle(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { // m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path); - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); try diff --git a/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs b/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs index a02255f01d..bc12ef9b94 100644 --- a/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs +++ b/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs @@ -72,9 +72,9 @@ namespace OpenSim.Server.Handlers.UserAccounts protected override byte[] ProcessRequest(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - StreamReader sr = new StreamReader(requestData); - string body = sr.ReadToEnd(); - sr.Close(); + string body; + using(StreamReader sr = new StreamReader(requestData)) + body = sr.ReadToEnd(); body = body.Trim(); // We need to check the authorization header diff --git a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs index 939059da71..5f075ace29 100644 --- a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs +++ b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs @@ -183,8 +183,8 @@ namespace OpenSim.Services.Connectors { using (StreamReader sr = new StreamReader(s)) { + sr.ReadToEnd(); // just try to read //reply = sr.ReadToEnd().Trim(); - sr.ReadToEnd().Trim(); //m_log.InfoFormat("[REST COMMS]: DoHelloNeighbourCall reply was {0} ", reply); } }