Merge "remove linking against aidl enum"

gugelfrei
TreeHugger Robot 6 years ago committed by Android (Google) Code Review
commit 13f6f2a23a

@ -1579,6 +1579,23 @@ Status CameraService::setTorchMode(const String16& cameraId, bool enabled,
Status CameraService::notifySystemEvent(int32_t eventId,
const std::vector<int32_t>& args) {
const int pid = CameraThreadState::getCallingPid();
const int selfPid = getpid();
// Permission checks
if (pid != selfPid) {
// Ensure we're being called by system_server, or similar process with
// permissions to notify the camera service about system events
if (!checkCallingPermission(
String16("android.permission.CAMERA_SEND_SYSTEM_EVENTS"))) {
const int uid = CameraThreadState::getCallingUid();
ALOGE("Permission Denial: cannot send updates to camera service about system"
" events from pid=%d, uid=%d", pid, uid);
return STATUS_ERROR_FMT(ERROR_PERMISSION_DENIED,
"No permission to send updates to camera service about system events from pid=%d, uid=%d", pid, uid);
}
}
ATRACE_CALL();
switch(eventId) {
@ -1993,9 +2010,6 @@ void CameraService::logServiceError(const char* msg, int errorCode) {
status_t CameraService::onTransact(uint32_t code, const Parcel& data, Parcel* reply,
uint32_t flags) {
const int pid = CameraThreadState::getCallingPid();
const int selfPid = getpid();
// Permission checks
switch (code) {
case SHELL_COMMAND_TRANSACTION: {
@ -2022,20 +2036,6 @@ status_t CameraService::onTransact(uint32_t code, const Parcel& data, Parcel* re
}
return NO_ERROR;
}
case BnCameraService::NOTIFYSYSTEMEVENT: {
if (pid != selfPid) {
// Ensure we're being called by system_server, or similar process with
// permissions to notify the camera service about system events
if (!checkCallingPermission(
String16("android.permission.CAMERA_SEND_SYSTEM_EVENTS"))) {
const int uid = CameraThreadState::getCallingUid();
ALOGE("Permission Denial: cannot send updates to camera service about system"
" events from pid=%d, uid=%d", pid, uid);
return PERMISSION_DENIED;
}
}
break;
}
}
return BnCameraService::onTransact(code, data, reply, flags);

Loading…
Cancel
Save