Commit Graph

310 Commits

Author SHA1 Message Date
Shauren
cdfaecda52 Core/Network: Cleanup asio using directives 2023-07-15 00:43:19 +02:00
Shauren
3260b94dd6 Core/Misc: Replace string to int conversion functions from Common.h with c++17 std::from_chars based ones Trinity::StringTo 2023-05-13 15:46:27 +02:00
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
af76b41ace Core/Networking: Fixed possible buffer overflows in WorldSocket::WritePacketToBuffer
Closes #28370
2022-10-16 16:31:58 +02:00
Shauren
20f38369f3 Core/PacketIO: Updated packet structures to 9.2.7 2022-07-31 21:39:48 +02:00
Shauren
88b6d75bce Core/PacketIO: Require valid WorldSession for CMSG_KEEP_ALIVE
(cherry picked from commit de4340af37)
2022-06-10 16:20:54 +02:00
Giacomo Pozzoni
5afa32e9a7 Core/Network: Add option to allow/disallow saving IP addresses to database (#26723)
Add config option AllowLoggingIPAddressesInDatabase to authserver and worldserver to specify if IP addresses can be logged or not to the database

(cherry picked from commit 68bf7e6d12)
2022-03-11 20:50:36 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Peter Keresztes Schmidt
ad340466d0 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs (#25054)
Related: #25006
(cherry picked from commit 85b5b842ca)
2022-01-23 22:02:03 +01:00
Shauren
865b47efad Core/Networking: Switch to intrusive variant of MPSC queue to halve the number of memory allocations for packet sending (#24659)
(cherry picked from commit f0060496f9)
2022-01-06 19:38:12 +01:00
Shauren
6391cf8a35 Core/Networking: Format string fix for previous commit 2021-12-30 11:56:35 +01:00
Shauren
74088e15c1 Core/Networking: Catch ByteBuffer exceptions in WorldSocket::InitializeHandler 2021-12-30 11:53:31 +01:00
Chaouki Dhib
c19a4db1c1 Core/Movement: Add time synchronisation (#18189)
(cherry picked from commit 975f1e364a)
2021-11-30 22:11:36 +01:00
Shauren
cc94c3eb50 Core/Sockets: Initialize _sessionKey variable in constructor 2021-06-13 01:00:22 +02:00
jackpoz
e17e4e6f07 Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
(cherry picked from commit 12701cb0c6)

 Conflicts:
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
	src/server/game/Battlefield/Battlefield.cpp
	src/server/game/Battlefield/Zones/BattlefieldWG.cpp
	src/server/game/Battlegrounds/BattlegroundMgr.cpp
	src/server/game/Calendar/CalendarMgr.h
	src/server/game/DungeonFinding/LFGQueue.cpp
	src/server/game/Entities/Corpse/Corpse.cpp
	src/server/game/Entities/Creature/Creature.cpp
	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/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Grids/ObjectGridLoader.cpp
	src/server/game/Guilds/Guild.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/BattlefieldHandler.cpp
	src/server/game/Handlers/CalendarHandler.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/ChatHandler.cpp
	src/server/game/Handlers/LFGHandler.cpp
	src/server/game/Handlers/MailHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Handlers/PetHandler.cpp
	src/server/game/Handlers/QueryHandler.cpp
	src/server/game/Handlers/TicketHandler.cpp
	src/server/game/Instances/InstanceSaveMgr.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Auras/SpellAuras.cpp
	src/server/game/Tickets/TicketMgr.cpp
	src/server/game/Tickets/TicketMgr.h
	src/server/game/World/World.cpp
	src/server/scripts/Commands/cs_gobject.cpp
	src/server/scripts/Commands/cs_instance.cpp
	src/server/scripts/Commands/cs_list.cpp
	src/server/scripts/Northrend/zone_wintergrasp.cpp
	src/server/scripts/Spells/spell_item.cpp
2021-04-15 05:53:27 +02:00
Shauren
55eef73c48 Core/PacketIO: Increase max allowed incoming packet size for CMSG_HOTFIX_REQUEST 2021-03-02 01:06:28 +01:00
Shauren
f922c6e7a4 Core/PacketIO: Renamed a bunch of opcodes based on more research (only those added after 6.0) 2020-09-19 12:44:42 +02:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Treeston
73922d2a85 Core/Authserver: Re-organize the accounts table (PR #25135)
- no longer use sha_pass_hash for anything else core-side (.account, SOAP, RA)
- salt/verifier/session_key are now binary
- old s/v/sha_pass_hash fields kept around for backwards compatibility
- sha_pass_hash is still updated (for now), s/v are not
- sha_pass_hash is only read if s/v have been manually changed
- SRP6 b now uses the full 32 bytes of randomness (instead of randomly only using 19)

(cherry picked from commit 3164b58c7d)
2020-08-03 22:37:47 +02:00
Treeston
e9392ad287 Core/Authserver: Authserver cleanup (PR#25093)
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber
- Get rid of (most of) the C-style arrays in authserver
- CryptoRandom as a unified source for cryptographic randomness
- Bring our other crypto APIs into 2020
- BigNumber usability improvements
- Authserver is now actually readable as a result of all of the above

(cherry picked from commit 210176fd91)
2020-08-03 19:39:00 +02:00
Treeston
2c3fc47a96 Proper client timeout detection (#19906)
- Properly detect client timeout when logged into a character after a configurable time (default 60s) has passed without the client sending any packets.
- Fixes issues with crashed clients leaving characters in the world for a very long time (default 15 minutes), as well as edge case exploits involving intentionally pausing client execution for some amount of time.

(cherry picked from commit 7dfd472f8d)
2020-07-16 22:00:30 +02:00
ForesterDev
01d098830a DB/Account: update account_access table (#24788)
* DB/Account: update account_access table:

- rename fields id -> AccountID, gmlevel -> SecurityLevel
- add Comment field
- rename command .acc set gmlevel to .acc set seclevel

* Update auth database

* Fix primary key

* Temporary restore old command account set gmlevel with same handler as account set seclevel

Use Optional  for realmID - if not set, use -1 (for all realms)

* Rename 2020_XX_XX_00_auth.sql to 2020_06_20_00_auth.sql

* Update auth_database.sql

* Rename 2020_XX_XX_00_world.sql to 2020_06_20_06_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 8e0365d8a6)
2020-06-22 11:03:31 +02:00
Shauren
0f0ca3a919 Core/DBLayer: Implement async transaction completion callbacks 2020-04-14 16:23:44 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
61f2eed353 Core/Realms: Move build info (and auth seeds) to database 2019-12-07 13:02:10 +01:00
Shauren
65b91375e0 Core: Updated allowed build to 8.2.5.32722 2019-12-04 00:06:22 +01:00
Shauren
387705a8fc Core: Updated allowed build to 8.2.5.32638 2019-11-23 12:28:18 +01:00
Shauren
dd39f2c1a7 Core: Updated allowed build to 8.2.5.32580 2019-11-20 12:35:11 +01:00
Shauren
6aee80e61a Core: Updated allowed build to 8.2.5.32494 2019-11-13 12:02:51 +01:00
Shauren
ee2e49429f Core/PacketIO: Update opcodes and packet structures to 8.2.5 2019-10-27 00:12:41 +02:00
Shauren
3b110b30d9 Core: Updated allowed build to 8.2.0.31478 2019-08-18 10:50:57 +02:00
Shauren
f884e5a856 Core: Updated allowed build to 8.2.0.31429 2019-08-11 12:19:56 +02:00
Shauren
e8e89f58fb Core/DBLayer: Prevent using prepared statements on wrong database 2019-07-27 01:00:37 +02:00
Shauren
71cbb0ae1c Core: Updated allowed build to 8.2.0.31229 2019-07-26 18:25:25 +02:00
Shauren
7dc057fedb Warning fix 2019-07-15 18:25:57 +02:00
Shauren
87bcf6c3c1 Warning fix 2019-07-15 18:03:48 +02:00
Shauren
74a801182a Core/PacketIO: Updated packet encryption to 8.2 2019-07-14 19:20:45 +02:00
Shauren
455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
Shauren
50cfeb9aa4 Core/Misc: Improved ip2location code and set it to disabled by default
(cherry picked from commit 0ead73516a)
2019-01-09 17:35:18 +01:00
Gooyeth
163c487be7 Common: Replace ip2nation by ip2location. (#21957)
Replace ip2nation by ip2location.

Download: https://lite.ip2location.com/database/ip-country
(cherry picked from commit 2fe4ab94c5)
2019-01-09 17:35:13 +01:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Shauren
0a779bd791 Core/PacketIO: Updated packet structures to 8.0.1 2018-11-05 00:00:34 +01:00
Shauren
c2d61e05cf Core: Updated allowed build to 7.3.5.26972 2018-06-29 22:38:38 +02:00
Shauren
6ef9c4dbfc Core: Updated allowed build to 7.3.5.26899 2018-06-22 18:00:24 +02:00
Shauren
170d10b8a9 Core: Updated allowed build to 7.3.5.26822 2018-06-14 23:08:55 +02:00
Shauren
f313e9f5e1 Core: Updated allowed build to 7.3.5.26654 2018-05-24 22:34:18 +02:00
Roc13x
11c3c456b7 Core/Bnet: Improve client ban messages (#21837)
* Don't hide banned game accounts from list.
* Display proper ban messages with suspension time remaining.
* More appropriate error codes for bans and locks
2018-04-18 20:27:45 +03:00
Shauren
72a9a8a29c Core: Updated allowed build to 7.3.5.26365 2018-04-06 18:03:08 +02:00
Shauren
31f6ba5a92 Core: Updated allowed build to 7.3.5.26124 2018-02-28 23:18:41 +01:00
Shauren
4af15915bc Core/PacketIO: Updated opcodes and packet structures to 7.3.5 2018-02-18 16:33:49 +01:00