diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-10-23 02:35:55 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-10-23 02:35:55 +0300 |
commit | c905067448700c63f7645b08d80bffbde57a45fa (patch) | |
tree | 6f8a85bdf6a0757f26d54af41c8e99853d372019 /src/net/ea/tradehandler.cpp | |
parent | f1beb8d910253a31b9dd239071effa2d518ceee0 (diff) | |
download | manaplus-c905067448700c63f7645b08d80bffbde57a45fa.tar.gz manaplus-c905067448700c63f7645b08d80bffbde57a45fa.tar.bz2 manaplus-c905067448700c63f7645b08d80bffbde57a45fa.tar.xz manaplus-c905067448700c63f7645b08d80bffbde57a45fa.zip |
Protect trade against abusing.
Diffstat (limited to 'src/net/ea/tradehandler.cpp')
-rw-r--r-- | src/net/ea/tradehandler.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/net/ea/tradehandler.cpp b/src/net/ea/tradehandler.cpp index bdbba9715..e91541cb7 100644 --- a/src/net/ea/tradehandler.cpp +++ b/src/net/ea/tradehandler.cpp @@ -121,6 +121,13 @@ void TradeHandler::processTradeRequest(Net::MessageIn &msg) void TradeHandler::processTradeResponse(Net::MessageIn &msg) { + if (confirmDlg || tradePartnerName.empty() + || !player_relations.hasPermission(tradePartnerName, PlayerRelation::TRADE)) + { + Net::getTradeHandler()->respond(false); + return; + } + switch (msg.readInt8()) { case 0: // Too far away |