- CryptoKeys plugin can now be told how many bits to use for keys. Defaults to 2048 as a happy medium between security and performance
- After creating the OpenSSL RSA key, use the exp/mod values directly rather than recomputing from primes
- Added RSA.h with some TBigInt based helpers for RSA keys
- Added FPakSignatureFile to wrap the contents of the pak .sig file, including determining that it is of a new format that supports versioning. Wraps the encryption and decryption of he master table hash
- Changed pak master signature hash from crc to SHA1
- Modified access to executable embedded public key data so that it is just an array of bytes. Will allow custom key sizes in the future.
#rb joe.barrett, stefan.boberg
#jira UE-71280, UE-71377
#ROBOMERGE-OWNER: graeme.thornton
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5381335 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5383057 by graeme thornton in Main branch]
Reuse previously decompressed buffer where possible to avoid repeatedly deserialising and decompressing the same block when serializing data < compressed block size.
#rb Graeme.Thornton
[FYI] Graeme.Thornton
#ROBOMERGE-OWNER: allan.bentham
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 5237090 via CL 5240033
[CL 5240035 by allan bentham in Main branch]
#rb gil.bribb
[FYI] gil.gribb
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 4998359 via CL 4998360 via CL 4999252
[CL 5001374 by josh adams in Main branch]
- -nommio on the commandline will disble it for testing
#rb gil.gribb
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 4963115 via CL 4963118 via CL 4963812
[CL 4969283 by josh adams in Main branch]
Merge conflict.
justin.marcus, please merge this change by hand.
More info at https://robomerge.epicgames.net#FORTNITE
/src/robomerge_ue4_main_01/Engine/Source/Runtime/Core/Private/GenericPlatform/GenericPlatformMisc.cpp - merging //Fortnite/Dev-EngineMerge/Engine/Source/Runtime/Core/Private/GenericPlatform/GenericPlatformMisc.cpp#3
/src/robomerge_ue4_main_01/Engine/Source/Runtime/Core/Private/GenericPlatform/GenericWidePlatformString.cpp - merging //Fortnite/Dev-EngineMerge/Engine/Source/Runtime/Core/Private/GenericPlatform/GenericWidePlatformString.cpp#4
/src/robomerge_ue4_main_01/Engine/Source/Runtime/Core/Public/GenericPlatform/GenericPlatformMisc.h - merging //Fortnite/Dev-EngineMerge/Engine/Source/Runtime/Core/Public/GenericPlatform/GenericPlatformMisc.h#3
--------------------------------------
Merging //Fortnite/Dev-Kairos to Main (//Fortnite/Main)
Get Install Bundle Manager and dependcies building in main.
#ROBOMERGE-SOURCE: CL 4949345 via CL 4952070
#rb none
[CL 4961624 by justin marcus in Main branch]
- Prevents CRC from crashing when writing the config files on exit.
#rnx
#rb Josh.Adams, Brandon.Schaefer
#ROBOMERGE-AUTHOR: Arciel.Rekman
#ROBOMERGE-SOURCE: CL 4846937 via CL 4846952 via CL 4848372 via CL 4850934
[CL 4851162 by peter knepley in Main branch]
- Added memory mapped IO concept to the engine
- Implemented and tested on Windows and IOS
- Not in use by anything yet, however, as the use cases are narrow and special (bulk data that does not need massaging after load - so it can be swapped out and back in silently by OS)
[FYI] gil.gribb,chris.babcock
#ROBOMERGE-SOURCE: CL 4842051 via CL 4845281
[CL 4845299 by josh adams in Main branch]
Workaround for UE-58013, though not a full fix. Requires setting bAllowNonUFSIniWhenCooked in the Target.cs and using a cooked build with pak files.
#rb bob.tellez
#jira UE-58013
#ROBOMERGE-SOURCE: CL 4487659 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)
[CL 4487660 by marcus wassmer in Staging-4.21 branch]
- Added support for compression plugins
- Removed the Custom compression concept, now using plugins properly
- Modified UnrealPak to use FNames, and allow for multiple compression methods (fallbacks on error or unavailability, etc)
- Added project settings for compression method selection for UnrealPak, and additional settings to be passed to UnrealPak (for instance, to control compression size/speed, etc)
- Deprecated a bunch of old function calls
- Improved pak file "old format" reading ability
- Brought over some changes from Fortnite for pak file encryption and memory savings
- Implemented a parallel compression pull request (#4129) to speed up pak file compression
#jira UE-51294
#rb ben.marsh
[CL 4480944 by Josh Adams in Dev-Core branch]