Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb49b04e authored by Tom Cherry's avatar Tom Cherry
Browse files

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
parent 855c7c87
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ void FixupMessages(std::vector<LogMessage>* messages);
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;
+6 −7
Original line number Diff line number Diff line
@@ -45,11 +45,8 @@ static std::string SocketClientToName(SocketClient* client) {

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 LogReader::onDataAvailable(SocketClient* cli) {

    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
+1 −4
Original line number Diff line number Diff line
@@ -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 @@ class LogWriter {
    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
+0 −4
Original line number Diff line number Diff line
@@ -164,10 +164,6 @@ bool SimpleLogBuffer::FlushTo(
            continue;
        }

        if (!writer->can_read_security_logs() && element.getLogId() == LOG_ID_SECURITY) {
            continue;
        }

        if (((1 << element.getLogId()) & state.log_mask()) == 0) {
            continue;
        }