diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 48 |
1 files changed, 26 insertions, 22 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 55050d9..27ca740 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -10455,6 +10455,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10455 | private bool HandleRequestGodlikePowers(IClientAPI sender, Packet Pack) | 10455 | private bool HandleRequestGodlikePowers(IClientAPI sender, Packet Pack) |
10456 | { | 10456 | { |
10457 | RequestGodlikePowersPacket rglpPack = (RequestGodlikePowersPacket)Pack; | 10457 | RequestGodlikePowersPacket rglpPack = (RequestGodlikePowersPacket)Pack; |
10458 | |||
10459 | if (rglpPack.AgentData.SessionID != SessionId || | ||
10460 | rglpPack.AgentData.AgentID != AgentId) | ||
10461 | return true; | ||
10462 | |||
10458 | RequestGodlikePowersPacket.RequestBlockBlock rblock = rglpPack.RequestBlock; | 10463 | RequestGodlikePowersPacket.RequestBlockBlock rblock = rglpPack.RequestBlock; |
10459 | UUID token = rblock.Token; | 10464 | UUID token = rblock.Token; |
10460 | 10465 | ||
@@ -10464,7 +10469,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10464 | 10469 | ||
10465 | if (handlerReqGodlikePowers != null) | 10470 | if (handlerReqGodlikePowers != null) |
10466 | { | 10471 | { |
10467 | handlerReqGodlikePowers(ablock.AgentID, ablock.SessionID, token, rblock.Godlike, this); | 10472 | handlerReqGodlikePowers(ablock.AgentID, ablock.SessionID, token, rblock.Godlike); |
10468 | } | 10473 | } |
10469 | 10474 | ||
10470 | return true; | 10475 | return true; |
@@ -10475,6 +10480,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10475 | GodUpdateRegionInfoPacket GodUpdateRegionInfo = | 10480 | GodUpdateRegionInfoPacket GodUpdateRegionInfo = |
10476 | (GodUpdateRegionInfoPacket)Packet; | 10481 | (GodUpdateRegionInfoPacket)Packet; |
10477 | 10482 | ||
10483 | if (GodUpdateRegionInfo.AgentData.SessionID != SessionId || | ||
10484 | GodUpdateRegionInfo.AgentData.AgentID != AgentId) | ||
10485 | return true; | ||
10486 | |||
10478 | GodUpdateRegionInfoUpdate handlerGodUpdateRegionInfo = OnGodUpdateRegionInfoUpdate; | 10487 | GodUpdateRegionInfoUpdate handlerGodUpdateRegionInfo = OnGodUpdateRegionInfoUpdate; |
10479 | if (handlerGodUpdateRegionInfo != null) | 10488 | if (handlerGodUpdateRegionInfo != null) |
10480 | { | 10489 | { |
@@ -10508,6 +10517,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10508 | GodlikeMessagePacket GodlikeMessage = | 10517 | GodlikeMessagePacket GodlikeMessage = |
10509 | (GodlikeMessagePacket)Packet; | 10518 | (GodlikeMessagePacket)Packet; |
10510 | 10519 | ||
10520 | if (GodlikeMessage.AgentData.SessionID != SessionId || | ||
10521 | GodlikeMessage.AgentData.AgentID != AgentId) | ||
10522 | return true; | ||
10523 | |||
10511 | GodlikeMessage handlerGodlikeMessage = onGodlikeMessage; | 10524 | GodlikeMessage handlerGodlikeMessage = onGodlikeMessage; |
10512 | if (handlerGodlikeMessage != null) | 10525 | if (handlerGodlikeMessage != null) |
10513 | { | 10526 | { |
@@ -10524,6 +10537,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10524 | { | 10537 | { |
10525 | StateSavePacket SaveStateMessage = | 10538 | StateSavePacket SaveStateMessage = |
10526 | (StateSavePacket)Packet; | 10539 | (StateSavePacket)Packet; |
10540 | |||
10541 | if (SaveStateMessage.AgentData.SessionID != SessionId || | ||
10542 | SaveStateMessage.AgentData.AgentID != AgentId) | ||
10543 | return true; | ||
10544 | |||
10527 | SaveStateHandler handlerSaveStatePacket = OnSaveState; | 10545 | SaveStateHandler handlerSaveStatePacket = OnSaveState; |
10528 | if (handlerSaveStatePacket != null) | 10546 | if (handlerSaveStatePacket != null) |
10529 | { | 10547 | { |
@@ -10537,30 +10555,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10537 | { | 10555 | { |
10538 | GodKickUserPacket gkupack = (GodKickUserPacket)Pack; | 10556 | GodKickUserPacket gkupack = (GodKickUserPacket)Pack; |
10539 | 10557 | ||
10540 | if (gkupack.UserInfo.GodSessionID == SessionId && AgentId == gkupack.UserInfo.GodID) | 10558 | if (gkupack.UserInfo.GodSessionID != SessionId || |
10541 | { | 10559 | gkupack.UserInfo.GodID != AgentId) |
10542 | GodKickUser handlerGodKickUser = OnGodKickUser; | 10560 | return true; |
10543 | if (handlerGodKickUser != null) | 10561 | |
10544 | { | 10562 | GodKickUser handlerGodKickUser = OnGodKickUser; |
10545 | handlerGodKickUser(gkupack.UserInfo.GodID, gkupack.UserInfo.GodSessionID, | 10563 | if (handlerGodKickUser != null) |
10546 | gkupack.UserInfo.AgentID, gkupack.UserInfo.KickFlags, gkupack.UserInfo.Reason); | ||
10547 | } | ||
10548 | } | ||
10549 | else | ||
10550 | { | 10564 | { |
10551 | SendAgentAlertMessage("Kick request denied", false); | 10565 | handlerGodKickUser(gkupack.UserInfo.GodID, gkupack.UserInfo.AgentID, gkupack.UserInfo.KickFlags, gkupack.UserInfo.Reason); |
10552 | } | 10566 | } |
10553 | //KickUserPacket kupack = new KickUserPacket(); | ||
10554 | //KickUserPacket.UserInfoBlock kupackib = kupack.UserInfo; | ||
10555 | |||
10556 | //kupack.UserInfo.AgentID = gkupack.UserInfo.AgentID; | ||
10557 | //kupack.UserInfo.SessionID = gkupack.UserInfo.GodSessionID; | ||
10558 | |||
10559 | //kupack.TargetBlock.TargetIP = (uint)0; | ||
10560 | //kupack.TargetBlock.TargetPort = (ushort)0; | ||
10561 | //kupack.UserInfo.Reason = gkupack.UserInfo.Reason; | ||
10562 | 10567 | ||
10563 | //OutPacket(kupack, ThrottleOutPacketType.Task); | ||
10564 | return true; | 10568 | return true; |
10565 | } | 10569 | } |
10566 | #endregion GodPackets | 10570 | #endregion GodPackets |