aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs57
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs12
2 files changed, 43 insertions, 26 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 7564907..05e6d27 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -4372,37 +4372,44 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4372 if (bl[i].BannedUserID == UUID.Zero) 4372 if (bl[i].BannedUserID == UUID.Zero)
4373 continue; 4373 continue;
4374 BannedUsers.Add(bl[i].BannedUserID); 4374 BannedUsers.Add(bl[i].BannedUserID);
4375 }
4376 4375
4377 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); 4376 if (BannedUsers.Count >= 50 || (i == (bl.Length - 1) && BannedUsers.Count > 0))
4378 packet.AgentData.TransactionID = UUID.Random(); 4377 {
4379 packet.AgentData.AgentID = AgentId; 4378 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
4380 packet.AgentData.SessionID = SessionId; 4379 packet.AgentData.TransactionID = UUID.Random();
4381 packet.MethodData.Invoice = invoice; 4380 packet.AgentData.AgentID = AgentId;
4382 packet.MethodData.Method = Utils.StringToBytes("setaccess"); 4381 packet.AgentData.SessionID = SessionId;
4382 packet.MethodData.Invoice = invoice;
4383 packet.MethodData.Method = Utils.StringToBytes("setaccess");
4383 4384
4384 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count]; 4385 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count];
4385 4386
4386 for (int i = 0; i < (6 + BannedUsers.Count); i++) 4387 int j;
4387 { 4388 for (j = 0; j < (6 + BannedUsers.Count); j++)
4388 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock(); 4389 {
4389 } 4390 returnblock[j] = new EstateOwnerMessagePacket.ParamListBlock();
4390 int j = 0; 4391 }
4392 j = 0;
4391 4393
4392 returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++; 4394 returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++;
4393 returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++; 4395 returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++;
4394 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 4396 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
4395 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 4397 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
4396 returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++; 4398 returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++;
4397 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 4399 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
4398 4400
4399 foreach (UUID banned in BannedUsers) 4401 foreach (UUID banned in BannedUsers)
4400 { 4402 {
4401 returnblock[j].Parameter = banned.GetBytes(); j++; 4403 returnblock[j].Parameter = banned.GetBytes(); j++;
4404 }
4405 packet.ParamList = returnblock;
4406 packet.Header.Reliable = true;
4407 OutPacket(packet, ThrottleOutPacketType.Task);
4408
4409 BannedUsers.Clear();
4410 }
4402 } 4411 }
4403 packet.ParamList = returnblock; 4412
4404 packet.Header.Reliable = false;
4405 OutPacket(packet, ThrottleOutPacketType.Task);
4406 } 4413 }
4407 4414
4408 public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) 4415 public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index 7d5f109..bc76a7c 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -62,8 +62,15 @@ namespace OpenSim.Region.CoreModules.World.Estate
62 62
63 #region Packet Data Responders 63 #region Packet Data Responders
64 64
65 private void clientSendDetailedEstateData(IClientAPI remote_client, UUID invoice)
66 {
67 sendDetailedEstateData(remote_client, invoice);
68 sendEstateLists(remote_client, invoice);
69 }
70
65 private void sendDetailedEstateData(IClientAPI remote_client, UUID invoice) 71 private void sendDetailedEstateData(IClientAPI remote_client, UUID invoice)
66 { 72 {
73 m_log.DebugFormat("[ESTATE]: Invoice is {0}", invoice.ToString());
67 uint sun = 0; 74 uint sun = 0;
68 75
69 if (!Scene.RegionInfo.EstateSettings.UseGlobalTime) 76 if (!Scene.RegionInfo.EstateSettings.UseGlobalTime)
@@ -83,7 +90,10 @@ namespace OpenSim.Region.CoreModules.World.Estate
83 Scene.RegionInfo.RegionSettings.Covenant, 90 Scene.RegionInfo.RegionSettings.Covenant,
84 Scene.RegionInfo.EstateSettings.AbuseEmail, 91 Scene.RegionInfo.EstateSettings.AbuseEmail,
85 estateOwner); 92 estateOwner);
93 }
86 94
95 private void sendEstateLists(IClientAPI remote_client, UUID invoice)
96 {
87 remote_client.SendEstateList(invoice, 97 remote_client.SendEstateList(invoice,
88 (int)Constants.EstateAccessCodex.EstateManagers, 98 (int)Constants.EstateAccessCodex.EstateManagers,
89 Scene.RegionInfo.EstateSettings.EstateManagers, 99 Scene.RegionInfo.EstateSettings.EstateManagers,
@@ -1121,7 +1131,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
1121 1131
1122 private void EventManager_OnNewClient(IClientAPI client) 1132 private void EventManager_OnNewClient(IClientAPI client)
1123 { 1133 {
1124 client.OnDetailedEstateDataRequest += sendDetailedEstateData; 1134 client.OnDetailedEstateDataRequest += clientSendDetailedEstateData;
1125 client.OnSetEstateFlagsRequest += estateSetRegionInfoHandler; 1135 client.OnSetEstateFlagsRequest += estateSetRegionInfoHandler;
1126// client.OnSetEstateTerrainBaseTexture += setEstateTerrainBaseTexture; 1136// client.OnSetEstateTerrainBaseTexture += setEstateTerrainBaseTexture;
1127 client.OnSetEstateTerrainDetailTexture += setEstateTerrainBaseTexture; 1137 client.OnSetEstateTerrainDetailTexture += setEstateTerrainBaseTexture;