Send libselinux logging to logcat.
Otherwise we can't readily see log messages from libselinux calls made by installd. Change-Id: I319b30c181470468fe19dd5fbe9251ef03f1163b Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
This commit is contained in:
parent
01502981cd
commit
7abb52bcaf
@ -541,6 +541,27 @@ static void drop_privileges() {
|
||||
}
|
||||
}
|
||||
|
||||
static int log_callback(int type, const char *fmt, ...) {
|
||||
va_list ap;
|
||||
int priority;
|
||||
|
||||
switch (type) {
|
||||
case SELINUX_WARNING:
|
||||
priority = ANDROID_LOG_WARN;
|
||||
break;
|
||||
case SELINUX_INFO:
|
||||
priority = ANDROID_LOG_INFO;
|
||||
break;
|
||||
default:
|
||||
priority = ANDROID_LOG_ERROR;
|
||||
break;
|
||||
}
|
||||
va_start(ap, fmt);
|
||||
LOG_PRI_VA(priority, "SELinux", fmt, ap);
|
||||
va_end(ap);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(const int argc, const char *argv[]) {
|
||||
char buf[BUFFER_MAX];
|
||||
struct sockaddr addr;
|
||||
@ -550,6 +571,10 @@ int main(const int argc, const char *argv[]) {
|
||||
|
||||
ALOGI("installd firing up\n");
|
||||
|
||||
union selinux_callback cb;
|
||||
cb.func_log = log_callback;
|
||||
selinux_set_callback(SELINUX_CB_LOG, cb);
|
||||
|
||||
if (initialize_globals() < 0) {
|
||||
ALOGE("Could not initialize globals; exiting.\n");
|
||||
exit(1);
|
||||
|
Loading…
Reference in New Issue
Block a user