DDuarte
980f28d2ce
Core/Network: Change SocketMgr.StartNetwork to take the thread count by arg instead of config
...
AuthSocketMgr doesn't need "Network.Threads" config
Fixes "Missing name Network.Threads in config file authserver.conf"
Ref #16859
2016-03-28 02:02:29 +01:00
Shauren
2a37266269
Core/Auth: Fixed login for accounts with accented characters
...
Closes #16770
2016-03-12 21:22:16 +01:00
DDuarte
6cd63ca3d4
Core/Authserver: Partial port of 56cf7ff2a8
...
Change the "UpdateIfNeed" logic to a deadline_timer
2016-03-06 19:46:59 +00:00
DDuarte
2ea31027e5
Core: Backport 6.x realm changes
...
Make acessible all the info about current realm (e.g name) anywhere, not only realm id
Reduce the number of differences between the two branches
Original changes by Shauren
Partial port of bacc90b6ba and 63def8aa32
2016-03-06 19:46:59 +00:00
Shauren
b2e03a7448
Core/Networking: Rewrite networking threading model
...
Each network thread has its own io_service - this means that all operations on a given socket except queueing packets run from a single thread, removing the need for locking
Sending packets now writes to a lockfree intermediate queue directly, encryption is applied in network thread if it was required at the time of sending the packet
(cherry picked from commit 97a79af470 )
2016-02-20 13:08:03 +01:00
Shauren
dfbb3bec56
Core/Auth: Moved expiring bans to background task - no longer blocking queries during login by default running every minute (configurable)
2016-02-15 19:38:53 +01:00
Shauren
ce6221b10b
Warning fix
2016-02-14 18:47:12 +01:00
Shauren
5bf90b3338
Core/Auth: Performance/security improvements
...
* Changed all db queries to async
* Added buffer length checks
* Only allow one challenge/proof packet per socket lifetime
Closes #13217
Closes #16602
2016-02-14 18:41:25 +01:00
Shauren
a3dbfa5eb6
Core/Authserver: Do not close the socket immediately when user types in invalid authenticator token to allow receiving failure packet
2016-01-05 18:46:21 +01:00
Rushor
923a368ac7
Update copyright note for 2016
2016-01-01 12:02:33 +01:00
Gacko
1f839b2434
Auth/Login: Rename config key usage
...
Related: 193dd505
2015-12-19 14:34:05 +01:00
Vincent-Michael
f3e86d3e68
Update copyright note for 2015
...
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
2015-01-01 00:32:50 +01:00
Shauren
946e2d0ca6
Core/Authserver: Added missing auth socket manager
...
Closes #13085
2014-09-10 21:17:55 +02:00
Shauren
e0ce4528c5
Core/NetworkIO: Use reactor style sending on linux to reduce locking overhead
2014-09-09 19:19:25 +02:00
Shauren
abfd29ab61
Core/WorldSession: Added research notes about CMSG_AUTH_SESSION values and reordered checks during login to always initialize encryption first to make sure the client can read failure packet
2014-08-21 18:18:13 +02:00
Shauren
c741d2682a
Core/NetworkIO: Prevent queueing more async operations when socket is already closed
2014-08-11 20:43:07 +02:00
Shauren
39d3480172
Core/Authserver: Fixed writing to invalid memory address
2014-08-10 11:48:43 +02:00
Shauren
df11916ad5
Core/NetworkIO: Allow receiving packets bigger than buffer size and properly handle situations where not entire packet was read in one go
...
Core/Authserver: Restored authenticator functionality
2014-08-10 11:00:27 +02:00
jackpoz
78af80230d
Core/Misc: Fix static analysis issues
2014-08-08 21:14:12 +02:00
Shauren
d46c3bf877
Core/Authserver: Fixed invalid memory access when AsByteArray returns less bytes than expected
2014-07-29 18:26:10 +02:00
Shauren
6f272ea5b7
Core/Network: Optimized packet sending by removing unneccessary memory copying
2014-07-27 17:46:46 +02:00
Shauren
e77c0b6ed4
Core/Network: Allow storing any packet types in Socket write queue to reduce the amount of copying going on
2014-07-27 14:59:46 +02:00
Shauren
26715795b4
Fixed gcc build
2014-07-27 01:26:03 +02:00
Shauren
c1b1ba44ba
Core/Network: Refactored socket code, moved common operations to base Socket class
2014-07-26 23:26:01 +02:00
DDuarte
dcfa3bfa90
Core/Network: Fix build
2014-07-25 19:49:43 +01:00
DDuarte
4f1d247dfb
Core/Network: Fix some possible exceptions on socket.close()
...
Ref #12634
2014-07-25 18:06:43 +01:00
Shauren
0b236d480a
Core/Authserver: Fixed changing realms
2014-07-22 20:15:11 +02:00
leak
dce92611f3
Refactored singletons to enable proper deconstruction during shutdown
2014-07-20 00:40:08 +02:00
Subv
e84ba172a7
Fixed a GCC internal error when compiling AsyncAcceptor
2014-07-10 13:36:54 -05:00
Subv
110396447f
Fixed the authserver not accepting clients.
...
Fixed using hostnames in the realmlist table.
2014-07-07 14:25:17 -05:00
Subv
77caf33deb
Removed some unneeded boost dependencies.
...
Ensure that the correct packet sizes are read in the authserver.
Added some try catch to the authserver to deal with boost exceptions (this part is not finished)
2014-07-06 17:04:42 -05:00
leak
4f2f9e08f8
Fixed compilation and some copy paste error
2014-07-04 15:20:23 +02:00
Subv
2874014443
Cleaned up the authserver includes a bit.
...
Fixed authserver pch build
2014-07-02 11:50:03 -05:00
leak
c31c6f3ba3
Backported AsyncAcceptor generalization to authserver
2014-07-02 18:05:30 +02:00
leak
310f5e6846
Some ground work for ASIO based RemoteAccess handling
2014-07-02 17:38:44 +02:00
leak
a20ac4c25b
Compile fix for recently added coding accessing socket information
2014-06-24 17:41:43 +02:00
Subv
0db743c4ff
Merge branch 'master' of github.com:TrinityCore/TrinityCore into boost
...
Conflicts:
src/server/authserver/Server/AuthSession.cpp
src/server/game/Server/WorldSession.h
src/server/shared/Packets/ByteBuffer.cpp
src/server/shared/Utilities/Util.h
2014-06-23 16:35:54 -05: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
leak
35aa142f6a
Replaced ACE_INET_Addr with boost::asio::ip::address
2014-05-31 18:31:53 +02:00
leak
bf6e58b8d4
Ditched ACE_Singleton in favor of C++11 like Singleton
2014-05-31 15:58:59 +02:00
leak
f05d540658
Restore PCH builds and make GCC happy
2014-05-31 01:02:03 +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
QAston
9495194bf2
Fix warnings introduced on littleendian in 2134cb610d
...
This fix prevents possible issues on bigendian machines. Don't use c style casts ppl, it's evul.
2014-01-30 23:43:37 +01:00
QAston
139ee0c8b7
Fix incorrect debug log in authserver
2014-01-26 22:04:45 +01:00
QAston
2134cb610d
Remove unneeded bigendian checks (they're already part of EndianConvert).
2014-01-26 21:32:07 +01:00
Vincent_Michael
20004050bc
Update copyright note for 2014.
...
Happy new year.
2014-01-01 00:07:53 +01:00
jackpoz
b0ffbb2179
Core/Auth: Fix expiring account bans
...
Fix a database race condition in authserver that would delay the account ban expiry by 1 login because the query that would have removed the ban was executed asynchronously.
2013-12-22 14:00:14 +01:00
jackpoz
096cb6bf00
Core/Auth: Fix Auth failing sometimes
...
Fix a database race condition between authserver saving session key to database asynchronously and worldserver reading it; session key is now saved synchronously.
2013-11-16 23:25:21 +01:00
Spp
94e2b9332a
Core/Logging: Remove LOG_FILTER_XXX defines with it's value (remember logger names are case-sensitive)
2013-11-08 10:50:51 +01:00