Commit Graph

10251 Commits

Author SHA1 Message Date
leak
bf6e58b8d4 Ditched ACE_Singleton in favor of C++11 like Singleton 2014-05-31 15:58:59 +02:00
xter
19c56cbc0e Core/RBAC: fix RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET and RBAC_PERM_LOG_GM_TRADE permissions 2014-05-31 14:04:37 +02:00
leak
f05d540658 Restore PCH builds and make GCC happy 2014-05-31 01:02:03 +02:00
Warpten
7b49038454 Merge pull request #12171 from Ankso/player_update_zone
Core/Players: Update the player's zone and area only after the player's position is updated server-side.
2014-05-30 19:53:47 +02:00
Ankso
ab62fe30bc Core/Players: Update the player's zone and area after update the player's
position server side.
2014-05-30 17:18:52 +02:00
leak
b520f7da01 Damn you VS default settings.. 2014-05-30 15:46:17 +02:00
leak
5a363ee0e1 Replace authserver ACE related code with Boost/C++11 2014-05-30 14:54:56 +02:00
jackpoz
8d539ee6c0 Merge pull request #12162 from Trisjdc/aura_split_damage_breaking
Core/Spells: Break 'Fear' and similar auras on damage sharing of SPELL_AURA_SPLIT_DAMAGE_PCT
2014-05-29 21:21:39 +02:00
jackpoz
65917f52ea CoreCore/NetworkIO: Fix disconnect when canceling character creation
Remove the filter on CMSG_CHAR_ENUM added in 59b4c34924 since the same opcode is already throttled in the new improved system. DoS attacks using this opcode are still mitigated with same effect of before.
Fixes #10915
2014-05-29 21:11:41 +02:00
jackpoz
b92e1046be Merge pull request #12007 from Trisjdc/spell_pushback
Core/Spells: Define and implement SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE
2014-05-29 19:54:39 +02:00
jackpoz
fabceddacb Merge pull request #12160 from Trisjdc/petai
Core/PetAI: Pin should not be interrupted if the victim has a breakable aura
2014-05-29 19:45:48 +02:00
jackpoz
1b47f3270e Core/NetworkIO: Adjust more packet throttling values
Adjust more packet throttling values and add Player name to log to help investigate false positives.
2014-05-29 19:43:09 +02:00
Trisjdc
1301ad800b Core/Spells: Break 'Fear' and similar auras on damage sharing of SPELL_AURA_SPLIT_DAMAGE_PCT 2014-05-28 22:22:54 +01:00
Trisjdc
9f50dd3bd6 Core/PetAI: Pin should not be interrupted if the victim has a breakable aura 2014-05-28 21:52:01 +01:00
jackpoz
f312b86941 Core/NetworkIO: Adjust more packet throttling values 2014-05-27 21:19:19 +02:00
joschiwald
acc9f1575a Merge pull request #12146 from Trisjdc/spell_hymn
Core/Spells: Missing target conditions for Divine Hymn/Hymn of Hope's second effect
2014-05-27 02:32:49 +02:00
Trisjdc
0e32789cd2 Core/Spells: Missing target conditions for Divine Hymn/Hymn of Hope's second effect 2014-05-26 20:42:53 +01:00
jackpoz
b5b64a2cdd Core/NetworkIO: Adjust more packet throttling values 2014-05-26 20:13:04 +02:00
jackpoz
c06dc7d37a Core/NetworkIO: Adjust more packet throttling values
Adjust some more packet throttling values.
Revert b35f831f2b since it's no longer needed.
Modify the AntiDoS log to specify in a more readable way which opcode triggered the system and how many packets have been received.
2014-05-25 20:14:59 +02:00
Sebastian Valle Herrera
c06a263f96 Merge pull request #12129 from Trisjdc/go_collision
Core/Collision: Solve collision issues with non spawned GOs
2014-05-25 11:15:17 -05:00
Sebastian Valle Herrera
1a48967cdf Merge pull request #12130 from Trisjdc/go_collision_2
Core/Collision: Solve collision issues with GAMEOBJECT_TYPE_DOOR GOs
Closes #6303
Closes #7628
2014-05-25 11:12:06 -05:00
Shauren
d6414bd9a5 Merge pull request #12131 from Trisjdc/resting
Core/Players: Implement resting for areas with AREA_FLAG_REST_ZONE_ALLIANCE or AREA_FLAG_REST_ZONE_HORDE
2014-05-25 16:17:58 +02:00
Trisjdc
fd753a6105 Core/Players: Implement resting for areas with AREA_FLAG_REST_ZONE_ALLIANCE or AREA_FLAG_REST_ZONE_HORDE 2014-05-25 15:05:15 +01:00
jackpoz
b4327bfc69 Core/Misc: Fix no-pch build 2014-05-25 15:48:06 +02:00
jackpoz
2f0f8f8018 Core/NetworkIO: Adjust packet throttling values
Adjust packet throttling values to avoid false positive. In case you are experiencing random kicks change the PacketSpoof.Policy setting in worldserver configs and report which packets are triggering the anti-dos system.
2014-05-25 15:26:49 +02:00
jackpoz
5e66253de2 Core/Misc: Throw an exception if client sends invalid float/double data
Throw a ByteBufferException if client sends 1.#INF0000, 1.#QNAN000, 1.#IND0000 or other invalid float/double values.
Handle this invalid values in StaticMapTree::isInLineOfSight() to avoid triggering an assert.
Fixes #12126
2014-05-25 15:18:55 +02:00
Trisjdc
0ce6824a86 Core/Collision: Solve collision issues with GAMEOBJECT_TYPE_DOOR GOs 2014-05-25 11:35:51 +01:00
Trisjdc
45fcc2ff9d Core/Collision: Solve collision issues with non spawned GOs 2014-05-25 11:34:26 +01:00
jackpoz
01b33a6772 Merge pull request #12084 from Trisjdc/pet_combat_2
Core/Spells: Players with active pets count as if they were players in combat against spells with SPELL_ATTR1_CANT_TARGET_IN_COMBAT
2014-05-25 11:25:04 +02:00
jackpoz
c4497e26f3 Merge pull request #12119 from Trisjdc/sniper_training
Core/Spells: Sniper Training should refresh every 6 seconds if all conditions are met
2014-05-25 00:35:35 +02:00
jackpoz
1f78ff541a Merge pull request #12120 from Trisjdc/aura_exploit
Core/Auras: Solve exploit involving SPELL_AURA_MOD_DAMAGE_DONE and weapon swapping
2014-05-25 00:32:37 +02:00
jackpoz
a4ba54fbdb Core/NetworkIO: Improve packet spam solution
Implement an improved packet Anti-DoS by counting how many times the same opcode has been sent in the last second and applying the policy specified in the configs if the amount of packets exceeds a reasonable amount.
Credits to the original author who decided to share this with TrinityCore team.
2014-05-24 22:34:06 +02:00
Trisjdc
51b782a91e Core/Auras: Solve exploit involving SPELL_AURA_MOD_DAMAGE_DONE and weapon swapping 2014-05-24 19:01:05 +01:00
Trisjdc
ea1c4a355c Core/Spells: Sniper Training should refresh every 6 seconds if all conditions are met 2014-05-24 18:57:26 +01:00
jackpoz
f091713086 Core/Misc: Fix typo
Fix typos about the word "Resurrect"
2014-05-24 18:25:53 +02:00
Discover-
8f42dd3fab Merge pull request #12111 from MitchesD/commands
Scripts/Commands: added option to show InhabitType in .npc info command
2014-05-24 00:45:06 +02:00
MitchesD
007e903753 Scripts/Commands: added option to show InhabitType in .npc info command 2014-05-23 20:51:22 +02:00
Discover-
80daaf8d43 Core/SAI: SMART_EVENT_IC_LOS is now called when movement in LOS was made while the creature was in combat 2014-05-23 17:11:37 +02:00
joschiwald
3c97735056 Scripts/PoS: fixed rimefang icy blast
Closes #632
2014-05-23 16:16:31 +02:00
Warpten
fa31b161cc Merge pull request #12102 from Trisjdc/achievements
Core/Achievements: Fixed ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS in case killed creature has a loot recipient (Credit would be granted to loot recipient rather than killing blow lander)
2014-05-22 20:04:27 +02:00
Trisjdc
4793f20506 Core/Spells: Nitro Boost should not fail in dungeon maps 2014-05-22 14:40:21 +01:00
Trisjdc
4d3156e0b8 Core/Achievements: Fix ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS 2014-05-21 15:10:15 +01:00
jackpoz
1083dbb993 Core/Misc: Remove Unit::Get* wrappers for ObjectAccessor::Get* 2014-05-20 21:21:33 +02:00
jackpoz
d36ecbf4a3 Merge pull request #12076 from Trisjdc/even_more_sai
Core/SAI: Clear UNIT_STATE_EVADE immediately if we're about to follow a target on EnterEvadeMode
2014-05-19 22:00:48 +02:00
jackpoz
0166d9bf89 Merge pull request #12083 from Trisjdc/pet_combat
Core/PetAI: Pet's owner should NOT enter combat when the pet attacks/enters combat
2014-05-19 21:44:15 +02:00
jackpoz
35d5e63258 Merge pull request #12018 from Foereaper/master
Core/Misc: Fixed SendAddonMessage issue.
2014-05-19 21:33:08 +02:00
Shauren
b83cff2a85 Core/Vehicles: Set proper power type using PowerDisplay.dbc
Original commit by Xfurry - cmangos/mangos-wotlk/bef8c99cc07c96d4e2f45e0ff6bc107068555ffb
2014-05-19 15:42:51 +02:00
Shauren
b41de6cb38 Core/Misc: Removed remnants of old db threading model 2014-05-19 14:48:10 +02:00
joschiwald
37073a8817 Merge pull request #12082 from MitchesD/misc_2
Scripts/Krystallus: converted to EventMap, removed useless code
2014-05-19 02:48:41 +02:00
jackpoz
7228bd3664 Revert "Core/Logging: Use logger cache for speed up logger filter search"
This reverts commit 39331ea7b9.
This is required to fix a race condition introduced with the logger cache. Adding a locking mechanism might make worthless the speed gain added by the cache itself, push a proper thread-safe implementation if it's worth it.

Helgrind log:
Possible data race during write of size 8 at 0x736F428 by thread #1
Locks held: none
   at 0x11872DF: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1196)
   by 0x11865A1: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1342)
   by 0x1185A48: std::__detail::_Map_base<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[](std::string const&) (hashtable_policy.h:496)
   by 0x1184F3A: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::operator[](std::string const&) (unordered_map.h:596)
   by 0x1184495: Log::GetLoggerByType(std::string const&) (Log.h:106)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x16E7121: World::LoadConfigSettings(bool) (World.cpp:909)
   by 0x16EB623: World::SetInitialWorldSettings() (World.cpp:1276)
   by 0x118F0EC: Master::Run() (Master.cpp:169)
   by 0x1196AFF: main (Main.cpp:142)

This conflicts with a previous read of size 8 by thread #3
Locks held: none
   at 0x1186EA6: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:1162)
   by 0x1186263: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:604)
   by 0x11857B9: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find(std::string const&) (hashtable.h:1025)
   by 0x1184DE2: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::find(std::string const&) (unordered_map.h:543)
   by 0x11842EF: Log::GetLoggerByType(std::string const&) (Log.h:84)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x189AACA: MySQLConnection::Execute(char const*) (MySQLConnection.cpp:175)
   by 0x18A3225: BasicStatementTask::Execute() (AdhocStatement.cpp:56)

Address 0x736F428 is 120 bytes inside a block of size 184 alloc'd
   at 0x4C2AE3A: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:350)
   by 0x1185046: ACE_Singleton<Log, ACE_Thread_Mutex>::instance() (Singleton.cpp:91)
   by 0x11968E2: main (Main.cpp:135)
2014-05-18 16:53:29 +02:00