aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs57
1 files changed, 32 insertions, 25 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 148d0e0..d05ffea 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -4451,37 +4451,44 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4451 if (bl[i].BannedUserID == UUID.Zero) 4451 if (bl[i].BannedUserID == UUID.Zero)
4452 continue; 4452 continue;
4453 BannedUsers.Add(bl[i].BannedUserID); 4453 BannedUsers.Add(bl[i].BannedUserID);
4454 }
4455 4454
4456 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); 4455 if (BannedUsers.Count >= 50 || (i == (bl.Length - 1) && BannedUsers.Count > 0))
4457 packet.AgentData.TransactionID = UUID.Random(); 4456 {
4458 packet.AgentData.AgentID = AgentId; 4457 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
4459 packet.AgentData.SessionID = SessionId; 4458 packet.AgentData.TransactionID = UUID.Random();
4460 packet.MethodData.Invoice = invoice; 4459 packet.AgentData.AgentID = AgentId;
4461 packet.MethodData.Method = Utils.StringToBytes("setaccess"); 4460 packet.AgentData.SessionID = SessionId;
4461 packet.MethodData.Invoice = invoice;
4462 packet.MethodData.Method = Utils.StringToBytes("setaccess");
4462 4463
4463 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count]; 4464 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count];
4464 4465
4465 for (int i = 0; i < (6 + BannedUsers.Count); i++) 4466 int j;
4466 { 4467 for (j = 0; j < (6 + BannedUsers.Count); j++)
4467 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock(); 4468 {
4468 } 4469 returnblock[j] = new EstateOwnerMessagePacket.ParamListBlock();
4469 int j = 0; 4470 }
4471 j = 0;
4470 4472
4471 returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++; 4473 returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++;
4472 returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++; 4474 returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++;
4473 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 4475 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
4474 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 4476 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
4475 returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++; 4477 returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++;
4476 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 4478 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
4477 4479
4478 foreach (UUID banned in BannedUsers) 4480 foreach (UUID banned in BannedUsers)
4479 { 4481 {
4480 returnblock[j].Parameter = banned.GetBytes(); j++; 4482 returnblock[j].Parameter = banned.GetBytes(); j++;
4483 }
4484 packet.ParamList = returnblock;
4485 packet.Header.Reliable = true;
4486 OutPacket(packet, ThrottleOutPacketType.Task);
4487
4488 BannedUsers.Clear();
4489 }
4481 } 4490 }
4482 packet.ParamList = returnblock; 4491
4483 packet.Header.Reliable = false;
4484 OutPacket(packet, ThrottleOutPacketType.Task);
4485 } 4492 }
4486 4493
4487 public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) 4494 public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)