Merge pull request #5209 from leoetlino/block-es-diverify

IOS/ES: Block ES_DIVerify from the IPC interface
This commit is contained in:
Mat M 2017-04-08 16:57:40 -04:00 committed by GitHub
commit 11d1124fa5
2 changed files with 10 additions and 1 deletions

View File

@ -335,6 +335,8 @@ IPCCommandResult ES::IOCtlV(const IOCtlVRequest& request)
return GetTitleID(request);
case IOCTL_ES_SETUID:
return SetUID(request);
case IOCTL_ES_DIVERIFY:
return DIVerify(request);
case IOCTL_ES_GETOWNEDTITLECNT:
return GetOwnedTitleCount(request);
@ -506,7 +508,13 @@ const DiscIO::CNANDContentLoader& ES::AccessContentDevice(u64 title_id)
}
// This is technically an ioctlv in IOS's ES, but it is an internal API which cannot be
// used from the PowerPC (for unpatched IOSes anyway).
// used from the PowerPC (for unpatched and up-to-date IOSes anyway).
// So we block access to it from the IPC interface.
IPCCommandResult ES::DIVerify(const IOCtlVRequest& request)
{
return GetDefaultReply(ES_EINVAL);
}
s32 ES::DIVerify(const IOS::ES::TMDReader& tmd, const IOS::ES::TicketReader& ticket)
{
s_title_context.Clear();

View File

@ -188,6 +188,7 @@ private:
IPCCommandResult GetConsumption(const IOCtlVRequest& request);
IPCCommandResult Launch(const IOCtlVRequest& request);
IPCCommandResult LaunchBC(const IOCtlVRequest& request);
IPCCommandResult DIVerify(const IOCtlVRequest& request);
// Title contents
IPCCommandResult OpenTitleContent(const IOCtlVRequest& request);