Commit graph

33 commits

Author SHA1 Message Date
Zach Hilman
bf86700873 game_list: Use RegisteredCacheUnion for installed
Reduces code
2018-09-04 16:21:40 -04:00
Zach Hilman
7b95f295b6 aes_util: Fix error involving reads of less than 0x10
Issues with block size are fixed by making all reads minimum length of 0x10
2018-09-04 16:21:40 -04:00
Zach Hilman
887ffb2512 nsp: Comply with style and performance guidelines 2018-09-04 14:29:19 -04:00
Zach Hilman
57769f8d0d card_image: Parse XCI secure partition with NSP
Eliminated duplicate code and adds support for Rev1+ carts
2018-09-04 14:27:33 -04:00
Zach Hilman
8e787e5ec2 key_manager: Avoid autogeneration if key exists 2018-09-04 14:25:54 -04:00
Lioncash
a9f4e31cc0 file_sys: Replace includes with forward declarations where applicable
Cuts down on include dependencies, resulting in less files that need to
be rebuilt when certain things are changed.
2018-09-03 22:52:24 -04:00
Zach Hilman
89422004c3 file_sys/crypto: Fix missing/unnecessary includes 2018-08-24 22:15:32 -04:00
Zach Hilman
8f6ef9d395 key_manager: Eliminate indexed for loop 2018-08-23 11:53:30 -04:00
Zach Hilman
8b989b2e11 key_manager: Create keys dir if it dosen't exist
On call to WriteKeyToFile, so that the autogenerated file can be written.
2018-08-23 11:53:30 -04:00
Zach Hilman
d867928e90 file_sys: Cut down on includes and copies 2018-08-23 11:53:30 -04:00
Zach Hilman
d3225fdae9 crypto: Eliminate magic constants 2018-08-23 11:53:30 -04:00
Zach Hilman
5b8fdc94e2 key_manager: Add support for autogenerated keys
Stored in a separate file than manual keys.
2018-08-23 11:53:30 -04:00
Zach Hilman
abfa173778 key_manager: Add support for KEK and SD seed derivation 2018-08-23 11:53:30 -04:00
Zach Hilman
25e7fc1b47 key_manager: Switch to boost flat_map for keys
Should make key gets marginally faster.
2018-08-23 11:53:30 -04:00
Zach Hilman
1369a56ec3 xts_encryption_layer: Implement XTSEncryptionLayer 2018-08-23 11:52:44 -04:00
Zach Hilman
ec14bb18c9 aes_util: Make XTSTranscode stricter about sizes
XTS with Nintendo Tweak will fail mysteriously if the sector size is not 0x4000. Upgrade the critical log to an assert to prevent undefined behavior.
2018-08-23 11:52:44 -04:00
Zach Hilman
abb0f6cac9 ctr_encryption_layer: Fix bug when transcoding small data
Fixes a bug where data lengths of less than size 0x10 will fail or have misleading return values.
2018-08-23 11:52:44 -04:00
Lioncash
890507ecf1 common: Namespace hex_util.h/.cpp
It's in the common code, so it should be under the Common namespace like
everything else.
2018-08-15 23:24:00 -04:00
Zach Hilman
f2c489b940 crypto: Remove hex utilities from key_manager
Move to hex_util.h in common
2018-08-11 22:50:08 -04:00
Lioncash
c8617a1465 aes_util: Add static assertion to Transcode() and XTSTranscode() to ensure well-defined behavior
These functions should only be given trivially-copyable types.
2018-08-04 17:30:52 -04:00
Lioncash
f0a2d4da2b aes_util: Make CalculateNintendoTweak() an internally linked function
This function doesn't directly depend on class state, so it can be
hidden entirely from the interface in the cpp file.
2018-08-04 17:30:48 -04:00
Lioncash
1fb5027501 aes_util: Make Transcode() a const member function
This doesn't modify member state, so it can be made const.
2018-08-04 16:49:42 -04:00
Lioncash
8b86a89dd5 core/crypto: Remove unnecessary includes 2018-08-04 16:44:07 -04:00
Lioncash
d74342ad3f key_manager: Use regular std::string instead of std::string_view
The benefit of std::string_view comes from the idea of avoiding copies
(essentially acting as a non-owning view), however if we're just going
to copy into a local variable immediately, there's not much benefit
gained here.
2018-08-04 16:37:30 -04:00
Zach Hilman
9b710a5901 Use more descriptive error codes and messages 2018-08-01 00:16:54 -04:00
Zach Hilman
1f83886c21 Use static const instead of const static 2018-08-01 00:16:54 -04:00
Zach Hilman
568ce6304c Add missing includes and use const where applicable 2018-08-01 00:16:54 -04:00
Zach Hilman
feb6b2b4a8 Allow key loading from %YUZU_DIR%/keys in addition to ~/.switch 2018-08-01 00:16:54 -04:00
Zach Hilman
272ca87298 Make XCI comply to review and style guidelines 2018-08-01 00:16:54 -04:00
Zach Hilman
03467b64e3 Extract mbedtls to cpp file 2018-08-01 00:16:54 -04:00
Zach Hilman
0c75b8d6b2 Add missing string.h include 2018-08-01 00:16:54 -04:00
Zach Hilman
bba2d504f0 Update mbedtls and fix compile error 2018-08-01 00:16:54 -04:00
Zach Hilman
b10c0d291f Remove files that are not used 2018-08-01 00:16:54 -04:00