summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
authorNick Kralevich <nnk@google.com>2014-07-07 23:09:27 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-07-07 23:09:27 +0000
commit1aa9565ce1c6c12c3c5b38f8fdaddd489d18fea6 (patch)
tree5084e34d5233e6c6d089092598c76d39928b67a1 /cmds
parent1da16cebe65b859a5cbd961a0667267393cb333b (diff)
parentf9cfae24123bae199a07bee2dd1c307906c6e6d0 (diff)
downloadframeworks_native-1aa9565ce1c6c12c3c5b38f8fdaddd489d18fea6.zip
frameworks_native-1aa9565ce1c6c12c3c5b38f8fdaddd489d18fea6.tar.gz
frameworks_native-1aa9565ce1c6c12c3c5b38f8fdaddd489d18fea6.tar.bz2
am f9cfae24: Merge "Remove inline access control in service_manager."
* commit 'f9cfae24123bae199a07bee2dd1c307906c6e6d0': Remove inline access control in service_manager.
Diffstat (limited to 'cmds')
-rw-r--r--cmds/servicemanager/service_manager.c43
1 files changed, 1 insertions, 42 deletions
diff --git a/cmds/servicemanager/service_manager.c b/cmds/servicemanager/service_manager.c
index 939920a..f142093 100644
--- a/cmds/servicemanager/service_manager.c
+++ b/cmds/servicemanager/service_manager.c
@@ -20,38 +20,6 @@
#include <cutils/log.h>
#endif
-/* TODO:
- * These should come from a config file or perhaps be
- * based on some namespace rules of some sort (media
- * uid can register media.*, etc)
- */
-static struct {
- uid_t uid;
- const char *name;
-} allowed[] = {
- { AID_MEDIA, "media.audio_flinger" },
- { AID_MEDIA, "media.log" },
- { AID_MEDIA, "media.player" },
- { AID_MEDIA, "media.camera" },
- { AID_MEDIA, "media.audio_policy" },
- { AID_DRM, "drm.drmManager" },
- { AID_NFC, "nfc" },
- { AID_BLUETOOTH, "bluetooth" },
- { AID_RADIO, "radio.phone" },
- { AID_RADIO, "radio.sms" },
- { AID_RADIO, "radio.phonesubinfo" },
- { AID_RADIO, "radio.simphonebook" },
-/* TODO: remove after phone services are updated: */
- { AID_RADIO, "phone" },
- { AID_RADIO, "sip" },
- { AID_RADIO, "isms" },
- { AID_RADIO, "iphonesubinfo" },
- { AID_RADIO, "simphonebook" },
- { AID_MEDIA, "common_time.clock" },
- { AID_MEDIA, "common_time.config" },
- { AID_KEYSTORE, "android.security.keystore" },
-};
-
uint32_t svcmgr_handle;
const char *str8(const uint16_t *x)
@@ -131,16 +99,7 @@ static bool check_mac_perms(const char *name, pid_t spid)
static int svc_can_register(uid_t uid, const uint16_t *name, pid_t spid)
{
- size_t n;
-
- if ((uid == 0) || (uid == AID_SYSTEM))
- return check_mac_perms(str8(name), spid) ? 1 : 0;
-
- for (n = 0; n < sizeof(allowed) / sizeof(allowed[0]); n++)
- if ((uid == allowed[n].uid) && str16eq(name, allowed[n].name))
- return check_mac_perms(str8(name), spid) ? 1 : 0;
-
- return 0;
+ return check_mac_perms(str8(name), spid) ? 1 : 0;
}
struct svcinfo