diff --git a/OpenSim/Data/MSSQL/MSSQLEstateData.cs b/OpenSim/Data/MSSQL/MSSQLEstateData.cs
index 4d5c116620..3002fe3d01 100644
--- a/OpenSim/Data/MSSQL/MSSQLEstateData.cs
+++ b/OpenSim/Data/MSSQL/MSSQLEstateData.cs
@@ -332,9 +332,9 @@ namespace OpenSim.Data.MSSQL
// UUID uuid;
// UUID.TryParse(reader["bannedUUID"].ToString(), out uuid);
- eb.bannedUUID = new UUID((Guid)reader["bannedUUID"]); //uuid;
- eb.bannedIP = "0.0.0.0";
- eb.bannedIPHostMask = "0.0.0.0";
+ eb.BannedUserID = new UUID((Guid)reader["bannedUUID"]); //uuid;
+ eb.BannedHostAddress = "0.0.0.0";
+ eb.BannedHostIPMask = "0.0.0.0";
es.AddBan(eb);
}
}
@@ -386,7 +386,7 @@ namespace OpenSim.Data.MSSQL
{
cmd.Parameters.Add(_Database.CreateParameter("@EstateID", es.EstateID));
- cmd.Parameters.Add(_Database.CreateParameter("@bannedUUID", b.bannedUUID));
+ cmd.Parameters.Add(_Database.CreateParameter("@bannedUUID", b.BannedUserID));
cmd.ExecuteNonQuery();
diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs
index 0db624db23..133ee7ad3d 100644
--- a/OpenSim/Data/MySQL/MySQLEstateData.cs
+++ b/OpenSim/Data/MySQL/MySQLEstateData.cs
@@ -314,9 +314,9 @@ namespace OpenSim.Data.MySQL
UUID uuid = new UUID();
UUID.TryParse(r["bannedUUID"].ToString(), out uuid);
- eb.bannedUUID = uuid;
- eb.bannedIP = "0.0.0.0";
- eb.bannedIPHostMask = "0.0.0.0";
+ eb.BannedUserID = uuid;
+ eb.BannedHostAddress = "0.0.0.0";
+ eb.BannedHostIPMask = "0.0.0.0";
es.AddBan(eb);
}
r.Close();
@@ -340,7 +340,7 @@ namespace OpenSim.Data.MySQL
foreach (EstateBan b in es.EstateBans)
{
cmd.Parameters.AddWithValue("?EstateID", es.EstateID.ToString());
- cmd.Parameters.AddWithValue("?bannedUUID", b.bannedUUID.ToString());
+ cmd.Parameters.AddWithValue("?bannedUUID", b.BannedUserID.ToString());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
diff --git a/OpenSim/Data/NHibernate/Resources/EstateSettings.hbm.xml b/OpenSim/Data/NHibernate/Resources/EstateSettings.hbm.xml
index d8c8975b67..d300b93d59 100644
--- a/OpenSim/Data/NHibernate/Resources/EstateSettings.hbm.xml
+++ b/OpenSim/Data/NHibernate/Resources/EstateSettings.hbm.xml
@@ -52,6 +52,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_EstateStore.sql b/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_EstateStore.sql
index b852cbc2b5..dd579f9882 100644
--- a/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_EstateStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_EstateStore.sql
@@ -59,4 +59,14 @@ CREATE TABLE EstateGroups (
GroupID NVARCHAR(36) NOT NULL,
ArrayIndex INT NOT NULL,
PRIMARY KEY (EstateID,ArrayIndex)
+);
+
+CREATE TABLE EstateBans (
+ EstateID INT NOT NULL,
+ ArrayIndex INT NOT NULL,
+ BannedUserID NVARCHAR(36) NOT NULL,
+ BannedHostAddress NVARCHAR(16) NOT NULL,
+ BannedHostIPMask NVARCHAR(16) NOT NULL,
+ BannedHostNameMask NVARCHAR(16) NOT NULL,
+ PRIMARY KEY (EstateID,ArrayIndex)
);
\ No newline at end of file
diff --git a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_EstateStore.sql b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_EstateStore.sql
index 69635d87f5..e9ae07e990 100644
--- a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_EstateStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_EstateStore.sql
@@ -60,3 +60,12 @@ CREATE TABLE EstateGroups (
PRIMARY KEY (EstateID,ArrayIndex)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 1';
+CREATE TABLE EstateBans (
+ EstateID INT NOT NULL,
+ ArrayIndex INT NOT NULL,
+ BannedUserID VARCHAR(36) NOT NULL,
+ BannedHostAddress VARCHAR(16) NOT NULL,
+ BannedHostIPMask VARCHAR(16) NOT NULL,
+ BannedHostNameMask VARCHAR(16) NOT NULL,
+ PRIMARY KEY (EstateID,ArrayIndex)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 1';
diff --git a/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_EstateStore.sql b/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_EstateStore.sql
index d13a4d3826..3f47930b8a 100644
--- a/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_EstateStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_EstateStore.sql
@@ -59,4 +59,14 @@ CREATE TABLE EstateGroups (
GroupID VARCHAR(36) NOT NULL,
ArrayIndex INT NOT NULL,
PRIMARY KEY (EstateID,ArrayIndex)
+);
+
+CREATE TABLE EstateBans (
+ EstateID INT NOT NULL,
+ ArrayIndex INT NOT NULL,
+ BannedUserID VARCHAR(36) NOT NULL,
+ BannedHostAddress VARCHAR(16) NOT NULL,
+ BannedHostIPMask VARCHAR(16) NOT NULL,
+ BannedHostNameMask VARCHAR(16) NOT NULL,
+ PRIMARY KEY (EstateID,ArrayIndex)
);
\ No newline at end of file
diff --git a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_EstateStore.sql b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_EstateStore.sql
index 6e67630192..afe702fd14 100644
--- a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_EstateStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_EstateStore.sql
@@ -59,3 +59,13 @@ CREATE TABLE EstateGroups (
ArrayIndex INT NOT NULL,
PRIMARY KEY (EstateID,ArrayIndex)
);
+
+CREATE TABLE EstateBans (
+ EstateID INT NOT NULL,
+ ArrayIndex INT NOT NULL,
+ BannedUserID VARCHAR(36) NOT NULL,
+ BannedHostAddress VARCHAR(16) NOT NULL,
+ BannedHostIPMask VARCHAR(16) NOT NULL,
+ BannedHostNameMask VARCHAR(16) NOT NULL,
+ PRIMARY KEY (EstateID,ArrayIndex)
+);
diff --git a/OpenSim/Data/SQLite/SQLiteEstateData.cs b/OpenSim/Data/SQLite/SQLiteEstateData.cs
index 3fb33c2a08..dea5624879 100644
--- a/OpenSim/Data/SQLite/SQLiteEstateData.cs
+++ b/OpenSim/Data/SQLite/SQLiteEstateData.cs
@@ -258,9 +258,9 @@ namespace OpenSim.Data.SQLite
UUID uuid = new UUID();
UUID.TryParse(r["bannedUUID"].ToString(), out uuid);
- eb.bannedUUID = uuid;
- eb.bannedIP = "0.0.0.0";
- eb.bannedIPHostMask = "0.0.0.0";
+ eb.BannedUserID = uuid;
+ eb.BannedHostAddress = "0.0.0.0";
+ eb.BannedHostIPMask = "0.0.0.0";
es.AddBan(eb);
}
r.Close();
@@ -282,7 +282,7 @@ namespace OpenSim.Data.SQLite
foreach (EstateBan b in es.EstateBans)
{
cmd.Parameters.Add(":EstateID", es.EstateID.ToString());
- cmd.Parameters.Add(":bannedUUID", b.bannedUUID.ToString());
+ cmd.Parameters.Add(":bannedUUID", b.BannedUserID.ToString());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
diff --git a/OpenSim/Data/Tests/BasicEstateTest.cs b/OpenSim/Data/Tests/BasicEstateTest.cs
index b37a392a5a..f94ac46d09 100644
--- a/OpenSim/Data/Tests/BasicEstateTest.cs
+++ b/OpenSim/Data/Tests/BasicEstateTest.cs
@@ -223,10 +223,10 @@ namespace OpenSim.Data.Tests
EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID);
EstateBan estateBan1 = new EstateBan();
- estateBan1.bannedUUID = DataTestUtil.UUID_MIN;
+ estateBan1.BannedUserID = DataTestUtil.UUID_MIN;
EstateBan estateBan2 = new EstateBan();
- estateBan2.bannedUUID = DataTestUtil.UUID_MAX;
+ estateBan2.BannedUserID = DataTestUtil.UUID_MAX;
originalSettings.EstateBans = new EstateBan[] { estateBan1, estateBan2 };
@@ -237,9 +237,9 @@ namespace OpenSim.Data.Tests
EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID);
Assert.AreEqual(2, loadedSettings.EstateBans.Length);
- Assert.AreEqual(DataTestUtil.UUID_MIN, loadedSettings.EstateBans[0].bannedUUID);
+ Assert.AreEqual(DataTestUtil.UUID_MIN, loadedSettings.EstateBans[0].BannedUserID);
- Assert.AreEqual(DataTestUtil.UUID_MAX, loadedSettings.EstateBans[1].bannedUUID);
+ Assert.AreEqual(DataTestUtil.UUID_MAX, loadedSettings.EstateBans[1].BannedUserID);
}
diff --git a/OpenSim/Framework/EstateBan.cs b/OpenSim/Framework/EstateBan.cs
index 5c3aa42226..64d32e88ce 100644
--- a/OpenSim/Framework/EstateBan.cs
+++ b/OpenSim/Framework/EstateBan.cs
@@ -31,10 +31,85 @@ namespace OpenSim.Framework
{
public class EstateBan
{
- public uint estateID = 1;
- public UUID bannedUUID = UUID.Zero;
- public string bannedIP = string.Empty;
- public string bannedIPHostMask = string.Empty;
- public string bannedNameMask = string.Empty;
+ private uint m_estateID = 1;
+ ///
+ /// ID of the estate this ban limits access to.
+ ///
+ public uint EstateID
+ {
+ get
+ {
+ return m_estateID;
+ }
+ set
+ {
+ m_estateID = value;
+ }
+ }
+
+ private UUID m_bannedUserID = UUID.Zero;
+ ///
+ /// ID of the banned user.
+ ///
+ public UUID BannedUserID
+ {
+ get
+ {
+ return m_bannedUserID;
+ }
+ set
+ {
+ m_bannedUserID = value;
+ }
+ }
+
+ private string m_bannedHostAddress = string.Empty;
+ ///
+ /// IP address or domain name of the banned client.
+ ///
+ public string BannedHostAddress
+ {
+ get
+ {
+ return m_bannedHostAddress;
+ }
+ set
+ {
+ m_bannedHostAddress = value;
+ }
+ }
+
+ private string m_bannedHostIPMask = string.Empty;
+ ///
+ /// IP address mask for banning group of client hosts.
+ ///
+ public string BannedHostIPMask
+ {
+ get
+ {
+ return m_bannedHostIPMask;
+ }
+ set
+ {
+ m_bannedHostIPMask = value;
+ }
+ }
+
+ private string m_bannedHostNameMask = string.Empty;
+ ///
+ /// Domain name mask for banning group of client hosts.
+ ///
+ public string BannedHostNameMask
+ {
+ get
+ {
+ return m_bannedHostNameMask;
+ }
+ set
+ {
+ m_bannedHostNameMask = value;
+ }
+ }
+
}
}
diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs
index 81f85cdba1..b84d1d74fe 100644
--- a/OpenSim/Framework/EstateSettings.cs
+++ b/OpenSim/Framework/EstateSettings.cs
@@ -333,7 +333,7 @@ namespace OpenSim.Framework
public bool IsBanned(UUID avatarID)
{
foreach (EstateBan ban in l_EstateBans)
- if (ban.bannedUUID == avatarID)
+ if (ban.BannedUserID == avatarID)
return true;
return false;
}
@@ -342,7 +342,7 @@ namespace OpenSim.Framework
{
if (ban == null)
return;
- if (!IsBanned(ban.bannedUUID))
+ if (!IsBanned(ban.BannedUserID))
l_EstateBans.Add(ban);
}
@@ -354,7 +354,7 @@ namespace OpenSim.Framework
public void RemoveBan(UUID avatarID)
{
foreach (EstateBan ban in new List(l_EstateBans))
- if (ban.bannedUUID == avatarID)
+ if (ban.BannedUserID == avatarID)
l_EstateBans.Remove(ban);
}
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 34ad0f10cc..c71594916c 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2992,9 +2992,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
if (bl[i] == null)
continue;
- if (bl[i].bannedUUID == UUID.Zero)
+ if (bl[i].BannedUserID == UUID.Zero)
continue;
- BannedUsers.Add(bl[i].bannedUUID);
+ BannedUsers.Add(bl[i].BannedUserID);
}
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index b567047281..7a200d44df 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -241,7 +241,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
for (int i = 0; i < banlistcheck.Length; i++)
{
- if (user == banlistcheck[i].bannedUUID)
+ if (user == banlistcheck[i].BannedUserID)
{
alreadyInList = true;
break;
@@ -253,10 +253,10 @@ namespace OpenSim.Region.CoreModules.World.Estate
EstateBan item = new EstateBan();
- item.bannedUUID = user;
- item.estateID = m_scene.RegionInfo.EstateSettings.EstateID;
- item.bannedIP = "0.0.0.0";
- item.bannedIPHostMask = "0.0.0.0";
+ item.BannedUserID = user;
+ item.EstateID = m_scene.RegionInfo.EstateSettings.EstateID;
+ item.BannedHostAddress = "0.0.0.0";
+ item.BannedHostIPMask = "0.0.0.0";
m_scene.RegionInfo.EstateSettings.AddBan(item);
m_scene.RegionInfo.EstateSettings.Save();
@@ -294,7 +294,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
for (int i = 0; i < banlistcheck.Length; i++)
{
- if (user == banlistcheck[i].bannedUUID)
+ if (user == banlistcheck[i].BannedUserID)
{
alreadyInList = true;
listitem = banlistcheck[i];
@@ -304,7 +304,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
}
if (alreadyInList && listitem != null)
{
- m_scene.RegionInfo.EstateSettings.RemoveBan(listitem.bannedUUID);
+ m_scene.RegionInfo.EstateSettings.RemoveBan(listitem.BannedUserID);
m_scene.RegionInfo.EstateSettings.Save();
}
else