aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs30
1 files changed, 23 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index e89b722..5fdb9b3 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -581,6 +581,8 @@ namespace OpenSim.Region.ClientStack
581 581
582 public event MoneyTransferRequest OnMoneyTransferRequest; 582 public event MoneyTransferRequest OnMoneyTransferRequest;
583 583
584 public event MoneyBalanceRequest OnMoneyBalanceRequest;
585
584 586
585 #region Scene/Avatar to Client 587 #region Scene/Avatar to Client
586 588
@@ -2067,15 +2069,23 @@ namespace OpenSim.Region.ClientStack
2067 private bool HandleMoneyTransferRequest(IClientAPI sender, Packet Pack) 2069 private bool HandleMoneyTransferRequest(IClientAPI sender, Packet Pack)
2068 { 2070 {
2069 MoneyTransferRequestPacket money = (MoneyTransferRequestPacket)Pack; 2071 MoneyTransferRequestPacket money = (MoneyTransferRequestPacket)Pack;
2072 // validate the agent owns the agentID and sessionID
2073 if (money.MoneyData.SourceID == sender.AgentId && money.AgentData.AgentID == sender.AgentId && money.AgentData.SessionID == sender.SessionId)
2074 {
2070 2075
2071 if (OnMoneyTransferRequest != null) 2076 if (OnMoneyTransferRequest != null)
2077 {
2078 OnMoneyTransferRequest(money.MoneyData.SourceID, money.MoneyData.DestID,
2079 money.MoneyData.Amount, money.MoneyData.TransactionType,
2080 Util.FieldToString(money.MoneyData.Description));
2081 }
2082
2083 return true;
2084 }
2085 else
2072 { 2086 {
2073 OnMoneyTransferRequest(money.MoneyData.SourceID, money.MoneyData.DestID, 2087 return false;
2074 money.MoneyData.Amount, money.MoneyData.TransactionType,
2075 Util.FieldToString(money.MoneyData.Description));
2076 } 2088 }
2077
2078 return true;
2079 } 2089 }
2080 2090
2081 private bool HandleViewerEffect(IClientAPI sender, Packet Pack) 2091 private bool HandleViewerEffect(IClientAPI sender, Packet Pack)
@@ -3434,7 +3444,13 @@ namespace OpenSim.Region.ClientStack
3434 #endregion 3444 #endregion
3435 3445
3436 case PacketType.MoneyBalanceRequest: 3446 case PacketType.MoneyBalanceRequest:
3437 SendMoneyBalance(LLUUID.Zero, true, new byte[0], MoneyBalance); 3447 MoneyBalanceRequestPacket moneybalancerequestpacket = (MoneyBalanceRequestPacket)Pack;
3448 if (OnMoneyBalanceRequest != null)
3449 {
3450 OnMoneyBalanceRequest(this, moneybalancerequestpacket.AgentData.AgentID, moneybalancerequestpacket.AgentData.SessionID, moneybalancerequestpacket.MoneyData.TransactionID);
3451 }
3452
3453
3438 break; 3454 break;
3439 case PacketType.UUIDNameRequest: 3455 case PacketType.UUIDNameRequest:
3440 UUIDNameRequestPacket incoming = (UUIDNameRequestPacket)Pack; 3456 UUIDNameRequestPacket incoming = (UUIDNameRequestPacket)Pack;