Commit Graph
965 Commits
Author SHA1 Message Date
Shauren a2b860b781 Core/DataStores: Implemented uint64 field type for DBC files and fixed structure of Achievement_Criteria.dbc 2014-06-27 00:37:17 +02:00
Shauren 21687aa857 Core/Battle.net: Fixed password change prepared statement 2014-06-27 00:35:47 +02:00
Vincent-Michael f0c366141b Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Spells/Auras/SpellAuras.cpp
	src/server/scripts/World/action_ip_logger.cpp
2014-06-24 18:26:52 +02:00
Shauren 05ea2f76b8 Core/Misc: Fixed warnings 2014-06-24 02:01:40 +02:00
Vincent-Michael d8234bed42 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Accounts/AccountMgr.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Server/WorldSocket.cpp
	src/server/game/World/World.cpp
2014-06-23 23:47:48 +02:00
Aokromes 84e6af26e6 Merge pull request #11976 from Ascathor/master
Core/Misc: New ability to log account IP access history
2014-06-23 22:48:35 +02:00
Shauren 6dfc6b145c Added missing changes for previous commit 2014-06-18 16:31:30 +02:00
Vincent-Michael 97ccfdb625 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
2014-06-16 22:17:27 +02:00
Vincent-Michael 6332eaee9f Core: Kill again whitespace :/ 2014-06-15 19:43:10 +02:00
Vincent-Michael 99404900af Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4 2014-06-15 19:38:40 +02:00
Vincent-Michael 26dd770b8e Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/DynamicObject/DynamicObject.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Transport/Transport.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Entities/Vehicle/Vehicle.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Spells/Spell.cpp
	src/server/scripts/Spells/spell_dk.cpp
	src/server/shared/Utilities/Util.cpp
2014-06-15 19:36:30 +02:00
jackpoz 4688676f3e Shared/Misc: Improve Windows crash report
Improve WheatyExceptionReport Windows crash report to write a cleaner and more readable crash report, in particular:
- Fix missing variable Type in some cases
- Fix missing variable Name in some cases
- Properly format each member to avoid confusion when reading the log
- Add support for double pointers, e.g. Type**
- Add initial support for arrays, logging the number of elements and the first 10 elements for now. UDT members of array elements are not supported yet
- Skip static members, SymTagVTable and other not needed types
- Skip SymTagUDT with no children
- Fix possible stack overflows when logging strings/char*/char[] values.
- Fix "punting on symbol" error happening when trying to dereference bad pointers.
- Fix <user defined> type being logged instead of the correct type when reaching WER_MAX_NESTING_LEVEL or with pointer types with invalid addresses.
2014-06-15 18:46:20 +02:00
Ascathor 6949735098 Core/Misc:
* Fix some codestyle, fix some typos

* Change CMakeLists for: Custom (can be uncommented), Events, World
** Custom is theoretically unchanged. You can, however, uncomment the glob_recurse that initializes every file within. This might be easier for beginners.

* Introducing the IP Based Action Log System:
** On several different actions, e.g. Login, Character Login, etc., a new entry is added
** Can be logged on and off in worldserver config
*** Disabled by default to prevent increased log db size for unknowing users.

* Add a new row to account table called 'last_attempt_ip'
** Lists the last ip trying to connect to the account

* Add a new type of HookScripts: AccountScript
** Includes: OnAccountLogin, OnFailedAccountLogin, OnEmailChange, OnFailedChange, OnPasswordChange, OnFailedPasswordChange

* Added new Hook to PlayerScripts: OnFailedPlayerDelete

* Added new variables to PlayerScripts: OnPlayerDelete
2014-06-13 16:25:11 +02:00
Shauren e55555ed8c Fixed windows nopch build 2014-06-11 23:08:32 +02:00
Shauren 434b3a80e1 Core/Commands: Added a set of commands to manage battle.net accounts
TODO: Ban commands, linking game accounts to battle.net accounts
2014-06-08 17:58:28 +02:00
Shauren 7dd552c826 Merge branch 'battle.net' into 4.3.4 2014-06-08 16:14:24 +02:00
Shauren 9f69eda67f Core/Battle.net: Additional checks
* Force grunt login for versions < 15595
* Force bn login if supported and game account is linked to bn account
2014-06-08 15:34:24 +02:00
Shauren 05c0524bf3 Core/Battle.net: Refactored handling multiple game accounts 2014-06-08 14:54:37 +02:00
Vincent-Michael 73e90f6241 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4 2014-06-08 01:21:17 +02:00
Vincent-Michael 1d39db16b9 Core/Misc: Kill Whitespace ... 2014-06-07 23:58:08 +02:00
Vincent-Michael 1f62d9c387 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Handlers/ItemHandler.cpp
	src/server/scripts/Spells/spell_dk.cpp
2014-06-07 23:40:37 +02:00
Aokromes 4ec84fd1ec Core/Database: Update log for incorrect db structure 2014-06-07 22:13:42 +02:00
Vincent-Michael 2cd0dce366 Core: Fix non pch build 2014-06-07 00:30:08 +02:00
Trisjdc eae18d8ed0 Core/Utils: Move EventMap to Util.h 2014-06-06 11:14:32 +01:00
Shauren 7a27492071 Core/Crypto: Refactored HmacHash to make it easier to use with different hash algorithms 2014-06-03 18:15:35 +02:00
Kinzcool edced30576 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4 2014-06-01 13:42:07 -04:00
Shauren 9fcd607e78 Core/Misc: Added utility method for checking is two sorted containers have a common element 2014-06-01 19:20:49 +02:00
Shauren bdd6e9aa8a Core/Battle.net: Implemented reconnects 2014-06-01 13:56:36 +02:00
Shauren dc5c5ef636 Core/Authserver: Refactoring - moved GetAddressForClient to Realm structure, changed BigNumber string methods to return std::string, added missing prepared statement 2014-06-01 13:03:30 +02:00
Shauren a860d5ca47 Core/Crypto: Fixed values returned by HmacHash::GetLength 2014-06-01 02:37:40 +02:00
jackpoz 6a54ed88c6 Core/NetworkIO: Fix performance loss when handling bad packets
Revert f9cb4280bd which retrieved the callstack each time a ByteBufferPositionException or a ByteBufferSourceException occurred, for example with bad packet structure.
2014-06-01 00:29:33 +02:00
Michael 15efe08a60 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/Item/Item.cpp
	src/server/game/Entities/Pet/Pet.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Miscellaneous/SharedDefines.h
	src/server/game/Reputation/ReputationMgr.cpp
	src/server/game/Server/Protocol/Opcodes.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Weather/Weather.cpp
	src/server/game/Weather/WeatherMgr.cpp
	src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
	src/server/scripts/Spells/spell_hunter.cpp
2014-05-25 21:52:27 +02:00
jackpoz b4327bfc69 Core/Misc: Fix no-pch build 2014-05-25 15:48:06 +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
Vincent-Michael ef5bc9c70a Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Guilds/Guild.cpp
	src/server/game/Handlers/TradeHandler.cpp
	src/server/scripts/Commands/cs_modify.cpp
	src/server/scripts/Kalimdor/zone_durotar.cpp
2014-05-18 19:40:30 +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
jackpoz 0904858624 Revert "Core/Logging: store loggers in cache correctly"
This reverts commit c6a4d5a1de.
2014-05-18 16:04:59 +02:00
jackpoz 5e86dea0b0 Shared/Packets: Handle crash by throwing an exception instead
Throw a ByteBufferException when trying to access the first element of an empty ByteBuffer class
2014-05-18 00:51:40 +02:00
jackpoz 03f16d2e90 Shared/Database: Increase Database Worker Pool queue size
Increase DatabaseWorkerPool queue size from the default 16KB to 8MB to avoid blocking the caller thread when queuing an async statement/transaction.
2014-05-17 23:48:32 +02:00
Shauren 1094783715 Merge branch '4.3.4' of github.com:TrinityCore/TrinityCore into 4.3.4 2014-05-17 14:20:35 +02:00
Shauren 81b8deef52 Core/Battle.net: Use prepared statements in Battlenet::AccountMgr 2014-05-13 23:33:02 +02:00
Shauren 8ec0be2802 Core/Battle.net: Use prepared statements in Battlenet::Socket 2014-05-13 22:02:51 +02:00
Shauren a842f2ef11 Core/Battle.net: Changed HandleAuthSession to work with battle.net formatted account names 2014-05-12 17:57:35 +02:00
Shauren d9f1d6466d Core/Battle.net: Implemented authserver 2014-05-06 23:43:29 +02:00
Shauren f0d6f87138 Core/Battle.net: Fixed encryption 2014-05-04 11:49:32 +02:00
Shauren 769fadd104 Core/Battle.net
* Extended AuthResult enum
* Implemented WriteString in BitStream
* Fixed HexStrToByteArray in reverse mode
2014-05-04 00:59:24 +02:00
Vincent-Michael 13ec761ad2 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/Player/Player.h
	src/server/game/Globals/ObjectMgr.h
2014-05-03 20:23:44 +02:00
Shauren b2180ef5b8 Core/Cryptography: Added class to generate SHA256 hashes 2014-05-02 13:31:23 +02:00
Shauren 6955d7c9ad Core/Battle.net
* Fixed AuthResult codes
* Fixed BitStream::WriteBytes size check
* Fixed comparison operator for packet header
* Fixed channel for client packets without channel
* Implemented loading modules from database
2014-05-02 02:55:10 +02:00
Dehravor cbd36d5a4e Core/Misc: Remove remaining COMPILER_HAS_CPP11_SUPPORT related macros 2014-05-01 11:19:32 +02:00