summaryrefslogtreecommitdiffstats
path: root/logd/LogAudit.cpp
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2014-09-19 11:59:42 -0700
committerMark Salyzyn <salyzyn@google.com>2014-09-19 11:59:42 -0700
commit6bdeee0ce6898abd3873a758c47601efcdcc1b7c (patch)
tree70dff9e5c6030295fb569174200f571c2f9db2f5 /logd/LogAudit.cpp
parent98d3aa3f0d76190dbeea6248fffe326f7b6fe47d (diff)
downloadsystem_core-6bdeee0ce6898abd3873a758c47601efcdcc1b7c.zip
system_core-6bdeee0ce6898abd3873a758c47601efcdcc1b7c.tar.gz
system_core-6bdeee0ce6898abd3873a758c47601efcdcc1b7c.tar.bz2
logd: auditd: kmsg priority
Change-Id: I2016fe140e2daf6c69efbd10aef205fffb931aa1
Diffstat (limited to 'logd/LogAudit.cpp')
-rw-r--r--logd/LogAudit.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/logd/LogAudit.cpp b/logd/LogAudit.cpp
index f8d6162..9988178 100644
--- a/logd/LogAudit.cpp
+++ b/logd/LogAudit.cpp
@@ -31,6 +31,8 @@ LogAudit::LogAudit(LogBuffer *buf, LogReader *reader, int fdDmsg)
, logbuf(buf)
, reader(reader)
, fdDmesg(-1) {
+ static const char auditd_message[] = "<6>logd.auditd: start\n";
+ write(fdDmsg, auditd_message, sizeof(auditd_message));
logDmesg();
fdDmesg = fdDmsg;
}
@@ -75,13 +77,17 @@ int LogAudit::logPrint(const char *fmt, ...) {
memmove(cp, cp + 1, strlen(cp + 1) + 1);
}
+ bool info = strstr(str, " permissive=1") || strstr(str, " policy loaded ");
if (fdDmesg >= 0) {
- struct iovec iov[2];
+ struct iovec iov[3];
- iov[0].iov_base = str;
- iov[0].iov_len = strlen(str);
- iov[1].iov_base = const_cast<char *>("\n");
- iov[1].iov_len = 1;
+ iov[0].iov_base = info ? const_cast<char *>("<6>")
+ : const_cast<char *>("<4>");
+ iov[0].iov_len = 3;
+ iov[1].iov_base = str;
+ iov[1].iov_len = strlen(str);
+ iov[2].iov_base = const_cast<char *>("\n");
+ iov[2].iov_len = 1;
writev(fdDmesg, iov, sizeof(iov) / sizeof(iov[0]));
}
@@ -175,10 +181,7 @@ int LogAudit::logPrint(const char *fmt, ...) {
if (!newstr) {
rc = -ENOMEM;
} else {
- *newstr = (strstr(str, " permissive=1")
- || strstr(str, " policy loaded "))
- ? ANDROID_LOG_INFO
- : ANDROID_LOG_WARN;
+ *newstr = info ? ANDROID_LOG_INFO : ANDROID_LOG_WARN;
strlcpy(newstr + 1, comm, l);
strncpy(newstr + 1 + l, str, estr - str);
strcpy(newstr + 1 + l + (estr - str), ecomm);