8a49e1f7db
IOS/ES: Verify containers in ImportTitleInit
2017-06-16 16:17:37 +02:00
719af1aff4
IOS/ES: Verify containers in ImportTicket
2017-06-16 16:17:37 +02:00
07d83ada39
IOS/ES: Create missing directories at boot
...
Something that IOS does and that Dolphin doesn't, for whatever reason.
2017-06-16 16:17:37 +02:00
f3bf1d626c
IOS/ES: Add helper function ReadCertStore
2017-06-16 16:17:37 +02:00
88348e2903
IOS/ES: Add VerifyContainer
...
Will be used from several functions to verify the signatures for
different containers (TMDs, tickets, device signed blobs).
An option was added to disable signature checks, because that could be
useful for people trying to import unsigned stuff.
2017-06-16 16:17:37 +02:00
34c9bf391e
IOS: Correct ES return code names about signatures
...
-1027 is used when ES cannot find the issuer of a certificate.
-1012 is used when the signature type is invalid.
2017-06-16 15:49:40 +02:00
13b1fa2c65
Merge pull request #5626 from shuffle2/fix-leak
...
windows: fix handle leak when using continuous scan
2017-06-16 13:03:02 +02:00
1ada68aecd
windows: fix handle leak when using continuous scan
2017-06-16 04:00:32 -07:00
405d2e28ad
Merge pull request #5621 from Orphis/d3d_include
...
d3d: Add missing include
2017-06-16 10:53:56 +02:00
9c8e26bdff
Merge pull request #5582 from shuffle2/bad-dll-warnings
...
Hotpatch EZFRD64 to fix heap-related crashes, improve the UCRT patch
2017-06-15 21:33:50 -07:00
f469d86467
cmake/win32: add CompatPatches
2017-06-15 21:26:40 -07:00
1210c74955
[windows]: Apply compatibility patches to problematic gamepad vibration drivers.
...
Move ucrtFreadWorkaround to use the new LdrWatcher.
2017-06-15 21:21:01 -07:00
0b504fa046
d3d: Add missing include
2017-06-16 05:52:01 +02:00
5a34546698
Merge pull request #5619 from shuffle2/fix-build
...
msbuild: put pugixml in Externals solution filter; fix project reference
2017-06-15 20:43:08 -07:00
e51071a9c5
msbuild: put pugixml in Externals solution filter; fix project reference.
2017-06-15 19:06:16 -07:00
220ce425cd
Merge pull request #5580 from lioncash/header
...
Core: Remove unnecessary header inclusions
2017-06-15 19:08:56 -04:00
dd4203bec8
Core: Remove unnecessary includes
...
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
b003108b8b
Core: Add WiimoteCommon headers to the VS project
2017-06-15 18:38:21 -04:00
8f460a1cda
Merge pull request #5611 from JosJuice/reorganize-file-namespace
...
Reorganize File namespace
2017-06-15 23:28:36 +02:00
cf94ce6305
Add a namespace to OpenFStream
...
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
f09ceaa735
Move IOFile to a separate file
...
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
9bc1b652fe
Merge pull request #5601 from leoetlino/esformats-additions
...
ESFormats additions and fixes
2017-06-15 21:32:44 +02:00
743284d39d
Merge pull request #5606 from leoetlino/include
...
NoGUI: Fix a missing include for Xlib
2017-06-15 21:31:21 +02:00
09c0a3caaf
Merge pull request #2820 from JosJuice/filesystem
...
Filesystem redesign and performance improvements
2017-06-15 21:24:42 +02:00
a370ad5f6d
IOS/ESFormats: Fix content map writing
...
On Windows, this would fail because the file handle wasn't closed.
2017-06-14 23:13:46 +02:00
8865208571
IOS/ESFormats: Add ParseCertChain
...
This will be used to avoid duplicating cert chain parsing code.
2017-06-14 22:45:30 +02:00
e29f6e383f
IOS/ESFormats: Add CertReader
2017-06-14 22:45:30 +02:00
90280b3f84
IOS/ESFormats: Remove unused TMDReader function
...
The ES function that used to make use of it was changed to be more
sane, so GetRawHeader() is now unused and useless.
2017-06-14 22:45:29 +02:00
6c3069be97
IOS/ESFormats: Use SignedBlobReader for TMDs and tickets
2017-06-14 22:45:29 +02:00
2ec04675c9
IOS/ESFormats: Add SignedBlobReader
...
Allows common signature parsing code to not be duplicated.
2017-06-14 22:45:29 +02:00
335f54cac6
Merge pull request #5609 from leoetlino/qt-user-path
...
Qt: Support custom user profile paths
2017-06-14 13:40:37 -07:00
583406d900
Filesystem: Make destructors = default
2017-06-14 15:26:04 +02:00
0b7d2e7c68
Filesystem: Modernize variable names
2017-06-14 15:25:09 +02:00
e3a2cd827a
Filesystem: Do more validity checking in the constructor
...
This makes it possible to catch errors earlier so that file systems
simply fail to load instead of behaving oddly. It also makes it possible
to check for errors that weren't checkable before, like the end of a
directory being after the end of the parent directory.
2017-06-14 15:25:05 +02:00
ee27be06d7
Filesystem: Add a cache for finding file info by disc offset
...
FileMonitor calls this every time a read happens, and there's no code that
only calls this a small number of times, so having a cache is worthwhile.
2017-06-14 15:25:02 +02:00
87916fe099
Filesystem: Replace GetFileList()
...
Instead of expecting callers to know how the size of directory file infos
relates to which files are in which directories, filesystems now offer a
GetRoot() method, and file infos offer a way to get their children. As
a bonus, m_FileInfoVector no longer has to be created and kept around
in RAM. Only the file info objects that actually are used are created.
2017-06-14 15:23:48 +02:00
a9630727fe
Qt: Support custom user profile paths
...
Pretty much the most important option to support, even for a UI
frontend that's still a WIP. It's essential for testing.
2017-06-14 14:31:30 +02:00
40a9e585a7
Merge pull request #5604 from sepalani/wx-rm-path
...
PathConfigPane: Prevent an invalid index assert
2017-06-14 13:30:15 +02:00
2a349f8e49
PathConfigPane: Prevent an invalid index assert
2017-06-14 12:07:25 +01:00
c71cb9ac49
Merge pull request #5608 from Starsam80/qt-should-be-like-wx
...
Qt/MappingWindow: Update layout to match WX
2017-06-14 11:14:34 +02:00
54e882941c
Merge pull request #5600 from leoetlino/xml-library
...
Externals: Add zeux/pugixml@38edf25
2017-06-14 11:13:32 +02:00
36efcc9f39
Merge pull request #5599 from leoetlino/http-request
...
Common: Add HttpRequest to simplify HTTP requests
2017-06-14 11:12:56 +02:00
e023cc124b
Qt/MappingWindow: Update layout to match WX
2017-06-13 22:42:53 -06:00
ee2b88ebb6
Filesystem: Store pointer to beginning of FST in file infos
...
Needed for the next commit.
2017-06-13 22:44:15 +02:00
1262f08ac1
Filesystem: Better validity checking
...
Now that the FST in read in the constructor, m_Valid
can be set to false when there are errors in the FST.
2017-06-13 22:44:11 +02:00
afe2bc60f6
Filesystem: Initialize everything in constructor
...
Not initializing until the filesystem is used is good when
a filesystem is constructed and then never used, but nobody does that.
This simplifies the code a little and lets all methods be const.
2017-06-13 22:44:07 +02:00
d6ee7ec32c
Filesystem: Read the entire FST in one go
...
Instead of using lots of small scattered reads to read the FST,
only one big read is used, which is more efficient.
This also means that the FST only allocates memory once and stores all
strings close to each other - good for the CPU cache. The file info
objects use pointers to this FST memory of containing data themselves.
Keeping around the big m_FileInfoVector containing objects with only
pointers is a bit unnecessary, but that will be fixed soon.
2017-06-13 22:43:41 +02:00
f49b64caff
Filesystem: Rewrite finding file info by path for performance
...
Instead of calling GetPathFromFSTOffset for every file info, FindFileInfo
now only looks at names in directories that are included in the path.
For the common case of searching for "opening.bnr", this means that
only root-level files and directories have to be searched through.
2017-06-13 22:41:02 +02:00
7c45afecb2
Filesystem: Use file info in arguments instead of path
...
Some callers already have the file info, making the relatively slow
FindFileInfo calls unnecessary. Callers that didn't have the file info
will now need to call FindFileInfo on their own.
2017-06-13 22:40:57 +02:00
3d5ef948d0
Filesystem: Make FindFileInfo public
2017-06-13 22:40:53 +02:00