summaryrefslogtreecommitdiffstats
path: root/chrome/browser/safe_browsing/incident_reporting/binary_integrity_incident.cc
blob: cb154715164e7ecd8e760a599fefd06bb5501f36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/safe_browsing/incident_reporting/binary_integrity_incident.h"

#include "base/logging.h"
#include "chrome/browser/safe_browsing/incident_reporting/incident_handler_util.h"
#include "chrome/common/safe_browsing/csd.pb.h"

namespace safe_browsing {

BinaryIntegrityIncident::BinaryIntegrityIncident(
    scoped_ptr<ClientIncidentReport_IncidentData_BinaryIntegrityIncident>
        binary_integrity_incident) {
  DCHECK(binary_integrity_incident);
  DCHECK(binary_integrity_incident->has_file_basename());
  payload()->set_allocated_binary_integrity(
      binary_integrity_incident.release());
}

BinaryIntegrityIncident::~BinaryIntegrityIncident() {
}

IncidentType BinaryIntegrityIncident::GetType() const {
  return IncidentType::BINARY_INTEGRITY;
}

// Returns the basename of the binary.
std::string BinaryIntegrityIncident::GetKey() const {
  return payload()->binary_integrity().file_basename();
}

// Returns a digest computed over the payload.
uint32_t BinaryIntegrityIncident::ComputeDigest() const {
  return HashMessage(payload()->binary_integrity());
}

}  // namespace safe_browsing