238 Commits

Author SHA1 Message Date
Shauren
585e170ad6 Core/Network: Refactor AsyncAcceptor to use async_accept overload producing sockets through argument instead of having to preallocate it
* Also improve main() cleanup to fully process all queued async operations (including their cancellations)
2026-01-12 20:59:19 +01:00
Shauren
b69a1a71c6 Core/Network: Fix invalid NetworkThread array access for derived classes that have additional data members (only HttpService threads were affected) 2025-12-22 13:06:28 +01:00
Shauren
3331699906 Build: Modernize include directory management using target_sources(FILE_SET) 2025-11-12 22:53:54 +01:00
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
1f5f245c02 Core/Misc: Fix revision_data.h and boost/predef preprocessor macro conflict 2025-06-11 15:52:40 +02:00
Shauren
546d23264c Core/Misc: Make string and string_view literal suffixes globally available 2025-05-13 11:41:54 +02:00
Jason Dove
5ee93f177d Core/Network: Update LoginRESTService to check all addresses together (#30927) 2025-05-12 18:20:16 +02:00
Shauren
c8ab1b58b1 Core/Network: Minor include cleanup and add more required functions and typdefs to SslStream and BoostBeastSocketWrapper 2025-04-13 11:25:31 +02:00
Shauren
71b681bbf0 Core/Network: Move to separate project 2025-04-09 21:02:31 +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
039acb20e4 Core/Network: Simplify worldserver port configuration: removed InstanceServerPort 2025-01-07 13:41:09 +01:00
Shauren
27860c3316 Core/Database: Added std::span based functions to Field and PreparedStatement 2025-01-03 13:04:19 +01: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
c81183a660 Dep: Replace basic_deadline_timer with std::chrono based basic_waitable_timer 2024-12-09 21:13:18 +01:00
Shauren
af4dcc93ed Core/Networking: Support IPv6 2024-11-12 13:54:43 +01:00
Shauren
b13b5142f1 Core/Utilities: Extend make_unique_ptr_with_deleter functionality to allow it to create deleters with compile time constant functions (reduces its size to just sizeof(void*)) 2024-10-01 21:03:44 +02:00
Shauren
7ac0c685dd Build: Add WITH_WARNINGS_AS_ERRORS cmake option that turns compile warnings into compile errors 2024-09-20 13:19:42 +02:00
Shauren
a21e7c738e Build: Automatically include WindowsSettings.manifest in all executables instead of listing it separately as source file in every target 2024-09-15 12:55:50 +02:00
Shauren
052f2d0a81 Core/Common: Compile ServiceWin32 as part of common project instead of directly adding its source files to both server executables 2024-09-15 12:40:54 +02:00
Shauren
fd0a7ba871 Core/CrashHandler: Compile WheatyExceptionReport only once and moved its global variable initializer to all projects using it 2024-09-15 12:13:54 +02: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
7ff646efa9 Core/Proto: Added messages and services missing descriptors in client 2024-07-28 18:12:53 +02:00
Shauren
d4f4cdc238 Core/Proto: Updated protobuf messages and services for 11.0.2 2024-07-27 00:20:04 +02:00
Shauren
a7c42f1ed5 Build: Normalize executable locations in build directory for all platforms 2024-06-15 16:01:22 +02:00
Shauren
fd4ffc81b2 Core/Misc: Fixed windows _UNICODE incompatibilities 2024-06-02 14:21:13 +02:00
Fabian König
19232ed2b6 CI/GitHub: Add Windows x86_64 CI (github actions) support. (#29773)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2024-05-31 22:08:40 +02:00
Ovahlord
728e7c7fcf Core/Cryptography: dropped support for OpenSSL 1.1
OpenSSL 1.1 has been deprecated for quite some time now so it is time to put it to rest. Please upgrade to OpenSSL 3.x
2024-05-12 15:48:39 +02:00
Shauren
83f4763b25 Core/Misc: Minor change to make_unique_ptr_with_deleter to make it accept only pointers 2024-05-07 12:26:21 +02:00
Shauren
7df138ba2b Core/Misc: Replace shared_ptr with unique_ptr with deleter for cleanups in main() functions 2024-04-04 21:31:22 +02:00
Shauren
28596792a8 Fix build with openssl 1.1.1 2024-03-21 21:45:13 +01:00
Shauren
ac5aee6a98 Core: Updated to 10.2.6.53840 2024-03-21 21:07:23 +01:00
Shauren
5cc1b97fc1 Core/Bnet: Added SRP http endpoints 2024-01-18 00:31:57 +01:00
Meji
39621fa41c Core/Worldserver: Split Worldserver services into separate files (#29555) 2024-01-16 20:04:54 +01:00
Shauren
8b54205778 Build fix 2023-12-26 15:11:11 +01:00
Shauren
623202d68e Core/Bnet: Implemented new SRP6 variants, and migrate old sha_pass_hash in battlenet_accounts to separate salt and verifier columns
* passwords can now be case sensitive and up to 128 characters long
2023-12-26 14:55:15 +01:00
Shauren
15fce17c1a Core/Bnet: Add new loggers to config file template, fixed request/response content logging and fixed setting keep_alive on responses 2023-12-18 12:19:10 +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
333630b7de Core/Misc: Added windows version checks during startup to avoid confusion about crashes when running on unsupported OS 2023-12-01 19:53:13 +01:00
Shauren
b299902881 Core/Locales: Set active code page and locale used by c string functions to utf8
Closes #29455
2023-11-24 20:01:17 +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
22f19a1645 Core/SSL: Build fix for openssl 1.1.1 2023-09-16 01:24:07 +02:00
Shauren
1fe73cd532 Core/SSL: Support more certificate formats 2023-09-16 00:41:07 +02:00
Shauren
cc6dba1376 Core/Realms: Minor refactor to realm address storage (remove LocalSubnetMask as it is now unused, db field kept for table structure compatibility with 3.3.5 branch) 2023-08-03 11:18:11 +02:00