Commit Graph

1558 Commits

Author SHA1 Message Date
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 401502ea3c Core/Grids: Modernize TypeContainer with variadic template 2025-01-05 20:22:34 +01:00
Shauren 27860c3316 Core/Database: Added std::span based functions to Field and PreparedStatement 2025-01-03 13:04:19 +01:00
Shauren aa3a62e518 Core/PacketIO: Fixed writing exactly 32 bits 2024-12-20 17:27:18 +01:00
Shauren 5f212c6916 Core/PacketIO: Improved bit functions - no longer writes each bit separately 2024-12-19 19:47:26 +01:00
Shauren 5a1fe84978 Core/PacketIO: Read directly into output variable for numeric ByteBuffer::operator>> overloads 2024-12-19 19:45:58 +01:00
Shauren 736836a3f5 Core/PacketIO: Fixed endian conversions for array operations 2024-12-19 19:43:06 +01:00
Shauren 9ed5f8812b Core/PacketIO: Remove overriding Underlying type from ByteBuffer reads in favor of PacketUtilities::As 2024-12-19 14:57:28 +01:00
Shauren 8eb2a4de78 Core/Misc: Apply consistent formatting in ByteBuffer 2024-12-19 14:42:38 +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 3e2abd2535 Core/Misc: Port std::ranges::contains from c++23 2024-12-01 19:05:26 +01:00
Shauren e8d949c794 Core/JSON: Prevent out of bounds memory accesses in json deserialization 2024-11-13 00:24:39 +01:00
Shauren af4dcc93ed Core/Networking: Support IPv6 2024-11-12 13:54:43 +01: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 8ec9b5841e Core/DataStores: Refactor DBStorageIterator to make it usable with more std::ranges algorithms 2024-09-09 23:21:23 +02:00
Shauren e94558d078 Core/Client Builds: Refactor build_info structure to support any client variants 2024-08-30 00:52:33 +02:00
Shauren 82031dc720 Core/Client Builds: Move build info out of RealmList class 2024-08-29 20:32:45 +02:00
Shauren d277be8718 Build fix for libstdc++-11 2024-08-29 15:50:55 +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
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 a4ecb2dfae Core/PacketIO: Fixed handling CMSG_UPDATE_ACCOUNT_DATA - compressed value is not a null-terminated string 2024-08-05 14:13:17 +02:00
Shauren d72e91bee2 Core/PacketIO: Use std::string_view to read strings from ByteBuffer 2024-08-03 13:40:17 +02:00
Shauren 9242eda6c7 Core/Misc: Reduce amount of virtual functions and copypasting in Reference<> implementations 2024-07-29 22:18:22 +02:00
Shauren ab5fab5ee9 Build: Fixed CMake 3.30 FindBoost deprecation warning 2024-07-18 12:42:31 +02:00
Shauren 77fe2745fe Build: CMake cleanup
* Migrate all add_definitions to target_compile_definitions
* Remove -D from preprocessor definitions added by target_compile_definitions (unneccessary, cmake strips it anyway)
* Fixed NO_BUFFERPOOL not being set on g3d if jemalloc is used
* Moved library/compiler specific compile flag settings spread all over various CMakeLists to their related library/compiler file
* Remove ancient manual link flag settings for worldserver
2024-07-15 15:24:35 +02:00
Ovahlord a3db80ce58 Core/PacketIO: increased allowed storage size of ByteBuffer from ~10mb to ~100mb and fixed a logic mistake that was allowing first-time append calls to bypass that size limit (#30037) 2024-06-15 18:12:18 +02:00
Shauren 4f6b49cccf Core/Crypto: Rename our Argon2 to avoid possible conflict with library file on some configurations 2024-06-02 00:18:33 +02:00
Shauren 468a06baf0 Core: Update to 10.2.7 2024-05-08 20:55:51 +02:00
Shauren f847cd4eeb Core/Networking: Fixed Socket::DelayedCloseSocket not working if write queue is empty when its called on linux and mac
Closes #29887
2024-04-03 21:23:30 +02:00
Shauren ac5aee6a98 Core: Updated to 10.2.6.53840 2024-03-21 21:07:23 +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 5f00ac4b2b Core/Misc: Minor refactors in BaseEncoding and SslSocket to prepare for future bnetserver changes 2023-12-16 20:02:20 +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 a3702cc526 Core/Misc: Remove incorrect (and unused) equality operator overloads from LinkedListHead::Iterator class 2023-10-18 20:21:32 +02:00
Shauren e161874695 Core/Realms: Replaced hardcoded realm category list with Cfg_Categories.db2 2023-10-05 23:57:25 +02:00
Shauren f0a862e71b Core/Misc: Modernize comparison operators 2023-08-24 00:51:26 +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
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 7f5e47c396 Core/Realms: Remove duplicate realm names storage 2023-04-29 00:25:31 +02:00
Shauren f540477fed Core/DataStores: Optimized DB2Storage::begin to remove searching for lowest id on every call 2023-04-27 00:17:25 +02:00
Shauren 7b31080258 Core/Misc: Modernize code a bit by replacing std::tie with either structured bindings or operator<=> 2023-04-06 17:46:58 +02:00
Shauren 7395d75b5a Core/Misc: Fixed clang 15 warnings 2023-01-31 18:51:31 +01: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 92ed5e8af1 Core/Misc: Include cleanup, 2023 edition 2023-01-07 22:38:21 +01:00