123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- import("//testing/libfuzzer/fuzzer_test.gni")
- import("//third_party/protobuf/proto_library.gni")
- config("maldoca_flags") {
- cflags = [
- "-Wno-c++98-compat-pedantic",
- "-Wno-comment",
- "-Wno-error=unreachable-code",
- "-Wno-ignored-qualifiers",
- "-Wno-shadow",
- "-Wno-sign-compare",
- "-Wno-unused-const-variable",
- "-Wno-unused-private-field",
- "-Wno-unused-result",
- ]
- defines = [ "MALDOCA_CHROME=1" ]
- }
- config("maldoca_chromium_config") {
- defines = [ "MALDOCA_IN_CHROMIUM" ]
- }
- static_library("zlibwrapper") {
- sources = [
- "src/third_party/zlibwrapper/gzipheader.cc",
- "src/third_party/zlibwrapper/gzipheader.h",
- "src/third_party/zlibwrapper/zlibwrapper.cc",
- "src/third_party/zlibwrapper/zlibwrapper.h",
- ]
- include_dirs = [
- "//third_party/maldoca/src/",
- "//third_party/maldoca/src/third_party/",
- ]
- deps = [
- ":maldoca-base",
- "//base",
- "//third_party/zlib:zlib",
- ]
- configs += [
- ":maldoca_chromium_config",
- ":maldoca_flags",
- ]
- }
- proto_library("feature_proto") {
- proto_in_dir = "//third_party/maldoca/src/third_party/tensorflow_protos"
- sources = [ "${proto_in_dir}/tensorflow/core/example/feature.proto" ]
- }
- proto_library("example_proto") {
- proto_in_dir = "//third_party/maldoca/src/third_party/tensorflow_protos"
- sources = [ "${proto_in_dir}/tensorflow/core/example/example.proto" ]
- link_deps = [ ":feature_proto" ]
- }
- proto_library("maldoca-pdf_parser-protos") {
- proto_in_dir = "src"
- sources = [
- "${proto_in_dir}/maldoca/pdf_parser/proto/adobe_js.proto",
- "${proto_in_dir}/maldoca/pdf_parser/proto/exporting_packet.proto",
- "${proto_in_dir}/maldoca/pdf_parser/proto/features_packet.proto",
- "${proto_in_dir}/maldoca/pdf_parser/proto/parser_packet.proto",
- "${proto_in_dir}/maldoca/pdf_parser/proto/pdf_assets.proto",
- "${proto_in_dir}/maldoca/pdf_parser/proto/pdf_feature.proto",
- "${proto_in_dir}/maldoca/pdf_parser/proto/pdfium_result.proto",
- ]
- import_dirs = [ "//third_party/tflite/src/" ]
- link_deps = [ ":example_proto" ]
- }
- proto_library("maldoca-antivirus-protos") {
- proto_in_dir = "src"
- sources = [ "${proto_in_dir}/maldoca/vba/antivirus/vba_feature.proto" ]
- }
- proto_library("maldoca-ole-protos") {
- proto_in_dir = "src"
- sources = [
- "${proto_in_dir}/maldoca/ole/proto/extract_vba_settings.proto",
- "${proto_in_dir}/maldoca/ole/proto/office.proto",
- "${proto_in_dir}/maldoca/ole/proto/ole.proto",
- "${proto_in_dir}/maldoca/ole/proto/ole_to_proto_settings.proto",
- "${proto_in_dir}/maldoca/ole/proto/ooxml.proto",
- "${proto_in_dir}/maldoca/ole/proto/ooxml_to_proto_settings.proto",
- "${proto_in_dir}/maldoca/ole/proto/vba_extraction.proto",
- ]
- }
- proto_library("maldoca-base-protos") {
- proto_in_dir = "src"
- sources = [ "${proto_in_dir}/maldoca/base/status_proto.proto" ]
- }
- proto_library("maldoca-service-protos") {
- proto_in_dir = "src"
- sources = [
- "${proto_in_dir}/maldoca/service/proto/doc_type.proto",
- "${proto_in_dir}/maldoca/service/proto/document_features.proto",
- "${proto_in_dir}/maldoca/service/proto/exported_features.proto",
- "${proto_in_dir}/maldoca/service/proto/maldoca_service.proto",
- "${proto_in_dir}/maldoca/service/proto/parsed_document.proto",
- "${proto_in_dir}/maldoca/service/proto/processing_config.proto",
- ]
- import_dirs = [ "//third_party/tflite/src/" ]
- link_deps = [
- ":example_proto",
- ":maldoca-antivirus-protos",
- ":maldoca-base-protos",
- ":maldoca-ole-protos",
- ":maldoca-pdf_parser-protos",
- ]
- }
- static_library("maldoca-base") {
- sources = [
- "src/maldoca/base/cleanup.h",
- "src/maldoca/base/digest.h",
- "src/maldoca/base/encoding_error.h",
- "src/maldoca/base/endian.h",
- "src/maldoca/base/enum_utils.h",
- "src/maldoca/base/file.cc",
- "src/maldoca/base/file.h",
- "src/maldoca/base/get_runfiles_dir.cc",
- "src/maldoca/base/get_runfiles_dir.h",
- "src/maldoca/base/logging.h",
- "src/maldoca/base/map_util.h",
- "src/maldoca/base/ret_check.h",
- "src/maldoca/base/source_location.h",
- "src/maldoca/base/status.h",
- "src/maldoca/base/status_builder.h",
- "src/maldoca/base/status_macros.h",
- "src/maldoca/base/status_payload.h",
- "src/maldoca/base/statusor.h",
- "src/maldoca/base/utf8/unicodetext.h",
- ]
- include_dirs = [ "//third_party/maldoca/src/" ]
- public_deps = [
- ":maldoca-base-protos",
- "//base",
- ]
- deps = [
- "//third_party/abseil-cpp:absl",
- "//third_party/boringssl",
- "//third_party/protobuf:protobuf_lite",
- "//third_party/re2",
- ]
- configs += [
- ":maldoca_chromium_config",
- ":maldoca_flags",
- ]
- }
- source_set("maldoca-ole") {
- sources = [
- "src/maldoca/ole/archive_handler.cc",
- "src/maldoca/ole/archive_handler.h",
- "src/maldoca/ole/data_structures.cc",
- "src/maldoca/ole/data_structures.h",
- "src/maldoca/ole/dir.cc",
- "src/maldoca/ole/dir.h",
- "src/maldoca/ole/endian_reader.cc",
- "src/maldoca/ole/endian_reader.h",
- "src/maldoca/ole/fat.cc",
- "src/maldoca/ole/fat.h",
- "src/maldoca/ole/header.cc",
- "src/maldoca/ole/header.h",
- "src/maldoca/ole/mso.cc",
- "src/maldoca/ole/mso.h",
- "src/maldoca/ole/ole_helper.cc",
- "src/maldoca/ole/ole_helper.h",
- "src/maldoca/ole/ole_to_proto.cc",
- "src/maldoca/ole/ole_to_proto.h",
- # Should only be used for debugging
- # "src/maldoca/ole/ole_to_proto_cli.cc",
- "src/maldoca/ole/ooxml_properties_extract.cc",
- "src/maldoca/ole/ooxml_properties_extract.h",
- "src/maldoca/ole/ooxml_to_proto.cc",
- "src/maldoca/ole/ooxml_to_proto.h",
- # Should only be used for debugging
- # "src/maldoca/ole/ooxml_to_proto_cli.cc",
- "src/maldoca/ole/oss_utils.cc",
- "src/maldoca/ole/oss_utils.h",
- "src/maldoca/ole/ppt.cc",
- "src/maldoca/ole/ppt.h",
- "src/maldoca/ole/property_set_stream.cc",
- "src/maldoca/ole/property_set_stream.h",
- "src/maldoca/ole/stream.cc",
- "src/maldoca/ole/stream.h",
- "src/maldoca/ole/strings_extract.cc",
- "src/maldoca/ole/strings_extract.h",
- "src/maldoca/ole/vba.cc",
- "src/maldoca/ole/vba.h",
- "src/maldoca/ole/vba_extract.cc",
- "src/maldoca/ole/vba_extract.h",
- # Should only be used for debugging
- # "src/maldoca/ole/vba_extractor.cc",
- ]
- include_dirs = [
- "//third_party/maldoca/src/",
- "//third_party/maldoca/src/third_party/",
- #"//third_party/libxml/src/include/"
- ]
- public_deps = [
- ":example_proto",
- ":maldoca-base",
- ":maldoca-ole-protos",
- ":maldoca-public-headers",
- "//base",
- "//third_party/abseil-cpp:absl",
- ]
- deps = [
- ":zlibwrapper",
- "//base",
- "//third_party/libxml",
- "//third_party/protobuf:protobuf_lite",
- "//third_party/re2",
- "//third_party/zlib:zlib",
- "//third_party/zlib/google:zip",
- ]
- public_configs = [
- ":maldoca_chromium_config",
- ":maldoca_flags",
- ]
- }
- source_set("maldoca-public-headers") {
- public = [
- "src/maldoca/service/common/office_processing_component.h",
- "src/maldoca/service/common/process_doc.h",
- "src/maldoca/service/common/process_doc_wrapper.h",
- "src/maldoca/service/common/processing_component.h",
- "src/maldoca/service/common/processing_component_factory.h",
- "src/maldoca/service/common/processing_pipeline.h",
- "src/maldoca/service/common/utils.h",
- ]
- public_deps = [
- ":example_proto",
- ":maldoca-base",
- ":maldoca-ole-protos",
- ":maldoca-service-protos",
- ]
- deps = [
- "//third_party/abseil-cpp:absl",
- "//third_party/libxml",
- "//third_party/protobuf:protobuf_lite",
- "//third_party/re2",
- "//third_party/zlib",
- ]
- configs += [
- ":maldoca_chromium_config",
- ":maldoca_flags",
- ]
- }
- static_library("maldoca") {
- sources = [
- "src/maldoca/service/common/office_processing_component.cc",
- "src/maldoca/service/common/process_doc.cc",
- "src/maldoca/service/common/process_doc_wrapper.cc",
- "src/maldoca/service/common/processing_component.cc",
- "src/maldoca/service/common/processing_component_factory.cc",
- "src/maldoca/service/common/processing_pipeline.cc",
- "src/maldoca/service/common/utils.cc",
- ]
- deps = [
- "//third_party/abseil-cpp:absl",
- "//third_party/boringssl",
- "//third_party/libxml",
- "//third_party/protobuf:protobuf_lite",
- "//third_party/re2",
- ]
- public_deps = [
- ":maldoca-base",
- ":maldoca-ole",
- ":maldoca-public-headers",
- ":maldoca-service-protos",
- ]
- include_dirs = [ "//third_party/maldoca/src/" ]
- public_configs = [
- ":maldoca_chromium_config",
- ":maldoca_flags",
- ]
- }
- fuzzer_test("process_doc_fuzzer") {
- sources =
- [ "//third_party/maldoca/src/maldoca/service/common/fuzz_process_doc.cc" ]
- include_dirs = [ "//third_party/maldoca/src/" ]
- deps = [
- ":maldoca",
- "//third_party/abseil-cpp:absl",
- ]
- additional_configs = [
- ":maldoca_flags",
- ":maldoca_chromium_config",
- ]
- }
|