# Copyright 2014 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.

import("//testing/test.gni")

# This needs to be a static library rather than a sources set because small
# portions of this are used in some contexts (like chrome_elf), and it
# doesnn't seem to dead-code strip very well. This saves 12K on chrome_elf.dll,
# over a source set, for example.
static_library("sandbox") {
  sources = [
    "src/acl.cc",
    "src/acl.h",
    "src/broker_services.cc",
    "src/broker_services.h",
    "src/crosscall_client.h",
    "src/crosscall_params.h",
    "src/crosscall_server.cc",
    "src/crosscall_server.h",
    "src/eat_resolver.cc",
    "src/eat_resolver.h",
    "src/filesystem_dispatcher.cc",
    "src/filesystem_dispatcher.h",
    "src/filesystem_interception.cc",
    "src/filesystem_interception.h",
    "src/filesystem_policy.cc",
    "src/filesystem_policy.h",
    "src/handle_closer.cc",
    "src/handle_closer.h",
    "src/handle_closer_agent.cc",
    "src/handle_closer_agent.h",
    "src/interception.cc",
    "src/interception.h",
    "src/interception_agent.cc",
    "src/interception_agent.h",
    "src/interception_internal.h",
    "src/interceptors.h",
    "src/internal_types.h",
    "src/ipc_tags.h",
    "src/job.cc",
    "src/job.h",
    "src/named_pipe_dispatcher.cc",
    "src/named_pipe_dispatcher.h",
    "src/named_pipe_interception.cc",
    "src/named_pipe_interception.h",
    "src/named_pipe_policy.cc",
    "src/named_pipe_policy.h",
    "src/nt_internals.h",
    "src/policy_broker.cc",
    "src/policy_broker.h",
    "src/policy_engine_opcodes.cc",
    "src/policy_engine_opcodes.h",
    "src/policy_engine_params.h",
    "src/policy_engine_processor.cc",
    "src/policy_engine_processor.h",
    "src/policy_low_level.cc",
    "src/policy_low_level.h",
    "src/policy_params.h",
    "src/policy_target.cc",
    "src/policy_target.h",
    "src/process_mitigations.cc",
    "src/process_mitigations.h",
    "src/process_mitigations_win32k_dispatcher.cc",
    "src/process_mitigations_win32k_dispatcher.h",
    "src/process_mitigations_win32k_interception.cc",
    "src/process_mitigations_win32k_interception.h",
    "src/process_mitigations_win32k_policy.cc",
    "src/process_mitigations_win32k_policy.h",
    "src/process_thread_dispatcher.cc",
    "src/process_thread_dispatcher.h",
    "src/process_thread_interception.cc",
    "src/process_thread_interception.h",
    "src/process_thread_policy.cc",
    "src/process_thread_policy.h",
    "src/registry_dispatcher.cc",
    "src/registry_dispatcher.h",
    "src/registry_interception.cc",
    "src/registry_interception.h",
    "src/registry_policy.cc",
    "src/registry_policy.h",
    "src/resolver.cc",
    "src/resolver.h",
    "src/restricted_token.cc",
    "src/restricted_token.h",
    "src/restricted_token_utils.cc",
    "src/restricted_token_utils.h",
    "src/sandbox.cc",
    "src/sandbox.h",
    "src/sandbox_factory.h",
    "src/sandbox_globals.cc",
    "src/sandbox_nt_types.h",
    "src/sandbox_nt_util.cc",
    "src/sandbox_nt_util.h",
    "src/sandbox_policy.h",
    "src/sandbox_policy_base.cc",
    "src/sandbox_policy_base.h",
    "src/sandbox_rand.cc",
    "src/sandbox_rand.h",
    "src/sandbox_types.h",
    "src/sandbox_utils.cc",
    "src/sandbox_utils.h",
    "src/security_level.h",
    "src/service_resolver.cc",
    "src/service_resolver.h",
    "src/sharedmem_ipc_client.cc",
    "src/sharedmem_ipc_client.h",
    "src/sharedmem_ipc_server.cc",
    "src/sharedmem_ipc_server.h",
    "src/sid.cc",
    "src/sid.h",
    "src/sync_dispatcher.cc",
    "src/sync_dispatcher.h",
    "src/sync_interception.cc",
    "src/sync_interception.h",
    "src/sync_policy.cc",
    "src/sync_policy.h",
    "src/target_interceptions.cc",
    "src/target_interceptions.h",
    "src/target_process.cc",
    "src/target_process.h",
    "src/target_services.cc",
    "src/target_services.h",
    "src/top_level_dispatcher.cc",
    "src/top_level_dispatcher.h",
    "src/win2k_threadpool.cc",
    "src/win2k_threadpool.h",
    "src/win_utils.cc",
    "src/win_utils.h",
    "src/window.cc",
    "src/window.h",
  ]

  if (current_cpu == "x64") {
    sources += [
      "src/interceptors_64.cc",
      "src/interceptors_64.h",
      "src/resolver_64.cc",
      "src/service_resolver_64.cc",
    ]
  } else if (current_cpu == "x86") {
    sources += [
      "src/resolver_32.cc",
      "src/service_resolver_32.cc",
      "src/sidestep/ia32_modrm_map.cpp",
      "src/sidestep/ia32_opcode_map.cpp",
      "src/sidestep/mini_disassembler.cpp",
      "src/sidestep/mini_disassembler.h",
      "src/sidestep/mini_disassembler_types.h",
      "src/sidestep/preamble_patcher.h",
      "src/sidestep/preamble_patcher_with_stub.cpp",
      "src/sidestep_resolver.cc",
      "src/sidestep_resolver.h",
    ]
  }

  configs += [ "//build/config:precompiled_headers" ]

  deps = [
    "//base",
    "//base:base_static",
  ]
  if (current_cpu == "x86") {
    deps += [ ":copy_wow_helper" ]
  }
}

if (current_cpu == "x86") {
  # Make a target that copies the wow_helper files to the out dir.
  #
  # TODO(brettw) we can probably just build this now that we have proper
  # toolchain support.
  copy("copy_wow_helper") {
    sources = [
      "wow_helper/wow_helper.exe",
      "wow_helper/wow_helper.pdb",
    ]
    outputs = [
      "$root_out_dir/{{source_file_part}}",
    ]
  }
}

test("sbox_integration_tests") {
  sources = [
    "src/address_sanitizer_test.cc",
    "src/app_container_test.cc",
    "src/file_policy_test.cc",
    "src/handle_closer_test.cc",
    "src/handle_inheritance_test.cc",
    "src/integrity_level_test.cc",
    "src/ipc_ping_test.cc",
    "src/lpc_policy_test.cc",
    "src/named_pipe_policy_test.cc",
    "src/policy_target_test.cc",
    "src/process_mitigations_test.cc",
    "src/process_policy_test.cc",
    "src/registry_policy_test.cc",
    "src/restricted_token_test.cc",
    "src/sync_policy_test.cc",
    "src/sync_policy_test.h",
    "src/unload_dll_test.cc",
    "tests/common/controller.cc",
    "tests/common/controller.h",
    "tests/common/test_utils.cc",
    "tests/common/test_utils.h",
    "tests/integration_tests/integration_tests.cc",
    "tests/integration_tests/integration_tests_common.h",
    "tests/integration_tests/integration_tests_test.cc",
  ]

  deps = [
    ":sandbox",
    ":sbox_integration_test_hook_dll",
    ":sbox_integration_test_win_proc",
    "//base/test:test_support",
    "//testing/gtest",
  ]

  libs = [ "dxva2.lib" ]
}

loadable_module("sbox_integration_test_hook_dll") {
  sources = [
    "tests/integration_tests/hooking_dll.cc",
    "tests/integration_tests/integration_tests_common.h",
  ]
}

executable("sbox_integration_test_win_proc") {
  sources = [
    "tests/integration_tests/hooking_win_proc.cc",
    "tests/integration_tests/integration_tests_common.h",
  ]

  configs -= [ "//build/config/win:console" ]
  configs += [ "//build/config/win:windowed" ]
}

test("sbox_validation_tests") {
  sources = [
    "tests/common/controller.cc",
    "tests/common/controller.h",
    "tests/validation_tests/commands.cc",
    "tests/validation_tests/commands.h",
    "tests/validation_tests/suite.cc",
    "tests/validation_tests/unit_tests.cc",
  ]

  deps = [
    ":sandbox",
    "//base/test:test_support",
    "//testing/gtest",
  ]

  libs = [ "shlwapi.lib" ]
}

test("sbox_unittests") {
  sources = [
    "src/interception_unittest.cc",
    "src/ipc_unittest.cc",
    "src/job_unittest.cc",
    "src/policy_engine_unittest.cc",
    "src/policy_low_level_unittest.cc",
    "src/policy_opcodes_unittest.cc",
    "src/restricted_token_unittest.cc",
    "src/sandbox_nt_util_unittest.cc",
    "src/service_resolver_unittest.cc",
    "src/sid_unittest.cc",
    "src/threadpool_unittest.cc",
    "src/win_utils_unittest.cc",
    "tests/common/test_utils.cc",
    "tests/common/test_utils.h",
    "tests/unit_tests/unit_tests.cc",
  ]

  deps = [
    ":sandbox",
    "//base/test:test_support",
    "//testing/gtest",
  ]
}

test("sandbox_poc") {
  sources = [
    "sandbox_poc/main_ui_window.cc",
    "sandbox_poc/main_ui_window.h",
    "sandbox_poc/resource.h",
    "sandbox_poc/sandbox.cc",
    "sandbox_poc/sandbox.h",
    "sandbox_poc/sandbox.ico",
    "sandbox_poc/sandbox.rc",
  ]

  configs -= [ "//build/config/win:console" ]
  configs += [ "//build/config/win:windowed" ]

  libs = [ "comctl32.lib" ]

  deps = [
    ":pocdll",
    ":sandbox",
  ]
}

shared_library("pocdll") {
  sources = [
    "sandbox_poc/pocdll/exports.h",
    "sandbox_poc/pocdll/fs.cc",
    "sandbox_poc/pocdll/handles.cc",
    "sandbox_poc/pocdll/invasive.cc",
    "sandbox_poc/pocdll/network.cc",
    "sandbox_poc/pocdll/pocdll.cc",
    "sandbox_poc/pocdll/processes_and_threads.cc",
    "sandbox_poc/pocdll/registry.cc",
    "sandbox_poc/pocdll/spyware.cc",
    "sandbox_poc/pocdll/utils.h",
  ]

  defines = [ "POCDLL_EXPORTS" ]

  deps = [
    "//build/config/sanitizers:deps",
  ]
}
