aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared
AgeCommit message (Collapse)Author
2015-04-02Core/Database: Remove va_list from PreparedStatement::PAppend.Naios
2015-04-02Core/Database: Remove va_args from DatabaseWorker::Execute methods.Naios
* Also delegate SQLQueryHolder::SetPQuery into SetQuery.
2015-03-30Core/Misc: Remove unused headersleak
2015-03-29CMake: Use source_groups to represent the source treeNaios
* It let ide's (like vs) display the source tree. * Disabled by default. * Soft requirement is cmake >= 2.8.12 . * Offers 2 modes: flat & hierarchical. * For detailed description see #14471 * Thanks @click for help and advises. * Closes #14471
2015-03-29Core/Database: Return an unknown error code instead of false (0) if ↵Naios
mysql_init failed. * Thanks @et65 for noticing. * ref #14139 (cherry picked from commit 83bbe00785a7ee7c8141d83bfe94a1415466c64d)
2015-03-29Core/Database: Fix a mistake in 54ee5267244acac16Naios
* Also use proper errno instead of 0 when reconnecting. * Thanks @et65 for reporting * ref #14139 (cherry picked from commit 47410157b1d1e51062732696ad5f457a69019ef4)
2015-03-28Core/Log: Improve creation of log prefixes.Naios
* this also fixes non whitespace seperated timestamps in logs after 95ebe4f31cba6b4772cfd19 @Aokromes * remove an unnecessary stringstream in Log::outCommand * delete copy constructor of LogMessage to prevent unwanted copies (cherry picked from commit a2e280c8a8478bbe0652c1850b1a435abba79f93)
2015-03-28Core/Database Improve commit 39bdd06446dcNaios
* found a better way where no cast is needed. * ref #14430 (cherry picked from commit 54ee5267244acac16e4b56342e64c0235ee0599b)
2015-03-27Core/Database: Prepare statements at reconnect.Naios
* Closes #14430 (cherry picked from commit 39bdd06446dc8ae6f19e017e4390bd2aa7834d03)
2015-03-24Core/DBUpdater: Use correct formatter for size_tNaios
* thanks @DDuarte pointing this out. (cherry picked from commit b2b8de5786364d81fbce643e8f00bcc0129ed760)
2015-03-24Core/DBUpdater: Add the possibility to limit the remove of orphaned entries.Naios
* This will save you from loosing your update history if you use a repository in bad state (revision or branch) by mistake. * Also turned 1 error message into a warning (cherry picked from commit 966282fbed24a0d0cf8cb3e05b1849c3e6a0d1d6) (cherry picked from commit 3ad7776d5061308d3e2b4ff9e3cbf67d48bffdd6)
2015-03-22Core/DBUpdater: Use correct uint64 to store timestamps.Naios
* Thanks @Shauren for pointing out. * Also removes an invalid argument thanks @jackpoz for noticing. (cherry picked from commit 8e48ef7863c5018aa185913ce6a616e46ef5b17e)
2015-03-22Core/DBUpdater: Fixed compile errors with boost 1.55 and VS 2013Shauren
(cherry picked from commit 495af75b7e21a2a84231b0540a6f2b9ed349ea58)
2015-03-22Core/Database: Fix some warnings on gccNaios
* warning: when initialized here [-Wreorder] * thanks to @Vincent-Michael (cherry picked from commit cff3910ec82b9f5ebc462a756ce39cc062120cfa)
2015-03-21Core/Updates: Add an automatic database update system. Automatically detects ↵Naios
new and edited sql updates through file lists and hashing. Detects renames, deletes and is able to create and auto import full databases. * cleanups in main.cpp of world & bnetserver * refactoring in DatabaseWorkerPool.h & MySQLConnection.cpp Make sure you re-run cmake, because boost::iostreams was added as dependency. Maybe you need to install libboost-iostreams1.55-dev on unix as well. Import every update manual until (included) those INSERT IGNORE updates for each database. Thanks DDuarte and Shauren for your amazing ideas, help and advises. In hope that nobody gets a "Your database structure is not up to date..." anymore ,-) (cherry picked from commit 352012e53173372ebc82898e1b6854c983b01b25) (cherry picked from commit 1f7f9feafc3f5017d617634ae993d2cdf4430920) For 3.3.5: * Synchronized ConfigureBoost.cmake with 6.x, libboost-filesystem1.55-dev also added as dependency! Signed-off-by: Naios <naios-dev@live.de> Signed-off-by: Nayd <dnpd.dd@gmail.com>
2015-03-18Core/Log: Readd include of <stdarg.h> to fix compile issues under gccNaios
(cherry picked from commit d64e6ffade392be32f634b32658a6e0353f369c1)
2015-03-18Merge pull request #14317 from Naios/typesafelogCarbenium
Type safe logging (cherry picked from commit cc0c9add5a3f3a17e19029ddcaa7e711040f4fc5) Conflicts: src/server/bnetserver/CMakeLists.txt src/server/game/Server/WorldSocketMgr.cpp src/server/shared/Logging/AppenderDB.cpp src/server/worldserver/CMakeLists.txt
2015-03-18Core/Log: Fix some issues detected by static analysis.Naios
* Either inefficient or wrong usage of string::find(). string::compare() will be faster if string::find's result is compared with 0, because it will not scan the whole string. If your intention is to check that there are no findings in the string, you should compare with std::string::npos. * C-style pointer casting detected. C++ offers four different kinds of casts as replacements: static_cast, const_cast, dynamic_cast and reinterpret_cast. (cherry picked from commit 8882a6ca78e90d2980a3cd8d53acea9d2137f8b8)
2015-03-15Core/DBLayer: Remove references to table character_currency (6.x only)Nayd
Ref 170bc318b34d393ea08e1607b6a4de87fcb2e6d7
2015-03-15Core/Player: fixed some leftovers in db after player deletejoschiwald
* character_arena_stats * character_battleground_random * character_cuf_profiles * character_currency * character_stats * character_void_storage (cherry picked from commit 2955a1f595be8ba510260e5a84b53663f2300fff) Conflicts: src/server/game/Entities/Player/Player.cpp src/server/shared/Database/Implementation/CharacterDatabase.cpp src/server/shared/Database/Implementation/CharacterDatabase.h
2015-03-09CMake: Remove unused source referenceleak
2015-03-08Core: WARN instead of INFO - this is actually something we'd want to be ↵click
informed of...
2015-03-03Shared/Logs: Add support to .server set loglevel command after ↵jackpoz
003d67708b9a279da3d37e5ef06eb32ceab53964 Update the lowest log level when using ".server set loglevel" command.
2015-03-02Shared/Logs: Improve log performancesjackpoz
Improve Log::ShouldLog() performances by saving the lowest log level across all loggers and discarding any log with lower level than that.
2015-03-01Core/Crypto: Fixed output of BigNumber::AsByteArray when generated array is ↵Shauren
shorter than requested size
2015-02-27Core/CrashHandler: Fix char[] without '\0' handlingjackpoz
Fix char[] without a NULL character '\0' in the array reading over the char[] bounds
2015-02-25Core/Networking: Fixed IOCP define for linuxIntel
(cherry-picked from commit 518c744336fe7306a034beb46289d5009b959e7d)
2015-02-12Shared/Database: Improve dead-lock error handlingjackpoz
Improve dead-lock error handling by making sure only 1 thread at time retries to execute a transaction so they don't keep dead-locking each other.
2015-02-04Fix buildNayd
2015-02-04Shared/Database: Fix transactions not being recommitted on dead-lock errorjackpoz
Fix transactions not being recommitted on dead-lock error (error code 1213) because of calling http://dev.mysql.com/doc/refman/5.0/en/mysql-errno.html after sending the ROLLBACK command. This way the returned error code was related to the ROLLBACK command, not the failed transaction.
2015-02-02Core/Misc: Fix static analysis issuesjackpoz
Fix some static analysis issues reported by Coverity (cherry picked from commit 89c535cf2a960ccc03cd1a032310984f9b4e1d47) Conflicts: src/server/game/Entities/Player/Player.cpp
2015-01-31Core/Misc: Properly sanitize ReputationSpillover datajackpoz
Fix an issue added in 024b57bb74a664cd515cf0822d4b8e939a91fe03 that didn't properly skip ReputationSpillover rows with invalid data. Fix also a static analysis issue reported by Coverity. (cherry picked from commit 95b1204798d3ab2a141f81b294b064255c335b8a) Conflicts: src/server/game/Globals/ObjectMgr.cpp
2015-01-01Update copyright note for 2015Vincent-Michael
Happy new year Conflicts: src/server/bnetserver/Authentication/AuthCodes.h src/server/bnetserver/Authentication/BattlenetPacketCrypt.cpp src/server/bnetserver/Authentication/BattlenetPacketCrypt.h src/server/bnetserver/Packets/AchievementPackets.h src/server/bnetserver/Packets/AuthenticationPackets.cpp src/server/bnetserver/Packets/AuthenticationPackets.h src/server/bnetserver/Packets/BitStream.cpp src/server/bnetserver/Packets/BitStream.h src/server/bnetserver/Packets/CachePackets.cpp src/server/bnetserver/Packets/CachePackets.h src/server/bnetserver/Packets/ChatPackets.h src/server/bnetserver/Packets/ConnectionPackets.cpp src/server/bnetserver/Packets/ConnectionPackets.h src/server/bnetserver/Packets/FriendsPackets.cpp src/server/bnetserver/Packets/FriendsPackets.h src/server/bnetserver/Packets/PacketManager.cpp src/server/bnetserver/Packets/PacketManager.h src/server/bnetserver/Packets/Packets.h src/server/bnetserver/Packets/PacketsBase.cpp src/server/bnetserver/Packets/PacketsBase.h src/server/bnetserver/Packets/PresencePackets.cpp src/server/bnetserver/Packets/PresencePackets.h src/server/bnetserver/Packets/ProfilePackets.h src/server/bnetserver/Packets/SupportPackets.h src/server/bnetserver/Packets/WoWRealmPackets.cpp src/server/bnetserver/Packets/WoWRealmPackets.h src/server/bnetserver/Realms/RealmList.cpp src/server/bnetserver/Realms/WorldListener.cpp src/server/bnetserver/Realms/WorldListener.h src/server/bnetserver/Server/ComponentManager.cpp src/server/bnetserver/Server/ComponentManager.h src/server/bnetserver/Server/ModuleManager.cpp src/server/bnetserver/Server/ModuleManager.h src/server/bnetserver/Server/Session.cpp src/server/bnetserver/Server/Session.h src/server/bnetserver/Server/SessionManager.cpp src/server/bnetserver/Server/SessionManager.h src/server/game/Accounts/BattlenetAccountMgr.cpp src/server/game/Accounts/BattlenetAccountMgr.h src/server/game/Battlegrounds/Zones/BattlegroundBFG.cpp src/server/game/Battlegrounds/Zones/BattlegroundBFG.h src/server/game/Battlegrounds/Zones/BattlegroundTP.cpp src/server/game/Battlegrounds/Zones/BattlegroundTP.h src/server/game/Entities/AreaTrigger/AreaTrigger.cpp src/server/game/Entities/AreaTrigger/AreaTrigger.h src/server/game/Entities/Item/ItemTemplate.cpp src/server/game/Guilds/GuildFinderMgr.cpp src/server/game/Guilds/GuildFinderMgr.h src/server/game/Handlers/GuildFinderHandler.cpp src/server/game/Handlers/VoidStorageHandler.cpp src/server/game/Movement/MovementStructures.cpp src/server/game/Movement/MovementStructures.h src/server/game/Movement/PathGenerator.cpp src/server/game/Server/BattlenetServerManager.cpp src/server/game/Server/BattlenetServerManager.h src/server/game/Server/Packet.cpp src/server/game/Server/Packet.h src/server/game/Server/Packets/AchievementPackets.cpp src/server/game/Server/Packets/AchievementPackets.h src/server/game/Server/Packets/AuctionHousePackets.cpp src/server/game/Server/Packets/AuctionHousePackets.h src/server/game/Server/Packets/AuthenticationPackets.cpp src/server/game/Server/Packets/AuthenticationPackets.h src/server/game/Server/Packets/BattlegroundPackets.cpp src/server/game/Server/Packets/BattlegroundPackets.h src/server/game/Server/Packets/ChannelPackets.cpp src/server/game/Server/Packets/ChannelPackets.h src/server/game/Server/Packets/CharacterPackets.cpp src/server/game/Server/Packets/CharacterPackets.h src/server/game/Server/Packets/ChatPackets.cpp src/server/game/Server/Packets/ChatPackets.h src/server/game/Server/Packets/ClientConfigPackets.cpp src/server/game/Server/Packets/ClientConfigPackets.h src/server/game/Server/Packets/CombatLogPackets.cpp src/server/game/Server/Packets/CombatLogPackets.h src/server/game/Server/Packets/CombatPackets.cpp src/server/game/Server/Packets/CombatPackets.h src/server/game/Server/Packets/EquipmentSetPackets.cpp src/server/game/Server/Packets/EquipmentSetPackets.h src/server/game/Server/Packets/GameObjectPackets.cpp src/server/game/Server/Packets/GameObjectPackets.h src/server/game/Server/Packets/GuildPackets.cpp src/server/game/Server/Packets/GuildPackets.h src/server/game/Server/Packets/ItemPackets.cpp src/server/game/Server/Packets/ItemPackets.h src/server/game/Server/Packets/LootPackets.h src/server/game/Server/Packets/MiscPackets.cpp src/server/game/Server/Packets/MiscPackets.h src/server/game/Server/Packets/MovementPackets.cpp src/server/game/Server/Packets/MovementPackets.h src/server/game/Server/Packets/NPCPackets.cpp src/server/game/Server/Packets/NPCPackets.h src/server/game/Server/Packets/QueryPackets.cpp src/server/game/Server/Packets/QueryPackets.h src/server/game/Server/Packets/QuestPackets.cpp src/server/game/Server/Packets/QuestPackets.h src/server/game/Server/Packets/ReputationPackets.cpp src/server/game/Server/Packets/ReputationPackets.h src/server/game/Server/Packets/SpellPackets.cpp src/server/game/Server/Packets/SpellPackets.h src/server/game/Server/Packets/SystemPackets.cpp src/server/game/Server/Packets/SystemPackets.h src/server/game/Server/Packets/TalentPackets.cpp src/server/game/Server/Packets/TalentPackets.h src/server/game/Server/Packets/TradePackets.h src/server/game/Server/Packets/WorldStatePackets.cpp src/server/game/Server/Packets/WorldStatePackets.h src/server/game/Server/WorldSocket.cpp src/server/ipc/CMakeLists.txt src/server/ipc/Commands.cpp src/server/ipc/Commands.h src/server/ipc/ZMQTask.cpp src/server/ipc/ZMQTask.h src/server/ipc/ZmqContext.cpp src/server/ipc/ZmqContext.h src/server/ipc/ZmqListener.cpp src/server/ipc/ZmqListener.h src/server/ipc/ZmqMux.cpp src/server/ipc/ZmqMux.h src/server/ipc/ZmqWorker.cpp src/server/ipc/ZmqWorker.h src/server/scripts/Commands/cs_battlenet_account.cpp src/server/scripts/Commands/cs_mmaps.cpp src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.h src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_beauty.cpp src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla.cpp src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_karsh_steelbender.cpp src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_romogg_bonecrusher.cpp src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.cpp src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp src/server/scripts/EasternKingdoms/ZulAman/zulaman.h src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp src/server/scripts/EasternKingdoms/zone_ironforge.cpp src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp src/server/scripts/Kalimdor/Firelands/firelands.h src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp src/server/scripts/Kalimdor/zone_azshara.cpp src/server/scripts/Kalimdor/zone_darkshore.cpp src/server/scripts/Kalimdor/zone_felwood.cpp src/server/scripts/Kalimdor/zone_moonglade.cpp src/server/scripts/Kalimdor/zone_orgrimmar.cpp src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp src/server/scripts/Maelstrom/Stonecore/boss_corborus.cpp src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp src/server/scripts/Maelstrom/Stonecore/stonecore.cpp src/server/scripts/Maelstrom/Stonecore/stonecore.h src/server/shared/Cryptography/Authentication/AuthCrypt.h src/server/shared/Cryptography/Authentication/PacketCrypt.cpp src/server/shared/Cryptography/Authentication/WorldPacketCrypt.cpp src/server/shared/Cryptography/HmacHash.cpp src/server/shared/Cryptography/SHA256.cpp src/server/shared/Cryptography/SHA256.h src/server/shared/Database/Implementation/HotfixDatabase.cpp src/server/shared/Database/Implementation/HotfixDatabase.h src/server/shared/Realm/Realm.cpp src/server/shared/Realm/Realm.h src/tools/connection_patcher/CMakeLists.txt src/tools/connection_patcher/Constants/BinaryTypes.hpp src/tools/connection_patcher/Helper.cpp src/tools/connection_patcher/Helper.hpp src/tools/connection_patcher/Patcher.cpp src/tools/connection_patcher/Patcher.hpp src/tools/connection_patcher/Patches/Common.hpp src/tools/connection_patcher/Patches/Mac.hpp src/tools/connection_patcher/Patches/Windows.hpp src/tools/connection_patcher/Patterns/Common.hpp src/tools/connection_patcher/Patterns/Mac.hpp src/tools/connection_patcher/Patterns/Windows.hpp src/tools/connection_patcher/Program.cpp src/tools/map_extractor/loadlib/DBFilesClientList.h
2014-12-27Shared/Networking: Fix buffer overflow in Socket handlingjackpoz
Fix a buffer overflow caused by Boost trying to store too much data in a buffer too small.
2014-11-26Core: Use the correct function to convert strings to unsigned longs and ↵Nayd
unsigned long longs Fixes wrong data being inserted into the database (i.e explored zones). More info in #13493 Fixes #13493 Thanks to @jackpoz for finding the code issue and @Vavehl for an expectional bug report. Conflicts: src/server/game/Entities/Player/Player.cpp src/server/game/Globals/ObjectMgr.cpp src/server/scripts/Commands/cs_misc.cpp src/server/scripts/Commands/cs_modify.cpp
2014-11-16Core/Networking: Catch possible boost exception in StartNetworkNayd
Closes #13557 (cherry picked from commit 3eb120ab507aa65e452d21a63ff500254129c262)
2014-11-10Core/Commands: implement .pvpstats commandShinDarth
Shows number of battleground victories in the last 7 days Closes #13460
2014-10-25AH related fixesRochet2
Load items from memory instead of DB (may break 3rd party programs) Fix item suffix search Closes #9196 For AHBot set expired auctions ignored from update process
2014-10-18Scripts/Commands: Implement mutehistory command for GM's with requested ↵Heihachi
improvements Closes #13350
2014-10-18Core/Quest: implement Quest TrackerShinDarth
2014-10-08Core/Logging: Replaced direct calls to GetCounter() in logs with ToString()Shauren
2014-10-05Core/Misc: Added support for calculate zoneId/areaId for creature / ↵Vincent-Michael
gameoject table at loading (Slow server startup ca.3-4 sec.)
2014-10-02Fixed ==25829== Thread #1: pthread_cond_{signal,broadcast}: dubious: ↵Shauren
associated lock is not held by any thread ==25829== at 0x4C2A1D5: pthread_cond_broadcast_WRK (hg_intercepts.c:891) ==25829== by 0x654A758: std::condition_variable::notify_all() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17) ==25829== by 0x132305A: ProducerConsumerQueue<SQLOperation*>::Cancel() (ProducerConsumerQueue.h:100) ==25829== by 0x13229A7: DatabaseWorkerPool<WorldDatabaseConnection>::~DatabaseWorkerPool() (DatabaseWorkerPool.h:70) ==25829== by 0x6C6CB21: __run_exit_handlers (exit.c:78) ==25829== by 0x6C6CB74: exit (exit.c:100) ==25829== by 0x6C54EF3: (below main) (libc-start.c:276)
2014-09-30Revert "Core/AuctionHouse: Delete expired auctions at startup."jackpoz
This reverts commit a92038feaf440abe797ee4b0344612b6176e43a8 which caused items of expired auctions not being mailed back to the owner and leaving those items in item_instance table. Please refer to the forum for steps to verify the integrity of your database and remove old unneeded rows in item_instance table. Fixes #12699
2014-09-27Fixed GCC buildShauren
2014-09-26Core/Debugging: Extended ASSERT macro to allow passing additional formatted ↵Shauren
string
2014-09-20Core/Misc: Avoid Helgrind reporting libstdc++ false positive race conditionsjackpoz
2014-09-20Revert "Core: Fix build for msvc14"Vincent-Michael
This reverts commit bd522a3853951cf8ea4b0b9e2f225a8bdc38da04. Meh -.-
2014-09-20Core: Fix build for msvc14Vincent-Michael
2014-09-19Core/Commands: Fix displaying in .baninfo character command.xjose93