Line 62: |
Line 62: |
| ===[[HID_services|hid]]=== | | ===[[HID_services|hid]]=== |
| Besides the various IPC changes, an infoleak vuln was [[Switch_System_Flaws|fixed]]. | | Besides the various IPC changes, an infoleak vuln was [[Switch_System_Flaws|fixed]]. |
| + | |
| + | === IPC Interface Changes === |
| + | * The following new interfaces were removed: |
| + | ** nn::eth::sf::IEthInterface |
| + | ** nn::eth::sf::IEthInterfaceGroup |
| + | ** nn::socket::sf::IClient |
| + | ** nn::wlan::detail::IDetectManager |
| + | ** nn::wlan::detail::IInfraManager |
| + | ** nn::wlan::detail::ILocalGetActionFrame |
| + | ** nn::wlan::detail::ILocalGetFrame |
| + | ** nn::wlan::detail::ILocalManager |
| + | ** nn::wlan::detail::ISocketGetFrame |
| + | ** nn::wlan::detail::ISocketManager |
| + | * The following new interfaces were added: |
| + | ** nn::anif::detail::ISfAssignedNetworkInterfaceService |
| + | ** nn::anif::detail::ISfDriverService |
| + | ** nn::anif::detail::ISfDriverServiceCreator |
| + | ** nn::anif::detail::ISfNetworkInterfaceService |
| + | ** nn::anif::detail::ISfUserService |
| + | ** nn::anif::detail::ISfUserServiceCreator |
| + | ** nn::pl::detail::IPlatformServiceManager |
| + | ** nn::prepo::detail::ipc::IAsyncContext |
| + | ** nn::socket::sf::IClient_MC |
| + | ** nn::srepo::detail::ipc::IAsyncContext |
| + | ** nn::ssl::sf::ISslContextForSystem |
| + | ** nn::ssl::sf::ISslServiceForSystem |
| + | ** nn::wlan::detail::IGeneralServiceCreator |
| + | ** nn::wlan::detail::IPrivateServiceCreator |
| + | ** nn::wlan::detail::IPrivateWirelessCommunicationService |
| + | ** nn::wlan::detail::IWirelessCommunicationService |
| + | * The following interfaces were changed: |
| + | ** nn::account::baas::IAdministrator |
| + | *** Added command 143 - inbytes: 0, outbytes: 16 |
| + | *** Added command 160 - inbytes: 0, outbytes: 0 |
| + | ** nn::account::baas::IManagerForSystemService |
| + | *** Added command 143 - inbytes: 0, outbytes: 16 |
| + | *** Added command 160 - inbytes: 0, outbytes: 0 |
| + | ** nn::am::service::IAppletCommonFunctions |
| + | *** Added command 90 - inbytes: 16, outbytes: 0, outinterfaces: ['nn::am::service::IStorageChannel'] |
| + | *** Added command 91 - inbytes: 16, outbytes: 0, outinterfaces: ['nn::am::service::IStorageChannel'] |
| + | *** Added command 100 - inbytes: 4, outbytes: 0 |
| + | ** nn::am::service::IDebugFunctions |
| + | *** Added command 50 - inbytes: 16, outbytes: 0 |
| + | *** Added command 200 - buffers: [5], inbytes: 8, outbytes: 0, outinterfaces: ['nn::am::service::IAllSystemAppletProxiesService'], pid: True |
| + | ** nn::am::service::ILibraryAppletProxy |
| + | *** Added command 22 - inbytes: 0, outbytes: 0, outinterfaces: ['nn::am::service::IHomeMenuFunctions'] |
| + | *** Added command 23 - inbytes: 0, outbytes: 0, outinterfaces: ['nn::am::service::IGlobalStateController'] |
| + | ** nn::am::service::IOverlayAppletProxy |
| + | *** Added command 23 - inbytes: 0, outbytes: 0, outinterfaces: ['nn::am::service::IGlobalStateController'] |
| + | ** nn::arp::detail::IWriter |
| + | *** Added command 3 - inbytes: 8, outbytes: 0, outinterfaces: ['nn::arp::detail::IUpdater'] |
| + | ** nn::audio::detail::IAudioRenderer |
| + | *** Added command 12 - inbytes: 4, outbytes: 0 |
| + | *** Added command 13 - inbytes: 0, outbytes: 4 |
| + | ** nn::audioctrl::detail::IAudioController |
| + | *** Removed command 26 - inbytes: 1, outbytes: 0 |
| + | *** Removed command 35 - inbytes: 8, outbytes: 0 |
| + | *** Removed command 36 - inbytes: 0, outbytes: 8 |
| + | *** Removed command 37 - inbytes: 1, outbytes: 0 |
| + | *** Removed command 38 - inbytes: 0, outbytes: 1 |
| + | *** Removed command 39 - inbytes: 0, outbytes: 1 |
| + | *** Changed command 40 - buffers: [26] -> [22] (final state: buffers: [22], inbytes: 0, outbytes: 0) |
| + | *** Added command 41 - inbytes: 8, outbytes: 0 |
| + | *** Added command 42 - inbytes: 8, outbytes: 0 |
| + | *** Added command 50000 - inbytes: 4, outbytes: 0 |
| + | ** nn::bluetooth::IBluetoothDriver |
| + | *** Added command 101 - inbytes: 0, outbytes: 0 |
| + | *** Added command 102 - inbytes: 0, outbytes: 0 |
| + | *** Added command 155 - inbytes: 6, outbytes: 1 |
| + | ** nn::btm::IBtm |
| + | *** Added command 112 - inbytes: 7, outbytes: 0 |
| + | *** Added command 113 - inbytes: 6, outbytes: 1 |
| + | *** Added command 116 - inbytes: 7, outbytes: 0 |
| + | *** Added command 117 - inbytes: 6, outbytes: 1 |
| + | ** nn::btm::IBtmDebug |
| + | *** Added command 14 - inbytes: 8, outbytes: 0 |
| + | *** Added command 15 - inbytes: 0, outbytes: 0 |
| + | *** Added command 16 - inbytes: 0, outbytes: 0 |
| + | *** Added command 17 - inbytes: 0, outbytes: 0 |
| + | ** nn::capsrv::sf::IAlbumAccessorService |
| + | *** Added command 110 - buffers: [6, 5], inbytes: 16, outbytes: 8 |
| + | ** nn::clkrst::IClkrstManager |
| + | *** Added command 6 - inbytes: 0, outbytes: 0 |
| + | ** nn::dauth::detail::IService |
| + | *** Added command 1000 - inbytes: 0, outbytes: 0, outhandles: [1] |
| + | *** Added command 9000 - buffers: [5, 5], inbytes: 0, outbytes: 0 |
| + | *** Added command 9010 - inbytes: 0, outbytes: 0 |
| + | ** nn::es::IActiveRightsContext |
| + | *** Removed command 5 - buffers: [5], inbytes: 0, outbytes: 0 |
| + | *** Added command 216 - inbytes: 0, outbytes: 0, outhandles: [1] |
| + | ** nn::es::IETicketService |
| + | *** Added command 1022 - inbytes: 0, outbytes: 0, outinterfaces: ['nn::es::IActiveRightsContext'] |
| + | ** nn::fssrv::sf::IFileSystem |
| + | *** Added command 16 - inbytes: 0, outbytes: 192 |
| + | ** nn::fssrv::sf::IFileSystemProxy |
| + | *** Added command 207 - inbytes: 16, outbytes: 0, outinterfaces: ['nn::fssrv::sf::IFileSystem'] |
| + | *** Added command 1400 - inbytes: 1, outbytes: 0 |
| + | ** nn::grcsrv::IGrcService |
| + | *** Changed command 1 - inbytes: 72 -> 32 (final state: inbytes: 32, inhandles: [1], outbytes: 0, outinterfaces: ['nn::grcsrv::IContinuousRecorder']) |
| + | ** nn::hid::IHidDebugServer |
| + | *** Added command 137 - inbytes: 16, outbytes: 0, pid: True |
| + | ** nn::hid::IHidServer |
| + | *** Added command 3000 - buffers: [26], inbytes: 0, outbytes: 0 |
| + | *** Added command 3001 - buffers: [25], inbytes: 0, outbytes: 0 |
| + | *** Added command 3002 - inbytes: 0, outbytes: 0 |
| + | *** Added command 3003 - inbytes: 0, outbytes: 56 |
| + | *** Added command 3004 - inbytes: 56, outbytes: 0 |
| + | *** Added command 3005 - inbytes: 0, outbytes: 0 |
| + | *** Added command 3006 - buffers: [26], inbytes: 4, outbytes: 0 |
| + | *** Added command 3007 - buffers: [25], inbytes: 4, outbytes: 0 |
| + | *** Added command 3008 - inbytes: 4, outbytes: 0 |
| + | *** Added command 3009 - inbytes: 4, outbytes: 64 |
| + | *** Added command 3010 - inbytes: 68, outbytes: 0 |
| + | *** Added command 3011 - inbytes: 4, outbytes: 0 |
| + | ** nn::hid::IHidSystemServer |
| + | *** Added command 32 - inbytes: 48, outbytes: 0, pid: True |
| + | *** Added command 33 - inbytes: 0, outbytes: 0 |
| + | *** Added command 1135 - inbytes: 8, outbytes: 0, pid: True |
| + | ** nn::lr::IAddOnContentLocationResolver |
| + | *** Added command 5 - buffers: [22, 22], inbytes: 8, outbytes: 0 |
| + | *** Added command 6 - buffers: [21], inbytes: 16, outbytes: 0 |
| + | *** Added command 7 - buffers: [21, 21], inbytes: 16, outbytes: 0 |
| + | ** nn::lr::ILocationResolver |
| + | *** Added command 20 - inbytes: 0, outbytes: 0 |
| + | ** nn::lr::ILocationResolverManager |
| + | *** Added command 4 - buffers: [5], inbytes: 0, outbytes: 0 |
| + | ** nn::mnpp::detail::ipc::IServiceForSystem |
| + | *** Added command 300 - inbytes: 0, outbytes: 1 |
| + | *** Added command 400 - inbytes: 0, outbytes: 1 |
| + | ** nn::ncm::IContentMetaDatabase |
| + | *** Added command 23 - inbytes: 16, outbytes: 1 |
| + | *** Added command 24 - inbytes: 24, outbytes: 24 |
| + | *** Added command 25 - inbytes: 24, outbytes: 24 |
| + | ** nn::ndrm::low::detail::INdrmLowAdminInterface |
| + | *** Changed command 3 - inbytes: 8 -> 24 (final state: buffers: [5], inbytes: 24, outbytes: 0) |
| + | *** Added command 40 - buffers: [6], inbytes: 8, outbytes: 4 |
| + | *** Added command 42 - buffers: [6], inbytes: 16, outbytes: 4 |
| + | *** Added command 43 - buffers: [6], inbytes: 16, outbytes: 4 |
| + | *** Added command 44 - buffers: [6], inbytes: 16, outbytes: 4 |
| + | ** nn::nim::detail::INetworkInstallManager |
| + | *** Removed command 91 - buffers: [5], inbytes: 16, outbytes: 0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncResult'] |
| + | *** Added command 138 - buffers: [5], inbytes: 8, outbytes: 0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncResult'] |
| + | *** Added command 139 - inbytes: 0, outbytes: 0 |
| + | *** Added command 140 - inbytes: 0, outbytes: 0 |
| + | *** Added command 141 - inbytes: 0, outbytes: 1 |
| + | ** nn::nim::detail::IShopServiceManager |
| + | *** Added command 102 - inbytes: 0, outbytes: 0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncValue'] |
| + | *** Added command 103 - inbytes: 0, outbytes: 32 |
| + | *** Added command 104 - inbytes: 0, outbytes: 0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncValue'] |
| + | *** Added command 105 - inbytes: 0, outbytes: 0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncResult'] |
| + | *** Added command 106 - inbytes: 0, outbytes: 0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncResult'] |
| + | *** Added command 501 - inbytes: 16, outbytes: 0, outhandles: [1], outinterfaces: ['nn::nim::detail::IAsyncResult'] |
| + | ** nn::ns::detail::IApplicationManagerInterface |
| + | *** Added command 90 - inbytes: 8, outbytes: 0 |
| + | *** Changed command 607 - inbytes: 16 -> 8 (final state: buffers: [6], inbytes: 8, outbytes: 4) |
| + | *** Added command 909 - inbytes: 8, outbytes: 0 |
| + | *** Added command 2357 - inbytes: 0, outbytes: 0 |
| + | *** Added command 2358 - inbytes: 0, outbytes: 0 |
| + | *** Added command 2359 - inbytes: 0, outbytes: 1 |
| + | *** Added command 2516 - inbytes: 16, outbytes: 0 |
| + | ** nn::pdm::detail::IQueryService |
| + | *** Removed command 7 - buffers: [6, 5], inbytes: 0, outbytes: 4 |
| + | *** Removed command 13 - buffers: [6, 5], inbytes: 0, outbytes: 4 |
| + | *** Removed command 14 - buffers: [6], inbytes: 24, outbytes: 4 |
| + | *** Removed command 15 - inbytes: 0, outbytes: 0, outhandles: [1] |
| + | *** Removed command 16 - buffers: [6, 5], inbytes: 16, outbytes: 4 |
| + | ** nn::prepo::detail::ipc::IPrepoService |
| + | *** Added command 10500 - buffers: [9], inbytes: 40, inhandles: [1], outbytes: 0, outinterfaces: ['nn::prepo::detail::ipc::IAsyncContext'], pid: True |
| + | ** nn::settings::ISystemSettingsServer |
| + | *** Added command 119 - inbytes: 1, outbytes: 3 |
| + | ** nn::srepo::detail::ipc::ISrepoService |
| + | *** Added command 10300 - buffers: [9], inbytes: 40, inhandles: [1], outbytes: 0, outinterfaces: ['nn::srepo::detail::ipc::IAsyncContext'] |
| + | *** Added command 20600 - inbytes: 20, outbytes: 0 |
| + | ** nn::usb::ds::IDsEndpoint |
| + | *** Removed command 8 - inbytes: 8, inhandles: [1], outbytes: 0 |
| + | *** Removed command 9 - inbytes: 16, outbytes: 4 |
| + | ** nn::usb::ds::IDsInterface |
| + | *** Added command 12 - inbytes: 8, inhandles: [1], outbytes: 0 |
| + | ** nn::visrv::sf::IManagerDisplayService |
| + | *** Changed command 8293 - inbytes: 16 -> 40 (final state: buffers: [6], inbytes: 40, outbytes: 8) |
| | | |
| ==See Also== | | ==See Also== |