logd: drop can_read_security_logs
This has become useless after refactoring; we instead ensure that the
LOG_ID_SECURITY bit isn't set in log_mask, instead of having this
additional check.
Test: logging unit tests
Change-Id: Id47b288d056ebf2b5bd26be94006f17c24fafd31
diff --git a/logd/LogBufferTest.h b/logd/LogBufferTest.h
index 1659f12..f91a1b5 100644
--- a/logd/LogBufferTest.h
+++ b/logd/LogBufferTest.h
@@ -45,7 +45,7 @@
class TestWriter : public LogWriter {
public:
TestWriter(std::vector<LogMessage>* msgs, bool* released)
- : LogWriter(0, true, true), msgs_(msgs), released_(released) {}
+ : LogWriter(0, true), msgs_(msgs), released_(released) {}
bool Write(const logger_entry& entry, const char* message) override {
msgs_->emplace_back(LogMessage{entry, std::string(message, entry.len), false});
return true;
diff --git a/logd/LogReader.cpp b/logd/LogReader.cpp
index fc461fd..44bafb9 100644
--- a/logd/LogReader.cpp
+++ b/logd/LogReader.cpp
@@ -45,11 +45,8 @@
class SocketLogWriter : public LogWriter {
public:
- SocketLogWriter(LogReader* reader, SocketClient* client, bool privileged,
- bool can_read_security_logs)
- : LogWriter(client->getUid(), privileged, can_read_security_logs),
- reader_(reader),
- client_(client) {}
+ SocketLogWriter(LogReader* reader, SocketClient* client, bool privileged)
+ : LogWriter(client->getUid(), privileged), reader_(reader), client_(client) {}
bool Write(const logger_entry& entry, const char* msg) override {
struct iovec iovec[2];
@@ -162,9 +159,11 @@
bool privileged = clientHasLogCredentials(cli);
bool can_read_security = CanReadSecurityLogs(cli);
+ if (!can_read_security) {
+ logMask &= ~(1 << LOG_ID_SECURITY);
+ }
- std::unique_ptr<LogWriter> socket_log_writer(
- new SocketLogWriter(this, cli, privileged, can_read_security));
+ std::unique_ptr<LogWriter> socket_log_writer(new SocketLogWriter(this, cli, privileged));
uint64_t sequence = 1;
// Convert realtime to sequence number
diff --git a/logd/LogWriter.h b/logd/LogWriter.h
index b6c5b67..d43c604 100644
--- a/logd/LogWriter.h
+++ b/logd/LogWriter.h
@@ -23,8 +23,7 @@
// An interface for writing logs to a reader.
class LogWriter {
public:
- LogWriter(uid_t uid, bool privileged, bool can_read_security_logs)
- : uid_(uid), privileged_(privileged), can_read_security_logs_(can_read_security_logs) {}
+ LogWriter(uid_t uid, bool privileged) : uid_(uid), privileged_(privileged) {}
virtual ~LogWriter() {}
virtual bool Write(const logger_entry& entry, const char* msg) = 0;
@@ -35,12 +34,10 @@
uid_t uid() const { return uid_; }
bool privileged() const { return privileged_; }
- bool can_read_security_logs() const { return can_read_security_logs_; }
private:
uid_t uid_;
// If this writer sees logs from all UIDs or only its own UID. See clientHasLogCredentials().
bool privileged_;
- bool can_read_security_logs_; // If this writer sees security logs. See CanReadSecurityLogs().
};
\ No newline at end of file
diff --git a/logd/SimpleLogBuffer.cpp b/logd/SimpleLogBuffer.cpp
index 561b968..aaa74ae 100644
--- a/logd/SimpleLogBuffer.cpp
+++ b/logd/SimpleLogBuffer.cpp
@@ -164,10 +164,6 @@
continue;
}
- if (!writer->can_read_security_logs() && element.getLogId() == LOG_ID_SECURITY) {
- continue;
- }
-
if (((1 << element.getLogId()) & state.log_mask()) == 0) {
continue;
}