74 Commits

Author SHA1 Message Date
Shauren
53068a94e8 Core: Updated to 11.2.5.63704 2025-10-10 16:21:55 +02:00
Shauren
6042b67d65 Core/Auth: Refactor bnet session to use composition instead of inheritance for socket capabilities 2025-09-29 11:13:31 +02:00
Shauren
805f8e6817 Core/Bnet: Update PCH content to include most commonly used headers 2025-06-12 20:51:28 +02:00
Shauren
e8b2be3527 Core/Network: Socket refactors
* Devirtualize calls to Read and Update by marking concrete implementations as final
* Removed derived class template argument
* Specialize boost::asio::basic_stream_socket for boost::asio::io_context instead of type-erased any_io_executor
* Make socket initialization easier composable (before entering Read loop)
* Remove use of deprecated boost::asio::null_buffers and boost::beast::ssl_stream
2025-04-08 19:15:16 +02:00
Shauren
661bd1a7f4 Core/JSON: Prevent more out of bounds memory accesses in json deserialization 2024-12-26 00:02:13 +01:00
Shauren
4df06cee62 Core/Auth: Fix missing initialization 2024-12-18 22:29:35 +01:00
Shauren
8e15952659 Core/Auth: Refactor client auth key storage to support more future client variants and preserve more information about client version 2024-08-29 15:08:47 +02:00
Shauren
bffc7ece61 Core/Misc: Remove duplicate helper functions 2024-08-29 13:30:08 +02:00
Motive
6b2d12206c Core: Allow macOS arm64 client to connect (#30173) 2024-08-28 19:59:19 +02:00
Shauren
c4b710446d Core/Realms: Realmlist refactors
* Removed global realm variable from World and use RealmList everywhere
* Match auth build key with client version
* Restored allowedSecurityLevel checks for realmlist packet building
* Restored updating population field, mysteriously removed 15 years ago in f20b25d1c9
2024-08-18 18:59:58 +02:00
Shauren
ac5aee6a98 Core: Updated to 10.2.6.53840 2024-03-21 21:07:23 +01:00
Shauren
acb5fbd48b Core/Bnet: Rewrite LoginRESTService using boost::beast instead of gsoap as http backend and extract generic http code to be reusable elsewhere 2023-12-17 23:21:10 +01:00
Shauren
78bcc3f52a Core/Misc: Minor code modernization - kill std::bind 2023-12-08 20:27:41 +01:00
Shauren
b888b1b09f Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390
Closes #29427
2023-11-21 12:25:22 +01:00
Shauren
8b426af763 Core/Bnet: Send hostnames in portal requests for launcherlogin 2023-07-20 00:38:07 +02:00
Shauren
6be536a73b Core/Network: Refactor local/remote ip address selection code and allow using hostnames in LoginREST bnetserver config options 2023-07-15 00:45:16 +02:00
Shauren
cdfaecda52 Core/Network: Cleanup asio using directives 2023-07-15 00:43:19 +02:00
Shauren
3bd4c21754 Core/DataStores: Remove temporary 10.0.7 workraround 2023-05-05 00:45:11 +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
8a183a6e5e Core/bnetserver: Implemented reconnecting with launcherlogin 2022-09-13 14:27:54 +02:00
Shauren
89652bd78f Core/bnetserver: Add compatibility for classic clients 2022-09-06 16:29:36 +02:00
Shauren
193233286d Core/Misc: ASSERT() cleanup - followup of cherry pick 572eab1c35 2021-08-08 15:22:55 +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
Shauren
79cd94d26d Core/Misc: Changed GetLocaleByName to return invalid value on invalid input instead of LOCALE_enUS
* Also added IsValidLocale helper function
2020-06-30 00:22:25 +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
e8e89f58fb Core/DBLayer: Prevent using prepared statements on wrong database 2019-07-27 01:00:37 +02:00
Shauren
3058d8c5ab Core/bnetserver: Fixed crash happening when sending packets larger than 4096 bytes 2019-07-21 16:32:49 +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
f94deace76 Merge branch 'bfa' 2018-12-09 14:45:03 +01:00
Shauren
31f0186d20 Core/Bnet: Updated protobuf messages and services 2018-11-05 17:41:37 +01:00
Shauren
41a7e08e43 Core/Bnet: Safeguard auth process against bad external db modifications 2018-10-22 19:06:26 +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
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Shauren
4d5eacd3af Core/Bnet: Added support for -launcherlogin logins (external client launcher required) 2017-10-03 18:03:57 +02:00
Shauren
65af89e4e6 Warning fixes 2017-09-22 19:39:04 +02:00
Shauren
91626f0339 Core/Bnet: Moved loading account info from rest service to session
* This improves concurrency by removes thread synchronization when checking login tickets
* Also allows users to use external (web based) login systems
2017-09-22 18:26:00 +02:00
Shauren
beb3316089 Core/Shared: Include cleanup 2017-05-13 11:49:09 +02:00
Shauren
7e538980a2 Core/Database: Include cleanup 2017-05-12 18:50:27 +02:00
Shauren
8e2634b2b4 Core/DBLayer: Convert async queries to new query callbacks and remove old callback handling 2017-01-13 21:38:03 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Shauren
def94248e1 Core/Bnet: Fixed an issue that allowed client to enter Battlenet::Session::ReadDataHandler with an invalid header
Closes #18312
2016-11-26 11:55:28 +01:00
Shauren
8396dabdad Core/Misc: Fixed coverity issues
Uninitialized fields: CID 1354593, 1354595, 1354738
Unchecked return value: CID 1354558
Out of bounds access: CID 1352989, 1352993
Null pointer dereference: CID 1296286
2016-06-06 09:16:59 +02:00
Shauren
dde620c402 Core: Updated to 6.2.4
* Rewrite bnetserver for new authentication protocol
2016-03-28 17:12:57 +02:00
Shauren
97a79af470 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
2016-02-19 19:23:04 +01:00
Shauren
36a1b1ccd5 Core/Bnet: Moved expiring bans to background task running every minute by default (configurable) - no longer executed during login. 2016-02-16 00:14:59 +01:00
Vincent-Michael
478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00