Commit Graph

102 Commits

Author SHA1 Message Date
graeme thornton
c4053a2720 Add support to pak platform file for a custom decryption function that a game can override the way decryption is performed at runtime
[FYI] joe.barrett

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 6440730 via CL 6440731 via CL 6440813 via CL 6443772
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6507434 by graeme thornton in Dev-VR branch]
2019-05-15 15:27:23 -04:00
justin marcus
11afeeded9 Add DumpEarlyPakFileReads command to dump all pak reads that occur before it's possible to install patched content to CSV/Log.
This is disabled in shipping.
[at]Daniel.Lamb

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: justin.marcus
#ROBOMERGE-SOURCE: CL 6258473 via CL 6258479 via CL 6258480 via CL 6266092 via CL 6266227
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6281670 by justin marcus in Dev-VR branch]
2019-05-03 17:24:10 -04:00
graeme thornton
5ac86ca6a9 Improvements to pak file check command
- Add timing information to the log
 - If pak is signed, use a faster method where we just read one byte from each signing block
 - Still invoked with the -checkpak command line parameter

[FYI] bart.hawthorne, steve.white

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 6251572 via CL 6251573 via CL 6251574 via CL 6251688 via CL 6251693
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6254621 by graeme thornton in Dev-VR branch]
2019-05-02 13:01:46 -04:00
graeme thornton
9d5dc8c043 Minor off-by-one correction to chunk hash failure warning message
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 6113928 via CL 6113932 via CL 6115047 via CL 6115246
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6132788 by graeme thornton in Dev-VR branch]
2019-04-26 23:20:13 -04:00
graeme thornton
59de217a8a Improvements to loading/validation/logging of pak signature files. Better logging of errors.
#jira UE-73250

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 6095198 via CL 6095203 via CL 6096453 via CL 6096500
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6128052 by graeme thornton in Dev-VR branch]
2019-04-26 22:21:34 -04:00
graeme thornton
3b6648723a Make ChunkHashToString() an inline function in IPlatformFilePak.h so that it can be used by other modules without requiring a link dependency
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 6092711 via CL 6092712 via CL 6092999 via CL 6093032
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6125397 by graeme thornton in Dev-VR branch]
2019-04-26 22:02:26 -04:00
graeme thornton
1e9fb03dce Centralize the loading of pak signature data so that the same object can be reused between the SignedArchiveReader and FPakPrecacher implementations. Stops the same data being loaded and verified twice
[FYI] joe.barrett

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 6067905 via CL 6067908 via CL 6069306 via CL 6069330
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6073808 by graeme thornton in Dev-VR branch]
2019-04-23 21:32:40 -04:00
graeme thornton
2550bcea4a Improve logging of pak signature failures.
Treat a missing .sig file like a signature failure. Log it and ignore the pak file.


#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5993822 via CL 5994244 via CL 5995533 via CL 5995549 via CL 5997449 via CL 5997477
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6005541 by graeme thornton in Dev-VR branch]
2019-04-18 22:06:21 -04:00
allan bentham
67c64d321c UnloadPakEntryFilenames uses 64bit hashes.
[FYI] Graeme.Thornton
#rb Jack.porter
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 5937139 via CL 5952597 via CL 5956705 via CL 5957127
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5963351 by allan bentham in Dev-VR branch]
2019-04-17 21:05:59 -04:00
graeme thornton
fd2334f62a Don't mount pak files that fail the initial signature check
#rb joe.barrett, robert.manuszewski

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5897890 via CL 5897891 via CL 5898565 via CL 5898684
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5900168 by graeme thornton in Dev-VR branch]
2019-04-15 12:59:58 -04:00
graeme thornton
1c485f0c72 Fix debug logging of chunk hashes for pak file signature check failures
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5834330 via CL 5834331 via CL 5838008 via CL 5838453
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5884978 by graeme thornton in Dev-VR branch]
2019-04-12 21:52:32 -04:00
peter sauerbrei
a5ee7cd432 allow turning pak unload off from commandline with -nounloadpakentries, this allows all items to be properly loaded in PSO gen
#rb trivial

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: peter.sauerbrei
#ROBOMERGE-SOURCE: CL 5772245 via CL 5795091 via CL 5795113 via CL 5795129 via CL 5799583 via CL 5799699
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5802645 by peter sauerbrei in Dev-VR branch]
2019-04-08 21:07:46 -04:00
peter sauerbrei
728b753683 turn pak entry unloading back on with a better algorithm courtesy of GraemeT
doesn't solve thread safety, but better collision detection and 30MB on FN
#rb graeme.thornton, josh.adams

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: peter.sauerbrei
#ROBOMERGE-SOURCE: CL 5764474 via CL 5764475 via CL 5764476 via CL 5764477 via CL 5765310 via CL 5765340
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5779849 by peter sauerbrei in Dev-VR branch]
2019-04-08 13:20:31 -04:00
josh adams
60e9fd1fc5 - Replaced -nommio with a CVar: mmio.enable. Can use commandline to disable with: -dpcvars=mmio.enable=0
- This allows it to be hotfixed off
#rb chris.babcock

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5714583 via CL 5714586 via CL 5714590 via CL 5714986 via CL 5717097 via CL 5717275
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5726952 by josh adams in Dev-VR branch]
2019-04-04 00:59:43 -04:00
david harvey
88f849efab [LLM] add missing FileSystem tag to file request. moves about ~2MB on average out of Untagged.
#rb anthony.bills

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 5630089 via CL 5630203 via CL 5630220 via CL 5630238 via CL 5632396 via CL 5632706
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5636809 by david harvey in Dev-VR branch]
2019-03-28 17:07:00 -04:00
graeme thornton
9e4b5997ba Initialize signature checking hashcache array when using CRCs. Static analysis warning fix.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5516109 via CL 5516121 via CL 5518542 via CL 5535898
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5543746 by graeme thornton in Dev-VR branch]
2019-03-25 17:24:47 -04:00
graeme thornton
e56838f397 Accidentally forced pak filename/entry compression on. Disabling again.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5500872 via CL 5500873 via CL 5500937 via CL 5500964
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5517311 by graeme thornton in Dev-VR branch]
2019-03-22 18:44:27 -04:00
hongyi yu
c9d3a83068 Fixed the issue where unrealpak failed to read from old pak files with no content.
#rb Graeme.Thornton

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: hongyi.yu
#ROBOMERGE-SOURCE: CL 5484250 via CL 5487362 via CL 5487860
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5510159 by hongyi yu in Dev-VR branch]
2019-03-22 17:25:58 -04:00
graeme thornton
a56af60239 Edigrated rollup of all engine RSA changes that were done for 4.22. Pak signature checking is now much more competent.
#rb none
[FYI] joe.barrett
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5469067 via CL 5469119 via CL 5470585 via CL 5470597
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5505344 by graeme thornton in Dev-VR branch]
2019-03-22 16:59:55 -04:00
graeme thornton
f9123f5f24 Created a new interface to RSA functionality that is independent of key size (unlike the old TBigInt version). Internally, RSA functions are implemented by OpenSSL on Windows/Mac/Linux an falling back to the TBigInt implementation for other platforms
- Future plan would be not to use OpenSSL directly, but to go via PlatformCrypto or something like it which could provide platform specific RSA functionality if it exists
- Also contains some compensation code for platforms that are still stuck on an older version of OpenSSL (everything except windows)
- On platforms that use OpenSSL < 1.1.1, register a locking callback so we can provide mutexes and stop it crashing horribly when the same RSA key is used concurrently on different threads

Changed default key size in the CryptoKeys plugin to 4096 bits.

#jira UE-71377
#rb ian.fox, robert.manuszewski, ryan.gerleve

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5447433 in //UE4/Release-4.22/... via CL 5447485
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5447722 by graeme thornton in Dev-VR branch]
2019-03-19 09:01:04 -04:00
Ryan Vance
35eb0041ab Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
#rb integration

[CL 5387703 by Ryan Vance in Dev-VR branch]
2019-03-13 15:19:08 -04:00
allan bentham
f58315d900 Fix comments somehow lost during merge
#jira UE-70963
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 5294300 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5304548 by allan bentham in Dev-VR branch]
2019-03-05 15:50:38 -05:00
allan bentham
a0d1ae6b2d Optimize deserialization of compressed pak files.
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: ryan.vance
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 5237090 via CL 5240033 via CL 5240035
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5256690 by allan bentham in Dev-VR branch]
2019-02-28 18:34:47 -05:00
peter sauerbrei
5b0c2db44e addition of better hash algorithm for removal of file names from hash
#rb josh.adams

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: peter.sauerbrei
#ROBOMERGE-SOURCE: CL 5075321 via CL 5075990 via CL 5081503 via CL 5081850
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5207897 by peter sauerbrei in Dev-VR branch]
2019-02-26 16:40:53 -05:00
josh adams
a519b4fbe4 - Reenabled encryption on bulk files with memory mapping - and then disallow mapping at runtime
#rb gil.bribb
[FYI] gil.gribb

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 4998359 via CL 4998360 via CL 4999252 via CL 5001374
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5079711 by josh adams in Dev-VR branch]
2019-02-19 18:36:44 -05:00