1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-05 19:51:45 +00:00

Merge branch 'master' into ro_dev

This commit is contained in:
Michael Scire 2019-04-21 09:08:19 -07:00
commit 7b24b43477

View file

@ -95,15 +95,6 @@ Registration::Service *Registration::GetFreeService() {
} }
bool Registration::IsValidForSac(u8 *sac, size_t sac_size, u64 service, bool is_host) { bool Registration::IsValidForSac(u8 *sac, size_t sac_size, u64 service, bool is_host) {
/* In 8.0.0, Nintendo removed the service apm:p -- however, all homebrew attempts to get */
/* a handle to this when calling appletInitialize(). Because hbl has access to all services, */
/* This would return true, and homebrew would *wait forever* trying to get a handle to a service */
/* that will never register. Thus, in the interest of not breaking every single piece of homebrew */
/* we will provide a little first class help. */
if (GetRuntimeFirmwareVersion() >= FirmwareVersion_800 && service == EncodeNameConstant("apm:p")) {
return false;
}
u8 cur_ctrl; u8 cur_ctrl;
u64 cur_service; u64 cur_service;
u64 service_for_compare; u64 service_for_compare;
@ -310,6 +301,15 @@ Result Registration::GetServiceForPid(u64 pid, u64 service, Handle *out) {
if (service_name_len != 8 && (service >> (8 * service_name_len))) { if (service_name_len != 8 && (service >> (8 * service_name_len))) {
return ResultSmInvalidServiceName; return ResultSmInvalidServiceName;
} }
/* In 8.0.0, Nintendo removed the service apm:p -- however, all homebrew attempts to get */
/* a handle to this when calling appletInitialize(). Because hbl has access to all services, */
/* This would return true, and homebrew would *wait forever* trying to get a handle to a service */
/* that will never register. Thus, in the interest of not breaking every single piece of homebrew */
/* we will provide a little first class help. */
if (GetRuntimeFirmwareVersion() >= FirmwareVersion_800 && service == EncodeNameConstant("apm:p")) {
return ResultSmNotAllowed;
}
if (!IsInitialProcess(pid)) { if (!IsInitialProcess(pid)) {
Registration::Process *proc = GetProcessForPid(pid); Registration::Process *proc = GetProcessForPid(pid);