Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | partition_data_manager: Dehardcode array bounds | Lioncash | 2018-10-13 | 2 | -7/+12 |
| | | | | | | Instead, we can make it part of the type and make named variables for them, so they only require one definition (and if they ever change for whatever reason, they only need to be changed in one spot). | ||||
* | partition_data_manager: Take VirtualFile by const reference in constructor | Lioncash | 2018-10-13 | 2 | -2/+2 |
| | | | | | | Given the VirtualFile instance isn't stored into the class as a data member, or written to, this can just be turned into a const reference, as the constructor doesn't need to make a copy of it. | ||||
* | partition_data_manager: Amend constructor initializer list order | Lioncash | 2018-10-13 | 1 | -2/+3 |
| | | | | | Orders the members in the exact order they would be initialized. This also prevents compiler warnings about this sort of thing. | ||||
* | partition_data_manager: Remove unused includes | Lioncash | 2018-10-13 | 2 | -4/+1 |
| | | | | | Gets unused includes out of the headers and moves them into the cpp file if they're used there instead. | ||||
* | key_manager: Use std::vector's insert() instead of std::copy with a back_inserter | Lioncash | 2018-10-13 | 1 | -2/+2 |
| | | | | | | If the data is unconditionally being appended to the back of a std::vector, we can just directly insert it there without the need to insert all of the elements one-by-one with a std::back_inserter. | ||||
* | key_manager: Brace long conditional body | Lioncash | 2018-10-13 | 1 | -1/+2 |
| | | | | | If a conditional (or it's body) travels more than one line, it should be braced. | ||||
* | key_manager: Don't assume file seeks and reads will always succeed | Lioncash | 2018-10-13 | 1 | -7/+17 |
| | | | | | | | | | | | | Given the filesystem should always be assumed to be volatile, we should check and bail out if a seek operation isn't successful. This'll prevent potentially writing/returning garbage data from the function in rare cases. This also allows removing a check to see if an offset is within the bounds of a file before perfoming a seek operation. If a seek is attempted beyond the end of a file, it will fail, so this essentially combines two checks into one in one place. | ||||
* | key_manager: Remove unnecessary seek in DeriveSDSeed() | Lioncash | 2018-10-13 | 1 | -1/+0 |
| | | | | | | Given the file is opened a few lines above and no operations are done, other than check if the file is in a valid state, the read/write pointer will always be at the beginning of the file. | ||||
* | partition_data_manager: Rename system files for hekate | Zach Hilman | 2018-10-07 | 4 | -178/+228 |
| | | | | x | ||||
* | crypto: Add PartitionDataManager | Zach Hilman | 2018-10-07 | 2 | -0/+690 |
| | | | | Keeps track of system files for key derivation | ||||
* | key_manager: Add support for loading keys from partition data | Zach Hilman | 2018-10-07 | 2 | -0/+88 |
| | |||||
* | key_manager: Add ETicket key derivation | Zach Hilman | 2018-10-07 | 2 | -2/+276 |
| | | | | Derives titlekeys | ||||
* | key_manager: Add base key derivation | Zach Hilman | 2018-10-07 | 2 | -4/+220 |
| | | | | Derives master keys, game encryption keys, and package1/2 keys | ||||
* | key_manager: Add BIS key getter | Zach Hilman | 2018-10-07 | 2 | -2/+19 |
| | |||||
* | key_manager: Add support for more keys | Zach Hilman | 2018-10-07 | 2 | -3/+99 |
| | | | | TSEC, SBK, BIS, and other Sources for proper derivation | ||||
* | key_manager: Add keyblob support | Zach Hilman | 2018-10-07 | 2 | -0/+14 |
| | |||||
* | key_manager: Add support for crypto revisions past 04 | Zach Hilman | 2018-10-07 | 1 | -43/+63 |
| | |||||
* | key_manager: Add support for comments in keyfiles | Zach Hilman | 2018-10-07 | 1 | -0/+3 |
| | |||||
* | key_manager: Add support for console-specific keyfile | Zach Hilman | 2018-10-07 | 2 | -3/+13 |
| | |||||
* | key_manager: Rename KEK to Kek | Zach Hilman | 2018-10-07 | 2 | -8/+9 |
| | |||||
* | Port #4182 from Citra: "Prefix all size_t with std::" | fearlessTobi | 2018-09-15 | 10 | -47/+51 |
| | |||||
* | game_list: Use RegisteredCacheUnion for installed | Zach Hilman | 2018-09-04 | 1 | -1/+1 |
| | | | | Reduces code | ||||
* | aes_util: Fix error involving reads of less than 0x10 | Zach Hilman | 2018-09-04 | 1 | -0/+14 |
| | | | | Issues with block size are fixed by making all reads minimum length of 0x10 | ||||
* | nsp: Comply with style and performance guidelines | Zach Hilman | 2018-09-04 | 1 | -1/+1 |
| | |||||
* | card_image: Parse XCI secure partition with NSP | Zach Hilman | 2018-09-04 | 1 | -0/+2 |
| | | | | Eliminated duplicate code and adds support for Rev1+ carts | ||||
* | key_manager: Avoid autogeneration if key exists | Zach Hilman | 2018-09-04 | 1 | -3/+13 |
| | |||||
* | file_sys: Replace includes with forward declarations where applicable | Lioncash | 2018-09-04 | 2 | -4/+8 |
| | | | | | Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed. | ||||
* | file_sys/crypto: Fix missing/unnecessary includes | Zach Hilman | 2018-08-25 | 4 | -4/+4 |
| | |||||
* | key_manager: Eliminate indexed for loop | Zach Hilman | 2018-08-23 | 1 | -6/+13 |
| | |||||
* | key_manager: Create keys dir if it dosen't exist | Zach Hilman | 2018-08-23 | 1 | -0/+1 |
| | | | | On call to WriteKeyToFile, so that the autogenerated file can be written. | ||||
* | file_sys: Cut down on includes and copies | Zach Hilman | 2018-08-23 | 2 | -15/+13 |
| | |||||
* | crypto: Eliminate magic constants | Zach Hilman | 2018-08-23 | 2 | -16/+19 |
| | |||||
* | key_manager: Add support for autogenerated keys | Zach Hilman | 2018-08-23 | 2 | -3/+45 |
| | | | | Stored in a separate file than manual keys. | ||||
* | key_manager: Add support for KEK and SD seed derivation | Zach Hilman | 2018-08-23 | 2 | -5/+135 |
| | |||||
* | key_manager: Switch to boost flat_map for keys | Zach Hilman | 2018-08-23 | 2 | -32/+14 |
| | | | | Should make key gets marginally faster. | ||||
* | xts_encryption_layer: Implement XTSEncryptionLayer | Zach Hilman | 2018-08-23 | 2 | -0/+80 |
| | |||||
* | aes_util: Make XTSTranscode stricter about sizes | Zach Hilman | 2018-08-23 | 1 | -5/+2 |
| | | | | 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. | ||||
* | ctr_encryption_layer: Fix bug when transcoding small data | Zach Hilman | 2018-08-23 | 1 | -5/+3 |
| | | | | Fixes a bug where data lengths of less than size 0x10 will fail or have misleading return values. | ||||
* | common: Namespace hex_util.h/.cpp | Lioncash | 2018-08-16 | 1 | -4/+4 |
| | | | | | It's in the common code, so it should be under the Common namespace like everything else. | ||||
* | crypto: Remove hex utilities from key_manager | Zach Hilman | 2018-08-12 | 2 | -36/+2 |
| | | | | Move to hex_util.h in common | ||||
* | aes_util: Add static assertion to Transcode() and XTSTranscode() to ensure well-defined behavior | Lioncash | 2018-08-04 | 1 | -0/+4 |
| | | | | These functions should only be given trivially-copyable types. | ||||
* | aes_util: Make CalculateNintendoTweak() an internally linked function | Lioncash | 2018-08-04 | 2 | -12/+10 |
| | | | | | This function doesn't directly depend on class state, so it can be hidden entirely from the interface in the cpp file. | ||||
* | aes_util: Make Transcode() a const member function | Lioncash | 2018-08-04 | 2 | -8/+9 |
| | | | | This doesn't modify member state, so it can be made const. | ||||
* | core/crypto: Remove unnecessary includes | Lioncash | 2018-08-04 | 4 | -5/+5 |
| | |||||
* | key_manager: Use regular std::string instead of std::string_view | Lioncash | 2018-08-04 | 2 | -10/+7 |
| | | | | | | | 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. | ||||
* | Use more descriptive error codes and messages | Zach Hilman | 2018-08-01 | 2 | -5/+24 |
| | |||||
* | Use static const instead of const static | Zach Hilman | 2018-08-01 | 1 | -2/+2 |
| | |||||
* | Add missing includes and use const where applicable | Zach Hilman | 2018-08-01 | 6 | -15/+23 |
| | |||||
* | Allow key loading from %YUZU_DIR%/keys in addition to ~/.switch | Zach Hilman | 2018-08-01 | 2 | -7/+20 |
| | |||||
* | Make XCI comply to review and style guidelines | Zach Hilman | 2018-08-01 | 8 | -405/+187 |
| | |||||
* | Extract mbedtls to cpp file | Zach Hilman | 2018-08-01 | 2 | -85/+123 |
| | |||||
* | Add missing string.h include | Zach Hilman | 2018-08-01 | 1 | -0/+1 |
| | |||||
* | Update mbedtls and fix compile error | Zach Hilman | 2018-08-01 | 1 | -0/+1 |
| | |||||
* | Remove files that are not used | Zach Hilman | 2018-08-01 | 10 | -0/+834 |