diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 91 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/OpenSimUDPBase.cs | 4 |
2 files changed, 62 insertions, 33 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2c6795f..34d72ac 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -4272,8 +4272,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4272 | OutPacket(packet, ThrottleOutPacketType.Task); | 4272 | OutPacket(packet, ThrottleOutPacketType.Task); |
4273 | } | 4273 | } |
4274 | 4274 | ||
4275 | public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags) | 4275 | public void SendLandProperties( |
4276 | int sequence_id, bool snap_selection, int request_result, ILandObject lo, | ||
4277 | float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags) | ||
4276 | { | 4278 | { |
4279 | // m_log.DebugFormat("[LLCLIENTVIEW]: Sending land properties for {0} to {1}", lo.LandData.GlobalID, Name); | ||
4280 | |||
4281 | LandData landData = lo.LandData; | ||
4282 | |||
4277 | ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage(); | 4283 | ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage(); |
4278 | 4284 | ||
4279 | updateMessage.AABBMax = landData.AABBMax; | 4285 | updateMessage.AABBMax = landData.AABBMax; |
@@ -4281,15 +4287,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4281 | updateMessage.Area = landData.Area; | 4287 | updateMessage.Area = landData.Area; |
4282 | updateMessage.AuctionID = landData.AuctionID; | 4288 | updateMessage.AuctionID = landData.AuctionID; |
4283 | updateMessage.AuthBuyerID = landData.AuthBuyerID; | 4289 | updateMessage.AuthBuyerID = landData.AuthBuyerID; |
4284 | |||
4285 | updateMessage.Bitmap = landData.Bitmap; | 4290 | updateMessage.Bitmap = landData.Bitmap; |
4286 | |||
4287 | updateMessage.Desc = landData.Description; | 4291 | updateMessage.Desc = landData.Description; |
4288 | updateMessage.Category = landData.Category; | 4292 | updateMessage.Category = landData.Category; |
4289 | updateMessage.ClaimDate = Util.ToDateTime(landData.ClaimDate); | 4293 | updateMessage.ClaimDate = Util.ToDateTime(landData.ClaimDate); |
4290 | updateMessage.ClaimPrice = landData.ClaimPrice; | 4294 | updateMessage.ClaimPrice = landData.ClaimPrice; |
4291 | updateMessage.GroupID = landData.GroupID; | 4295 | updateMessage.GroupID = landData.GroupID; |
4292 | updateMessage.GroupPrims = landData.GroupPrims; | ||
4293 | updateMessage.IsGroupOwned = landData.IsGroupOwned; | 4296 | updateMessage.IsGroupOwned = landData.IsGroupOwned; |
4294 | updateMessage.LandingType = (LandingType) landData.LandingType; | 4297 | updateMessage.LandingType = (LandingType) landData.LandingType; |
4295 | updateMessage.LocalID = landData.LocalID; | 4298 | updateMessage.LocalID = landData.LocalID; |
@@ -4310,9 +4313,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4310 | updateMessage.Name = landData.Name; | 4313 | updateMessage.Name = landData.Name; |
4311 | updateMessage.OtherCleanTime = landData.OtherCleanTime; | 4314 | updateMessage.OtherCleanTime = landData.OtherCleanTime; |
4312 | updateMessage.OtherCount = 0; //TODO: Unimplemented | 4315 | updateMessage.OtherCount = 0; //TODO: Unimplemented |
4313 | updateMessage.OtherPrims = landData.OtherPrims; | 4316 | updateMessage.OwnerID = landData.OwnerID; |
4314 | updateMessage.OwnerID = landData.OwnerID; | ||
4315 | updateMessage.OwnerPrims = landData.OwnerPrims; | ||
4316 | updateMessage.ParcelFlags = (ParcelFlags) landData.Flags; | 4317 | updateMessage.ParcelFlags = (ParcelFlags) landData.Flags; |
4317 | updateMessage.ParcelPrimBonus = simObjectBonusFactor; | 4318 | updateMessage.ParcelPrimBonus = simObjectBonusFactor; |
4318 | updateMessage.PassHours = landData.PassHours; | 4319 | updateMessage.PassHours = landData.PassHours; |
@@ -4327,10 +4328,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4327 | 4328 | ||
4328 | updateMessage.RentPrice = 0; | 4329 | updateMessage.RentPrice = 0; |
4329 | updateMessage.RequestResult = (ParcelResult) request_result; | 4330 | updateMessage.RequestResult = (ParcelResult) request_result; |
4330 | updateMessage.SalePrice = landData.SalePrice; | 4331 | updateMessage.SalePrice = landData.SalePrice; |
4331 | updateMessage.SelectedPrims = landData.SelectedPrims; | ||
4332 | updateMessage.SelfCount = 0; //TODO: Unimplemented | 4332 | updateMessage.SelfCount = 0; //TODO: Unimplemented |
4333 | updateMessage.SequenceID = sequence_id; | 4333 | updateMessage.SequenceID = sequence_id; |
4334 | |||
4334 | if (landData.SimwideArea > 0) | 4335 | if (landData.SimwideArea > 0) |
4335 | { | 4336 | { |
4336 | int simulatorCapacity = (int)(((float)landData.SimwideArea / 65536.0f) * (float)m_scene.RegionInfo.ObjectCapacity * (float)m_scene.RegionInfo.RegionSettings.ObjectBonus); | 4337 | int simulatorCapacity = (int)(((float)landData.SimwideArea / 65536.0f) * (float)m_scene.RegionInfo.ObjectCapacity * (float)m_scene.RegionInfo.RegionSettings.ObjectBonus); |
@@ -4340,22 +4341,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4340 | { | 4341 | { |
4341 | updateMessage.SimWideMaxPrims = 0; | 4342 | updateMessage.SimWideMaxPrims = 0; |
4342 | } | 4343 | } |
4343 | updateMessage.SimWideTotalPrims = landData.SimwidePrims; | 4344 | |
4344 | updateMessage.SnapSelection = snap_selection; | 4345 | updateMessage.SnapSelection = snap_selection; |
4345 | updateMessage.SnapshotID = landData.SnapshotID; | 4346 | updateMessage.SnapshotID = landData.SnapshotID; |
4346 | updateMessage.Status = (ParcelStatus) landData.Status; | 4347 | updateMessage.Status = (ParcelStatus) landData.Status; |
4347 | updateMessage.TotalPrims = landData.OwnerPrims + landData.GroupPrims + landData.OtherPrims + | 4348 | updateMessage.UserLocation = landData.UserLocation; |
4348 | landData.SelectedPrims; | 4349 | updateMessage.UserLookAt = landData.UserLookAt; |
4349 | updateMessage.UserLocation = landData.UserLocation; | 4350 | |
4350 | updateMessage.UserLookAt = landData.UserLookAt; | 4351 | updateMessage.MediaType = landData.MediaType; |
4351 | 4352 | updateMessage.MediaDesc = landData.MediaDescription; | |
4352 | updateMessage.MediaType = landData.MediaType; | 4353 | updateMessage.MediaWidth = landData.MediaWidth; |
4353 | updateMessage.MediaDesc = landData.MediaDescription; | 4354 | updateMessage.MediaHeight = landData.MediaHeight; |
4354 | updateMessage.MediaWidth = landData.MediaWidth; | 4355 | updateMessage.MediaLoop = landData.MediaLoop; |
4355 | updateMessage.MediaHeight = landData.MediaHeight; | 4356 | updateMessage.ObscureMusic = landData.ObscureMusic; |
4356 | updateMessage.MediaLoop = landData.MediaLoop; | 4357 | updateMessage.ObscureMedia = landData.ObscureMedia; |
4357 | updateMessage.ObscureMusic = landData.ObscureMusic; | 4358 | |
4358 | updateMessage.ObscureMedia = landData.ObscureMedia; | 4359 | IPrimCounts pc = lo.PrimCounts; |
4360 | updateMessage.OwnerPrims = pc.Owner; | ||
4361 | updateMessage.GroupPrims = pc.Group; | ||
4362 | updateMessage.OtherPrims = pc.Others; | ||
4363 | updateMessage.SelectedPrims = pc.Selected; | ||
4364 | updateMessage.TotalPrims = pc.Total; | ||
4365 | updateMessage.SimWideTotalPrims = pc.Simulator; | ||
4359 | 4366 | ||
4360 | try | 4367 | try |
4361 | { | 4368 | { |
@@ -4363,13 +4370,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4363 | if (eq != null) | 4370 | if (eq != null) |
4364 | { | 4371 | { |
4365 | eq.ParcelProperties(updateMessage, this.AgentId); | 4372 | eq.ParcelProperties(updateMessage, this.AgentId); |
4366 | } else { | 4373 | } |
4367 | m_log.Warn("No EQ Interface when sending parcel data."); | 4374 | else |
4375 | { | ||
4376 | m_log.Warn("[LLCLIENTVIEW]: No EQ Interface when sending parcel data."); | ||
4368 | } | 4377 | } |
4369 | } | 4378 | } |
4370 | catch (Exception ex) | 4379 | catch (Exception ex) |
4371 | { | 4380 | { |
4372 | m_log.Error("Unable to send parcel data via eventqueue - exception: " + ex.ToString()); | 4381 | m_log.Error("[LLCLIENTVIEW]: Unable to send parcel data via eventqueue - exception: " + ex.ToString()); |
4373 | } | 4382 | } |
4374 | } | 4383 | } |
4375 | 4384 | ||
@@ -4929,7 +4938,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4929 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); | 4938 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); |
4930 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false); | 4939 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false); |
4931 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); | 4940 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); |
4932 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false); | 4941 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest); |
4933 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false); | 4942 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false); |
4934 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false); | 4943 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false); |
4935 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false); | 4944 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false); |
@@ -8800,13 +8809,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8800 | case "instantmessage": | 8809 | case "instantmessage": |
8801 | if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) | 8810 | if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) |
8802 | { | 8811 | { |
8803 | if (messagePacket.ParamList.Length < 5) | 8812 | if (messagePacket.ParamList.Length < 2) |
8804 | return true; | 8813 | return true; |
8814 | |||
8805 | UUID invoice = messagePacket.MethodData.Invoice; | 8815 | UUID invoice = messagePacket.MethodData.Invoice; |
8806 | UUID SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)); | ||
8807 | string SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter); | ||
8808 | string Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter); | ||
8809 | UUID sessionID = messagePacket.AgentData.SessionID; | 8816 | UUID sessionID = messagePacket.AgentData.SessionID; |
8817 | |||
8818 | UUID SenderID; | ||
8819 | string SenderName; | ||
8820 | string Message; | ||
8821 | |||
8822 | if (messagePacket.ParamList.Length < 5) | ||
8823 | { | ||
8824 | SenderID = AgentId; | ||
8825 | SenderName = Utils.BytesToString(messagePacket.ParamList[0].Parameter); | ||
8826 | Message = Utils.BytesToString(messagePacket.ParamList[1].Parameter); | ||
8827 | } | ||
8828 | else | ||
8829 | { | ||
8830 | SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)); | ||
8831 | SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter); | ||
8832 | Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter); | ||
8833 | } | ||
8834 | |||
8810 | OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message); | 8835 | OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message); |
8811 | } | 8836 | } |
8812 | return true; | 8837 | return true; |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/LindenUDP/OpenSimUDPBase.cs index d2779ba..6eebd9d 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/OpenSimUDPBase.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/OpenSimUDPBase.cs | |||
@@ -100,6 +100,10 @@ namespace OpenMetaverse | |||
100 | const int SIO_UDP_CONNRESET = -1744830452; | 100 | const int SIO_UDP_CONNRESET = -1744830452; |
101 | 101 | ||
102 | IPEndPoint ipep = new IPEndPoint(m_localBindAddress, m_udpPort); | 102 | IPEndPoint ipep = new IPEndPoint(m_localBindAddress, m_udpPort); |
103 | |||
104 | m_log.DebugFormat( | ||
105 | "[UDPBASE]: Binding UDP listener using internal IP address config {0}:{1}", | ||
106 | ipep.Address, ipep.Port); | ||
103 | 107 | ||
104 | m_udpSocket = new Socket( | 108 | m_udpSocket = new Socket( |
105 | AddressFamily.InterNetwork, | 109 | AddressFamily.InterNetwork, |