Index: chrome/common/chrome_utility_messages.h |
diff --git a/chrome/common/chrome_utility_messages.h b/chrome/common/chrome_utility_messages.h |
index fd7b41f3cbe3d8868dd8d6b6b7b649c393790397..80ea64c713f88842c0159b1c082edc2c43046b26 100644 |
--- a/chrome/common/chrome_utility_messages.h |
+++ b/chrome/common/chrome_utility_messages.h |
@@ -15,12 +15,17 @@ |
#include "base/strings/string16.h" |
#include "base/tuple.h" |
#include "base/values.h" |
-#include "chrome/common/safe_browsing/zip_analyzer.h" |
+#include "chrome/common/safe_browsing/zip_analyzer_results.h" |
#include "ipc/ipc_message_macros.h" |
#include "ipc/ipc_platform_file.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/gfx/ipc/gfx_param_traits.h" |
+#if defined(FULL_SAFE_BROWSING) |
+#include "chrome/common/safe_browsing/ipc_protobuf_message_macros.h" |
+#include "chrome/common/safe_browsing/protobuf_message_param_traits.h" |
+#endif |
+ |
// Singly-included section for typedefs. |
#ifndef CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
#define CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
@@ -37,12 +42,71 @@ typedef std::vector<Tuple<base::string16, base::string16>> |
#define IPC_MESSAGE_START ChromeUtilityMsgStart |
#if defined(FULL_SAFE_BROWSING) |
+IPC_ENUM_TRAITS_VALIDATE( |
+ safe_browsing::ClientDownloadRequest_DownloadType, |
+ safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value)) |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(safe_browsing::ClientDownloadRequest_Digests) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(sha256) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(sha1) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(md5) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN( |
+ safe_browsing::ClientDownloadRequest_CertificateChain_Element) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(certificate) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN( |
+ safe_browsing::ClientDownloadRequest_CertificateChain) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(element) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN( |
+ safe_browsing::ClientDownloadRequest_SignatureInfo) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(certificate_chain) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(trusted) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN( |
+ safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(directory_entry) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(raw_data) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN( |
+ safe_browsing::ClientDownloadRequest_PEImageHeaders) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(dos_header) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(file_header) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(optional_headers32) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(optional_headers64) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(section_header) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(export_section_data) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(debug_data) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN( |
+ safe_browsing::ClientDownloadRequest_ImageHeaders) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(pe_headers) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
+IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN( |
+ safe_browsing::ClientDownloadRequest_ArchivedBinary) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(file_basename) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(download_type) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(digests) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(length) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(signature) |
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER(image_headers) |
+IPC_PROTOBUF_MESSAGE_TRAITS_END() |
+ |
IPC_STRUCT_TRAITS_BEGIN(safe_browsing::zip_analyzer::Results) |
IPC_STRUCT_TRAITS_MEMBER(success) |
IPC_STRUCT_TRAITS_MEMBER(has_executable) |
IPC_STRUCT_TRAITS_MEMBER(has_archive) |
+ IPC_STRUCT_TRAITS_MEMBER(archived_binary) |
IPC_STRUCT_TRAITS_END() |
-#endif |
+#endif // FULL_SAFE_BROWSING |
#if defined(OS_WIN) |
IPC_STRUCT_BEGIN(ChromeUtilityMsg_GetSaveFileName_Params) |
@@ -105,9 +169,11 @@ IPC_MESSAGE_CONTROL0(ChromeUtilityMsg_StartupPing) |
#if defined(FULL_SAFE_BROWSING) |
// Tells the utility process to analyze a zip file for malicious download |
-// protection. |
-IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_AnalyzeZipFileForDownloadProtection, |
- IPC::PlatformFileForTransit /* zip_file */) |
+// protection, providing a file that can be used temporarily to analyze binaries |
+// contained therein. |
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_AnalyzeZipFileForDownloadProtection, |
+ IPC::PlatformFileForTransit /* zip_file */, |
+ IPC::PlatformFileForTransit /* temp_file */) |
#endif |
#if defined(OS_WIN) |