diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/J2KImage.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 32 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 3 |
3 files changed, 26 insertions, 10 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/J2KImage.cs b/OpenSim/Region/ClientStack/LindenUDP/J2KImage.cs index b53a2fb..9869a99 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/J2KImage.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/J2KImage.cs | |||
@@ -31,7 +31,6 @@ using OpenMetaverse; | |||
31 | using OpenMetaverse.Imaging; | 31 | using OpenMetaverse.Imaging; |
32 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
33 | using OpenSim.Region.Framework.Interfaces; | 33 | using OpenSim.Region.Framework.Interfaces; |
34 | using OpenSim.Region.Framework.Scenes.Hypergrid; | ||
35 | using OpenSim.Services.Interfaces; | 34 | using OpenSim.Services.Interfaces; |
36 | using log4net; | 35 | using log4net; |
37 | using System.Reflection; | 36 | using System.Reflection; |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2ca2657..afc5270 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -40,11 +40,10 @@ using OpenMetaverse.Packets; | |||
40 | using OpenMetaverse.StructuredData; | 40 | using OpenMetaverse.StructuredData; |
41 | using OpenSim.Framework; | 41 | using OpenSim.Framework; |
42 | using OpenSim.Framework.Client; | 42 | using OpenSim.Framework.Client; |
43 | using OpenSim.Framework.Communications.Cache; | 43 | |
44 | using OpenSim.Framework.Statistics; | 44 | using OpenSim.Framework.Statistics; |
45 | using OpenSim.Region.Framework.Interfaces; | 45 | using OpenSim.Region.Framework.Interfaces; |
46 | using OpenSim.Region.Framework.Scenes; | 46 | using OpenSim.Region.Framework.Scenes; |
47 | using OpenSim.Region.Framework.Scenes.Hypergrid; | ||
48 | using OpenSim.Services.Interfaces; | 47 | using OpenSim.Services.Interfaces; |
49 | using Timer = System.Timers.Timer; | 48 | using Timer = System.Timers.Timer; |
50 | using AssetLandmark = OpenSim.Framework.AssetLandmark; | 49 | using AssetLandmark = OpenSim.Framework.AssetLandmark; |
@@ -353,6 +352,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
353 | private bool m_SendLogoutPacketWhenClosing = true; | 352 | private bool m_SendLogoutPacketWhenClosing = true; |
354 | private AgentUpdateArgs lastarg; | 353 | private AgentUpdateArgs lastarg; |
355 | private bool m_IsActive = true; | 354 | private bool m_IsActive = true; |
355 | private bool m_IsLoggingOut = false; | ||
356 | 356 | ||
357 | protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>(); | 357 | protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>(); |
358 | protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers | 358 | protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers |
@@ -416,6 +416,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
416 | get { return m_IsActive; } | 416 | get { return m_IsActive; } |
417 | set { m_IsActive = value; } | 417 | set { m_IsActive = value; } |
418 | } | 418 | } |
419 | public bool IsLoggingOut | ||
420 | { | ||
421 | get { return m_IsLoggingOut; } | ||
422 | set { m_IsLoggingOut = value; } | ||
423 | } | ||
424 | |||
419 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } | 425 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } |
420 | 426 | ||
421 | #endregion Properties | 427 | #endregion Properties |
@@ -2527,6 +2533,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2527 | 2533 | ||
2528 | public void SendAsset(AssetRequestToClient req) | 2534 | public void SendAsset(AssetRequestToClient req) |
2529 | { | 2535 | { |
2536 | if (req.AssetInf.Data == null) | ||
2537 | { | ||
2538 | m_log.ErrorFormat("Cannot send asset {0} ({1}), asset data is null", | ||
2539 | req.AssetInf.ID, req.AssetInf.Metadata.ContentType); | ||
2540 | return; | ||
2541 | } | ||
2542 | |||
2530 | //m_log.Debug("sending asset " + req.RequestAssetID); | 2543 | //m_log.Debug("sending asset " + req.RequestAssetID); |
2531 | TransferInfoPacket Transfer = new TransferInfoPacket(); | 2544 | TransferInfoPacket Transfer = new TransferInfoPacket(); |
2532 | Transfer.TransferInfo.ChannelType = 2; | 2545 | Transfer.TransferInfo.ChannelType = 2; |
@@ -4065,10 +4078,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4065 | EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock(); | 4078 | EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock(); |
4066 | edata.CovenantID = covenant; | 4079 | edata.CovenantID = covenant; |
4067 | edata.CovenantTimestamp = 0; | 4080 | edata.CovenantTimestamp = 0; |
4068 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | 4081 | edata.EstateOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
4069 | edata.EstateOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
4070 | else | ||
4071 | edata.EstateOwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
4072 | edata.EstateName = Utils.StringToBytes(m_scene.RegionInfo.EstateSettings.EstateName); | 4082 | edata.EstateName = Utils.StringToBytes(m_scene.RegionInfo.EstateSettings.EstateName); |
4073 | einfopack.Data = edata; | 4083 | einfopack.Data = edata; |
4074 | OutPacket(einfopack, ThrottleOutPacketType.Task); | 4084 | OutPacket(einfopack, ThrottleOutPacketType.Task); |
@@ -4089,8 +4099,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4089 | 4099 | ||
4090 | //Sending Estate Settings | 4100 | //Sending Estate Settings |
4091 | returnblock[0].Parameter = Utils.StringToBytes(estateName); | 4101 | returnblock[0].Parameter = Utils.StringToBytes(estateName); |
4092 | // TODO: remove this cruft once MasterAvatar is fully deprecated | ||
4093 | // | ||
4094 | returnblock[1].Parameter = Utils.StringToBytes(estateOwner.ToString()); | 4102 | returnblock[1].Parameter = Utils.StringToBytes(estateOwner.ToString()); |
4095 | returnblock[2].Parameter = Utils.StringToBytes(estateID.ToString()); | 4103 | returnblock[2].Parameter = Utils.StringToBytes(estateID.ToString()); |
4096 | 4104 | ||
@@ -5518,6 +5526,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5518 | // for the client session anyway, in order to protect ourselves against bad code in plugins | 5526 | // for the client session anyway, in order to protect ourselves against bad code in plugins |
5519 | try | 5527 | try |
5520 | { | 5528 | { |
5529 | |||
5521 | byte[] visualparams = new byte[appear.VisualParam.Length]; | 5530 | byte[] visualparams = new byte[appear.VisualParam.Length]; |
5522 | for (int i = 0; i < appear.VisualParam.Length; i++) | 5531 | for (int i = 0; i < appear.VisualParam.Length; i++) |
5523 | visualparams[i] = appear.VisualParam[i].ParamValue; | 5532 | visualparams[i] = appear.VisualParam[i].ParamValue; |
@@ -7051,7 +7060,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7051 | assetRequestItem = invService.GetItem(assetRequestItem); | 7060 | assetRequestItem = invService.GetItem(assetRequestItem); |
7052 | if (assetRequestItem == null) | 7061 | if (assetRequestItem == null) |
7053 | { | 7062 | { |
7054 | assetRequestItem = ((Scene)m_scene).CommsManager.UserProfileCacheService.LibraryRoot.FindItem(itemID); | 7063 | ILibraryService lib = m_scene.RequestModuleInterface<ILibraryService>(); |
7064 | if (lib != null) | ||
7065 | assetRequestItem = lib.LibraryRootFolder.FindItem(itemID); | ||
7055 | if (assetRequestItem == null) | 7066 | if (assetRequestItem == null) |
7056 | return true; | 7067 | return true; |
7057 | } | 7068 | } |
@@ -11346,6 +11357,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11346 | const uint m_maxPacketSize = 600; | 11357 | const uint m_maxPacketSize = 600; |
11347 | int numPackets = 1; | 11358 | int numPackets = 1; |
11348 | 11359 | ||
11360 | if (data == null) | ||
11361 | return 0; | ||
11362 | |||
11349 | if (data.LongLength > m_maxPacketSize) | 11363 | if (data.LongLength > m_maxPacketSize) |
11350 | { | 11364 | { |
11351 | // over max number of bytes so split up file | 11365 | // over max number of bytes so split up file |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 3c4fa72..2d956fa 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -919,7 +919,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
919 | // Remove this client from the scene | 919 | // Remove this client from the scene |
920 | IClientAPI client; | 920 | IClientAPI client; |
921 | if (m_scene.TryGetClient(udpClient.AgentID, out client)) | 921 | if (m_scene.TryGetClient(udpClient.AgentID, out client)) |
922 | { | ||
923 | client.IsLoggingOut = true; | ||
922 | client.Close(); | 924 | client.Close(); |
925 | } | ||
923 | } | 926 | } |
924 | 927 | ||
925 | private void IncomingPacketHandler() | 928 | private void IncomingPacketHandler() |