76 Commits

Author SHA1 Message Date
Shauren
546d23264c Core/Misc: Make string and string_view literal suffixes globally available 2025-05-13 11:41:54 +02:00
Shauren
a43beb3e06 Core/Misc: Remove return type std::enable_if based SFINAE 2025-01-17 18:38:46 +01:00
Shauren
4f7079f471 Core: Updated to 11.0.7 2024-12-18 22:50:33 +01:00
Shauren
8228a53109 Core/Crypto: Added HMAC_SHA512 definition 2024-12-18 22:28:58 +01:00
Shauren
f8f7fb58cb Core/Crypto: Allow different AES key lengths 2024-12-18 22:28:34 +01:00
Shauren
c522e5f4c2 Core/Misc: Support IPv6 ip2location 2024-11-14 00:13:18 +01:00
Shauren
d3294568b8 Core/Crypto: Respect OPENSSL_MODULES environment variable if set by user that points to where legacy.dll should be found 2024-10-09 19:08:39 +02: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
4f6b49cccf Core/Crypto: Rename our Argon2 to avoid possible conflict with library file on some configurations 2024-06-02 00:18:33 +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
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
e172052a0a Core/Crypto: Added SHA 512 definitions 2023-12-19 21:13:33 +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
1fe73cd532 Core/SSL: Support more certificate formats 2023-09-16 00:41:07 +02:00
Shauren
f0a862e71b Core/Misc: Modernize comparison operators 2023-08-24 00:51:26 +02:00
Shauren
7395d75b5a Core/Misc: Fixed clang 15 warnings 2023-01-31 18:51:31 +01:00
Shauren
b8f18fad29 Core/Crypto: Remove support for OpenSSL 1.0 2022-09-06 12:51:08 +02:00
daMaex
4d1ae6cf06 Core/Crypto: Fixed build with openssl 1.1
(cherry picked from commit 9368823c8d)
2022-09-05 18:49:13 +02:00
Shauren
3fa46c6dc1 Core/Crypto: Fixed loading legacy openssl provider for RC4 on windows 2022-09-05 18:48:43 +02:00
daMaex
13c44517da Core/Crypto: Updated ARC4 code with openssl 3.0 support
(cherry picked from commit 9fca5e9117)
2022-09-05 18:44:05 +02:00
Shauren
72264f1d79 Core/Crypto: Removed unneccessary std::reverse in Ed25519::Sign 2022-08-01 11:54:51 +02:00
Shauren
ed2a2f032a Core/Crypto: Added Ed25519 implementation 2022-08-01 00:12:47 +02:00
Shauren
758580c076 Core/Crypto: Fixed openssl 3.0 compatibility for custom hmac_sha256 digest for RSA 2022-06-17 15:37:47 +02:00
daMaex
71efb44dbd Core/Crypto: Fixed GenericHMAC::Finalize wth openssl 3.0
(cherry picked from commit 0b6f77a006)
2022-06-16 13:53:26 +02:00
Shauren
aa6a0f2431 Core/Crypto: Fixed EVP_PKEY reference counting for copied objects
Closes #27943
2022-05-06 12:21:59 +02:00
Shauren
849999c1b3 Codestyle fix - remove empty lines 2022-05-03 17:57:51 +02:00
Shauren
2345b33669 Core/Crypto: Fix nopch build 2022-05-03 17:51:47 +02:00
Shauren
bc87f7b337 Core/Crypto: Switch away from most deprecated openssl functions and removed upper version limit 2022-05-03 17:03:57 +02:00
Shauren
aefce9a25c Core/Misc: Prefix include guard to avoid possible conflict with external library 2022-05-03 11:16:35 +02:00
Shauren
439b027d48 Core/Misc: Cleanup unused includes 2022-02-13 15:07:00 +01:00
Treeston
e0e3bae82c Core/Authserver: Removal of sha_pass_hash, compatibility fields, and everything that uses them (PR #25156)
(cherry picked from commit bcdbdd6f23)
2022-02-05 13:29:21 +01:00
Shauren
cacdb57c9c Core/Crypto: c++17-ify crypto code cherry picked earlier that was downgraded to c++14 2022-01-23 23:49:34 +01:00
Peter Keresztes Schmidt
10f835b058 Common/Crypto: #ifdef out unnecessary locking code for OpenSSL 1.1+ (PR #25110)
(cherry picked from commit 7ea33120a0)
2022-01-23 23:07:33 +01:00
Treeston
ea0aa63d96 Core/Misc: C++17 cleanups, commit 2, the advstd commit
(cherry picked from commit 857f8d9231)
2021-12-24 00:37:21 +01:00
Shauren
2c78f4dd1f Core/Misc: Resolve c++17 TODOs left in code as comments 2021-12-21 18:29:52 +01:00
Treeston
0b61c3b7b1 [3.3.5] Core/Authserver: TOTP rewrite: (PR #23633)
- Proper management commands (.account 2fa)
- Secrets can now be encrypted (set TOTPTokenSecret in .conf)
- Secret now stored in binary
- Argon2 and AES primitives
- Base32/64 support

(cherry picked from commit 4211645834)
2021-12-18 20:24:50 +01:00
Shauren
73e6cf4d27 Core/Misc: Fix another gcc warning 2021-10-06 12:19:05 +02:00
Treeston
ad7ed86aad Common/Misc: Clean-up a GCC sign comparison warning
(cherry picked from commit 643b9209f8)
2021-10-06 11:45:54 +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
b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +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
77380f032b Core/Authserver: Split SRP6 into its own file (PR #25131)
(cherry picked from commit 7f7fa8b23d)
2020-08-03 21:16:30 +02:00
Treeston
ac37ca040b how does VC++ never catch these? 5e36bf7 follow-up
(No more witty one-liners. Let me go to bed please.)

(cherry picked from commit 35411e5ed9)
2020-08-03 19:47:19 +02:00
Treeston
287e18a57c Core/Authserver: Auth cleanup phase 1b, the "I didn't hit Stage All" commit. Sorry. (5e36bf7 follow-up)
(cherry picked from commit 4f570e5d08)
2020-08-03 19:45:11 +02:00
Treeston
059bd630e9 Core/Authserver: Auth cleanup phase 1a, the "stuff I ran across while making phase 2" commit.
- Did you know BigNumber quietly assumes every byte array it gets is little-endian, even though openssl bignums use big-endian? Now you do!
- In entirely unrelated news, make the above behavior explicit through a default-true boolean, same as existing GetBytes derivatives.
- Also, if you are in the enlightened openssl 1.1 crowd, there's no more endian wrangling involved, because openssl now does all of that for us. Progress!

(cherry picked from commit 5e36bf7c67)
2020-08-03 19:41:41 +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
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
aa64226b64 Core/Misc: Suppress openssl random generator uninitialized variable errors under valgrind 2019-11-08 20:17:59 +01:00