Commit Graph

28702 Commits

Author SHA1 Message Date
cheezwiz7899 7acd3dd394 crypto: remove mbedtls, unify AES on OpenSSL + intrinsics
Replace mbedtls entirely with OpenSSL as the single crypto dependency.
All AES-128/256 operations now dispatch through aes_ni.h at runtime:
VAES-512 → VAES-256 → SSE4 → OpenSSL EVP fallback, selected by CPUID
at first call with no global ISA flags required.

The OpenSSL fallback path in Ctr128 fires only on hardware without
AES-NI; on any x86-64 built after 2011 the intrinsic paths are taken
exclusively. All paths produce byte-identical output, verified against
NIST SP 800-38A (CTR) and SP 800-38B (CMAC) test vectors.

Changes:
- aes_ni.h: new four-tier CTR dispatch with CPUID detection via <cpuid.h>;
  VAES-512/256 paths for Zen 4 / Sapphire Rapids (~19 GB/s) and
  Zen 3+ / Tiger Lake+ (~15 GB/s)
- aes_util.cpp: CipherContext stores raw_key[16] for the OpenSSL fallback
- key_manager.cpp: CMAC → intrinsics, SHA-256 → EVP_Digest, bignum → BN_*
- amiibo_crypto.cpp/h: AES-CTR → intrinsics, HMAC → EVP_MAC
- xts_archive.cpp, registered_cache.cpp, nca.cpp, ro.cpp,
  delivery_cache_directory_service.cpp: SHA-256/MD5 → EVP_Digest
- citron_room.cpp: base64 → EVP_EncodeBlock/EVP_DecodeBlock
- verify_user_jwt.cpp: RS256 verification → EVP_DigestVerify*
- web_service CMakeLists: drop cpp-jwt, link OpenSSL::Crypto
- dependencies.cmake: remove mbedtls and cpp-jwt CPM blocks
- externals CMakeLists: remove add_subdirectory(mbedtls)
- openssl_build.cmake: require NASM; remove no-asm
2026-06-11 05:37:48 +10:00
lizzie 16bff11834 fix: twart anti-emulator checks in mods
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-06-02 02:28:59 +00:00
collecting 05e71276f1 Multiple Shutdown fixes 2026-05-20 03:46:31 -04:00
collecting 691c3d6b11 citron: Add background image history/reset, fix custom icon/poster override & Permanent Dark Theme 2026-05-20 02:25:46 -04:00
collecting 904ae0c96f UI: Force Dark Mode (to be adjustable in the future) 2026-05-20 01:58:19 -04:00
collecting c1b608e934 core: Fix update titlebar version desync and bypass disabled VRAM GC stalls 2026-05-20 01:47:05 -04:00
collecting 161c75dbc5 citron: Fix SteamGridDB dialog crashes and icon/poster update synchronization 2026-05-19 18:36:02 -04:00
collecting c90bfad9c2 fix: CLI QT Issue w/ booting directly from a file 2026-05-19 09:04:22 +00:00
lizzie 8138e4d5af fix: HBL crash
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-05-19 05:29:20 +00:00
collecting fab192f773 core: Fix ExeFS patching for installed NAND/external updates and kernel shutdown crashes 2026-05-18 20:08:52 -04:00
collecting fde6cba55d Extra PGO Security w/ Updating 2026-05-17 21:56:50 -04:00
collecting 6d0d9b5d58 feat: Linux Auto Updater functionality 2026-05-17 21:25:39 -04:00
collecting 234f51a63f fix Windows squishy 2026-05-17 19:26:45 -04:00
CollectingW 81ec376eb8 Merge pull request #208 from cheezwiz7899/buildfixes
Fix: Windows and Linux build script improvements
2026-05-17 17:19:49 -04:00
CollectingW e09b3017b4 Merge pull request #211 from antonimodev/test
vulkan: move shared bindless cache helpers to pipeline_helper.h
2026-05-17 17:17:23 -04:00
collecting 1e3fbe927b Hardening of ensurance for UI Rendering for Windows 2026-05-17 17:11:04 -04:00
collecting c48e40399e Windows no longer adaptive theming sorry 2026-05-17 16:42:42 -04:00
antonimodev 60a9305310 vulkan: move shared bindless cache helpers to pipeline_helper.h
- Deduplicate BindlessCache and hash functions in Vulkan pipelines
2026-05-16 11:53:52 +02:00
collecting 6bd30f6e25 hid: Resolve null dereference in UpdateMotion during startup 2026-05-15 01:15:41 -04:00
collecting 9aebf73b1b fuck off ugly big line thing 2026-05-14 23:37:01 -04:00
collecting be8356dc5f Egg 2026-05-14 23:21:34 -04:00
collecting a27c902c74 audio_core: Fix ResultInsufficientBuffer on older revisions due to internal struct inflation 2026-05-14 21:36:57 -04:00
collecting 09d1c65be9 vulkan: Improve memory stability and UI polish 2026-05-14 05:27:14 -04:00
cheezwiz7899 a5407ba529 Add a check to make sure the CPM source cache is not set to somewhere with spaces in the path 2026-05-14 16:01:51 +10:00
cheezwiz7899 8d6e94e8b4 Fix: Windows and Linux build scripts tolerate paths with spaces
OpenSSL compiles correctly from source for Windows /Linux native and Linux to Windows cross compiling scenarios

Added -mtls-dialect=gnu2 to linux compile flags

Added commented out -march=native for easy self-compile use.

Fixed linux binary lib path resolution, so running the binaries works without AppImage packaging.
2026-05-14 09:49:59 +10:00