From 47800290ca33a3161ba23ffe61703b640d530349 Mon Sep 17 00:00:00 2001 From: Tyler Vick Date: Tue, 6 Sep 2022 13:24:38 -0600 Subject: [PATCH 1/2] Add missing permissions --- FBControlCore/Commands/FBSettingsCommands.h | 8 ++++++++ FBControlCore/Commands/FBSettingsCommands.m | 8 ++++++++ .../Commands/FBSimulatorSettingsCommands.m | 8 ++++++++ idb/common/types.py | 8 ++++++++ idb/grpc/client.py | 16 ++++++++++++++++ .../MethodHandlers/ApproveMethodHandler.swift | 8 ++++++++ proto/idb.proto | 8 ++++++++ 7 files changed, 64 insertions(+) diff --git a/FBControlCore/Commands/FBSettingsCommands.h b/FBControlCore/Commands/FBSettingsCommands.h index d29cf6dde..628815dd3 100644 --- a/FBControlCore/Commands/FBSettingsCommands.h +++ b/FBControlCore/Commands/FBSettingsCommands.h @@ -21,5 +21,13 @@ extern FBTargetSettingsService const FBTargetSettingsServiceLocation; extern FBTargetSettingsService const FBTargetSettingsServiceMicrophone; extern FBTargetSettingsService const FBTargetSettingsServiceUrl; extern FBTargetSettingsService const FBTargetSettingsServiceNotification; +extern FBTargetSettingsService const FBTargetSettingsServiceCalendar; +extern FBTargetSettingsService const FBTargetSettingsServiceFaceID; +extern FBTargetSettingsService const FBTargetSettingsServiceMedia; +extern FBTargetSettingsService const FBTargetSettingsServiceReminders; +extern FBTargetSettingsService const FBTargetSettingsServiceMotion; +extern FBTargetSettingsService const FBTargetSettingsServiceSiri; +extern FBTargetSettingsService const FBTargetSettingsServiceSpeech; +extern FBTargetSettingsService const FBTargetSettingsServiceUserTracking; NS_ASSUME_NONNULL_END diff --git a/FBControlCore/Commands/FBSettingsCommands.m b/FBControlCore/Commands/FBSettingsCommands.m index cb8dbfc5c..eabf4c776 100644 --- a/FBControlCore/Commands/FBSettingsCommands.m +++ b/FBControlCore/Commands/FBSettingsCommands.m @@ -14,3 +14,11 @@ FBTargetSettingsService const FBTargetSettingsServiceMicrophone = @"microphone"; FBTargetSettingsService const FBTargetSettingsServiceUrl = @"url"; FBTargetSettingsService const FBTargetSettingsServiceNotification = @"notification"; +FBTargetSettingsService const FBTargetSettingsServiceCalendar = @"calendar"; +FBTargetSettingsService const FBTargetSettingsServiceFaceID = @"biometrics"; +FBTargetSettingsService const FBTargetSettingsServiceMedia = @"media"; +FBTargetSettingsService const FBTargetSettingsServiceReminders = @"reminders"; +FBTargetSettingsService const FBTargetSettingsServiceMotion = @"motion"; +FBTargetSettingsService const FBTargetSettingsServiceSiri = @"siri"; +FBTargetSettingsService const FBTargetSettingsServiceSpeech = @"speech"; +FBTargetSettingsService const FBTargetSettingsServiceUserTracking = @"userTracking"; diff --git a/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m b/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m index aac8872be..3f160bedd 100644 --- a/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m +++ b/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m @@ -507,6 +507,14 @@ - (instancetype)initWithSimulator:(FBSimulator *)simulator FBTargetSettingsServicePhotos: @"kTCCServicePhotos", FBTargetSettingsServiceCamera: @"kTCCServiceCamera", FBTargetSettingsServiceMicrophone: @"kTCCServiceMicrophone", + FBTargetSettingsServiceCalendar: @"kTCCServiceCalendar", + FBTargetSettingsServiceFaceID: @"kTCCServiceFaceID", + FBTargetSettingsServiceMedia: @"kTCCServiceMediaLibrary", + FBTargetSettingsServiceReminders: @"kTCCServiceReminders", + FBTargetSettingsServiceMotion: @"kTCCServiceMotion", + FBTargetSettingsServiceSiri: @"kTCCServiceSiri", + FBTargetSettingsServiceSpeech: @"kTCCServiceSpeechRecognition", + FBTargetSettingsServiceUserTracking: @"kTCCServiceUserTracking", }; }); return mapping; diff --git a/idb/common/types.py b/idb/common/types.py index 318b0857d..0f9eb287c 100644 --- a/idb/common/types.py +++ b/idb/common/types.py @@ -47,6 +47,14 @@ class Permission(Enum): LOCATION = 4 NOTIFICATION = 5 MICROPHONE = 6 + CALENDAR = 7 + FACEID = 8 + MEDIA = 9 + REMINDERS = 10 + MOTION = 11 + SIRI = 12 + SPEECH = 13 + USER_TRACKING = 14 class TargetType(str, Enum): diff --git a/idb/grpc/client.py b/idb/grpc/client.py index 58d48be3b..c846ac568 100644 --- a/idb/grpc/client.py +++ b/idb/grpc/client.py @@ -177,6 +177,14 @@ Permission.LOCATION: ApproveRequest.LOCATION, Permission.NOTIFICATION: ApproveRequest.NOTIFICATION, Permission.MICROPHONE: ApproveRequest.MICROPHONE, + Permission.CALENDAR: ApproveRequest.CALENDAR, + Permission.FACEID: ApproveRequest.FACEID, + Permission.MEDIA: ApproveRequest.MEDIA, + Permission.REMINDERS: ApproveRequest.REMINDERS, + Permission.MOTION: ApproveRequest.MOTION, + Permission.SIRI: ApproveRequest.SIRI, + Permission.SPEECH: ApproveRequest.SPEECH, + Permission.USER_TRACKING: ApproveRequest.USER_TRACKING, } REVOKE_MAP: Dict[Permission, "RevokeRequest.Permission"] = { @@ -187,6 +195,14 @@ Permission.LOCATION: RevokeRequest.LOCATION, Permission.NOTIFICATION: RevokeRequest.NOTIFICATION, Permission.MICROPHONE: RevokeRequest.MICROPHONE, + Permission.CALENDAR: ApproveRequest.CALENDAR, + Permission.FACEID: ApproveRequest.FACEID, + Permission.MEDIA: ApproveRequest.MEDIA, + Permission.REMINDERS: ApproveRequest.REMINDERS, + Permission.MOTION: ApproveRequest.MOTION, + Permission.SIRI: ApproveRequest.SIRI, + Permission.SPEECH: ApproveRequest.SPEECH, + Permission.USER_TRACKING: ApproveRequest.USER_TRACKING, } VIDEO_FORMAT_MAP: Dict[VideoFormat, "VideoStreamRequest.Format"] = { diff --git a/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift b/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift index ace50bb79..9fb99464d 100644 --- a/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift +++ b/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift @@ -26,6 +26,14 @@ struct ApproveMethodHandler { .url: .url, .location: .location, .notification: notificationApprovalService, + .calendar: .calendar, + .faceid: .faceID, + .media: .media, + .reminders: .reminders, + .motion: .motion, + .siri: .siri, + .speech: .speech, + .userTracking: .userTracking, ] var services = try Set( diff --git a/proto/idb.proto b/proto/idb.proto index e6e21e3bd..9a9020ca6 100644 --- a/proto/idb.proto +++ b/proto/idb.proto @@ -255,6 +255,14 @@ message ApproveRequest { LOCATION = 4; NOTIFICATION = 5; MICROPHONE = 6; + CALENDAR = 7; + FACEID = 8; + MEDIA = 9; + REMINDERS = 10; + MOTION = 11; + SIRI = 12; + SPEECH = 13; + USER_TRACKING = 14; } string bundle_id = 1; repeated Permission permissions = 2; From 459e92eeef1898ebec168ceed8a7f2d45ad0d472 Mon Sep 17 00:00:00 2001 From: Tyler Vick Date: Tue, 21 Feb 2023 13:41:07 -0700 Subject: [PATCH 2/2] add new permissions to RevokeRequest model --- idb/grpc/client.py | 16 ++++++++-------- proto/idb.proto | 8 ++++++++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/idb/grpc/client.py b/idb/grpc/client.py index c846ac568..069a0856e 100644 --- a/idb/grpc/client.py +++ b/idb/grpc/client.py @@ -195,14 +195,14 @@ Permission.LOCATION: RevokeRequest.LOCATION, Permission.NOTIFICATION: RevokeRequest.NOTIFICATION, Permission.MICROPHONE: RevokeRequest.MICROPHONE, - Permission.CALENDAR: ApproveRequest.CALENDAR, - Permission.FACEID: ApproveRequest.FACEID, - Permission.MEDIA: ApproveRequest.MEDIA, - Permission.REMINDERS: ApproveRequest.REMINDERS, - Permission.MOTION: ApproveRequest.MOTION, - Permission.SIRI: ApproveRequest.SIRI, - Permission.SPEECH: ApproveRequest.SPEECH, - Permission.USER_TRACKING: ApproveRequest.USER_TRACKING, + Permission.CALENDAR: RevokeRequest.CALENDAR, + Permission.FACEID: RevokeRequest.FACEID, + Permission.MEDIA: RevokeRequest.MEDIA, + Permission.REMINDERS: RevokeRequest.REMINDERS, + Permission.MOTION: RevokeRequest.MOTION, + Permission.SIRI: RevokeRequest.SIRI, + Permission.SPEECH: RevokeRequest.SPEECH, + Permission.USER_TRACKING: RevokeRequest.USER_TRACKING, } VIDEO_FORMAT_MAP: Dict[VideoFormat, "VideoStreamRequest.Format"] = { diff --git a/proto/idb.proto b/proto/idb.proto index 4655350b3..77721d80d 100644 --- a/proto/idb.proto +++ b/proto/idb.proto @@ -280,6 +280,14 @@ message RevokeRequest { LOCATION = 4; NOTIFICATION = 5; MICROPHONE = 6; + CALENDAR = 7; + FACEID = 8; + MEDIA = 9; + REMINDERS = 10; + MOTION = 11; + SIRI = 12; + SPEECH = 13; + USER_TRACKING = 14; } string bundle_id = 1; repeated Permission permissions = 2;