summaryrefslogtreecommitdiff
path: root/src/core/crypto (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-01-25vfs: Move vfs files to their own directoryGravatar FearlessTobi4-6/+6
2023-09-13key_manager: Remove uncaught usage of stoulGravatar lat9nq1-4/+4
2023-09-05core: Add support for loading NSPs with personalized tickets. (#10048)Gravatar Steveice102-106/+179
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-06-03android: frontend: Integrate key installation for SAF.Gravatar bunnei2-2/+2
2023-06-03core: crypto: key_manager: Add methods to reload & validate keys.Gravatar bunnei2-0/+11
2023-03-12general: fix spelling mistakesGravatar Liam3-3/+3
2022-11-27crypto: use user-provided keys whenever possibleGravatar Valeri1-4/+4
Solves an issue where autogenerated title keys would take precedence over those provided by user.
2022-06-13common: Change semantics of UNREACHABLE to unconditionally crashGravatar Liam1-2/+0
2022-04-23general: Convert source file copyright comments over to SPDXGravatar Morph14-42/+28
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-03-20general: Fix clang/gcc build errorsGravatar ameerj1-4/+1
2022-03-19core: Reduce unused includesGravatar ameerj1-1/+4
2021-11-03core: Fix transitive include build errorsGravatar ameerj1-0/+1
2021-11-03core: Remove unused includesGravatar ameerj5-8/+0
2021-06-23General: Resolve fmt specifiers to adhere to 8.0.0 API where applicableGravatar Lioncash1-1/+1
Also removes some deprecated API usages.
2021-05-25common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph2-66/+79
std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
2021-05-16core: Make variable shadowing a compile-time errorGravatar Lioncash3-4/+4
Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
2021-04-23aes_util: Make use of std::spanGravatar Lioncash2-9/+5
Allows us to simplify the interface quite a bit as it will handle contiguous sequences for us.
2021-04-14common: Move settings to common from core.Gravatar bunnei1-1/+1
- Removes a dependency on core and input_common from common.
2021-03-05aes_util: Remove malformed mbedtls_cipher_finish function callGravatar Morph1-2/+0
2021-02-04key_manager: Create the keys directory if it does not existGravatar Morph1-0/+5
2021-01-05core: Silence warnings when compiling without assertsGravatar ReinUsesLisp1-6/+5
2020-10-20Revert "core: Fix clang build"Gravatar bunnei2-6/+3
2020-10-17core: Fix clang buildGravatar Lioncash2-3/+6
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-13core/CMakeLists: Make some warnings errorsGravatar Lioncash1-1/+1
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-09-14crypto/key_manager: Remove dependency on the global system accessorGravatar Lioncash2-5/+8
We can supply the content provider as an argument instead of hardcoding a global accessor in the implementation.
2020-08-23file_sys: Replace inclusions with forward declarations where applicableGravatar Lioncash1-0/+1
Same behavior, minus unnecessary inclusions where not necessary.
2020-08-22key_manager: Make data arrays constexprGravatar Lioncash2-75/+82
We can convert these maps into constexpr arrays to eliminate some runtime static constructors.
2020-08-16common/fileutil: Convert namespace to Common::FSGravatar Lioncash2-112/+178
Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
2020-08-06partition_data_manager: Update master key hashesGravatar Lioncash1-5/+5
Fills in some hashes that were previously unhandled.
2020-08-06partition_data_manager: Make data arrays constexprGravatar Lioncash2-98/+118
Previously the constructor for all of these would run at program startup, consuming time before the application can enter main(). This is also particularly dangerous, given the logging system wouldn't have been initialized properly yet, yet the program would use the logs to signify an error. To rectify this, we can replace the literals with constexpr functions that perform the conversion at compile-time, completely eliminating the runtime cost of initializing these arrays.
2020-08-06partition_data_manager: Eliminate magic valueGravatar Lioncash1-2/+2
We can use sizeof to make it obvious at the call site where the value is coming from.
2020-08-06aes_util: Make use of non-template variant of TranscodeGravatar Lioncash1-1/+1
Same behavior, less template instantiations.
2020-08-03aes_util: Allow SetIV to be non-allocatingGravatar Lioncash5-23/+30
In a few places, the data to be set as the IV is already within an array. We shouldn't require this data to be heap-allocated if it doesn't need to be. This allows certain callers to reduce heap churn.
2020-07-10KeyManager: Prevent writing of invalid keysGravatar Morph1-4/+8
If the keys are zero, don't write them to the autogenerated file.
2020-07-01key_manager: Correct casing of instance()Gravatar Lioncash1-1/+1
Our codebase uppercases member function names.
2020-07-01key_manager: Delete move operationsGravatar Lioncash1-0/+3
Prevents the singleton from being moved from.
2020-07-01key_manager: Make use of canonical deleted operator=Gravatar Lioncash1-2/+2
operator= typically returns a reference, it's not void. While we're at it, we can correct the parameter formatting to adhere to the codebase.
2020-05-20crypto: Make KeyManager a singleton classGravatar FearlessTobi1-1/+9
Previously, we were reading the keys everytime a KeyManager object was created, causing yuzu to reread the keys file multiple hundreds of times when loading the game list. With this change, it is only loaded once. On my system, this decreased game list loading times by a factor of 20.
2020-04-16General: Resolve warnings related to missing declarationsGravatar Lioncash1-4/+3
2020-04-16key_manager: Resolve missing field initializer warningGravatar Lioncash1-1/+2
2019-11-12key_manager: Make use of IOFile in WriteKeyToFile()Gravatar Lioncash1-11/+15
This properly handles unicode-based paths on Windows, while opening a raw stream doesn't out-of-the-box. Prevents file creation from potentially failing on Windows PCs that make use of unicode characters in their save paths (e.g. writing to a user's AppData folder, where the user has a name with non-ASCII characters).
2019-11-12core: Migrate off deprecated mbedtls functionsGravatar Lioncash2-3/+3
These functions are marked for deprecation and it's recommended that the *_ret variants be used instead.
2019-11-12externals: Update httplibGravatar Lioncash1-1/+1
Since the introduction of this library, numerous improvements have been made. Notably, many of the warnings we would get by simply including the library header have now been fixed. This makes it much easier to make conversion warning an error.
2019-11-12crypto: Resolve sign-conversion warningsGravatar Lioncash2-11/+12
2019-10-02[crypto] Use IsAllZeroArray helper functionGravatar vperus1-1/+1
2019-09-21partition_data_manager: Add accessor for decrypted PRODINFO partitionGravatar Zach Hilman2-0/+5
2019-07-07key_manager: Convert Ticket union to std::variantGravatar Zach Hilman2-55/+86
2019-07-07es: Populate/synthesize tickets on constructionGravatar Zach Hilman2-13/+14
2019-07-07key_manager: Add structure for Ticket parsingGravatar Zach Hilman2-35/+185
2019-07-07key_manager: Add accessors/helpers for ticket managementGravatar Zach Hilman2-14/+100