├── .diffscuss-mb ├── .gitignore ├── Doc ├── AuthTesting-Overview.txt ├── Authentication-TLS-PSK-DHE.txt ├── Authentication.txt ├── AuthenticationImplementation.txt ├── BuildingInitRamFs.txt ├── CMake_cpvmm.txt ├── CPdiagrams.pptx ├── Callgraphs.pptx ├── CloudProxyAuthorizationNotes.txt ├── CloudProxyTechReport.pdf ├── CloudproxyDeploymentNutsandBolts.docx ├── CloudproxyDeploymentNutsandBolts.pdf ├── CloudproxyNutsandBolts.docx ├── CloudproxyNutsandBolts.pdf ├── Cryptography.dia ├── Cryptography.txt ├── FactoriesAndInterfaces.txt ├── Go-cloudproxy.docx ├── KeysAndTrust.txt ├── Replay.txt ├── TPM2Cloudproxyprototypeandprotocol.docx ├── apps.txt ├── attestation.txt ├── e820.txt ├── evmm-init-notes.txt ├── gdbdebugParition.txt ├── gitinstuctions.txt ├── go.txt ├── install_go_dependencies_mac.txt ├── ncp.txt ├── todo_schedule.txt └── tpmd.md ├── INSTALL.md ├── LICENSE ├── README ├── cpvmm ├── CMakeLists.txt ├── README.md ├── common │ └── include │ │ ├── arch │ │ ├── em64t_defs.h │ │ ├── ia32_defs.h │ │ ├── ia32_low_level.h │ │ └── msr_defs.h │ │ ├── array_iterators.h │ │ ├── common_libc.h │ │ ├── common_types.h │ │ ├── event_mgr.h │ │ ├── file_codes.h │ │ ├── ia32_registers.equ │ │ ├── image_access_env.h │ │ ├── image_access_gen.h │ │ ├── image_access_mem.h │ │ ├── platform │ │ └── uart.h │ │ ├── profiling.h │ │ ├── vmcall_api.h │ │ ├── vmm_arch_defs.h │ │ ├── vmm_defs.h │ │ ├── vmm_startup.h │ │ └── vmm_version_struct.h ├── cpvmm.cmake └── vmm │ ├── CMakeLists.txt │ ├── acpi │ ├── CMakeLists.txt │ ├── vmm_acpi.c │ └── vmm_acpi_pm.c │ ├── arch │ ├── CMakeLists.txt │ ├── e820_abstraction.c │ ├── efer_msr_abstraction.c │ ├── mtrrs_abstraction.c │ └── pat_manager.c │ ├── bootstrap │ ├── CMakeLists.txt │ ├── bootstrap.x │ ├── bootstrap_ap_procs_init.c │ ├── bootstrap_ap_procs_init.h │ ├── bootstrap_e820.c │ ├── bootstrap_entry.c │ ├── bootstrap_ia.h │ ├── bootstrap_print.c │ ├── bootstrap_print.h │ ├── bootstrap_startap.c │ ├── bootstrap_string.c │ ├── bootstrap_string.h │ ├── bootstrap_types.h │ ├── e820.h │ ├── elf64.h │ ├── elf_defns.h │ ├── linux_defns.h │ ├── msr.h │ ├── multiboot.h │ ├── tboot.h │ └── x32_init64.h │ ├── config.h │ ├── dbg │ ├── CMakeLists.txt │ ├── cli_libc.c │ ├── trace.c │ ├── trace.h │ ├── vmdb.c │ ├── vmm_dbg.c │ ├── vmx_trace.c │ └── vt100.c │ ├── evmm.x │ ├── guest │ ├── CMakeLists.txt │ ├── guest.c │ ├── guest_control.c │ ├── guest_cpu │ │ ├── CMakeLists.txt │ │ ├── guest_cpu.c │ │ ├── guest_cpu_access.c │ │ ├── guest_cpu_control.c │ │ ├── guest_cpu_control.h │ │ ├── guest_cpu_internal.h │ │ ├── guest_cpu_switch.c │ │ ├── guest_cpu_vmenter_event.c │ │ ├── guest_save_area.h │ │ ├── unrestricted_guest.c │ │ └── unrestricted_guest.h │ ├── guest_internal.h │ ├── guest_pci_configuration.c │ └── scheduler │ │ ├── CMakeLists.txt │ │ └── scheduler.c │ ├── host │ ├── CMakeLists.txt │ ├── host_cpu.c │ ├── hw │ │ ├── CMakeLists.txt │ │ ├── em64t │ │ │ ├── CMakeLists.txt │ │ │ ├── em64t_gdt.c │ │ │ ├── em64t_idt.c │ │ │ ├── em64t_isr.s │ │ │ ├── em64t_setjmp.s │ │ │ ├── em64t_vmx.s │ │ │ ├── em64t_vmx2.c │ │ │ ├── fixup.c │ │ │ ├── isr_generated.h │ │ │ └── vmregion.h │ │ ├── host_pci_configuration.c │ │ ├── hw_utils.c │ │ ├── local_apic.c │ │ ├── machinesupport.c │ │ ├── reset.c │ │ └── vmcs_init.c │ ├── isr.c │ ├── policy_manager.c │ ├── trial_exec.c │ └── vmm_globals.c │ ├── include │ ├── address.h │ ├── appliances │ │ └── tscdt_emulator_api.h │ ├── cache64.h │ ├── cli.h │ ├── cli_env.h │ ├── cli_libc.h │ ├── cli_monitor.h │ ├── device_drivers_manager.h │ ├── emulator_if.h │ ├── flat_page_tables.h │ ├── gpm_api.h │ ├── guest.h │ ├── guest_cpu.h │ ├── guest_cpu_vmenter_event.h │ ├── guest_pci_configuration.h │ ├── hash64_api.h │ ├── heap.h │ ├── host_cpu.h │ ├── host_memory_manager_api.h │ ├── hw │ │ ├── 8259a_pic.h │ │ ├── e820_abstraction.h │ │ ├── efer_msr_abstraction.h │ │ ├── gdt.h │ │ ├── host_pci_configuration.h │ │ ├── hw_interlocked.h │ │ ├── hw_setjmp.h │ │ ├── hw_utils.h │ │ ├── hw_vmx_utils.h │ │ ├── idt.h │ │ ├── local_apic.h │ │ ├── mtrrs_abstraction.h │ │ ├── pci_configuration.h │ │ ├── vmcs_init.h │ │ ├── vmm_phys_mem_types.h │ │ ├── vmx_asm.h │ │ ├── vmx_ctrl_msrs.h │ │ ├── vmx_vmcs.h │ │ ├── vtd.h │ │ ├── vtd_acpi_dmar.h │ │ ├── vtd_domain.h │ │ └── vtd_hw_layer.h │ ├── hw_includes.h │ ├── ipc.h │ ├── isr.h │ ├── libc.h │ ├── list.h │ ├── lock.h │ ├── memory_address_mapper_api.h │ ├── memory_allocator.h │ ├── memory_dump.h │ ├── page_walker.h │ ├── pat_manager.h │ ├── pfec.h │ ├── policy_manager.h │ ├── pool_api.h │ ├── scheduler.h │ ├── trial_exec.h │ ├── vmcall.h │ ├── vmcs_actual.h │ ├── vmcs_api.h │ ├── vmcs_hierarchy.h │ ├── vmcs_merge_split.h │ ├── vmcs_sw_object.h │ ├── vmdb.h │ ├── vmenter_checks.h │ ├── vmexit.h │ ├── vmexit_analysis.h │ ├── vmexit_cpuid.h │ ├── vmexit_cr_access.h │ ├── vmexit_dtr_tr.h │ ├── vmexit_io.h │ ├── vmexit_msr.h │ ├── vmm_acpi.h │ ├── vmm_addons.h │ ├── vmm_api.h │ ├── vmm_bootstrap_utils.h │ ├── vmm_callback.h │ ├── vmm_dbg.h │ ├── vmm_events_data.h │ ├── vmm_globals.h │ ├── vmm_objects.h │ ├── vmm_serial.h │ ├── vmm_stack_api.h │ ├── vmx_nmi.h │ ├── vmx_teardown.h │ ├── vmx_timer.h │ ├── vmx_trace.h │ └── vt100.h │ ├── ipc │ ├── CMakeLists.txt │ ├── ipc.c │ ├── ipc_api.c │ └── ipc_impl.h │ ├── jlmdebug.h │ ├── libc │ ├── CMakeLists.txt │ ├── bitarray_utilities.c │ ├── common_libc.c │ ├── em64t_mem2.c │ ├── libc.c │ ├── libc_internal.h │ ├── sprintf.c │ ├── vmm_io.c │ └── vmm_serial.c │ ├── memory │ ├── CMakeLists.txt │ ├── ept │ │ ├── CMakeLists.txt │ │ ├── ept.c │ │ ├── ept.h │ │ ├── ept_hw_layer.c │ │ ├── ept_hw_layer.h │ │ ├── fvs.c │ │ ├── fvs.h │ │ ├── invept2.c │ │ ├── ve.c │ │ └── ve.h │ └── memory_manager │ │ ├── CMakeLists.txt │ │ ├── flat_page_tables.c │ │ ├── gpm.c │ │ ├── host_memory_manager.c │ │ ├── host_memory_manager.h │ │ ├── mam_forward_declarations.h │ │ ├── memory_address_mapper.c │ │ ├── memory_address_mapper.h │ │ ├── page_walker.c │ │ ├── pool.c │ │ ├── pool.h │ │ ├── vmm_stack.c │ │ └── vmm_stack.h │ ├── startup │ ├── CMakeLists.txt │ ├── addons.c │ ├── copy_input_structs.c │ ├── create_guests.c │ ├── layout_host_memory.h │ ├── layout_host_memory_for_mbr_loader.c │ └── vmm_extension.c │ ├── test │ ├── calltest.s │ ├── cmpxchtest.c │ ├── leatest.c │ ├── linktest.c │ ├── rektest.cpp │ ├── setjumptest.mak │ ├── testsetjump.c │ ├── vmmentrytest.mak │ └── vmmstub.c │ ├── todo.txt │ ├── utils │ ├── CMakeLists.txt │ ├── address.c │ ├── array_list.c │ ├── cache64.c │ ├── event_mgr.c │ ├── hash64.c │ ├── hash64.h │ ├── heap.c │ ├── lock.c │ ├── math_utils.c │ ├── memory_allocator.c │ └── utils_asm2.c │ ├── vmexit │ ├── CMakeLists.txt │ ├── vmcall.c │ ├── vmexit.c │ ├── vmexit_analysis.c │ ├── vmexit_cpuid.c │ ├── vmexit_cr_access.c │ ├── vmexit_dbg.c │ ├── vmexit_dtr_tr_access.c │ ├── vmexit_ept.c │ ├── vmexit_init.c │ ├── vmexit_interrupt_exception_nmi.c │ ├── vmexit_invd.c │ ├── vmexit_invlpg.c │ ├── vmexit_io.c │ ├── vmexit_msr.c │ ├── vmexit_sipi.c │ ├── vmexit_task_switch.c │ ├── vmexit_triple_fault.c │ ├── vmexit_ud.c │ ├── vmexit_vmx.c │ └── vmx_teardown.c │ ├── vmm.c │ └── vmx │ ├── CMakeLists.txt │ ├── vmcs.c │ ├── vmcs_actual.c │ ├── vmcs_hierarchy.c │ ├── vmcs_internal.h │ ├── vmcs_merge_split.c │ ├── vmcs_sw_object.c │ ├── vmx.c │ └── vmx_nmi.c ├── diffscussions ├── .gitkeep ├── reviews │ ├── .gitkeep │ ├── acls-fix.diff │ └── datalog_inf_loop.diffscuss └── users │ ├── .gitkeep │ ├── jlm │ └── .gitkeep │ ├── kwalsh │ ├── .gitkeep │ └── acls-fix.diff │ └── tmroeder │ ├── .gitkeep │ └── datalog_inf_loop.diffscuss ├── go ├── README.md ├── apps │ ├── aiksigner │ │ └── aiksigner.go │ ├── demo │ │ ├── .gitignore │ │ ├── README.md │ │ ├── demo_client │ │ │ ├── Dockerfile │ │ │ └── demo_client.go │ │ └── demo_server │ │ │ ├── Dockerfile │ │ │ └── demo_server.go │ ├── genauth │ │ ├── cppgen.go │ │ ├── genauth │ │ │ └── genauth.go │ │ └── visitors.go │ ├── host │ │ └── host.go │ ├── linux_host │ │ └── linux_host.go │ ├── mixnet │ │ ├── README.md │ │ ├── cert.pem │ │ ├── circuit.go │ │ ├── conn.go │ │ ├── consts.go │ │ ├── directory.go │ │ ├── encoding.go │ │ ├── encoding_test.go │ │ ├── key.pem │ │ ├── listener.go │ │ ├── mixnet.pb.go │ │ ├── mixnet.proto │ │ ├── mixnet_directory │ │ │ └── mixnet_directory.go │ │ ├── mixnet_proxy │ │ │ └── mixnet_proxy.go │ │ ├── mixnet_router │ │ │ └── mixnet_router.go │ │ ├── mixnet_simpleclient │ │ │ └── mixnet_simpleclient.go │ │ ├── mixnet_simpleserver │ │ │ └── mixnet_simpleserver.go │ │ ├── mixnet_test.go │ │ ├── proxy.go │ │ ├── queue.go │ │ ├── queue_test.go │ │ ├── router.go │ │ ├── scripts │ │ │ ├── README.md │ │ │ ├── define.sh │ │ │ ├── domain_template.mixnet │ │ │ ├── initmixnet.sh │ │ │ ├── run.sh │ │ │ ├── run_client.sh │ │ │ ├── run_directory.sh │ │ │ ├── run_echoserver.sh │ │ │ ├── run_random.sh │ │ │ ├── run_router.sh │ │ │ └── run_simple.sh │ │ ├── socks5.go │ │ └── socks5_test.go │ ├── newfileproxy │ │ ├── NewfileproxyDomain │ │ │ ├── checkprog │ │ │ ├── clean │ │ │ ├── copybins │ │ │ ├── defines │ │ │ ├── domain_template.fileproxy │ │ │ ├── gentemplate │ │ │ ├── initdomain │ │ │ ├── initfileproxy │ │ │ ├── inituserkeys │ │ │ ├── instructions │ │ │ └── runall │ │ ├── README │ │ ├── common │ │ │ ├── common_test.go │ │ │ ├── services.go │ │ │ ├── services_rpc.pb.go │ │ │ ├── services_rpc.proto │ │ │ └── utility.go │ │ ├── fileclient │ │ │ └── fileclient.go │ │ ├── fileserver │ │ │ └── fileserver.go │ │ ├── key_util │ │ │ └── keyUtil.go │ │ └── resourcemanager │ │ │ ├── resource_test.go │ │ │ ├── resources.go │ │ │ ├── resources.pb.go │ │ │ └── resources.proto │ ├── roughtime │ │ ├── .gitignore │ │ ├── README.md │ │ ├── agl_roughtime │ │ │ ├── config │ │ │ │ └── config.go │ │ │ ├── monotime │ │ │ │ ├── empty.s │ │ │ │ └── monotime.go │ │ │ └── protocol │ │ │ │ ├── protocol.go │ │ │ │ └── protocol_test.go │ │ ├── client.go │ │ ├── client │ │ │ └── client.go │ │ ├── consts.go │ │ ├── server.go │ │ ├── server │ │ │ └── server.go │ │ └── server_test.go │ ├── simple_http_server │ │ ├── README.md │ │ ├── allowall.cfg │ │ ├── run.sh │ │ └── server.go │ ├── simpleexample │ │ ├── SimpleClient │ │ │ └── simpleclient.go │ │ ├── SimpleClientCpp │ │ │ ├── gen_keys.cc │ │ │ ├── gen_keys_test.cc │ │ │ ├── junkyard │ │ │ │ ├── WARNING │ │ │ │ ├── client_test.cc.old │ │ │ │ ├── helpers.cc.old │ │ │ │ ├── helpers.h.old │ │ │ │ ├── helpers_test.cc.old │ │ │ │ ├── messages.proto.old │ │ │ │ ├── server_test.cc.old │ │ │ │ ├── simple_client_test.cc.old │ │ │ │ ├── simple_server_test.cc.old │ │ │ │ └── simpleclient_cc.cc.old │ │ │ ├── simpleclient.mak │ │ │ └── simpleclient_cc.cc │ │ ├── SimpleDomain │ │ │ ├── checkprog │ │ │ ├── clean │ │ │ ├── copybins │ │ │ ├── defines │ │ │ ├── domain_template.simpleexample │ │ │ ├── domain_template.simpleexampletpm1 │ │ │ ├── domain_template.simpleexampletpm2 │ │ │ ├── gentemplate │ │ │ ├── initdomain │ │ │ ├── initsimpleexample │ │ │ ├── initsimpleexampletpm1 │ │ │ ├── initsimpleexampletpm2 │ │ │ ├── inittpm1domain │ │ │ ├── inittpm2domain │ │ │ ├── runall │ │ │ ├── runallcc │ │ │ ├── runallccwithrollback │ │ │ ├── runallgoclient │ │ │ ├── runalltpm1full │ │ │ ├── runalltpm1simple │ │ │ ├── runalltpm2full │ │ │ ├── runalltpm2simple │ │ │ ├── runalltpm2simplewithrollback │ │ │ ├── runallwithrollback │ │ │ └── rungoclient │ │ ├── SimpleServer │ │ │ └── simpleserver.go │ │ └── common │ │ │ ├── messages.go │ │ │ ├── messages.pb.go │ │ │ └── messages.proto │ ├── tao │ │ └── tao.go │ ├── tao_admin │ │ └── tao_admin.go │ ├── tao_launch │ │ ├── ctty_darwin.go │ │ ├── ctty_linux.go │ │ └── tao_launch.go │ └── tcca │ │ └── tcca.go ├── run │ └── scripts │ │ ├── build_docker.sh │ │ ├── build_linux_host.sh │ │ ├── build_static.sh │ │ ├── coreos.pk │ │ ├── domain_template.pb │ │ ├── get_coreos_stable.sh │ │ ├── run_docker.sh │ │ ├── run_kvm.sh │ │ ├── run_processes.sh │ │ ├── run_tpm2.sh │ │ ├── set_up_domain.sh │ │ └── test_mixnet.sh ├── support_infrastructure │ ├── CPSecretService │ │ └── README.md │ ├── README.md │ ├── SimpleDomainService │ │ └── simpledomainservice.go │ ├── domain_service │ │ ├── README.md │ │ ├── client.go │ │ ├── domain_server │ │ │ ├── TrustedEntities │ │ │ ├── domain_server.go │ │ │ └── tao.config │ │ ├── domain_service.go │ │ ├── domain_service_test.go │ │ ├── service.pb.go │ │ ├── service.proto │ │ └── test_server │ │ │ └── test_server.go │ └── secret_service │ │ ├── README.md │ │ ├── secret_service.go │ │ ├── secret_service_test.go │ │ ├── service.pb.go │ │ └── service.proto ├── support_libraries │ ├── README.md │ ├── domain_policy │ │ ├── domain_policy.pb.go │ │ └── domain_policy.proto │ ├── protected_objects │ │ ├── README.md │ │ ├── protected_obj.go │ │ ├── protected_obj_test.go │ │ ├── protected_objects.pb.go │ │ └── protected_objects.proto │ ├── rotation_support │ │ ├── README.md │ │ ├── rotate.go │ │ └── rotate_test.go │ ├── secret_disclosure_support │ │ ├── README.md │ │ ├── directive.pb.go │ │ ├── directive.proto │ │ ├── secret_disclosure.go │ │ └── secret_disclosure_test.go │ └── tao_support │ │ ├── taosupport.go │ │ ├── taosupport.pb.go │ │ └── taosupport.proto ├── tao │ ├── .gitignore │ ├── acl_guard.go │ ├── acl_guard.pb.go │ ├── acl_guard_test.go │ ├── addingaciphersuite.txt │ ├── attestation.go │ ├── attestation.pb.go │ ├── auth │ │ ├── ast.go │ │ ├── auth_test.go │ │ ├── binary.go │ │ ├── buffer.go │ │ ├── doc.go │ │ ├── format.go │ │ ├── lexer.go │ │ ├── parser.go │ │ ├── scan.go │ │ ├── shortstring.go │ │ └── string.go │ ├── ca.go │ ├── ca.pb.go │ ├── cached_guard.go │ ├── cached_guard_test.go │ ├── client.go │ ├── config.go │ ├── datalog_guard.go │ ├── datalog_guard.pb.go │ ├── datalog_guard_test.go │ ├── domain.go │ ├── domain.pb.go │ ├── domain_test.go │ ├── errors.go │ ├── guard.go │ ├── guard_test.go │ ├── host.go │ ├── host_test.go │ ├── hosted_program_factory.go │ ├── key_decoding.go │ ├── keys.go │ ├── keys.pb.go │ ├── keys_test.go │ ├── kvm_coreos_factory.go │ ├── kvm_custom_factory.go │ ├── linux_docker_container_factory.go │ ├── linux_host.go │ ├── linux_host.pb.go │ ├── linux_host_admin_rpc.go │ ├── linux_host_admin_rpc.pb.go │ ├── linux_host_admin_rpc_darwin.go │ ├── linux_host_admin_rpc_linux.go │ ├── linux_host_tao_rpc.go │ ├── linux_host_tao_rpc_test.go │ ├── linux_host_test.go │ ├── linux_process_factory.go │ ├── listener.go │ ├── net_test.go │ ├── proto │ │ ├── README.md │ │ ├── acl_guard.proto │ │ ├── attestation.proto │ │ ├── ca.proto │ │ ├── datalog_guard.proto │ │ ├── domain.proto │ │ ├── keys.proto │ │ ├── linux_host.proto │ │ ├── linux_host_admin_rpc.proto │ │ ├── rollback.proto │ │ ├── rpc.proto │ │ └── tpm_tao.proto │ ├── rollback.go │ ├── rollback.pb.go │ ├── rollback_support_test.go │ ├── root_host.go │ ├── rpc.go │ ├── rpc.pb.go │ ├── soft_tao.go │ ├── soft_tao_test.go │ ├── stacked_host.go │ ├── tao.go │ ├── tao_cipher_suite.go │ ├── tao_key_management.go │ ├── tao_key_management_test.go │ ├── tempSuite.go.testfilew │ ├── tpm2_tao.go │ ├── tpm2_tao_app_helper.go │ ├── tpm2_tao_test.go │ ├── tpm_tao.go │ ├── tpm_tao.pb.go │ └── tpm_tao_test.go ├── tpm2 │ ├── apps │ │ ├── Endorsement │ │ │ └── MakeEndorsementCert.go │ │ ├── FakePolicySign │ │ │ └── FakePolicySign.go │ │ ├── PolicyKey │ │ │ └── MakePolicyKey.go │ │ ├── QuoteServer │ │ │ └── server.go │ │ └── Tpm2Keys │ │ │ └── Tpm2Keys.go │ ├── constants.go │ ├── encoding.go │ ├── errors.go │ ├── structures.go │ ├── support.go │ ├── support_test.go │ ├── todo.txt │ ├── tpm2.go │ ├── tpm2.pb.go │ ├── tpm2.proto │ ├── tpm2_apps │ │ ├── Endorsement │ │ │ └── MakeEndorsementCert.go │ │ ├── PolicyKey │ │ │ └── MakePolicyKey.go │ │ └── QuoteServer │ │ │ └── QuoteServer.go │ ├── tpm2_attest_protocol_support.go │ ├── tpm2_attest_protocol_test.go │ ├── tpm2_command_encoding_test.go │ ├── tpm2_protocol_test.go │ ├── tpm2_protocols.go │ └── tpm2_test.go └── util │ ├── chanpair.go │ ├── fd.go │ ├── fdmessagestream.go │ ├── flags.go │ ├── log.go │ ├── messages.go │ ├── messagestream.go │ ├── oob_unix_conn.go │ ├── options │ ├── errors.go │ └── options.go │ ├── pair.go │ ├── pair_test.go │ ├── path.go │ ├── peercred_darwin.go │ ├── peercred_linux.go │ ├── protorpc │ ├── protorpc.go │ ├── protorpc.pb.go │ └── protorpc.proto │ └── unix_single_rwc.go └── src ├── .gitignore ├── .ycm_extra_conf.py ├── CMakeLists.txt ├── README.md ├── apps ├── CMakeLists.txt ├── encode_auth.cc └── go_child.cc ├── build └── Doxyfile ├── cloudproxy.cmake ├── standalone ├── amake.mak ├── cmake.mak ├── mmake.mak └── tmake.mak ├── standalonelibrarybuild.sh ├── support_libraries ├── protos │ ├── domain_policy.proto │ └── messages.proto └── tao_support │ ├── agile_crypto_support.cc │ ├── agile_crypto_support.h │ ├── junkyard │ ├── taosupport.cc.old │ └── taosupport.h.old │ ├── ssl_helpers.cc │ ├── ssl_helpers.h │ ├── taosupport.cc │ ├── taosupport.h │ ├── taosupport.mak │ ├── taosupport.proto │ └── taosupport_test.cc ├── tao ├── CMakeLists.txt ├── fd_message_channel.cc ├── fd_message_channel.h ├── message_channel.cc ├── message_channel.h ├── tao.h ├── tao_rpc.cc ├── tao_rpc.h ├── tao_rpc.proto ├── util.cc └── util.h ├── third_party ├── CMakeLists.txt ├── chromium │ ├── CMakeLists.txt │ ├── LICENSE │ ├── include │ │ └── chromium │ │ │ └── base │ │ │ ├── file_path.h │ │ │ └── file_util.h │ └── src │ │ └── base │ │ ├── eintr_wrapper.h │ │ ├── file_path.cc │ │ ├── file_path_constants.cc │ │ ├── file_util.cc │ │ ├── file_util_posix.cc │ │ └── macros.h ├── gflags │ ├── .svn │ │ ├── all-wcprops │ │ ├── dir-prop-base │ │ ├── entries │ │ ├── prop-base │ │ │ ├── autogen.sh.svn-base │ │ │ ├── config.guess.svn-base │ │ │ ├── config.sub.svn-base │ │ │ ├── configure.svn-base │ │ │ ├── depcomp.svn-base │ │ │ ├── install-sh.svn-base │ │ │ └── missing.svn-base │ │ └── text-base │ │ │ ├── AUTHORS.svn-base │ │ │ ├── COPYING.svn-base │ │ │ ├── ChangeLog.svn-base │ │ │ ├── INSTALL.svn-base │ │ │ ├── Makefile.am.svn-base │ │ │ ├── Makefile.in.svn-base │ │ │ ├── NEWS.svn-base │ │ │ ├── README.svn-base │ │ │ ├── README_windows.txt.svn-base │ │ │ ├── aclocal.m4.svn-base │ │ │ ├── autogen.sh.svn-base │ │ │ ├── config.guess.svn-base │ │ │ ├── config.sub.svn-base │ │ │ ├── configure.ac.svn-base │ │ │ ├── configure.svn-base │ │ │ ├── depcomp.svn-base │ │ │ ├── gflags-vs2003.sln.svn-base │ │ │ ├── gflags-vs2010.sln.svn-base │ │ │ ├── gflags-vs2012.sln.svn-base │ │ │ ├── install-sh.svn-base │ │ │ ├── ltmain.sh.svn-base │ │ │ └── missing.svn-base │ ├── AUTHORS │ ├── CMakeLists.txt │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL │ ├── Makefile │ ├── Makefile.am │ ├── Makefile.in │ ├── NEWS │ ├── README │ ├── README.cloudproxy │ ├── README_windows.txt │ ├── aclocal.m4 │ ├── autogen.sh │ ├── config.guess │ ├── config.log │ ├── config.status │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── depcomp │ ├── doc │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── designstyle.css.svn-base │ │ │ │ └── gflags.html.svn-base │ │ │ └── text-base │ │ │ │ ├── designstyle.css.svn-base │ │ │ │ └── gflags.html.svn-base │ │ ├── designstyle.css │ │ └── gflags.html │ ├── gflags-vs2003.sln │ ├── gflags-vs2010.sln │ ├── gflags-vs2012.sln │ ├── install-sh │ ├── libtool │ ├── ltmain.sh │ ├── m4 │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ └── text-base │ │ │ │ ├── ac_have_attribute.m4.svn-base │ │ │ │ ├── acx_pthread.m4.svn-base │ │ │ │ ├── google_namespace.m4.svn-base │ │ │ │ ├── libtool.m4.svn-base │ │ │ │ ├── ltoptions.m4.svn-base │ │ │ │ ├── ltsugar.m4.svn-base │ │ │ │ ├── ltversion.m4.svn-base │ │ │ │ ├── lt~obsolete.m4.svn-base │ │ │ │ ├── namespaces.m4.svn-base │ │ │ │ └── stl_namespace.m4.svn-base │ │ ├── ac_have_attribute.m4 │ │ ├── acx_pthread.m4 │ │ ├── google_namespace.m4 │ │ ├── libtool.m4 │ │ ├── ltoptions.m4 │ │ ├── ltsugar.m4 │ │ ├── ltversion.m4 │ │ ├── lt~obsolete.m4 │ │ ├── namespaces.m4 │ │ └── stl_namespace.m4 │ ├── missing │ ├── packages │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── deb.sh.svn-base │ │ │ │ └── rpm.sh.svn-base │ │ │ └── text-base │ │ │ │ ├── deb.sh.svn-base │ │ │ │ └── rpm.sh.svn-base │ │ ├── deb.sh │ │ ├── deb │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ ├── prop-base │ │ │ │ │ └── rules.svn-base │ │ │ │ └── text-base │ │ │ │ │ ├── changelog.svn-base │ │ │ │ │ ├── compat.svn-base │ │ │ │ │ ├── control.svn-base │ │ │ │ │ ├── copyright.svn-base │ │ │ │ │ ├── docs.svn-base │ │ │ │ │ ├── libgflags-dev.dirs.svn-base │ │ │ │ │ ├── libgflags-dev.install.svn-base │ │ │ │ │ ├── libgflags0.dirs.svn-base │ │ │ │ │ ├── libgflags0.install.svn-base │ │ │ │ │ └── rules.svn-base │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── libgflags-dev.dirs │ │ │ ├── libgflags-dev.install │ │ │ ├── libgflags0.dirs │ │ │ ├── libgflags0.install │ │ │ └── rules │ │ ├── rpm.sh │ │ └── rpm │ │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ └── text-base │ │ │ │ └── rpm.spec.svn-base │ │ │ └── rpm.spec │ ├── src │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── gflags_completions.sh.svn-base │ │ │ │ ├── gflags_strip_flags_test.sh.svn-base │ │ │ │ └── gflags_unittest.sh.svn-base │ │ │ └── text-base │ │ │ │ ├── config.h.in.svn-base │ │ │ │ ├── config_for_unittests.h.svn-base │ │ │ │ ├── gflags.cc.svn-base │ │ │ │ ├── gflags_completions.cc.svn-base │ │ │ │ ├── gflags_completions.sh.svn-base │ │ │ │ ├── gflags_nc.cc.svn-base │ │ │ │ ├── gflags_reporting.cc.svn-base │ │ │ │ ├── gflags_strip_flags_test.cc.svn-base │ │ │ │ ├── gflags_strip_flags_test.sh.svn-base │ │ │ │ ├── gflags_unittest.cc.svn-base │ │ │ │ ├── gflags_unittest.sh.svn-base │ │ │ │ ├── gflags_unittest_flagfile.svn-base │ │ │ │ ├── mutex.h.svn-base │ │ │ │ └── util.h.svn-base │ │ ├── config.h │ │ ├── config.h.in │ │ ├── config_for_unittests.h │ │ ├── gflags.cc │ │ ├── gflags │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ └── text-base │ │ │ │ │ ├── gflags.h.in.svn-base │ │ │ │ │ ├── gflags_completions.h.in.svn-base │ │ │ │ │ └── gflags_declare.h.in.svn-base │ │ │ ├── gflags.h │ │ │ ├── gflags.h.in │ │ │ ├── gflags_completions.h │ │ │ ├── gflags_completions.h.in │ │ │ ├── gflags_declare.h │ │ │ └── gflags_declare.h.in │ │ ├── gflags_completions.cc │ │ ├── gflags_completions.sh │ │ ├── gflags_nc.cc │ │ ├── gflags_reporting.cc │ │ ├── gflags_strip_flags_test.cc │ │ ├── gflags_strip_flags_test.sh │ │ ├── gflags_unittest.cc │ │ ├── gflags_unittest.sh │ │ ├── gflags_unittest_flagfile │ │ ├── google │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ └── text-base │ │ │ │ │ ├── gflags.h.svn-base │ │ │ │ │ └── gflags_completions.h.svn-base │ │ │ ├── gflags.h │ │ │ └── gflags_completions.h │ │ ├── mutex.h │ │ ├── solaris │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ └── text-base │ │ │ │ │ └── libstdc++.la.svn-base │ │ │ └── libstdc++.la │ │ ├── stamp-h1 │ │ ├── util.h │ │ └── windows │ │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ └── text-base │ │ │ │ ├── config.h.svn-base │ │ │ │ ├── port.cc.svn-base │ │ │ │ └── port.h.svn-base │ │ │ ├── config.h │ │ │ ├── gflags │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ └── text-base │ │ │ │ │ ├── gflags.h.svn-base │ │ │ │ │ ├── gflags_completions.h.svn-base │ │ │ │ │ └── gflags_declare.h.svn-base │ │ │ ├── gflags.h │ │ │ ├── gflags_completions.h │ │ │ └── gflags_declare.h │ │ │ ├── port.cc │ │ │ └── port.h │ └── vsprojects │ │ ├── .svn │ │ ├── all-wcprops │ │ └── entries │ │ ├── gflags_unittest │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ └── text-base │ │ │ │ ├── gflags_unittest-vs2003.vcproj.svn-base │ │ │ │ ├── gflags_unittest-vs2010.vcxproj.svn-base │ │ │ │ └── gflags_unittest-vs2012.vcxproj.svn-base │ │ ├── gflags_unittest-vs2003.vcproj │ │ ├── gflags_unittest-vs2010.vcxproj │ │ └── gflags_unittest-vs2012.vcxproj │ │ └── libgflags │ │ ├── .svn │ │ ├── all-wcprops │ │ ├── entries │ │ └── text-base │ │ │ ├── libgflags-vs2003.vcproj.svn-base │ │ │ ├── libgflags-vs2010.vcxproj.svn-base │ │ │ └── libgflags-vs2012.vcxproj.svn-base │ │ ├── libgflags-vs2003.vcproj │ │ ├── libgflags-vs2010.vcxproj │ │ └── libgflags-vs2012.vcxproj ├── google-glog │ ├── .svn │ │ ├── all-wcprops │ │ ├── dir-prop-base │ │ ├── entries │ │ ├── prop-base │ │ │ ├── compile.svn-base │ │ │ ├── config.guess.svn-base │ │ │ ├── config.sub.svn-base │ │ │ ├── configure.svn-base │ │ │ ├── depcomp.svn-base │ │ │ ├── google-glog.sln.svn-base │ │ │ ├── install-sh.svn-base │ │ │ ├── missing.svn-base │ │ │ └── mkinstalldirs.svn-base │ │ └── text-base │ │ │ ├── AUTHORS.svn-base │ │ │ ├── COPYING.svn-base │ │ │ ├── ChangeLog.svn-base │ │ │ ├── INSTALL.svn-base │ │ │ ├── Makefile.am.svn-base │ │ │ ├── Makefile.in.svn-base │ │ │ ├── NEWS.svn-base │ │ │ ├── README.svn-base │ │ │ ├── README.windows.svn-base │ │ │ ├── aclocal.m4.svn-base │ │ │ ├── compile.svn-base │ │ │ ├── config.guess.svn-base │ │ │ ├── config.sub.svn-base │ │ │ ├── configure.ac.svn-base │ │ │ ├── configure.svn-base │ │ │ ├── depcomp.svn-base │ │ │ ├── google-glog.sln.svn-base │ │ │ ├── install-sh.svn-base │ │ │ ├── libglog.pc.in.svn-base │ │ │ ├── ltmain.sh.svn-base │ │ │ ├── missing.svn-base │ │ │ └── mkinstalldirs.svn-base │ ├── AUTHORS │ ├── CMakeLists.txt │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL │ ├── Makefile │ ├── Makefile.am │ ├── Makefile.in │ ├── Makefile_m32 │ ├── Makefile_m64 │ ├── NEWS │ ├── README │ ├── README.cloudproxy │ ├── README.windows │ ├── aclocal.m4 │ ├── compile │ ├── config.guess │ ├── config.log │ ├── config.log_m32 │ ├── config.log_m64 │ ├── config.status │ ├── config.status_m32 │ ├── config.status_m64 │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── depcomp │ ├── doc │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── designstyle.css.svn-base │ │ │ │ └── glog.html.svn-base │ │ │ └── text-base │ │ │ │ ├── designstyle.css.svn-base │ │ │ │ └── glog.html.svn-base │ │ ├── designstyle.css │ │ └── glog.html │ ├── google-glog.sln │ ├── install-sh │ ├── libglog.pc │ ├── libglog.pc.in │ ├── libtool │ ├── libtool_m32 │ ├── libtool_m64 │ ├── ltmain.sh │ ├── m4 │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ └── text-base │ │ │ │ ├── ac_have_attribute.m4.svn-base │ │ │ │ ├── ac_have_builtin_expect.m4.svn-base │ │ │ │ ├── ac_have_sync_val_compare_and_swap.m4.svn-base │ │ │ │ ├── ac_rwlock.m4.svn-base │ │ │ │ ├── acx_pthread.m4.svn-base │ │ │ │ ├── google_namespace.m4.svn-base │ │ │ │ ├── libtool.m4.svn-base │ │ │ │ ├── ltoptions.m4.svn-base │ │ │ │ ├── ltsugar.m4.svn-base │ │ │ │ ├── ltversion.m4.svn-base │ │ │ │ ├── lt~obsolete.m4.svn-base │ │ │ │ ├── namespaces.m4.svn-base │ │ │ │ ├── pc_from_ucontext.m4.svn-base │ │ │ │ ├── stl_namespace.m4.svn-base │ │ │ │ └── using_operator.m4.svn-base │ │ ├── ac_have_attribute.m4 │ │ ├── ac_have_builtin_expect.m4 │ │ ├── ac_have_sync_val_compare_and_swap.m4 │ │ ├── ac_rwlock.m4 │ │ ├── acx_pthread.m4 │ │ ├── google_namespace.m4 │ │ ├── libtool.m4 │ │ ├── ltoptions.m4 │ │ ├── ltsugar.m4 │ │ ├── ltversion.m4 │ │ ├── lt~obsolete.m4 │ │ ├── namespaces.m4 │ │ ├── pc_from_ucontext.m4 │ │ ├── stl_namespace.m4 │ │ └── using_operator.m4 │ ├── missing │ ├── mkinstalldirs │ ├── packages │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── deb.sh.svn-base │ │ │ │ └── rpm.sh.svn-base │ │ │ └── text-base │ │ │ │ ├── deb.sh.svn-base │ │ │ │ └── rpm.sh.svn-base │ │ ├── deb.sh │ │ ├── deb │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ ├── prop-base │ │ │ │ │ └── rules.svn-base │ │ │ │ └── text-base │ │ │ │ │ ├── README.svn-base │ │ │ │ │ ├── changelog.svn-base │ │ │ │ │ ├── compat.svn-base │ │ │ │ │ ├── control.svn-base │ │ │ │ │ ├── copyright.svn-base │ │ │ │ │ ├── docs.svn-base │ │ │ │ │ ├── libgoogle-glog-dev.dirs.svn-base │ │ │ │ │ ├── libgoogle-glog-dev.install.svn-base │ │ │ │ │ ├── libgoogle-glog0.dirs.svn-base │ │ │ │ │ ├── libgoogle-glog0.install.svn-base │ │ │ │ │ └── rules.svn-base │ │ │ ├── README │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── libgoogle-glog-dev.dirs │ │ │ ├── libgoogle-glog-dev.install │ │ │ ├── libgoogle-glog0.dirs │ │ │ ├── libgoogle-glog0.install │ │ │ └── rules │ │ ├── rpm.sh │ │ └── rpm │ │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ └── text-base │ │ │ │ └── rpm.spec.svn-base │ │ │ └── rpm.spec │ ├── src │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── demangle_unittest.sh.svn-base │ │ │ │ ├── logging_striplog_test.sh.svn-base │ │ │ │ └── signalhandler_unittest.sh.svn-base │ │ │ └── text-base │ │ │ │ ├── config.h.in.svn-base │ │ │ │ ├── config_for_unittests.h.svn-base │ │ │ │ ├── demangle.cc.svn-base │ │ │ │ ├── demangle.h.svn-base │ │ │ │ ├── demangle_unittest.cc.svn-base │ │ │ │ ├── demangle_unittest.sh.svn-base │ │ │ │ ├── demangle_unittest.txt.svn-base │ │ │ │ ├── googletest.h.svn-base │ │ │ │ ├── logging.cc.svn-base │ │ │ │ ├── logging_striplog_test.sh.svn-base │ │ │ │ ├── logging_striptest10.cc.svn-base │ │ │ │ ├── logging_striptest2.cc.svn-base │ │ │ │ ├── logging_striptest_main.cc.svn-base │ │ │ │ ├── logging_unittest.cc.svn-base │ │ │ │ ├── logging_unittest.err.svn-base │ │ │ │ ├── mock-log.h.svn-base │ │ │ │ ├── mock-log_test.cc.svn-base │ │ │ │ ├── raw_logging.cc.svn-base │ │ │ │ ├── signalhandler.cc.svn-base │ │ │ │ ├── signalhandler_unittest.cc.svn-base │ │ │ │ ├── signalhandler_unittest.sh.svn-base │ │ │ │ ├── stacktrace.h.svn-base │ │ │ │ ├── stacktrace_generic-inl.h.svn-base │ │ │ │ ├── stacktrace_libunwind-inl.h.svn-base │ │ │ │ ├── stacktrace_powerpc-inl.h.svn-base │ │ │ │ ├── stacktrace_unittest.cc.svn-base │ │ │ │ ├── stacktrace_x86-inl.h.svn-base │ │ │ │ ├── stacktrace_x86_64-inl.h.svn-base │ │ │ │ ├── stl_logging_unittest.cc.svn-base │ │ │ │ ├── symbolize.cc.svn-base │ │ │ │ ├── symbolize.h.svn-base │ │ │ │ ├── symbolize_unittest.cc.svn-base │ │ │ │ ├── utilities.cc.svn-base │ │ │ │ ├── utilities.h.svn-base │ │ │ │ ├── utilities_unittest.cc.svn-base │ │ │ │ └── vlog_is_on.cc.svn-base │ │ ├── base │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ └── text-base │ │ │ │ │ ├── commandlineflags.h.svn-base │ │ │ │ │ ├── googleinit.h.svn-base │ │ │ │ │ └── mutex.h.svn-base │ │ │ ├── commandlineflags.h │ │ │ ├── googleinit.h │ │ │ └── mutex.h │ │ ├── config.h │ │ ├── config.h.in │ │ ├── config_for_unittests.h │ │ ├── config_ia32.h │ │ ├── config_x64.h │ │ ├── demangle.cc │ │ ├── demangle.h │ │ ├── demangle_unittest.cc │ │ ├── demangle_unittest.sh │ │ ├── demangle_unittest.txt │ │ ├── glog │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ └── text-base │ │ │ │ │ ├── log_severity.h.svn-base │ │ │ │ │ ├── logging.h.in.svn-base │ │ │ │ │ ├── raw_logging.h.in.svn-base │ │ │ │ │ ├── stl_logging.h.in.svn-base │ │ │ │ │ └── vlog_is_on.h.in.svn-base │ │ │ ├── log_severity.h │ │ │ ├── logging.h │ │ │ ├── logging.h.in │ │ │ ├── raw_logging.h │ │ │ ├── raw_logging.h.in │ │ │ ├── stl_logging.h │ │ │ ├── stl_logging.h.in │ │ │ ├── vlog_is_on.h │ │ │ └── vlog_is_on.h.in │ │ ├── googletest.h │ │ ├── logging.cc │ │ ├── logging_striplog_test.sh │ │ ├── logging_striptest10.cc │ │ ├── logging_striptest2.cc │ │ ├── logging_striptest_main.cc │ │ ├── logging_unittest.cc │ │ ├── logging_unittest.err │ │ ├── mock-log.h │ │ ├── mock-log_test.cc │ │ ├── raw_logging.cc │ │ ├── signalhandler.cc │ │ ├── signalhandler_unittest.cc │ │ ├── signalhandler_unittest.sh │ │ ├── stacktrace.h │ │ ├── stacktrace_generic-inl.h │ │ ├── stacktrace_libunwind-inl.h │ │ ├── stacktrace_powerpc-inl.h │ │ ├── stacktrace_unittest.cc │ │ ├── stacktrace_x86-inl.h │ │ ├── stacktrace_x86_64-inl.h │ │ ├── stamp-h1 │ │ ├── stl_logging_unittest.cc │ │ ├── symbolize.cc │ │ ├── symbolize.h │ │ ├── symbolize_unittest.cc │ │ ├── utilities.cc │ │ ├── utilities.h │ │ ├── utilities_unittest.cc │ │ ├── vlog_is_on.cc │ │ └── windows │ │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── config.h.svn-base │ │ │ │ ├── port.cc.svn-base │ │ │ │ ├── port.h.svn-base │ │ │ │ └── preprocess.sh.svn-base │ │ │ └── text-base │ │ │ │ ├── config.h.svn-base │ │ │ │ ├── port.cc.svn-base │ │ │ │ ├── port.h.svn-base │ │ │ │ └── preprocess.sh.svn-base │ │ │ ├── config.h │ │ │ ├── glog │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ ├── prop-base │ │ │ │ │ ├── logging.h.svn-base │ │ │ │ │ ├── raw_logging.h.svn-base │ │ │ │ │ ├── stl_logging.h.svn-base │ │ │ │ │ └── vlog_is_on.h.svn-base │ │ │ │ └── text-base │ │ │ │ │ ├── log_severity.h.svn-base │ │ │ │ │ ├── logging.h.svn-base │ │ │ │ │ ├── raw_logging.h.svn-base │ │ │ │ │ ├── stl_logging.h.svn-base │ │ │ │ │ └── vlog_is_on.h.svn-base │ │ │ ├── log_severity.h │ │ │ ├── logging.h │ │ │ ├── raw_logging.h │ │ │ ├── stl_logging.h │ │ │ └── vlog_is_on.h │ │ │ ├── port.cc │ │ │ ├── port.h │ │ │ └── preprocess.sh │ └── vsprojects │ │ ├── .svn │ │ ├── all-wcprops │ │ └── entries │ │ ├── libglog │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ └── libglog.vcproj.svn-base │ │ │ └── text-base │ │ │ │ └── libglog.vcproj.svn-base │ │ └── libglog.vcproj │ │ ├── libglog_static │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ └── libglog_static.vcproj.svn-base │ │ │ └── text-base │ │ │ │ └── libglog_static.vcproj.svn-base │ │ └── libglog_static.vcproj │ │ ├── logging_unittest │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ └── logging_unittest.vcproj.svn-base │ │ │ └── text-base │ │ │ │ └── logging_unittest.vcproj.svn-base │ │ └── logging_unittest.vcproj │ │ └── logging_unittest_static │ │ ├── .svn │ │ ├── all-wcprops │ │ ├── entries │ │ ├── prop-base │ │ │ └── logging_unittest_static.vcproj.svn-base │ │ └── text-base │ │ │ └── logging_unittest_static.vcproj.svn-base │ │ └── logging_unittest_static.vcproj ├── googlemock │ ├── .gitignore │ ├── CHANGES │ ├── CMakeLists.txt │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── Makefile.am │ ├── README │ ├── README.cloudproxy │ ├── build-aux │ │ └── .keep │ ├── configure.ac │ ├── gtest │ │ ├── CHANGES │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── Makefile.am │ │ ├── README │ │ ├── build-aux │ │ │ └── .keep │ │ ├── cmake │ │ │ └── internal_utils.cmake │ │ ├── codegear │ │ │ ├── gtest.cbproj │ │ │ ├── gtest.groupproj │ │ │ ├── gtest_all.cc │ │ │ ├── gtest_link.cc │ │ │ ├── gtest_main.cbproj │ │ │ └── gtest_unittest.cbproj │ │ ├── configure.ac │ │ ├── include │ │ │ └── gtest │ │ │ │ ├── gtest-death-test.h │ │ │ │ ├── gtest-message.h │ │ │ │ ├── gtest-param-test.h │ │ │ │ ├── gtest-param-test.h.pump │ │ │ │ ├── gtest-printers.h │ │ │ │ ├── gtest-spi.h │ │ │ │ ├── gtest-test-part.h │ │ │ │ ├── gtest-typed-test.h │ │ │ │ ├── gtest.h │ │ │ │ ├── gtest_pred_impl.h │ │ │ │ ├── gtest_prod.h │ │ │ │ └── internal │ │ │ │ ├── gtest-death-test-internal.h │ │ │ │ ├── gtest-filepath.h │ │ │ │ ├── gtest-internal.h │ │ │ │ ├── gtest-linked_ptr.h │ │ │ │ ├── gtest-param-util-generated.h │ │ │ │ ├── gtest-param-util-generated.h.pump │ │ │ │ ├── gtest-param-util.h │ │ │ │ ├── gtest-port.h │ │ │ │ ├── gtest-string.h │ │ │ │ ├── gtest-tuple.h │ │ │ │ ├── gtest-tuple.h.pump │ │ │ │ ├── gtest-type-util.h │ │ │ │ └── gtest-type-util.h.pump │ │ ├── m4 │ │ │ ├── acx_pthread.m4 │ │ │ └── gtest.m4 │ │ ├── make │ │ │ └── Makefile │ │ ├── msvc │ │ │ ├── gtest-md.sln │ │ │ ├── gtest-md.vcproj │ │ │ ├── gtest.sln │ │ │ ├── gtest.vcproj │ │ │ ├── gtest_main-md.vcproj │ │ │ ├── gtest_main.vcproj │ │ │ ├── gtest_prod_test-md.vcproj │ │ │ ├── gtest_prod_test.vcproj │ │ │ ├── gtest_unittest-md.vcproj │ │ │ └── gtest_unittest.vcproj │ │ ├── samples │ │ │ ├── prime_tables.h │ │ │ ├── sample1.cc │ │ │ ├── sample1.h │ │ │ ├── sample10_unittest.cc │ │ │ ├── sample1_unittest.cc │ │ │ ├── sample2.cc │ │ │ ├── sample2.h │ │ │ ├── sample2_unittest.cc │ │ │ ├── sample3-inl.h │ │ │ ├── sample3_unittest.cc │ │ │ ├── sample4.cc │ │ │ ├── sample4.h │ │ │ ├── sample4_unittest.cc │ │ │ ├── sample5_unittest.cc │ │ │ ├── sample6_unittest.cc │ │ │ ├── sample7_unittest.cc │ │ │ ├── sample8_unittest.cc │ │ │ └── sample9_unittest.cc │ │ ├── scripts │ │ │ ├── fuse_gtest_files.py │ │ │ ├── gen_gtest_pred_impl.py │ │ │ ├── gtest-config.in │ │ │ ├── pump.py │ │ │ ├── test │ │ │ │ └── Makefile │ │ │ ├── upload.py │ │ │ └── upload_gtest.py │ │ ├── src │ │ │ ├── gtest-all.cc │ │ │ ├── gtest-death-test.cc │ │ │ ├── gtest-filepath.cc │ │ │ ├── gtest-internal-inl.h │ │ │ ├── gtest-port.cc │ │ │ ├── gtest-printers.cc │ │ │ ├── gtest-test-part.cc │ │ │ ├── gtest-typed-test.cc │ │ │ ├── gtest.cc │ │ │ └── gtest_main.cc │ │ ├── test │ │ │ ├── gtest-death-test_ex_test.cc │ │ │ ├── gtest-death-test_test.cc │ │ │ ├── gtest-filepath_test.cc │ │ │ ├── gtest-linked_ptr_test.cc │ │ │ ├── gtest-listener_test.cc │ │ │ ├── gtest-message_test.cc │ │ │ ├── gtest-options_test.cc │ │ │ ├── gtest-param-test2_test.cc │ │ │ ├── gtest-param-test_test.cc │ │ │ ├── gtest-param-test_test.h │ │ │ ├── gtest-port_test.cc │ │ │ ├── gtest-printers_test.cc │ │ │ ├── gtest-test-part_test.cc │ │ │ ├── gtest-tuple_test.cc │ │ │ ├── gtest-typed-test2_test.cc │ │ │ ├── gtest-typed-test_test.cc │ │ │ ├── gtest-typed-test_test.h │ │ │ ├── gtest-unittest-api_test.cc │ │ │ ├── gtest_all_test.cc │ │ │ ├── gtest_break_on_failure_unittest.py │ │ │ ├── gtest_break_on_failure_unittest_.cc │ │ │ ├── gtest_catch_exceptions_test.py │ │ │ ├── gtest_catch_exceptions_test_.cc │ │ │ ├── gtest_color_test.py │ │ │ ├── gtest_color_test_.cc │ │ │ ├── gtest_env_var_test.py │ │ │ ├── gtest_env_var_test_.cc │ │ │ ├── gtest_environment_test.cc │ │ │ ├── gtest_filter_unittest.py │ │ │ ├── gtest_filter_unittest_.cc │ │ │ ├── gtest_help_test.py │ │ │ ├── gtest_help_test_.cc │ │ │ ├── gtest_list_tests_unittest.py │ │ │ ├── gtest_list_tests_unittest_.cc │ │ │ ├── gtest_main_unittest.cc │ │ │ ├── gtest_no_test_unittest.cc │ │ │ ├── gtest_output_test.py │ │ │ ├── gtest_output_test_.cc │ │ │ ├── gtest_output_test_golden_lin.txt │ │ │ ├── gtest_pred_impl_unittest.cc │ │ │ ├── gtest_premature_exit_test.cc │ │ │ ├── gtest_prod_test.cc │ │ │ ├── gtest_repeat_test.cc │ │ │ ├── gtest_shuffle_test.py │ │ │ ├── gtest_shuffle_test_.cc │ │ │ ├── gtest_sole_header_test.cc │ │ │ ├── gtest_stress_test.cc │ │ │ ├── gtest_test_utils.py │ │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ │ ├── gtest_throw_on_failure_test.py │ │ │ ├── gtest_throw_on_failure_test_.cc │ │ │ ├── gtest_uninitialized_test.py │ │ │ ├── gtest_uninitialized_test_.cc │ │ │ ├── gtest_unittest.cc │ │ │ ├── gtest_xml_outfile1_test_.cc │ │ │ ├── gtest_xml_outfile2_test_.cc │ │ │ ├── gtest_xml_outfiles_test.py │ │ │ ├── gtest_xml_output_unittest.py │ │ │ ├── gtest_xml_output_unittest_.cc │ │ │ ├── gtest_xml_test_utils.py │ │ │ ├── production.cc │ │ │ └── production.h │ │ └── xcode │ │ │ ├── Config │ │ │ ├── DebugProject.xcconfig │ │ │ ├── FrameworkTarget.xcconfig │ │ │ ├── General.xcconfig │ │ │ ├── ReleaseProject.xcconfig │ │ │ ├── StaticLibraryTarget.xcconfig │ │ │ └── TestTarget.xcconfig │ │ │ ├── Resources │ │ │ └── Info.plist │ │ │ ├── Samples │ │ │ └── FrameworkSample │ │ │ │ ├── Info.plist │ │ │ │ ├── WidgetFramework.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ │ ├── runtests.sh │ │ │ │ ├── widget.cc │ │ │ │ ├── widget.h │ │ │ │ └── widget_test.cc │ │ │ ├── Scripts │ │ │ ├── runtests.sh │ │ │ └── versiongenerate.py │ │ │ └── gtest.xcodeproj │ │ │ └── project.pbxproj │ ├── include │ │ └── gmock │ │ │ ├── gmock-actions.h │ │ │ ├── gmock-cardinalities.h │ │ │ ├── gmock-generated-actions.h │ │ │ ├── gmock-generated-actions.h.pump │ │ │ ├── gmock-generated-function-mockers.h │ │ │ ├── gmock-generated-function-mockers.h.pump │ │ │ ├── gmock-generated-matchers.h │ │ │ ├── gmock-generated-matchers.h.pump │ │ │ ├── gmock-generated-nice-strict.h │ │ │ ├── gmock-generated-nice-strict.h.pump │ │ │ ├── gmock-matchers.h │ │ │ ├── gmock-more-actions.h │ │ │ ├── gmock-more-matchers.h │ │ │ ├── gmock-spec-builders.h │ │ │ ├── gmock.h │ │ │ └── internal │ │ │ ├── gmock-generated-internal-utils.h │ │ │ ├── gmock-generated-internal-utils.h.pump │ │ │ ├── gmock-internal-utils.h │ │ │ └── gmock-port.h │ ├── make │ │ └── Makefile │ ├── msvc │ │ ├── 2005 │ │ │ ├── gmock.sln │ │ │ ├── gmock.vcproj │ │ │ ├── gmock_config.vsprops │ │ │ ├── gmock_main.vcproj │ │ │ └── gmock_test.vcproj │ │ └── 2010 │ │ │ ├── gmock.sln │ │ │ ├── gmock.vcxproj │ │ │ ├── gmock_config.props │ │ │ ├── gmock_main.vcxproj │ │ │ └── gmock_test.vcxproj │ ├── scripts │ │ ├── fuse_gmock_files.py │ │ ├── generator │ │ │ ├── LICENSE │ │ │ ├── README │ │ │ ├── README.cppclean │ │ │ ├── cpp │ │ │ │ ├── __init__.py │ │ │ │ ├── ast.py │ │ │ │ ├── gmock_class.py │ │ │ │ ├── gmock_class_test.py │ │ │ │ ├── keywords.py │ │ │ │ ├── tokenize.py │ │ │ │ └── utils.py │ │ │ └── gmock_gen.py │ │ ├── gmock-config.in │ │ ├── gmock_doctor.py │ │ ├── upload.py │ │ └── upload_gmock.py │ ├── src │ │ ├── gmock-all.cc │ │ ├── gmock-cardinalities.cc │ │ ├── gmock-internal-utils.cc │ │ ├── gmock-matchers.cc │ │ ├── gmock-spec-builders.cc │ │ ├── gmock.cc │ │ └── gmock_main.cc │ └── test │ │ ├── gmock-actions_test.cc │ │ ├── gmock-cardinalities_test.cc │ │ ├── gmock-generated-actions_test.cc │ │ ├── gmock-generated-function-mockers_test.cc │ │ ├── gmock-generated-internal-utils_test.cc │ │ ├── gmock-generated-matchers_test.cc │ │ ├── gmock-internal-utils_test.cc │ │ ├── gmock-matchers_test.cc │ │ ├── gmock-more-actions_test.cc │ │ ├── gmock-nice-strict_test.cc │ │ ├── gmock-port_test.cc │ │ ├── gmock-spec-builders_test.cc │ │ ├── gmock_all_test.cc │ │ ├── gmock_ex_test.cc │ │ ├── gmock_leak_test.py │ │ ├── gmock_leak_test_.cc │ │ ├── gmock_link2_test.cc │ │ ├── gmock_link_test.cc │ │ ├── gmock_link_test.h │ │ ├── gmock_output_test.py │ │ ├── gmock_output_test_.cc │ │ ├── gmock_output_test_golden.txt │ │ ├── gmock_stress_test.cc │ │ ├── gmock_test.cc │ │ └── gmock_test_utils.py └── modp │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ └── modp │ │ └── modp_b64w.h │ └── src │ ├── modp_b64w.c │ └── modp_b64w_data.h └── tpm2 ├── CMakeLists.txt ├── ClientGenerateProgramKeyRequest.cc ├── ClientGetProgramKeyCert.cc ├── CloudProxySignEndorsementKey.cc ├── CreateAndSaveCloudProxyKeyHierarchy.cc ├── GeneratePolicyKey.cc ├── GetEndorsementKey.cc ├── Inteltpm2.0_license.txt ├── Jlm_License.txt ├── NUC5i5MYBE_TechProdSpec05.pdf ├── README ├── RestoreCloudProxyKeyHierarchy.cc ├── SelfSignPolicyCert.cc ├── ServerSignProgramKeyRequest.cc ├── SigningInstructions.cc ├── TPM2Cloudproxyprototypeandprotocol.pdf ├── biosglossary_nuc_v05.pdf ├── conversions.cc ├── conversions.h ├── instr.txt ├── intel_license.txt ├── openssl_helpers.cc ├── openssl_helpers.h ├── padtest.cc ├── prototest.sh ├── quote_protocol.cc ├── quote_protocol.h ├── testall.sh ├── todo.txt ├── tpm12.h ├── tpm2.mak ├── tpm2.proto ├── tpm20.h ├── tpm2_lib.cc ├── tpm2_lib.h ├── tpm2_types.h └── tpm2_util.cc /.diffscuss-mb: -------------------------------------------------------------------------------- 1 | diffscussions -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | /tpm 3 | a.out 4 | -------------------------------------------------------------------------------- /Doc/CMake_cpvmm.txt: -------------------------------------------------------------------------------- 1 | The cpvmm source uses CMake for its build system. This allows you to build 2 | out-of-tree and to have multiple simultaneous build configurations in different 3 | directories. It also allows you to use Ninja or Makefiles or other build 4 | systems, as needed. The current configuration has only been tested with gcc, and 5 | it only seems to work in the Release configuration, though this seems to be a 6 | problem with the original Makefile version of the hypervisor, as well. 7 | 8 | To build cpvmm, start in directory above cpvmm: 9 | 10 | > mkdir cpvmm_build 11 | > cd cpvmm_build 12 | > cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../cpvmm 13 | > ninja 14 | -------------------------------------------------------------------------------- /Doc/CPdiagrams.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/CPdiagrams.pptx -------------------------------------------------------------------------------- /Doc/Callgraphs.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/Callgraphs.pptx -------------------------------------------------------------------------------- /Doc/CloudProxyTechReport.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/CloudProxyTechReport.pdf -------------------------------------------------------------------------------- /Doc/CloudproxyDeploymentNutsandBolts.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/CloudproxyDeploymentNutsandBolts.docx -------------------------------------------------------------------------------- /Doc/CloudproxyDeploymentNutsandBolts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/CloudproxyDeploymentNutsandBolts.pdf -------------------------------------------------------------------------------- /Doc/CloudproxyNutsandBolts.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/CloudproxyNutsandBolts.docx -------------------------------------------------------------------------------- /Doc/CloudproxyNutsandBolts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/CloudproxyNutsandBolts.pdf -------------------------------------------------------------------------------- /Doc/Cryptography.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/Cryptography.dia -------------------------------------------------------------------------------- /Doc/Go-cloudproxy.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/Go-cloudproxy.docx -------------------------------------------------------------------------------- /Doc/TPM2Cloudproxyprototypeandprotocol.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/Doc/TPM2Cloudproxyprototypeandprotocol.docx -------------------------------------------------------------------------------- /Doc/gitinstuctions.txt: -------------------------------------------------------------------------------- 1 | Using the Git Repository 2 | ======================== 3 | 4 | Repository creation 5 | git clone https://github.com/jlmucb/cloudproxy 6 | git branch working 7 | git checkout working 8 | 9 | Adding and removing files 10 | git add filename ; puts it in staging area 11 | git commit ; commits to working branch 12 | git status 13 | git commit -a 14 | git pull 15 | 16 | Merge 17 | git checkout master 18 | git merge working 19 | git push 20 | 21 | ssh 22 | ssh-keygen 23 | cp $HOME/.ssh/id_rsa* /Volumes/JLM1 24 | ssh-agent 25 | ssh-add 26 | -------------------------------------------------------------------------------- /Doc/install_go_dependencies_mac.txt: -------------------------------------------------------------------------------- 1 | - Download mercurial source from mercurial.selenic.com 2 | - build mercurial as make install-local 3 | - this installs to ~/bin/hg 4 | go get -u github.com/golang/protobuf/{proto,protoc-gen-go} 5 | go get github.com/golang/crypto/... 6 | go get github.com/golang/glog 7 | go get github.com/golang/lint/golint 8 | go get code.google.com/p/gcfg 9 | go get github.com/google/go-tpm/tpm 10 | go get github.com/jlmucb/cloudproxy/tao/auth 11 | go get github.com/jlmucb/cloudproxy/util 12 | go get github.com/jlmucb/cloudproxy/util/protorpc 13 | go get github.com/kevinawalsh/datalog/dlengine 14 | go get code.google.com/p/go.text/encoding 15 | go get code.google.com/p/google-api-go-client/compute/v1 16 | 17 | 18 | -------------------------------------------------------------------------------- /Doc/ncp.txt: -------------------------------------------------------------------------------- 1 | Network Control Program 2 | ======================= 3 | 4 | The network control program starts authorized partitions in 5 | the Linux KVM Host and manages authorization on behalf of 6 | the KVM Host. It is currently a very simple program (included 7 | in the KVM Host's initramfs file along with a script that starts 8 | it [later]). 9 | 10 | Later it will interact with the data center fabric controller to 11 | schedule VMs to run on the KVM host and manage the inter-VM 12 | permissions. 13 | 14 | -------------------------------------------------------------------------------- /cpvmm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | cmake_minimum_required(VERSION 2.8.12) 16 | project(cpvmm) 17 | 18 | enable_language(ASM) 19 | 20 | include(cpvmm.cmake) 21 | set(INCLUDE_DIRS 22 | "common/hw" 23 | "common/include" 24 | "common/include/arch" 25 | "common/include/platform" 26 | "vmm" 27 | "vmm/bootstrap" 28 | "vmm/hw" 29 | "vmm/include" 30 | "vmm/include/hw" 31 | "vmm/memory/ept" 32 | ) 33 | 34 | include_directories(${INCLUDE_DIRS}) 35 | 36 | add_subdirectory(vmm) 37 | -------------------------------------------------------------------------------- /cpvmm/README.md: -------------------------------------------------------------------------------- 1 | CloudProxy VMM 2 | -------------- 3 | 4 | The CloudProxy VMM is derived from a hypervisor called eVMM written at Intel and 5 | released under the Apache 2.0 license. To build the current version of the code 6 | using cmake and ninja, create a build directory out of tree, e.g., at 7 | ../cprelease, and run 8 | 9 | cd cprelease 10 | cmake -G Ninja ../cpvmm -DCMAKE_BUILD_TYPE=Release 11 | ninja 12 | 13 | This generates the files bin/bootstrap.bin and bin/evmm.bin. 14 | -------------------------------------------------------------------------------- /cpvmm/common/include/image_access_mem.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _IMAGE_ACCESS_MEM_H_ 16 | #define _IMAGE_ACCESS_MEM_H_ 17 | 18 | #include "image_access_gen.h" 19 | 20 | GEN_IMAGE_ACCESS_S * mem_image_create(char *image, size_t size); 21 | 22 | #endif // _IMAGE_ACCESS_MEM_H_ 23 | -------------------------------------------------------------------------------- /cpvmm/cpvmm.cmake: -------------------------------------------------------------------------------- 1 | # Licensed under the Apache License, Version 2.0 (the "License"); 2 | # you may not use this file except in compliance with the License. 3 | # You may obtain a copy of the License at 4 | # 5 | # http://www.apache.org/licenses/LICENSE-2.0 6 | # 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | 13 | # Keep a set of common flags and include directories for evmm and bootstrap. 14 | set(WARNING_FLAGS "-Wall -Wextra -Werror -Wno-unknown-pragmas -Wno-format -Wunused-function") 15 | set(STANDALONE_FLAGS "-nostartfiles -nostdlib -nodefaultlibs") 16 | set(LANG_FLAGS "-fwrapv -std=c99 -fno-tree-loop-distribute-patterns") 17 | set(CMAKE_C_FLAGS "${WARNING_FLAGS} ${STANDALONE_FLAGS} ${LANG_FLAGS}") 18 | 19 | set(CMAKE_C_FLAGS_DEBUG "-g -O0") 20 | set(CMAKE_C_FLAGS_RELEASE "-O3") 21 | -------------------------------------------------------------------------------- /cpvmm/vmm/acpi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(ACPI_SRCS 16 | vmm_acpi.c 17 | vmm_acpi_pm.c 18 | ) 19 | 20 | include_directories(../guest/guest_cpu) 21 | add_library(acpi STATIC ${ACPI_SRCS}) 22 | -------------------------------------------------------------------------------- /cpvmm/vmm/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(ARCH_SRCS 16 | e820_abstraction.c 17 | efer_msr_abstraction.c 18 | mtrrs_abstraction.c 19 | pat_manager.c 20 | ) 21 | 22 | add_library(arch STATIC ${ARCH_SRCS}) 23 | -------------------------------------------------------------------------------- /cpvmm/vmm/bootstrap/bootstrap.x: -------------------------------------------------------------------------------- 1 | SECTIONS 2 | { 3 | . = 0x60000000 ; 4 | _start_bootstrap = .; 5 | .text : { *(.text) } 6 | .rodata : { *(.rodata) } 7 | .data : { *(.data) } 8 | .bss : { *(.bss) } 9 | _end_bootstrap = .; 10 | } 11 | -------------------------------------------------------------------------------- /cpvmm/vmm/bootstrap/elf64.h: -------------------------------------------------------------------------------- 1 | #ifndef ELF64_H_ 2 | #define ELF64_H_ 3 | struct elf64_hdr { 4 | unsigned char e_ident[16]; 5 | uint16_t e_type; 6 | uint16_t e_machine; 7 | uint32_t e_version; 8 | uint64_t e_entry; 9 | uint64_t e_phoff; 10 | uint64_t e_shoff; 11 | uint32_t e_flags; 12 | uint16_t e_ehsize; 13 | uint16_t e_phentsize; 14 | uint16_t e_phnum; 15 | uint16_t e_shentsize; 16 | uint16_t e_shnum; 17 | uint16_t e_shstrndx; 18 | }; 19 | 20 | typedef struct elf64_hdr elf64_hdr; 21 | 22 | 23 | #define ELF64_PT_LOAD 1 24 | 25 | struct elf64_phdr { 26 | uint32_t p_type; 27 | uint32_t p_flags; 28 | uint64_t p_offset; 29 | uint64_t p_vaddr; 30 | uint64_t p_paddr; 31 | uint64_t p_filesz; 32 | uint64_t p_memsz; 33 | uint64_t p_align; 34 | 35 | }; 36 | typedef struct elf64_phdr elf64_phdr; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /cpvmm/vmm/dbg/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(DBG_SRCS 16 | cli_libc.c 17 | trace.c 18 | vmdb.c 19 | vmm_dbg.c 20 | vmx_trace.c 21 | vt100.c 22 | ) 23 | 24 | add_library(dbg STATIC ${DBG_SRCS}) 25 | -------------------------------------------------------------------------------- /cpvmm/vmm/evmm.x: -------------------------------------------------------------------------------- 1 | OUTPUT_FORMAT(elf64-x86-64); 2 | SECTIONS 3 | { 4 | . = 0x70000000; 5 | _start_evmm_text = .; 6 | .text : { *(.text) } 7 | .rodata : { *(.rodata) } 8 | .data : { *(.data) } 9 | .bss : { *(.bss) } 10 | _end_evmm_bss = .; 11 | } 12 | -------------------------------------------------------------------------------- /cpvmm/vmm/guest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(GUEST_SRCS 16 | guest.c 17 | guest_control.c 18 | guest_pci_configuration.c 19 | ) 20 | 21 | include_directories(guest_cpu) 22 | add_library(guest STATIC ${GUEST_SRCS}) 23 | 24 | add_subdirectory(guest_cpu) 25 | add_subdirectory(scheduler) 26 | -------------------------------------------------------------------------------- /cpvmm/vmm/guest/guest_cpu/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(GUEST_CPU_SRCS 16 | guest_cpu.c 17 | guest_cpu_access.c 18 | guest_cpu_control.c 19 | guest_cpu_switch.c 20 | guest_cpu_vmenter_event.c 21 | unrestricted_guest.c 22 | ) 23 | 24 | include_directories(..) 25 | add_library(guest_cpu STATIC ${GUEST_CPU_SRCS}) 26 | 27 | target_link_libraries(guest_cpu host_hw_em64t) 28 | -------------------------------------------------------------------------------- /cpvmm/vmm/guest/guest_cpu/guest_cpu_access.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/cpvmm/vmm/guest/guest_cpu/guest_cpu_access.c -------------------------------------------------------------------------------- /cpvmm/vmm/guest/guest_cpu/guest_cpu_control.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/cpvmm/vmm/guest/guest_cpu/guest_cpu_control.c -------------------------------------------------------------------------------- /cpvmm/vmm/guest/scheduler/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(SCHEDULER_SRCS 16 | scheduler.c 17 | ) 18 | 19 | add_library(scheduler STATIC ${SCHEDULER_SRCS}) 20 | -------------------------------------------------------------------------------- /cpvmm/vmm/host/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(HOST_SRCS 16 | host_cpu.c 17 | isr.c 18 | policy_manager.c 19 | trial_exec.c 20 | vmm_globals.c 21 | ) 22 | 23 | add_library(host STATIC ${HOST_SRCS}) 24 | 25 | add_subdirectory(hw) 26 | -------------------------------------------------------------------------------- /cpvmm/vmm/host/hw/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(HOST_HW_SRCS 16 | host_pci_configuration.c 17 | hw_utils.c 18 | local_apic.c 19 | machinesupport.c 20 | reset.c 21 | vmcs_init.c 22 | ) 23 | 24 | include_directories(../../guest) 25 | include_directories(../../guest/guest_cpu) 26 | add_library(host_hw STATIC ${HOST_HW_SRCS}) 27 | 28 | add_subdirectory(em64t) 29 | -------------------------------------------------------------------------------- /cpvmm/vmm/host/hw/em64t/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(HOST_HW_EM64T_SRCS 16 | em64t_gdt.c 17 | em64t_idt.c 18 | fixup.c 19 | ) 20 | 21 | set(HOST_HW_EM64T_ASM_SRCS 22 | em64t_isr.s 23 | em64t_setjmp.s 24 | em64t_vmx.s 25 | ) 26 | 27 | set_source_files_properties(${HOST_HW_EM64T_ASM_SRCS} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp") 28 | add_library(host_hw_em64t STATIC ${HOST_HW_EM64T_SRCS} ${HOST_HW_EM64T_ASM_SRCS}) 29 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/address.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _ADDRESS_H_ 16 | #define _ADDRESS_H_ 17 | 18 | void API_FUNCTION addr_setup_address_space(void); 19 | ADDRESS API_FUNCTION addr_canonize_address(ADDRESS address); 20 | UINT8 API_FUNCTION addr_get_physical_address_size(void); 21 | UINT8 API_FUNCTION addr_get_virtual_address_size(void); 22 | 23 | BOOLEAN API_FUNCTION addr_is_canonical(ADDRESS address); 24 | BOOLEAN API_FUNCTION addr_physical_is_valid(ADDRESS address); 25 | 26 | 27 | 28 | #endif // _ADDRESS_H_ 29 | 30 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/cli_libc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _CLI_LIBC_H_ 16 | #define _CLI_LIBC_H_ 17 | 18 | #include "vmm_defs.h" 19 | #include "libc.h" 20 | 21 | int CLI_strcmp(char *string1, char *string2); 22 | int CLI_strncmp(char *string1, char *string2, size_t n); 23 | int CLI_is_substr(char *bigstring, char *smallstring); 24 | UINT32 CLI_atol32(char *string, unsigned base, int *error); 25 | UINT64 CLI_atol64(char *string, unsigned base, int *error); 26 | 27 | #endif // _CLI_LIBC_H_ 28 | 29 | 30 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/device_drivers_manager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef DEVICE_DRIVERS_MANAGER_H 16 | #define DEVICE_DRIVERS_MANAGER_H 17 | 18 | #include 19 | #include 20 | 21 | void ddm_initialize(void); 22 | void ddm_register_guest(GUEST_HANDLE guest_handle); 23 | BOOLEAN ddm_notify_driver(UINT64 descriptor_handle, UINT32 component_id); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/hw/8259a_pic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _8259A_PIC_H 16 | #define _8259A_PIC_H 17 | 18 | #include "vmm_defs.h" 19 | 20 | 21 | // 8259A Programmable Interrupt Controller (legacy) 22 | // Accesses HW PIC and changes its Read Register Command state 23 | // to IRR read. 24 | // Registers to ICW3 port writes for the given guest to trace 25 | // Read Register Command state changes. 26 | void pic_init( GUEST_ID pic_owner ); 27 | 28 | // Test for ready-to-be-accepted fixed interrupts. 29 | BOOLEAN pic_is_ready_interrupt_exist(void); 30 | 31 | #endif 32 | 33 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/hw/vmm_phys_mem_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef VMM_PHYS_MEM_TYPES_H 16 | #define VMM_PHYS_MEM_TYPES_H 17 | 18 | typedef enum { 19 | VMM_PHYS_MEM_UNCACHABLE = 0x0, // UC 20 | VMM_PHYS_MEM_WRITE_COMBINING = 0x1, // WC 21 | VMM_PHYS_MEM_WRITE_THROUGH = 0x4, // WT 22 | VMM_PHYS_MEM_WRITE_PROTECTED = 0x5, // WP 23 | VMM_PHYS_MEM_WRITE_BACK = 0x6, // WB 24 | VMM_PHYS_MEM_UNCACHED = 0x7, // UC- 25 | VMM_PHYS_MEM_LAST_TYPE = VMM_PHYS_MEM_UNCACHED, 26 | VMM_PHYS_MEM_UNDEFINED = (~0) 27 | } VMM_PHYS_MEM_TYPE; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/hw_includes.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _HW_INCLUDES_H_ 16 | #define _HW_INCLUDES_H_ 17 | 18 | #include "hw_utils.h" 19 | #include "hw_interlocked.h" 20 | 21 | #endif // _HW_INCLUDES_H_ 22 | 23 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/pfec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef PFEC_H 16 | #define PFEC_H 17 | 18 | typedef union { 19 | struct { 20 | UINT32 present:1; 21 | UINT32 is_write:1; 22 | UINT32 is_user:1; 23 | UINT32 is_reserved:1; 24 | UINT32 is_fetch:1; 25 | UINT32 reserved:27; 26 | } bits; 27 | UINT64 value; 28 | } VMM_PFEC; 29 | 30 | #define VMM_PFEC_NUM_OF_USED_BITS 5 31 | 32 | #endif // PFEC_H 33 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmcall.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _VMCALL_H_ 16 | #define _VMCALL_H_ 17 | 18 | #include "vmcall_api.h" 19 | #include "vmm_objects.h" 20 | 21 | typedef VMM_STATUS (*VMCALL_HANDLER)(GUEST_CPU_HANDLE gcpu, ADDRESS *arg1, ADDRESS *arg2, ADDRESS *arg3); 22 | 23 | void vmcall_intialize(void); 24 | 25 | void vmcall_guest_intialize( 26 | GUEST_ID guest_id); 27 | 28 | void vmcall_register( 29 | GUEST_ID guest_id, 30 | VMCALL_ID vmcall_id, 31 | VMCALL_HANDLER handler, 32 | BOOLEAN special_call 33 | ); 34 | 35 | 36 | #endif // _VMCALL_H_ 37 | 38 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmcs_merge_split.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef VMCS_MERGE_SPLIT_H 16 | #define VMCS_MERGE_SPLIT_H 17 | 18 | #include 19 | #include 20 | 21 | void ms_merge_to_level2(IN GUEST_CPU_HANDLE gcpu, 22 | IN BOOLEAN merge_only_dirty); 23 | 24 | void ms_split_from_level2(IN GUEST_CPU_HANDLE gcpu); 25 | 26 | void ms_merge_to_level1(IN GUEST_CPU_HANDLE gcpu, 27 | IN BOOLEAN was_vmexit_from_level1, 28 | IN BOOLEAN merge_only_dirty); 29 | #endif //VMCS_MERGE_SPLIT_H 30 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmcs_sw_object.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _VMCS_SW_OBJECT_H_ 16 | #define _VMCS_SW_OBJECT_H_ 17 | 18 | #include "vmm_objects.h" 19 | 20 | VMCS_OBJECT * vmcs_0_create(VMCS_OBJECT *vmcs_origin); 21 | VMCS_OBJECT * vmcs_1_create(GUEST_CPU_HANDLE gcpu, ADDRESS gpa); 22 | 23 | #endif // _VMCS_SW_OBJECT_H_ 24 | 25 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmenter_checks.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _VMENTER_CHECKS_H_ 16 | #define _VMENTER_CHECKS_H_ 17 | 18 | #include "cli_env.h" 19 | 20 | #ifdef CLI_INCLUDE 21 | 22 | void vmenter_checkings_register(void); 23 | void vmenter_failure_check_guest_state(void); 24 | 25 | #else 26 | 27 | #define vmenter_checkings_register() {} 28 | #define vmenter_failure_check_guest_state() {} 29 | 30 | #endif 31 | 32 | #endif // _VMENTER_CHECKS_H_ 33 | 34 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmexit_analysis.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef VMEXIT_ANALYSIS_H 16 | 17 | BOOLEAN vmexit_analysis_was_control_requested(GUEST_CPU_HANDLE gcpu, 18 | VMCS_OBJECT* vmexit_vmcs, VMCS_OBJECT* control_vmcs, 19 | IA32_VMX_EXIT_BASIC_REASON exit_reason); 20 | 21 | #endif // VMEXIT_ANALYSIS_H 22 | 23 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmexit_cpuid.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _VMEXIT_CPUID_H_ 16 | #define _VMEXIT_CPUID_H_ 17 | 18 | #include "hw_utils.h" // for CPUID_PARAMS 19 | 20 | // return TRUE if instruction was executed, FAULSE in case of exception 21 | typedef void (*CPUID_FILTER_HANDLER)(GUEST_CPU_HANDLE, CPUID_PARAMS *); 22 | 23 | void vmexit_cpuid_guest_intialize( GUEST_ID guest_id); 24 | 25 | #endif // _VMEXIT_CPUID_H_ 26 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmexit_dtr_tr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _VMEXIT_DTR_TR_H_ 16 | #define _VMEXIT_DTR_TR_H_ 17 | 18 | VMEXIT_HANDLING_STATUS vmexit_dr_access(GUEST_CPU_HANDLE gcpu); 19 | VMEXIT_HANDLING_STATUS vmexit_gdtr_idtr_access(GUEST_CPU_HANDLE gcpu); 20 | VMEXIT_HANDLING_STATUS vmexit_ldtr_tr_access(GUEST_CPU_HANDLE gcpu); 21 | 22 | #endif // _VMEXIT_DTR_TR_H_ 23 | -------------------------------------------------------------------------------- /cpvmm/vmm/include/vmm_addons.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Intel Corporation 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | #ifndef _VMM_ADDONS_H_ 16 | #define _VMM_ADDONS_H_ 17 | 18 | #include "vmm_defs.h" 19 | #include "vmm_startup.h" 20 | 21 | // List of all known addons 22 | 23 | extern void init_vtlb_addon(UINT32 num_of_cpus); 24 | extern void init_ept_addon(UINT32 num_of_cpus); 25 | void init_guest_create_addon(void); 26 | extern void gdb_stub_addon_initialize(UINT32 max_num_of_guest_cpus, const VMM_DEBUG_PORT_PARAMS *p_params); 27 | 28 | #endif // _VMM_ADDONS_H_ 29 | 30 | -------------------------------------------------------------------------------- /cpvmm/vmm/ipc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(IPC_SRCS 16 | ipc.c 17 | ipc_api.c 18 | ) 19 | 20 | add_library(ipc STATIC ${IPC_SRCS}) 21 | -------------------------------------------------------------------------------- /cpvmm/vmm/jlmdebug.h: -------------------------------------------------------------------------------- 1 | #ifndef JLMDEBUG__H_ 2 | #define JLMDEBUG__H_ 3 | 4 | #include "bootstrap_types.h" 5 | #include "bootstrap_string.h" 6 | #include "bootstrap_print.h" 7 | 8 | #define UNUSEDVAR(x) ((void)x) 9 | #undef VMM_ASSERT 10 | #define VMM_ASSERT(x) \ 11 | if(!(x)) { bprint("VMM_ASSERT\n"); LOOP_FOREVER } 12 | 13 | #define LONGLOOP 8000000000ULL 14 | #define MEDIUMLOOP 800000000ULL 15 | #define SHORTLOOP 100000000ULL 16 | 17 | inline static int evmmdebugwait(UINT64 limit) 18 | { 19 | volatile UINT64 l; 20 | for(l=0; l $TEMPLATE 6 | -------------------------------------------------------------------------------- /go/apps/newfileproxy/NewfileproxyDomain/initfileproxy: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | if [[ -e $DOMAIN ]] 5 | then 6 | echo "$DOMAIN exists" 7 | else 8 | mkdir $DOMAIN 9 | mkdir $DOMAIN/policy_keys 10 | echo "$DOMAIN created" 11 | fi 12 | 13 | if [[ -e $TEMPLATE ]] 14 | then 15 | echo "$TEMPLATE exists" 16 | else 17 | cp $OLD_TEMPLATE $TEMPLATE 18 | echo "$OLDTEMPLATE copied to $TEMPLATE" 19 | fi 20 | 21 | if [[ -e $DOMAIN/linux_tao_host ]] 22 | then 23 | echo "$DOMAIN/linux_tao_host exists" 24 | else 25 | mkdir $DOMAIN/linux_tao_host 26 | echo "$DOMAIN/linux_tao_host created" 27 | fi 28 | 29 | # 30 | # For soft tao, we need a key and it must be in the template. 31 | # 32 | 33 | KEY_NAME="$($BINPATH/tao domain newsoft -soft_pass xxx -config_template $TEMPLATE $DOMAIN/linux_tao_host)" 34 | echo "host_name: \"$KEY_NAME\"" | tee -a $TEMPLATE 35 | -------------------------------------------------------------------------------- /go/apps/newfileproxy/NewfileproxyDomain/inituserkeys: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | cd $DOMAIN 4 | $BINPATH/key_util 5 | 6 | 7 | -------------------------------------------------------------------------------- /go/apps/newfileproxy/NewfileproxyDomain/instructions: -------------------------------------------------------------------------------- 1 | 0. SimpleDomainService should already be running 2 | 1. intifileproxy 3 | 2. initdomain 4 | copy domains keys from policy_keys 5 | 3. inituserkeys 6 | 4. runall 7 | -------------------------------------------------------------------------------- /go/apps/newfileproxy/README: -------------------------------------------------------------------------------- 1 | This is a later and simpler version of fileproxy written after simpleexample. It reuses 2 | support_libraries/tao_support and the standard sample domain server. 3 | The authorization is also simplified to resemble linux file systems and 4 | does not use the cloudproxy authorization language for file operations. 5 | 6 | User name is APPLICATION. 7 | 8 | -------------------------------------------------------------------------------- /go/apps/roughtime/.gitignore: -------------------------------------------------------------------------------- 1 | roughttime_test_domain/ 2 | -------------------------------------------------------------------------------- /go/apps/roughtime/README.md: -------------------------------------------------------------------------------- 1 | Roughtime 2 | ========= 3 | 4 | This directory contains the roughtime protocol, originally available at 5 | `https://roughtime.googlesource.com/roughtime/`, modified for CloudProxy. 6 | The agl_roughtime folder contains the relevant files taken from the 7 | original repository. -------------------------------------------------------------------------------- /go/apps/roughtime/agl_roughtime/monotime/empty.s: -------------------------------------------------------------------------------- 1 | // This is an empty assembly file to allow go:linkname to be used. 2 | -------------------------------------------------------------------------------- /go/apps/roughtime/agl_roughtime/monotime/monotime.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Roughtime Authors. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. */ 14 | 15 | // Package monotime provides access to the system's monotonic clock. 16 | package monotime 17 | 18 | import ( 19 | "unsafe" 20 | "time" 21 | ) 22 | 23 | var _ = unsafe.Sizeof(0) 24 | 25 | //go:noescape 26 | //go:linkname nanotime runtime.nanotime 27 | func nanotime() int64 28 | 29 | // Now returns the monotonic duration since an unspecified epoch. 30 | func Now() time.Duration { 31 | return time.Duration(nanotime()) * time.Nanosecond 32 | } 33 | -------------------------------------------------------------------------------- /go/apps/roughtime/consts.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, Google Inc. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package roughtime 16 | 17 | var ( 18 | network = "tcp" 19 | maxChainSize = 8 20 | ) 21 | -------------------------------------------------------------------------------- /go/apps/simple_http_server/allowall.cfg: -------------------------------------------------------------------------------- 1 | config: { 2 | domain_info: { 3 | name: "HTTPServerDomain" 4 | policy_keys_path: "policy_keys" 5 | guard_type: "AllowAll" 6 | } 7 | 8 | x509_info: { 9 | common_name: "HTTPServer" 10 | country: "US" 11 | state: "CA" 12 | organization: "Google Inc." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleClientCpp/junkyard/WARNING: -------------------------------------------------------------------------------- 1 | This program is under construction. The previous working version is 2 | in the ".old" files. 3 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/checkprog: -------------------------------------------------------------------------------- 1 | # 2 | ps aux | fgrep linux_host 3 | ps aux | fgrep simpledomainserver 4 | ps aux | fgrep simpleclient 5 | ps aux | fgrep simpleserver 6 | ps aux | fgrep Simple 7 | 8 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/clean: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | rm $DOMAIN/linux_tao_host/admin_socket 5 | rm $DOMAIN/SimpleClient/* 6 | rm $DOMAIN/SimpleServer/* 7 | rm $DOMAIN/SimpleClientCpp/* 8 | 9 | rm $DOMAINTPM1/linux_tao_host/admin_socket 10 | rm $DOMAINTPM1/SimpleClient/* 11 | rm $DOMAINTPM1/SimpleServer/* 12 | rm $DOMAINTPM1/SimpleClientCpp/* 13 | 14 | rm $DOMAINTPM2/linux_tao_host/admin_socket 15 | rm $DOMAINTPM2/SimpleClient/* 16 | rm $DOMAINTPM2/SimpleServer/* 17 | rm $DOMAINTPM2/SimpleClientCpp/* 18 | 19 | ps aux | fgrep "simple" 20 | ps aux | fgrep "Simple" 21 | 22 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/copybins: -------------------------------------------------------------------------------- 1 | # 2 | cp ~/bin/SimpleDomainService /Domains 3 | cp ~/bin/SimpleClient /Domains 4 | cp ~/bin/linux_host /Domains 5 | cp ~/bin/QuoteServer /Domains 6 | cp ~/bin/SimpleServer /Domains 7 | cp ~/bin/domain_server /Domains 8 | # This should already be there 9 | # cp ~/bin/simpleclient_cc.exe /Domains 10 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/defines: -------------------------------------------------------------------------------- 1 | DOMAINROOT=/Domain 2 | BINPATH=~/bin 3 | TAO_HOST_DOMAIN_DIR=~/src/github.com/jlmucb/cloudproxy/go/apps/simpleexample/SimpleDomain 4 | # 5 | DOMAIN=/Domains/domain.simpleexample 6 | OLD_TEMPLATE=$TAO_HOST_DOMAIN_DIR/domain_template.simpleexample 7 | TEMPLATE=/Domains/domain_template.simpleexample 8 | # 9 | OLD_TEMPLATETPM2=$TAO_HOST_DOMAIN_DIR/domain_template.simpleexampletpm2 10 | DOMAINTPM2=/Domains/domain.simpleexampletpm2 11 | TEMPLATETPM2=$DOMAINTPM2/domain_template.simpleexampletpm2 12 | # 13 | OLD_TEMPLATETPM1=$TAO_HOST_DOMAIN_DIR/domain_template.simpleexampletpm1 14 | DOMAINTPM1=/Domains/domain.simpleexampletpm1 15 | TEMPLATETPM1=/Domains/domain_template.simpleexampletpm1 16 | AIKBLOB=$DOMAINTPM1/aikblob 17 | 18 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/gentemplate: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | $BINPATH/tao domain init -tao_domain $DOMAIN -config_template $TEMPLATE -pass xxx 4 | echo "$OLD_TEMPLATE" 5 | sed 's/REPLACE_WITH_DOMAIN_GUARD_TYPE/Datalog/g' < $OLD_TEMPLATE > $TEMPLATE 6 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/initsimpleexample: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | if [[ -e $DOMAIN ]] 5 | then 6 | echo "$DOMAIN exists" 7 | else 8 | mkdir $DOMAIN 9 | mkdir $DOMAIN/policy_keys 10 | echo "$DOMAIN created" 11 | fi 12 | 13 | if [[ -e $TEMPLATE ]] 14 | then 15 | echo "$TEMPLATE exists" 16 | else 17 | cp $OLD_TEMPLATE $TEMPLATE 18 | echo "$OLDTEMPLATE copied to $TEMPLATE" 19 | fi 20 | 21 | if [[ -e $DOMAIN/linux_tao_host ]] 22 | then 23 | echo "$DOMAIN/linux_tao_host exists" 24 | else 25 | mkdir $DOMAIN/linux_tao_host 26 | echo "$DOMAIN/linux_tao_host created" 27 | fi 28 | 29 | # 30 | # For soft tao, we need a key and it must be in the template. 31 | # 32 | 33 | KEY_NAME="$($BINPATH/tao domain newsoft -soft_pass xxx -config_template $TEMPLATE $DOMAIN/linux_tao_host)" 34 | echo "host_name: \"$KEY_NAME\"" | tee -a $TEMPLATE 35 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/initsimpleexampletpm1: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | if [[ -e $DOMAINTPM1 ]] 5 | then 6 | echo "$DOMAINTPM1 exists" 7 | else 8 | mkdir $DOMAINTPM1 9 | mkdir $DOMAINTPM1/policy_keys 10 | echo "$DOMAIN created" 11 | fi 12 | 13 | if [[ -e $TEMPLATETPM1 ]] 14 | then 15 | echo "$TEMPLATETPM1 exists" 16 | else 17 | cp $OLD_TEMPLATETPM1 $TEMPLATETPM1 18 | echo "$OLDTEMPLATETPM1 copied to $TEMPLATETPM1" 19 | fi 20 | 21 | if [[ -e $DOMAINTPM1/linux_tao_host ]] 22 | then 23 | echo "$DOMAINTPM1/linux_tao_host exists" 24 | else 25 | mkdir $DOMAINTPM1/linux_tao_host 26 | echo "$DOMAINTPM1/linux_tao_host created" 27 | fi 28 | 29 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/initsimpleexampletpm2: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | if [[ -e $DOMAINTPM2 ]] 5 | then 6 | echo "$DOMAINTPM2 exists" 7 | else 8 | mkdir $DOMAINTPM2 9 | mkdir $DOMAINTPM2/policy_keys 10 | echo "$DOMAIN created" 11 | fi 12 | 13 | if [[ -e $TEMPLATETPM2 ]] 14 | then 15 | echo "$TEMPLATETPM2 exists" 16 | else 17 | cp $OLD_TEMPLATETPM2 $TEMPLATETPM2 18 | echo "$OLDTEMPLATETPM2 copied to $TEMPLATETPM2" 19 | fi 20 | 21 | if [[ -e $DOMAINTPM2/linux_tao_host ]] 22 | then 23 | echo "$DOMAINTPM2/linux_tao_host exists" 24 | else 25 | mkdir $DOMAINTPM2/linux_tao_host 26 | echo "$DOMAINTPM2/linux_tao_host created" 27 | fi 28 | 29 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runall: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | # These should be run as root. 5 | $BINPATH/tao host init -tao_domain $DOMAIN -hosting process -root -pass xxx 6 | sleep 5 7 | $BINPATH/tao host start -tao_domain $DOMAIN -host linux_tao_host -pass xxx & 8 | sleep 5 9 | 10 | # 11 | # Starting the programs should be done as the unprivileged user it runs for 12 | # to provide isolation. 13 | # We run as root for conveniencea to avoid script clutter. 14 | # 15 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleDomainService -password xxx & 16 | sleep 1 17 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleServer -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleServer" & 18 | sleep 1 19 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleClient -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleClient" & 20 | 21 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runallcc: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | # These should be run as root. 5 | $BINPATH/tao host init -tao_domain $DOMAIN -hosting process -root -pass xxx 6 | sleep 5 7 | $BINPATH/tao host start -tao_domain $DOMAIN -host linux_tao_host -pass xxx & 8 | sleep 5 9 | 10 | # 11 | # Starting the programs should be done as the unprivileged user it runs for 12 | # to provide isolation. 13 | # We run as root for conveniencea to avoid script clutter. 14 | # 15 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleDomainService & 16 | sleep 1 17 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleServer -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleServer" & 18 | sleep 1 19 | # $BINPATH/tao run -tao_domain $DOMAIN /Domains/simpleclient_cc.exe -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleClientCpp" & 20 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/simpleclient_cc.exe & 21 | 22 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runallccwithrollback: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | # These should be run as root. 5 | $BINPATH/tao host init -tao_domain $DOMAIN -hosting process -root -pass xxx 6 | sleep 5 7 | $BINPATH/tao host start -tao_domain $DOMAIN -host linux_tao_host -pass xxx & 8 | sleep 5 9 | 10 | # 11 | # Starting the programs should be done as the unprivileged user it runs for 12 | # to provide isolation. 13 | # We run as root for conveniencea to avoid script clutter. 14 | # 15 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleDomainService & 16 | sleep 1 17 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleServer -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleServer" & 18 | sleep 1 19 | # $BINPATH/tao run -tao_domain $DOMAIN /Domains/simpleclient_cc.exe -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleClientCpp" & 20 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/simpleclient_cc.exe -test_rollback 1 & 21 | 22 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runallgoclient: -------------------------------------------------------------------------------- 1 | # 2 | ./initdomain 3 | sleep 1 4 | ./inithost 5 | sleep 1 6 | ./runhost 7 | sleep 1 8 | ./rungoclient 9 | 10 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runalltpm1full: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | # These should be run as root 5 | $BINPATH/tao host init -tao_domain $DOMAINTPM1 -stacked -parent_type TPM -hosting process 6 | sleep 5 7 | $BINPATH/tao host start -tao_domain $DOMAINTPM1 & 8 | sleep 5 9 | 10 | # 11 | # Starting the programs should be done as the unprivileged user it runs for 12 | # to provide isolation. 13 | # We run as root for convenience to avoid script clutter. 14 | # 15 | $BINPATH/domain_server -pass xxx -domain_config $DOMAINTPM1/tao.config -trusted_entities $DOMAINTPM1/TrustedEntities & 16 | sleep 1 17 | $BINPATH/tao run -tao_domain $DOMAINTPM1 $BINPATH/SimpleServer \ 18 | -domain_config $DOMAINTPM1/tao.config -path $DOMAINTPM1/SimpleServer \ 19 | -use_simpledomainservice=false & 20 | sleep 1 21 | $BINPATH/tao run -tao_domain $DOMAINTPM1 $BINPATH/SimpleClient \ 22 | -domain_config $DOMAINTPM1/tao.config -path $DOMAINTPM1/SimpleClient \ 23 | -use_simpledomainservice=false & 24 | 25 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runalltpm1simple: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | # These should be run as root. 5 | $BINPATH/tao host init -tao_domain $DOMAINTPM1 -stacked -parent_type TPM -hosting process 6 | sleep 5 7 | $BINPATH/tao host start -tao_domain $DOMAINTPM1 & 8 | sleep 5 9 | 10 | # 11 | # Starting the programs should be done as the unprivileged user it runs for 12 | # to provide isolation. 13 | # We run as root for convenience to avoid script clutter. 14 | # 15 | sleep 1 16 | $BINPATH/tao run -tao_domain $DOMAINTPM1 $BINPATH/SimpleDomainService \ 17 | -config $DOMAINTPM1/tao.config -service_path $DOMAINTPM1/SimpleDomainService & 18 | sleep 5 19 | $BINPATH/tao run -tao_domain $DOMAINTPM1 $BINPATH/SimpleServer \ 20 | -domain_config $DOMAINTPM1/tao.config -path $DOMAINTPM1/SimpleServer & 21 | sleep 5 22 | $BINPATH/tao run -tao_domain $DOMAINTPM1 $BINPATH/SimpleClient \ 23 | -domain_config $DOMAINTPM1/tao.config -path $DOMAINTPM1/SimpleClient & 24 | 25 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runalltpm2full: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | # These should be run as root. 5 | $BINPATH/tao host init -tao_domain $DOMAINTPM2 -stacked -parent_type TPM2 -hosting process 6 | sleep 5 7 | $BINPATH/tao host start -tao_domain $DOMAINTPM2 & 8 | sleep 5 9 | 10 | # 11 | # Starting the programs should be done as the unprivileged user it runs for 12 | # to provide isolation. 13 | # We run as root for convenience to avoid script clutter. 14 | # 15 | sleep 1 16 | $BINPATH/domain_server -pass xxx -domain_config $DOMAINTPM2/tao.config -trusted_entities $DOMAINTPM2/TrustedEntities & 17 | sleep 1 18 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleServer \ 19 | -domain_config $DOMAINTPM2/tao.config -path $DOMAINTPM2/SimpleServer \ 20 | -use_simpledomainservice=false & 21 | sleep 1 22 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleClient \ 23 | -domain_config $DOMAINTPM2/tao.config -path $DOMAINTPM2/SimpleClient \ 24 | -use_simpledomainservice=false & 25 | 26 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runalltpm2simple: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | $BINPATH/tao host start -tao_domain $DOMAINTPM2 & 5 | 6 | echo "Waiting 5 seconds for host to start up" 7 | sleep 5 8 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleDomainService \ 9 | -config $DOMAINTPM2/tao.config -service_path $DOMAINTPM2/SimpleDomainService & 10 | sleep 5 11 | 12 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleServer \ 13 | -domain_config $DOMAINTPM2/tao.config -path $DOMAINTPM2/SimpleServer & 14 | sleep 1 15 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleClient \ 16 | -domain_config $DOMAINTPM2/tao.config -path $DOMAINTPM2/SimpleClient & 17 | 18 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runalltpm2simplewithrollback: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | $BINPATH/tao host start -tao_domain $DOMAINTPM2 & 5 | 6 | echo "Waiting 5 seconds for host to start up" 7 | sleep 5 8 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleDomainService \ 9 | -config $DOMAINTPM2/tao.config -service_path $DOMAINTPM2/SimpleDomainService & 10 | sleep 5 11 | 12 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleServer \ 13 | -domain_config $DOMAINTPM2/tao.config -path $DOMAINTPM2/SimpleServer & 14 | sleep 1 15 | $BINPATH/tao run -tao_domain $DOMAINTPM2 $BINPATH/SimpleClient \ 16 | -domain_config $DOMAINTPM2/tao.config -path $DOMAINTPM2/SimpleClient -test_rollback 1 & 17 | 18 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/runallwithrollback: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | 4 | # These should be run as root. 5 | $BINPATH/tao host init -tao_domain $DOMAIN -hosting process -root -pass xxx 6 | sleep 5 7 | $BINPATH/tao host start -tao_domain $DOMAIN -host linux_tao_host -pass xxx & 8 | sleep 5 9 | 10 | # 11 | # Starting the programs should be done as the unprivileged user it runs for 12 | # to provide isolation. 13 | # We run as root for conveniencea to avoid script clutter. 14 | # 15 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleDomainService -password xxx & 16 | sleep 1 17 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleServer -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleServer" & 18 | sleep 1 19 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/SimpleClient -domain_config "/Domains/domain.simpleexample/tao.config" -path "/Domains/domain.simpleexample/SimpleClient" -test_rollback 1 & 20 | 21 | -------------------------------------------------------------------------------- /go/apps/simpleexample/SimpleDomain/rungoclient: -------------------------------------------------------------------------------- 1 | # 2 | source ./defines 3 | # $BINPATH/tao run $BINPATH/simpleclient & 4 | $BINPATH/tao run -tao_domain $DOMAIN /Domains/go_child & 5 | 6 | -------------------------------------------------------------------------------- /go/run/scripts/build_linux_host.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script assumes that the binary for linux_host has been built and 4 | # installed into a bin path in $GOPATH. For the purposes of KVM/CoreOS, this 5 | # binary must be executable on the virtual machine. One way to make this easier 6 | # is to build the binary statically. E.g., see run/scripts/build_standalone.sh. 7 | 8 | if [ "$#" != "1" ]; then 9 | echo "Must supply the path to an initialized domain." 10 | exit 1 11 | fi 12 | 13 | WHICH=$(which which) 14 | APP_BIN="$(PATH="${GOPATH//://bin:}/bin" $WHICH linux_host)" 15 | TEMP_DIR=$(mktemp -d) 16 | cp "$APP_BIN" ${TEMP_DIR}/linux_host 17 | mkdir ${TEMP_DIR}/policy_keys 18 | mkdir ${TEMP_DIR}/linux_tao_host 19 | chmod 755 ${TEMP_DIR}/linux_tao_host 20 | cp "$1/policy_keys/cert" ${TEMP_DIR}/policy_keys/cert 21 | cp "$1/tao.config" ${TEMP_DIR}/tao.config 22 | 23 | 24 | tar -C ${TEMP_DIR} -czf "$APP_BIN".img.tgz $(ls ${TEMP_DIR}) 25 | rm -fr ${TEMP_DIR} 26 | -------------------------------------------------------------------------------- /go/run/scripts/build_static.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Docker requires static executables. This can be accomplished by either 4 | # disabling cgo or using the netgo tag. 5 | echo "Building static version of cloudproxy" 6 | CGO_ENABLED=0 go install -a -installsuffix nocgo github.com/jlmucb/cloudproxy/... 7 | -------------------------------------------------------------------------------- /go/run/scripts/run_docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o nounset 4 | set -o errexit 5 | 6 | if [ "$#" -ge 1 ]; then 7 | export TAO_DOMAIN="$1" 8 | elif [ "$TAO_DOMAIN" == "" ]; then 9 | echo "Must supply the path to an initialized domain, or set \$TAO_DOMAIN." 10 | exit 1 11 | fi 12 | 13 | gowhich() { 14 | WHICH=$(which which) 15 | echo -n "$(PATH="${GOPATH//://bin:}/bin" $WHICH "$1")" 16 | } 17 | 18 | TAO="$(gowhich tao)" 19 | FAKE_PASS=BogusPass 20 | 21 | CLIENT="$(gowhich demo_client).img.tgz" 22 | SERVER="$(gowhich demo_server).img.tgz" 23 | 24 | # Make sure we have sudo privileges before trying to start the tao host 25 | sudo test true 26 | 27 | sudo "$TAO" host start -tao_domain "$TAO_DOMAIN" -pass $FAKE_PASS \ 28 | -hosting docker & # daemon 29 | echo "Waiting for linux_host to start" 30 | sleep 5 31 | 32 | "$TAO" run "docker:$SERVER" --name "/demo_server" & # daemon 33 | echo "Waiting for demo_server to start" 34 | sleep 3 35 | 36 | "$TAO" run "docker:$CLIENT" --link "/demo_server:server" 37 | 38 | echo "Shutting down linux_host" 39 | sudo "$TAO" host stop -tao_domain "$TAO_DOMAIN" 40 | -------------------------------------------------------------------------------- /go/run/scripts/run_processes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$#" -ge 1 ]; then 4 | export TAO_DOMAIN="$1" 5 | elif [ "$TAO_DOMAIN" == "" ]; then 6 | echo "Must supply the path to an initialized domain, or set \$TAO_DOMAIN." 7 | exit 1 8 | fi 9 | 10 | set -o nounset 11 | set -o errexit 12 | 13 | gowhich() { 14 | WHICH=$(which which) 15 | echo -n "$(PATH="${GOPATH//://bin:}/bin" $WHICH "$1")" 16 | } 17 | 18 | TAO="$(gowhich tao)" 19 | FAKE_PASS=BogusPass 20 | 21 | # Make sure we have sudo privileges before trying to start the tao host 22 | sudo test true 23 | 24 | sudo "$TAO" host start -tao_domain "$TAO_DOMAIN" -pass $FAKE_PASS & 25 | 26 | echo "Waiting for linux_host to start" 27 | sleep 5 28 | 29 | "$TAO" run demo_server & 30 | sleep 2 31 | "$TAO" run demo_client 32 | 33 | echo "Shutting down linux_host" 34 | sudo "$TAO" host stop -tao_domain "$TAO_DOMAIN" 35 | -------------------------------------------------------------------------------- /go/support_infrastructure/CPSecretService/README.md: -------------------------------------------------------------------------------- 1 | The CPSecretService maintains a database of domain rooted keys which are epoch qualified. 2 | Each such key has an ACL list consisting of (ProgramName, Property). Properties are Read, 3 | Write, Create. The service accepts requests for programs over Tao Channels requesting 4 | keys operations by name and satisfies the request if it is authorized. 5 | 6 | Each CPSecretService service usually provides these key services for a single "zone." 7 | 8 | All service requests and responses are logged. 9 | 10 | 11 | -------------------------------------------------------------------------------- /go/support_infrastructure/README.md: -------------------------------------------------------------------------------- 1 | This directory contains a number of optional service providers that may be employed by 2 | CloudProxy programs. 3 | -------------------------------------------------------------------------------- /go/support_infrastructure/domain_service/README.md: -------------------------------------------------------------------------------- 1 | This is the full function version of the Domain service. It consists of two services. 2 | 3 | The Program Key Domain Service receives attestations from CP programs and signs ProgramKeys. 4 | Before signing Program keys the service: 5 | (1) Checks the program identity against the domain program database; 6 | (2) Checks that the endorsement cert valid and that neither the endorsement key 7 | or its signer key has been revoked; 8 | (3) Retrieves machine characteristics based on endorsement cert; 9 | (4) Checks that the security characteristics for the machine meets domain 10 | policy; 11 | (5) Retrieves the validity period for the domain; 12 | (6) Adds policy characteristics based on the machine and location to the Program cert. 13 | 14 | The Revocation Service returns information about revoked certificates previously issued by 15 | the Program Key Domain Service. 16 | 17 | Both services implement logs of all requests and responses. 18 | 19 | -------------------------------------------------------------------------------- /go/support_infrastructure/domain_service/domain_server/TrustedEntities: -------------------------------------------------------------------------------- 1 | trusted_program_tao_names: "program(\"programHash\")" 2 | trusted_host_tao_names: "program(\"hostHash\")" 3 | trusted_machine_infos: "Encode Machine Information" 4 | -------------------------------------------------------------------------------- /go/support_infrastructure/domain_service/domain_server/tao.config: -------------------------------------------------------------------------------- 1 | domain_info: < 2 | name: "SimpleExample" 3 | policy_keys_path: "policy_keys" 4 | guard_type: "ACLs" 5 | > 6 | x509_info: < 7 | common_name: "SimpleExample" 8 | country: "US" 9 | state: "CA" 10 | organization: "CloudProxy" 11 | > 12 | acl_guard_info: < 13 | signed_acls_path: "acls" 14 | > 15 | datalog_guard_info: < 16 | signed_rules_path: "rules" 17 | > 18 | tpm_info: < 19 | tpm_path: "/dev/tpm0" 20 | aik_path: "aikblob" 21 | pcrs: "17,18" 22 | > 23 | -------------------------------------------------------------------------------- /go/support_infrastructure/secret_service/README.md: -------------------------------------------------------------------------------- 1 | The CPSecretService maintains a database of domain rooted keys which are epoch qualified. 2 | Each such key has an ACL list consisting of (ProgramName, Property). Properties are Read, 3 | Write, Create. The service accepts requests for programs over Tao Channels requesting 4 | keys operations by name and satisfies the request if it is authorized. 5 | 6 | Each CPSecretService service usually provides these key services for a single "zone." 7 | 8 | All service requests and responses are logged. 9 | 10 | 11 | -------------------------------------------------------------------------------- /go/support_libraries/README.md: -------------------------------------------------------------------------------- 1 | This directory contains optional libraries that may be used by CloudProxy programs. 2 | 3 | -------------------------------------------------------------------------------- /go/support_libraries/rotation_support/README.md: -------------------------------------------------------------------------------- 1 | This library contains support functions to add, retract or rotate keys or objects. Functions in this 2 | library can be used to change object statuses, and add objects with new epoch both by creating new 3 | protecting or protector objects and encrypting or reencrypting portions of the key hierarchy to accommodate 4 | these changes. It can also find the status of all objects by name and epoch, status, type or validity period. 5 | For example, when a protector key corresponding to a new epoch it can change the status of the earlier epochs 6 | of this key and reencrypt the protected objects protected by the previous key epoch. 7 | Finally, it can roll back epoch changes. 8 | 9 | -------------------------------------------------------------------------------- /go/support_libraries/secret_disclosure_support/README.md: -------------------------------------------------------------------------------- 1 | This library contains functions which create, interpret and verify key disclosure directives (typically 2 | signed by a policy key) of the form policy-key says ProgramName can read secretName, epoch. 3 | 4 | -------------------------------------------------------------------------------- /go/support_libraries/secret_disclosure_support/directive.proto: -------------------------------------------------------------------------------- 1 | // To compile: protoc -I=. --go_out=. directive.proto 2 | 3 | // Definition of protobufs for directives. 4 | syntax = "proto2"; 5 | 6 | package secret_disclosure; 7 | 8 | message directive_message { 9 | // As of now, the only type supported is "secret_disclosure". 10 | enum directive_type { 11 | SECRET_DISCLOSURE = 1; 12 | } 13 | optional directive_type type = 1; 14 | 15 | // A serialized statement. This is serialized using cloudproxy/tao/auth.Marshal(). 16 | // 17 | // The statement corresponding to type "key_disclosure" must be of the form: 18 | // policy_key says program_name can read (secret_name, epoch). 19 | optional bytes serialized_statement = 2; 20 | 21 | // The signer's public key principal, encoded using clouddproxy/tao/auth.Marshal(). 22 | optional bytes signer = 3; 23 | 24 | // Signature over the serialized statement. 25 | optional bytes signature = 4; 26 | 27 | // Program certificate, to be used in case signer is a program key. 28 | optional bytes cert = 5; 29 | } -------------------------------------------------------------------------------- /go/support_libraries/tao_support/taosupport.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, John Manferdelli, All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto2"; 15 | package tao_support; 16 | 17 | message SavedProgramData { 18 | optional string file_path = 1; 19 | optional bytes policy_cert = 2; 20 | optional string program_name = 3; 21 | optional bytes signing_key_blob = 4; 22 | optional bytes crypting_key_blob = 5; 23 | repeated bytes signer_cert_chain = 6; 24 | optional string crypto_suite = 7; 25 | optional bytes delegation = 8; 26 | } 27 | -------------------------------------------------------------------------------- /go/tao/.gitignore: -------------------------------------------------------------------------------- 1 | *.bin 2 | -------------------------------------------------------------------------------- /go/tao/addingaciphersuite.txt: -------------------------------------------------------------------------------- 1 | Adding a new cipher suite 2 | 3 | 1. Add suite name in const structure in tao.go 4 | 5 | 2. Set global variable cryptoSuite to the new cipher suite. 6 | 7 | 3. Add decoding for new suite in key_decoding.go 8 | 9 | 4. Add algorithm implementation and calling (mostly involving switches) in keys.go 10 | 11 | -------------------------------------------------------------------------------- /go/tao/errors.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Kevin Walsh. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package tao 16 | 17 | import ( 18 | "errors" 19 | "fmt" 20 | 21 | // "github.com/jlmucb/cloudproxy/go/util" 22 | ) 23 | 24 | // newError formats an error, logs it to glog, then returs it. 25 | func newError(msg string, args ...interface{}) error { 26 | // FIX? 27 | // return util.Logged(fmt.Errorf(msg, args...)) 28 | return errors.New(fmt.Sprintf(msg, args...)) 29 | } 30 | -------------------------------------------------------------------------------- /go/tao/linux_host_admin_rpc_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Google Inc. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package tao 16 | 17 | import ( 18 | "net" 19 | ) 20 | 21 | func NewAuthenticatedFileSocket(sock *net.UnixListener) (error) { 22 | sockFile, err := sock.File() 23 | if err != nil { 24 | return err 25 | } 26 | sockFile.Close() 27 | return nil 28 | } 29 | -------------------------------------------------------------------------------- /go/tao/linux_host_admin_rpc_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Google Inc. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package tao 16 | 17 | import ( 18 | "net" 19 | "syscall" 20 | ) 21 | 22 | func NewAuthenticatedFileSocket(sock *net.UnixListener) (error) { 23 | sockFile, err := sock.File() 24 | if err != nil { 25 | return err 26 | } 27 | err = syscall.SetsockoptInt(int(sockFile.Fd()), syscall.SOL_SOCKET, syscall.SO_PASSCRED, 1) 28 | sockFile.Close() 29 | return err 30 | } 31 | -------------------------------------------------------------------------------- /go/tao/proto/README.md: -------------------------------------------------------------------------------- 1 | This directory contains the definitions of protocol buffers used in CloudProxy. 2 | The `tao` package expects the protobufs to be in the same package; in order to 3 | build the package, they need to be compiled into Go code in the parent 4 | directory. To do this, run the following in the current directory: 5 | 6 | ``$ protoc --go_out=.. *.proto`` 7 | 8 | This will overwrite the `../*.pb.go` files. To get the protocol buffer 9 | compiler running on your system, visit https://github.com/google/protobuf. 10 | -------------------------------------------------------------------------------- /go/tao/proto/acl_guard.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Kevin Walsh. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto2"; 15 | 16 | package tao; 17 | 18 | // A set of ACL entries. 19 | 20 | message ACLSet { repeated string entries = 1; } 21 | 22 | // A set of ACL entries signed by a key. 23 | message SignedACLSet { 24 | required bytes serialized_aclset = 1; 25 | required bytes signature = 2; 26 | } 27 | -------------------------------------------------------------------------------- /go/tao/proto/datalog_guard.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Kevin Walsh. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto2"; 15 | 16 | package tao; 17 | 18 | // A set of rules. 19 | message DatalogRules { repeated bytes rules = 1; } 20 | 21 | // A set of rules signed by a key. 22 | message SignedDatalogRules { 23 | required bytes serialized_rules = 1; 24 | required bytes signature = 2; 25 | } 26 | -------------------------------------------------------------------------------- /go/tao/proto/rpc.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013, Google Inc. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto2"; 15 | 16 | package tao; 17 | 18 | message RPCRequest { 19 | optional bytes data = 1; 20 | optional int32 size = 2; 21 | optional string policy = 3; 22 | optional int64 time = 4; 23 | optional int64 expiration = 5; 24 | optional bytes issuer = 6; 25 | optional string label = 7; 26 | optional int64 counter = 8; 27 | } 28 | 29 | message RPCResponse { 30 | optional bytes data = 1; 31 | optional string policy = 2; 32 | optional int64 counter = 3; 33 | } 34 | -------------------------------------------------------------------------------- /go/tao/proto/tpm_tao.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Google Inc. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto2"; 15 | 16 | package tao; 17 | 18 | message HybridSealedData { 19 | required bytes SealedKey = 1; 20 | required bytes EncryptedData = 2; 21 | } 22 | -------------------------------------------------------------------------------- /go/tao/tao_cipher_suite.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, John Manferdelli. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package tao 16 | 17 | // The following variable selects the cipher suite. 18 | var TaoCryptoSuite = Basic128BitCipherSuite 19 | -------------------------------------------------------------------------------- /go/tpm2/errors.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Google Inc. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package tpm2 16 | 17 | import ( 18 | // "strconv" 19 | ) 20 | 21 | // A TpmError is an error value from the TPM. 22 | type TpmError uint32 23 | 24 | const ( 25 | ErrSuccess TpmError = 0 26 | ) 27 | 28 | -------------------------------------------------------------------------------- /go/tpm2/todo.txt: -------------------------------------------------------------------------------- 1 | GetCapabilities 2 | Flushall 3 | CreatePrimary 4 | ReadPublic 5 | CreateKey 6 | Load 7 | PolicyPassword 8 | PolicyGetDigest 9 | StartAuthSession 10 | CreateSealed 11 | Unseal 12 | Quote 13 | ActivateCredential 14 | EvictControl 15 | SaveContext 16 | LoadContext 17 | ComputeMakeCredentialData 18 | VerifyQuote 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /go/util/fd.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015, Kevin Walsh. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package util 16 | 17 | // This provides a convenience functions for dealing with file descriptors. 18 | 19 | import ( 20 | "fmt" 21 | "os" 22 | ) 23 | 24 | // NewFile wraps a file descriptor inside an os.File, also giving it a 25 | // reasonable name. 26 | func NewFile(fd int) *os.File { 27 | name := fmt.Sprintf("/dev/fd/%d", fd) 28 | return os.NewFile(uintptr(fd), name) 29 | } 30 | -------------------------------------------------------------------------------- /go/util/protorpc/protorpc.proto: -------------------------------------------------------------------------------- 1 | package protorpc; 2 | 3 | // Protobuf RPC request header. 4 | message ProtoRPCRequestHeader { 5 | // The service method. 6 | required string op = 1; 7 | 8 | // The sequence number. 9 | required uint64 seq = 2; 10 | } 11 | 12 | // Protobuf RPC response header. 13 | message ProtoRPCResponseHeader { 14 | // The service method (matches request op). 15 | required string op = 1; 16 | 17 | // The sequence number (matches request seq). 18 | required uint64 seq = 2; 19 | 20 | // The optional error string. 21 | optional string error = 3; 22 | } 23 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | doc 2 | out 3 | *~ 4 | *.pyc 5 | tags 6 | tpm 7 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | cmake_minimum_required(VERSION 2.8.12) 16 | project(cloudproxy C CXX ASM) 17 | 18 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) 19 | find_package(Protobuf REQUIRED) 20 | include_directories(${PROTOBUF_INCLUDE_DIRS}) 21 | 22 | include(cloudproxy.cmake) 23 | 24 | add_subdirectory(apps) 25 | add_subdirectory(tao) 26 | add_subdirectory(third_party) 27 | -------------------------------------------------------------------------------- /src/cloudproxy.cmake: -------------------------------------------------------------------------------- 1 | # Licensed under the Apache License, Version 2.0 (the "License"); 2 | # you may not use this file except in compliance with the License. 3 | # You may obtain a copy of the License at 4 | # 5 | # http://www.apache.org/licenses/LICENSE-2.0 6 | # 7 | # Unless required by applicable law or agreed to in writing, software 8 | # distributed under the License is distributed on an "AS IS" BASIS, 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | # See the License for the specific language governing permissions and 11 | # limitations under the License. 12 | 13 | set(WARNING_FLAGS "-Wall -Werror") 14 | set(LANG_FLAGS "-std=gnu++11") 15 | set(CMAKE_C_FLAGS "${WARNING_FLAGS}") 16 | set(CMAKE_CXX_FLAGS "${WARNING_FLAGS} ${LANG_FLAGS}") 17 | 18 | set(CMAKE_C_FLAGS_DEBUG "-g -O0") 19 | set(CMAKE_C_FLAGS_RELEASE "-O2") 20 | set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) 21 | set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) 22 | -------------------------------------------------------------------------------- /src/standalone/amake.mak: -------------------------------------------------------------------------------- 1 | # 2 | 3 | # 4 | # Make libauth.a 5 | # 6 | 7 | #ifndef GOOGLE_INCLUDE 8 | GOOGLE_INCLUDE=/usr/local/include/google 9 | #endif 10 | #ifndef LOCAL_LIB 11 | LOCAL_LIB=/usr/local/lib 12 | #endif 13 | 14 | AS= $(S) 15 | INCLUDE= -I$(S) -I/usr/local/include -I$(GOOGLE_INCLUDE) 16 | 17 | CFLAGS=$(INCLUDE) -DOS_POSIX -O3 -g -Wall -std=c++11 -Wno-strict-aliasing -Wno-deprecated # -DGFLAGS_NS=google 18 | CFLAGS1=$(INCLUDE) -DOS_POSIX -O1 -g -Wall -std=c++11 19 | 20 | CC=g++ 21 | LINK=g++ 22 | PROTO=protoc 23 | AR=ar 24 | export LD_LIBRARY_PATH=/usr/local/lib 25 | 26 | dobj_alib=$(O)/auth.o 27 | 28 | all: $(LIBDEST)/libauth.a 29 | 30 | clean: 31 | @echo "removing object files" 32 | rm $(O)/*.o 33 | @echo "removing libauth.a" 34 | rm $(LIBDEST)/libauth.a 35 | 36 | $(LIBDEST)/libauth.a: $(dobj_alib) 37 | @echo "linking libauth.a" 38 | $(AR) -r $(LIBDEST)/libauth.a $(dobj_alib) 39 | 40 | $(O)/auth.o: $(AS)/auth.cc 41 | @echo "compiling auth.cc" 42 | @echo "$O" 43 | $(CC) $(CFLAGS) -c -o $(O)/auth.o $(AS)/auth.cc 44 | -------------------------------------------------------------------------------- /src/standalone/mmake.mak: -------------------------------------------------------------------------------- 1 | # 2 | 3 | # 4 | # Make the libmodp.a 5 | # 6 | 7 | #ifndef GOOGLE_INCLUDE 8 | GOOGLE_INCLUDE=/usr/local/include/google 9 | #endif 10 | #ifndef LOCAL_LIB 11 | LOCAL_LIB=/usr/local/lib 12 | #endif 13 | 14 | MS= $(S)/third_party/modp/src 15 | INCLUDE= -I$(MS) -I/usr/local/include -I$(GOOGLE_INCLUDE) -I$(INCLUDEDEST) 16 | 17 | CFLAGS=$(INCLUDE) -DOS_POSIX -O3 -g -Wall -std=c++11 -Wno-strict-aliasing -Wno-deprecated # -DGFLAGS_NS=google 18 | CFLAGS1=$(INCLUDE) -DOS_POSIX -O1 -g -Wall -std=c++11 19 | 20 | CC=g++ 21 | LINK=g++ 22 | PROTO=protoc 23 | AR=ar 24 | export LD_LIBRARY_PATH=/usr/local/lib 25 | LDFLAGS= -lprotobuf -lgtest -lgflags -lpthread -lglog -l$(LIBDEST)/libmodp.a -l$(LIBDEST)/libchromium.a 26 | 27 | dobj_mlib=$(O)/modp_b64w.o 28 | 29 | 30 | all: $(LIBDEST)/libmodp.a 31 | 32 | clean: 33 | @echo "removing object files" 34 | rm $(O)/*.o 35 | @echo "removing libmodp" 36 | rm $(LIBDEST)/libmodp.a 37 | 38 | $(LIBDEST)/libmodp.a: $(dobj_mlib) 39 | @echo "linking libmodp.a" 40 | $(AR) -r $(LIBDEST)/libmodp.a $(dobj_mlib) 41 | 42 | $(O)/modp_b64w.o: $(MS)/modp_b64w.c 43 | @echo "compiling modp_b64w.c" 44 | $(CC) $(CFLAGS) -c -o $(O)/modp_b64w.o $(MS)/modp_b64w.c 45 | 46 | -------------------------------------------------------------------------------- /src/support_libraries/protos/messages.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013, Google Inc. All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto2"; 16 | package tao_support; 17 | 18 | enum MessageType { 19 | REQUEST = 1; 20 | RESPONSE = 2; 21 | } 22 | 23 | message SimpleMessage { 24 | required int32 message_type = 1; 25 | required string request_type = 2; 26 | optional string err = 3; 27 | repeated bytes data = 4; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/support_libraries/tao_support/taosupport.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, John Manferdelli, All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto2"; 15 | package tao_support; 16 | 17 | message SavedProgramData { 18 | optional string file_path = 1; 19 | optional bytes policy_cert = 2; 20 | optional string program_name = 3; 21 | optional bytes signing_key_blob = 4; 22 | optional bytes crypting_key_blob = 5; 23 | repeated bytes signer_cert_chain = 6; 24 | optional string crypto_suite = 7; 25 | optional bytes delegation = 8; 26 | optional bytes program_cert = 9; 27 | } 28 | -------------------------------------------------------------------------------- /src/third_party/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | add_subdirectory(chromium) 16 | add_subdirectory(gflags) 17 | add_subdirectory(google-glog) 18 | add_subdirectory(googlemock) 19 | add_subdirectory(modp) 20 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/dir-prop-base: -------------------------------------------------------------------------------- 1 | K 10 2 | svn:ignore 3 | V 6 4 | build 5 | 6 | END 7 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/prop-base/autogen.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/prop-base/config.guess.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/prop-base/config.sub.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/prop-base/configure.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/prop-base/depcomp.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/prop-base/install-sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/prop-base/missing.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/text-base/AUTHORS.svn-base: -------------------------------------------------------------------------------- 1 | google-gflags@googlegroups.com 2 | 3 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/text-base/README.svn-base: -------------------------------------------------------------------------------- 1 | This repository contains a C++ of the Google commandline flags module. 2 | Documentation for the C++ implementation is in doc/. The python version of 3 | gflags is now shipped seperately as it is completely independent of this 4 | module. 5 | 6 | See INSTALL for (generic) installation instructions for C++: basically 7 | ./configure && make && make install 8 | 9 | See README_windows.txt for instructions on using under windows. 10 | -------------------------------------------------------------------------------- /src/third_party/gflags/.svn/text-base/autogen.sh.svn-base: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Before using, you should figure out all the .m4 macros that your 4 | # configure.m4 script needs and make sure they exist in the m4/ 5 | # directory. 6 | # 7 | # These are the files that this script might edit: 8 | # aclocal.m4 configure Makefile.in src/config.h.in \ 9 | # depcomp config.guess config.sub install-sh missing mkinstalldirs \ 10 | # 11 | # Here's a command you can run to see what files aclocal will import: 12 | # aclocal -I ../autoconf --output=- | sed -n 's/^m4_include..\([^]]*\).*/\1/p' 13 | 14 | # Because libtoolize isn't in the hermetic build, autogen doesn't run it. 15 | # However, it should be run manually periodically to update these files: 16 | # in .: ltmain.sh 17 | # in m4: libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4 18 | 19 | set -ex 20 | rm -rf autom4te.cache 21 | 22 | aclocal --force -I m4 23 | #grep -q LIBTOOL configure.ac && libtoolize -c -f 24 | autoconf -f -W all,no-obsolete 25 | autoheader -f -W all 26 | automake -a -c -f -W all 27 | 28 | rm -rf autom4te.cache 29 | exit 0 30 | -------------------------------------------------------------------------------- /src/third_party/gflags/AUTHORS: -------------------------------------------------------------------------------- 1 | google-gflags@googlegroups.com 2 | 3 | -------------------------------------------------------------------------------- /src/third_party/gflags/README: -------------------------------------------------------------------------------- 1 | This repository contains a C++ of the Google commandline flags module. 2 | Documentation for the C++ implementation is in doc/. The python version of 3 | gflags is now shipped seperately as it is completely independent of this 4 | module. 5 | 6 | See INSTALL for (generic) installation instructions for C++: basically 7 | ./configure && make && make install 8 | 9 | See README_windows.txt for instructions on using under windows. 10 | -------------------------------------------------------------------------------- /src/third_party/gflags/README.cloudproxy: -------------------------------------------------------------------------------- 1 | Version r84 from svn repo http://gflags.googlecode.com/svn/ 2 | 3 | License: BSD (see file COPYING) 4 | 5 | This is an unmodified copy of r84 after running ./configure on Linux. 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Before using, you should figure out all the .m4 macros that your 4 | # configure.m4 script needs and make sure they exist in the m4/ 5 | # directory. 6 | # 7 | # These are the files that this script might edit: 8 | # aclocal.m4 configure Makefile.in src/config.h.in \ 9 | # depcomp config.guess config.sub install-sh missing mkinstalldirs \ 10 | # 11 | # Here's a command you can run to see what files aclocal will import: 12 | # aclocal -I ../autoconf --output=- | sed -n 's/^m4_include..\([^]]*\).*/\1/p' 13 | 14 | # Because libtoolize isn't in the hermetic build, autogen doesn't run it. 15 | # However, it should be run manually periodically to update these files: 16 | # in .: ltmain.sh 17 | # in m4: libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4 18 | 19 | set -ex 20 | rm -rf autom4te.cache 21 | 22 | aclocal --force -I m4 23 | #grep -q LIBTOOL configure.ac && libtoolize -c -f 24 | autoconf -f -W all,no-obsolete 25 | autoheader -f -W all 26 | automake -a -c -f -W all 27 | 28 | rm -rf autom4te.cache 29 | exit 0 30 | -------------------------------------------------------------------------------- /src/third_party/gflags/doc/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 26 4 | /svn/!svn/ver/74/trunk/doc 5 | END 6 | designstyle.css 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 42 10 | /svn/!svn/ver/11/trunk/doc/designstyle.css 11 | END 12 | gflags.html 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 38 16 | /svn/!svn/ver/74/trunk/doc/gflags.html 17 | END 18 | -------------------------------------------------------------------------------- /src/third_party/gflags/doc/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 84 5 | http://gflags.googlecode.com/svn/trunk/doc 6 | http://gflags.googlecode.com/svn 7 | 8 | 9 | 10 | 2012-01-25T23:59:40.349912Z 11 | 74 12 | csilvers 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 6586e3c6-dcc4-952a-343f-ff74eb82781d 28 | 29 | gflags.html 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:13:13.418076Z 36 | 502d44d2e76f7a714b719d82aca8d01d 37 | 2012-01-25T23:59:40.349912Z 38 | 74 39 | csilvers 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 22381 62 | 63 | designstyle.css 64 | file 65 | 66 | 67 | 68 | 69 | 2013-08-28T03:13:13.418076Z 70 | f2f0e7cf3ebe55371ac6fd753a8b7d3f 71 | 2007-03-28T21:54:07.615853Z 72 | 11 73 | csilvers 74 | has-props 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 2048 96 | 97 | -------------------------------------------------------------------------------- /src/third_party/gflags/doc/.svn/prop-base/designstyle.css.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 8 4 | text/css 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/doc/.svn/prop-base/gflags.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 9 4 | text/html 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/.svn/text-base/ac_have_attribute.m4.svn-base: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___ATTRIBUTE__], [ 2 | AC_MSG_CHECKING(for __attribute__) 3 | AC_CACHE_VAL(ac_cv___attribute__, [ 4 | AC_TRY_COMPILE( 5 | [#include 6 | static void foo(void) __attribute__ ((unused)); 7 | void foo(void) { exit(1); }], 8 | [], 9 | ac_cv___attribute__=yes, 10 | ac_cv___attribute__=no 11 | )]) 12 | if test "$ac_cv___attribute__" = "yes"; then 13 | AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__]) 14 | fi 15 | AC_MSG_RESULT($ac_cv___attribute__) 16 | ]) 17 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/.svn/text-base/ltversion.m4.svn-base: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # Generated from ltversion.in. 11 | 12 | # serial 3017 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.2.6b]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3017]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.2.6b' 20 | macro_revision='1.3017' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/.svn/text-base/namespaces.m4.svn-base: -------------------------------------------------------------------------------- 1 | # Checks whether the compiler implements namespaces 2 | AC_DEFUN([AC_CXX_NAMESPACES], 3 | [AC_CACHE_CHECK(whether the compiler implements namespaces, 4 | ac_cv_cxx_namespaces, 5 | [AC_LANG_SAVE 6 | AC_LANG_CPLUSPLUS 7 | AC_TRY_COMPILE([namespace Outer { 8 | namespace Inner { int i = 0; }}], 9 | [using namespace Outer::Inner; return i;], 10 | ac_cv_cxx_namespaces=yes, 11 | ac_cv_cxx_namespaces=no) 12 | AC_LANG_RESTORE]) 13 | if test "$ac_cv_cxx_namespaces" = yes; then 14 | AC_DEFINE(HAVE_NAMESPACES, 1, [define if the compiler implements namespaces]) 15 | fi]) 16 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/.svn/text-base/stl_namespace.m4.svn-base: -------------------------------------------------------------------------------- 1 | # We check what namespace stl code like vector expects to be executed in 2 | 3 | AC_DEFUN([AC_CXX_STL_NAMESPACE], 4 | [AC_CACHE_CHECK( 5 | what namespace STL code is in, 6 | ac_cv_cxx_stl_namespace, 7 | [AC_REQUIRE([AC_CXX_NAMESPACES]) 8 | AC_LANG_SAVE 9 | AC_LANG_CPLUSPLUS 10 | AC_TRY_COMPILE([#include ], 11 | [vector t; return 0;], 12 | ac_cv_cxx_stl_namespace=none) 13 | AC_TRY_COMPILE([#include ], 14 | [std::vector t; return 0;], 15 | ac_cv_cxx_stl_namespace=std) 16 | AC_LANG_RESTORE]) 17 | if test "$ac_cv_cxx_stl_namespace" = none; then 18 | AC_DEFINE(STL_NAMESPACE,, 19 | [the namespace where STL code like vector<> is defined]) 20 | fi 21 | if test "$ac_cv_cxx_stl_namespace" = std; then 22 | AC_DEFINE(STL_NAMESPACE,std, 23 | [the namespace where STL code like vector<> is defined]) 24 | fi 25 | ]) 26 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/ac_have_attribute.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___ATTRIBUTE__], [ 2 | AC_MSG_CHECKING(for __attribute__) 3 | AC_CACHE_VAL(ac_cv___attribute__, [ 4 | AC_TRY_COMPILE( 5 | [#include 6 | static void foo(void) __attribute__ ((unused)); 7 | void foo(void) { exit(1); }], 8 | [], 9 | ac_cv___attribute__=yes, 10 | ac_cv___attribute__=no 11 | )]) 12 | if test "$ac_cv___attribute__" = "yes"; then 13 | AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__]) 14 | fi 15 | AC_MSG_RESULT($ac_cv___attribute__) 16 | ]) 17 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # Generated from ltversion.in. 11 | 12 | # serial 3017 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.2.6b]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3017]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.2.6b' 20 | macro_revision='1.3017' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/namespaces.m4: -------------------------------------------------------------------------------- 1 | # Checks whether the compiler implements namespaces 2 | AC_DEFUN([AC_CXX_NAMESPACES], 3 | [AC_CACHE_CHECK(whether the compiler implements namespaces, 4 | ac_cv_cxx_namespaces, 5 | [AC_LANG_SAVE 6 | AC_LANG_CPLUSPLUS 7 | AC_TRY_COMPILE([namespace Outer { 8 | namespace Inner { int i = 0; }}], 9 | [using namespace Outer::Inner; return i;], 10 | ac_cv_cxx_namespaces=yes, 11 | ac_cv_cxx_namespaces=no) 12 | AC_LANG_RESTORE]) 13 | if test "$ac_cv_cxx_namespaces" = yes; then 14 | AC_DEFINE(HAVE_NAMESPACES, 1, [define if the compiler implements namespaces]) 15 | fi]) 16 | -------------------------------------------------------------------------------- /src/third_party/gflags/m4/stl_namespace.m4: -------------------------------------------------------------------------------- 1 | # We check what namespace stl code like vector expects to be executed in 2 | 3 | AC_DEFUN([AC_CXX_STL_NAMESPACE], 4 | [AC_CACHE_CHECK( 5 | what namespace STL code is in, 6 | ac_cv_cxx_stl_namespace, 7 | [AC_REQUIRE([AC_CXX_NAMESPACES]) 8 | AC_LANG_SAVE 9 | AC_LANG_CPLUSPLUS 10 | AC_TRY_COMPILE([#include ], 11 | [vector t; return 0;], 12 | ac_cv_cxx_stl_namespace=none) 13 | AC_TRY_COMPILE([#include ], 14 | [std::vector t; return 0;], 15 | ac_cv_cxx_stl_namespace=std) 16 | AC_LANG_RESTORE]) 17 | if test "$ac_cv_cxx_stl_namespace" = none; then 18 | AC_DEFINE(STL_NAMESPACE,, 19 | [the namespace where STL code like vector<> is defined]) 20 | fi 21 | if test "$ac_cv_cxx_stl_namespace" = std; then 22 | AC_DEFINE(STL_NAMESPACE,std, 23 | [the namespace where STL code like vector<> is defined]) 24 | fi 25 | ]) 26 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 31 4 | /svn/!svn/ver/76/trunk/packages 5 | END 6 | deb.sh 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 38 10 | /svn/!svn/ver/29/trunk/packages/deb.sh 11 | END 12 | rpm.sh 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 38 16 | /svn/!svn/ver/52/trunk/packages/rpm.sh 17 | END 18 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 84 5 | http://gflags.googlecode.com/svn/trunk/packages 6 | http://gflags.googlecode.com/svn 7 | 8 | 9 | 10 | 2012-02-02T22:49:44.385287Z 11 | 76 12 | csilvers 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 6586e3c6-dcc4-952a-343f-ff74eb82781d 28 | 29 | deb 30 | dir 31 | 32 | rpm 33 | dir 34 | 35 | deb.sh 36 | file 37 | 38 | 39 | 40 | 41 | 2013-08-28T03:13:13.490077Z 42 | 4cabe7c902298ce2dcbc73b6377123a8 43 | 2009-04-15T21:57:04.675761Z 44 | 29 45 | csilvers 46 | has-props 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 2560 68 | 69 | rpm.sh 70 | file 71 | 72 | 73 | 74 | 75 | 2013-08-28T03:13:13.490077Z 76 | 28caea8e2d5daeeac9f8d2ff63cfe575 77 | 2011-07-29T04:26:49.162971Z 78 | 52 79 | csilvers 80 | has-props 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 2543 102 | 103 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/.svn/prop-base/deb.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/.svn/prop-base/rpm.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/prop-base/rules.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/text-base/compat.svn-base: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/text-base/control.svn-base: -------------------------------------------------------------------------------- 1 | Source: gflags 2 | Priority: optional 3 | Maintainer: Google Inc. and others 4 | Build-Depends: debhelper (>= 4.0.0), binutils 5 | Standards-Version: 3.6.1 6 | 7 | Package: libgflags-dev 8 | Section: libdevel 9 | Architecture: any 10 | Depends: libgflags0 (= ${Source-Version}) 11 | Description: a library that implements commandline flags 12 | processing. As such it's a replacement for getopt(). It has increased 13 | flexibility, including built-in support for C++ types like string, and 14 | the ability to define flags in the source file in which they're used. 15 | The devel package contains static and debug libraries and header files 16 | for developing applications that use the gflags package. 17 | 18 | Package: libgflags0 19 | Section: libs 20 | Architecture: any 21 | Depends: ${shlibs:Depends} 22 | Description: a library that implements commandline flags 23 | processing. As such it's a replacement for getopt(). It has increased 24 | flexibility, including built-in support for C++ types like string, and 25 | the ability to define flags in the source file in which they're used. 26 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/text-base/docs.svn-base: -------------------------------------------------------------------------------- 1 | AUTHORS 2 | COPYING 3 | ChangeLog 4 | INSTALL 5 | NEWS 6 | README 7 | doc/designstyle.css 8 | doc/gflags.html 9 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/text-base/libgflags-dev.dirs.svn-base: -------------------------------------------------------------------------------- 1 | usr/lib 2 | usr/lib/pkgconfig 3 | usr/include 4 | usr/include/google 5 | usr/include/gflags 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/text-base/libgflags-dev.install.svn-base: -------------------------------------------------------------------------------- 1 | usr/include/google/* 2 | usr/include/gflags/* 3 | usr/lib/lib*.so 4 | usr/lib/lib*.a 5 | usr/lib/*.la 6 | usr/lib/pkgconfig/*.pc 7 | debian/tmp/usr/include/google/* 8 | debian/tmp/usr/include/gflags/* 9 | debian/tmp/usr/lib/lib*.so 10 | debian/tmp/usr/lib/lib*.a 11 | debian/tmp/usr/lib/*.la 12 | debian/tmp/usr/lib/pkgconfig/*.pc 13 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/text-base/libgflags0.dirs.svn-base: -------------------------------------------------------------------------------- 1 | usr/lib 2 | usr/bin 3 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/.svn/text-base/libgflags0.install.svn-base: -------------------------------------------------------------------------------- 1 | usr/lib/lib*.so.* 2 | debian/tmp/usr/lib/lib*.so.* 3 | usr/bin/* 4 | debian/tmp/usr/bin/* 5 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/compat: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/control: -------------------------------------------------------------------------------- 1 | Source: gflags 2 | Priority: optional 3 | Maintainer: Google Inc. and others 4 | Build-Depends: debhelper (>= 4.0.0), binutils 5 | Standards-Version: 3.6.1 6 | 7 | Package: libgflags-dev 8 | Section: libdevel 9 | Architecture: any 10 | Depends: libgflags0 (= ${Source-Version}) 11 | Description: a library that implements commandline flags 12 | processing. As such it's a replacement for getopt(). It has increased 13 | flexibility, including built-in support for C++ types like string, and 14 | the ability to define flags in the source file in which they're used. 15 | The devel package contains static and debug libraries and header files 16 | for developing applications that use the gflags package. 17 | 18 | Package: libgflags0 19 | Section: libs 20 | Architecture: any 21 | Depends: ${shlibs:Depends} 22 | Description: a library that implements commandline flags 23 | processing. As such it's a replacement for getopt(). It has increased 24 | flexibility, including built-in support for C++ types like string, and 25 | the ability to define flags in the source file in which they're used. 26 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/docs: -------------------------------------------------------------------------------- 1 | AUTHORS 2 | COPYING 3 | ChangeLog 4 | INSTALL 5 | NEWS 6 | README 7 | doc/designstyle.css 8 | doc/gflags.html 9 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/libgflags-dev.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | usr/lib/pkgconfig 3 | usr/include 4 | usr/include/google 5 | usr/include/gflags 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/libgflags-dev.install: -------------------------------------------------------------------------------- 1 | usr/include/google/* 2 | usr/include/gflags/* 3 | usr/lib/lib*.so 4 | usr/lib/lib*.a 5 | usr/lib/*.la 6 | usr/lib/pkgconfig/*.pc 7 | debian/tmp/usr/include/google/* 8 | debian/tmp/usr/include/gflags/* 9 | debian/tmp/usr/lib/lib*.so 10 | debian/tmp/usr/lib/lib*.a 11 | debian/tmp/usr/lib/*.la 12 | debian/tmp/usr/lib/pkgconfig/*.pc 13 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/libgflags0.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | usr/bin 3 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/deb/libgflags0.install: -------------------------------------------------------------------------------- 1 | usr/lib/lib*.so.* 2 | debian/tmp/usr/lib/lib*.so.* 3 | usr/bin/* 4 | debian/tmp/usr/bin/* 5 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/rpm/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 35 4 | /svn/!svn/ver/74/trunk/packages/rpm 5 | END 6 | rpm.spec 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 44 10 | /svn/!svn/ver/74/trunk/packages/rpm/rpm.spec 11 | END 12 | -------------------------------------------------------------------------------- /src/third_party/gflags/packages/rpm/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 84 5 | http://gflags.googlecode.com/svn/trunk/packages/rpm 6 | http://gflags.googlecode.com/svn 7 | 8 | 9 | 10 | 2012-01-25T23:59:40.349912Z 11 | 74 12 | csilvers 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 6586e3c6-dcc4-952a-343f-ff74eb82781d 28 | 29 | rpm.spec 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:13:13.490077Z 36 | e6cba8b16a62ee87ff7ddaa1b0c64e58 37 | 2012-01-25T23:59:40.349912Z 38 | 74 39 | csilvers 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 2606 62 | 63 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/.svn/prop-base/gflags_completions.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/.svn/prop-base/gflags_strip_flags_test.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/.svn/prop-base/gflags_unittest.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/.svn/text-base/gflags_unittest_flagfile.svn-base: -------------------------------------------------------------------------------- 1 | --test_flag=1 2 | --test_flag=2 3 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/gflags/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 33 4 | /svn/!svn/ver/82/trunk/src/gflags 5 | END 6 | gflags_completions.h.in 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 57 10 | /svn/!svn/ver/78/trunk/src/gflags/gflags_completions.h.in 11 | END 12 | gflags_declare.h.in 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 53 16 | /svn/!svn/ver/78/trunk/src/gflags/gflags_declare.h.in 17 | END 18 | gflags.h.in 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 45 22 | /svn/!svn/ver/82/trunk/src/gflags/gflags.h.in 23 | END 24 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/gflags_unittest_flagfile: -------------------------------------------------------------------------------- 1 | --test_flag=1 2 | --test_flag=2 3 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/google/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 33 4 | /svn/!svn/ver/25/trunk/src/google 5 | END 6 | gflags_completions.h 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 54 10 | /svn/!svn/ver/25/trunk/src/google/gflags_completions.h 11 | END 12 | gflags.h 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 42 16 | /svn/!svn/ver/25/trunk/src/google/gflags.h 17 | END 18 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/google/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 84 5 | http://gflags.googlecode.com/svn/trunk/src/google 6 | http://gflags.googlecode.com/svn 7 | 8 | 9 | 10 | 2008-08-21T00:50:59.350615Z 11 | 25 12 | csilvers 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 6586e3c6-dcc4-952a-343f-ff74eb82781d 28 | 29 | gflags.h 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:13:13.322076Z 36 | f2dc6326889fb277fc8d83545a371fcc 37 | 2008-08-21T00:50:59.350615Z 38 | 25 39 | csilvers 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 1779 62 | 63 | gflags_completions.h 64 | file 65 | 66 | 67 | 68 | 69 | 2013-08-28T03:13:13.322076Z 70 | da896549090f30e43a5634fddb9aac94 71 | 2008-08-21T00:50:59.350615Z 72 | 25 73 | csilvers 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 1803 96 | 97 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/solaris/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 34 4 | /svn/!svn/ver/31/trunk/src/solaris 5 | END 6 | libstdc++.la 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 47 10 | /svn/!svn/ver/31/trunk/src/solaris/libstdc++.la 11 | END 12 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/solaris/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 84 5 | http://gflags.googlecode.com/svn/trunk/src/solaris 6 | http://gflags.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-07-17T21:43:52.950797Z 11 | 31 12 | csilvers 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 6586e3c6-dcc4-952a-343f-ff74eb82781d 28 | 29 | libstdc++.la 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:13:13.326076Z 36 | a987cc4c2b531fce6a69404f5f42f5e0 37 | 2009-07-17T21:43:52.950797Z 38 | 31 39 | csilvers 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 1517 62 | 63 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/stamp-h1: -------------------------------------------------------------------------------- 1 | timestamp for src/config.h 2 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/windows/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 34 4 | /svn/!svn/ver/80/trunk/src/windows 5 | END 6 | port.cc 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 42 10 | /svn/!svn/ver/54/trunk/src/windows/port.cc 11 | END 12 | port.h 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 41 16 | /svn/!svn/ver/80/trunk/src/windows/port.h 17 | END 18 | config.h 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 43 22 | /svn/!svn/ver/43/trunk/src/windows/config.h 23 | END 24 | -------------------------------------------------------------------------------- /src/third_party/gflags/src/windows/gflags/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 41 4 | /svn/!svn/ver/71/trunk/src/windows/gflags 5 | END 6 | gflags_declare.h 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 58 10 | /svn/!svn/ver/60/trunk/src/windows/gflags/gflags_declare.h 11 | END 12 | gflags.h 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 50 16 | /svn/!svn/ver/71/trunk/src/windows/gflags/gflags.h 17 | END 18 | gflags_completions.h 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 62 22 | /svn/!svn/ver/60/trunk/src/windows/gflags/gflags_completions.h 23 | END 24 | -------------------------------------------------------------------------------- /src/third_party/gflags/vsprojects/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 33 4 | /svn/!svn/ver/80/trunk/vsprojects 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/gflags/vsprojects/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 84 5 | http://gflags.googlecode.com/svn/trunk/vsprojects 6 | http://gflags.googlecode.com/svn 7 | 8 | 9 | 10 | 2012-11-20T14:48:22.023354Z 11 | 80 12 | andreas.schuh.84@gmail.com 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 6586e3c6-dcc4-952a-343f-ff74eb82781d 28 | 29 | gflags_unittest 30 | dir 31 | 32 | libgflags 33 | dir 34 | 35 | -------------------------------------------------------------------------------- /src/third_party/gflags/vsprojects/gflags_unittest/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 49 4 | /svn/!svn/ver/80/trunk/vsprojects/gflags_unittest 5 | END 6 | gflags_unittest-vs2010.vcxproj 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 80 10 | /svn/!svn/ver/80/trunk/vsprojects/gflags_unittest/gflags_unittest-vs2010.vcxproj 11 | END 12 | gflags_unittest-vs2012.vcxproj 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 80 16 | /svn/!svn/ver/80/trunk/vsprojects/gflags_unittest/gflags_unittest-vs2012.vcxproj 17 | END 18 | gflags_unittest-vs2003.vcproj 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 79 22 | /svn/!svn/ver/80/trunk/vsprojects/gflags_unittest/gflags_unittest-vs2003.vcproj 23 | END 24 | -------------------------------------------------------------------------------- /src/third_party/gflags/vsprojects/libgflags/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 43 4 | /svn/!svn/ver/80/trunk/vsprojects/libgflags 5 | END 6 | libgflags-vs2003.vcproj 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 67 10 | /svn/!svn/ver/80/trunk/vsprojects/libgflags/libgflags-vs2003.vcproj 11 | END 12 | libgflags-vs2010.vcxproj 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 68 16 | /svn/!svn/ver/80/trunk/vsprojects/libgflags/libgflags-vs2010.vcxproj 17 | END 18 | libgflags-vs2012.vcxproj 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 68 22 | /svn/!svn/ver/80/trunk/vsprojects/libgflags/libgflags-vs2012.vcxproj 23 | END 24 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/dir-prop-base: -------------------------------------------------------------------------------- 1 | K 10 2 | svn:ignore 3 | V 15 4 | autom4te.cache 5 | 6 | END 7 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/compile.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/config.guess.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/config.sub.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/configure.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/depcomp.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/google-glog.sln.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | K 13 6 | svn:mime-type 7 | V 24 8 | application/octet-stream 9 | END 10 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/install-sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/missing.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/prop-base/mkinstalldirs.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/text-base/AUTHORS.svn-base: -------------------------------------------------------------------------------- 1 | opensource@google.com 2 | 3 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/text-base/NEWS.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/third_party/google-glog/.svn/text-base/NEWS.svn-base -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/text-base/README.svn-base: -------------------------------------------------------------------------------- 1 | This repository contains a C++ implementation of the Google logging 2 | module. Documentation for the implementation is in doc/. 3 | 4 | See INSTALL for (generic) installation instructions for C++: basically 5 | ./configure && make && make install 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/text-base/README.windows.svn-base: -------------------------------------------------------------------------------- 1 | This project has begun being ported to Windows. A working solution 2 | file exists in this directory: 3 | google-glog.sln 4 | 5 | You can load this solution file into VC++ 9.0 (Visual Studio 6 | 2008). You may also be able to use this solution file with older 7 | Visual Studios by converting the solution file. 8 | 9 | Note that stack tracing and some unittests are not ported 10 | yet. 11 | 12 | You can also link glog code in statically -- see the example project 13 | libglog_static and logging_unittest_static, which does this. For this 14 | to work, you'll need to add "/D GOOGLE_GLOG_DLL_DECL=" to the compile 15 | line of every glog's .cc file. 16 | 17 | I have little experience with Windows programming, so there may be 18 | better ways to set this up than I've done! If you run across any 19 | problems, please post to the google-glog Google Group, or report 20 | them on the google-glog Google Code site: 21 | http://groups.google.com/group/google-glog 22 | http://code.google.com/p/google-glog/issues/list 23 | 24 | -- Shinichiro Hamaji 25 | 26 | Last modified: 23 January 2009 27 | -------------------------------------------------------------------------------- /src/third_party/google-glog/.svn/text-base/libglog.pc.in.svn-base: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libglog 7 | Description: Google Log (glog) C++ logging framework 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lglog 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /src/third_party/google-glog/AUTHORS: -------------------------------------------------------------------------------- 1 | opensource@google.com 2 | 3 | -------------------------------------------------------------------------------- /src/third_party/google-glog/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/third_party/google-glog/NEWS -------------------------------------------------------------------------------- /src/third_party/google-glog/README: -------------------------------------------------------------------------------- 1 | This repository contains a C++ implementation of the Google logging 2 | module. Documentation for the implementation is in doc/. 3 | 4 | See INSTALL for (generic) installation instructions for C++: basically 5 | ./configure && make && make install 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/README.cloudproxy: -------------------------------------------------------------------------------- 1 | Version r137 from svn repo http://google-glog.googlecode.com/svn/trunk/ 2 | 3 | License: BSD (see file COPYING) 4 | 5 | This is an unmodified copy of r137 after running ./configure on Linux. 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/README.windows: -------------------------------------------------------------------------------- 1 | This project has begun being ported to Windows. A working solution 2 | file exists in this directory: 3 | google-glog.sln 4 | 5 | You can load this solution file into VC++ 9.0 (Visual Studio 6 | 2008). You may also be able to use this solution file with older 7 | Visual Studios by converting the solution file. 8 | 9 | Note that stack tracing and some unittests are not ported 10 | yet. 11 | 12 | You can also link glog code in statically -- see the example project 13 | libglog_static and logging_unittest_static, which does this. For this 14 | to work, you'll need to add "/D GOOGLE_GLOG_DLL_DECL=" to the compile 15 | line of every glog's .cc file. 16 | 17 | I have little experience with Windows programming, so there may be 18 | better ways to set this up than I've done! If you run across any 19 | problems, please post to the google-glog Google Group, or report 20 | them on the google-glog Google Code site: 21 | http://groups.google.com/group/google-glog 22 | http://code.google.com/p/google-glog/issues/list 23 | 24 | -- Shinichiro Hamaji 25 | 26 | Last modified: 23 January 2009 27 | -------------------------------------------------------------------------------- /src/third_party/google-glog/doc/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 27 4 | /svn/!svn/ver/126/trunk/doc 5 | END 6 | glog.html 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 37 10 | /svn/!svn/ver/126/trunk/doc/glog.html 11 | END 12 | designstyle.css 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 41 16 | /svn/!svn/ver/3/trunk/doc/designstyle.css 17 | END 18 | -------------------------------------------------------------------------------- /src/third_party/google-glog/doc/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/doc 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2013-01-25T06:03:56.601505Z 11 | 126 12 | shinichiro.hamaji@gmail.com 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | glog.html 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:00:46.470147Z 36 | 4647d82944cb1f74488ac678a9773e7d 37 | 2013-01-25T06:03:56.601505Z 38 | 126 39 | shinichiro.hamaji@gmail.com 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 22355 62 | 63 | designstyle.css 64 | file 65 | 66 | 67 | 68 | 69 | 2013-08-28T03:00:46.466147Z 70 | f2f0e7cf3ebe55371ac6fd753a8b7d3f 71 | 2008-10-08T11:20:32.021747Z 72 | 3 73 | shinichiro.hamaji 74 | has-props 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 2048 96 | 97 | -------------------------------------------------------------------------------- /src/third_party/google-glog/doc/.svn/prop-base/designstyle.css.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 8 4 | text/css 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/doc/.svn/prop-base/glog.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 9 4 | text/html 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/libglog.pc: -------------------------------------------------------------------------------- 1 | prefix=/usr/local 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: libglog 7 | Description: Google Log (glog) C++ logging framework 8 | Version: 0.3.3 9 | Libs: -L${libdir} -lglog 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /src/third_party/google-glog/libglog.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libglog 7 | Description: Google Log (glog) C++ logging framework 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lglog 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/.svn/text-base/ac_have_attribute.m4.svn-base: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___ATTRIBUTE__], [ 2 | AC_MSG_CHECKING(for __attribute__) 3 | AC_CACHE_VAL(ac_cv___attribute__, [ 4 | AC_TRY_COMPILE( 5 | [#include 6 | static void foo(void) __attribute__ ((unused)); 7 | void foo(void) { exit(1); }], 8 | [], 9 | ac_cv___attribute__=yes, 10 | ac_cv___attribute__=no 11 | )]) 12 | if test "$ac_cv___attribute__" = "yes"; then 13 | AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__]) 14 | fi 15 | AC_MSG_RESULT($ac_cv___attribute__) 16 | ]) 17 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/.svn/text-base/ac_have_builtin_expect.m4.svn-base: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___BUILTIN_EXPECT], [ 2 | AC_MSG_CHECKING(for __builtin_expect) 3 | AC_CACHE_VAL(ac_cv___builtin_expect, [ 4 | AC_TRY_COMPILE( 5 | [int foo(void) { if (__builtin_expect(0, 0)) return 1; return 0; }], 6 | [], 7 | ac_cv___builtin_expect=yes, 8 | ac_cv___builtin_expect=no 9 | )]) 10 | if test "$ac_cv___builtin_expect" = "yes"; then 11 | AC_DEFINE(HAVE___BUILTIN_EXPECT, 1, [define if your compiler has __builtin_expect]) 12 | fi 13 | AC_MSG_RESULT($ac_cv___builtin_expect) 14 | ]) 15 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/.svn/text-base/ac_have_sync_val_compare_and_swap.m4.svn-base: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___SYNC_VAL_COMPARE_AND_SWAP], [ 2 | AC_MSG_CHECKING(for __sync_val_compare_and_swap) 3 | AC_CACHE_VAL(ac_cv___sync_val_compare_and_swap, [ 4 | AC_TRY_LINK( 5 | [], 6 | [int a; if (__sync_val_compare_and_swap(&a, 0, 1)) return 1; return 0;], 7 | ac_cv___sync_val_compare_and_swap=yes, 8 | ac_cv___sync_val_compare_and_swap=no 9 | )]) 10 | if test "$ac_cv___sync_val_compare_and_swap" = "yes"; then 11 | AC_DEFINE(HAVE___SYNC_VAL_COMPARE_AND_SWAP, 1, [define if your compiler has __sync_val_compare_and_swap]) 12 | fi 13 | AC_MSG_RESULT($ac_cv___sync_val_compare_and_swap) 14 | ]) 15 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/.svn/text-base/ltversion.m4.svn-base: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 3337 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.2]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3337]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.2' 20 | macro_revision='1.3337' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/.svn/text-base/namespaces.m4.svn-base: -------------------------------------------------------------------------------- 1 | # Checks whether the compiler implements namespaces 2 | AC_DEFUN([AC_CXX_NAMESPACES], 3 | [AC_CACHE_CHECK(whether the compiler implements namespaces, 4 | ac_cv_cxx_namespaces, 5 | [AC_LANG_SAVE 6 | AC_LANG_CPLUSPLUS 7 | AC_TRY_COMPILE([namespace Outer { 8 | namespace Inner { int i = 0; }}], 9 | [using namespace Outer::Inner; return i;], 10 | ac_cv_cxx_namespaces=yes, 11 | ac_cv_cxx_namespaces=no) 12 | AC_LANG_RESTORE]) 13 | if test "$ac_cv_cxx_namespaces" = yes; then 14 | AC_DEFINE(HAVE_NAMESPACES, 1, [define if the compiler implements namespaces]) 15 | fi]) 16 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/.svn/text-base/stl_namespace.m4.svn-base: -------------------------------------------------------------------------------- 1 | # We check what namespace stl code like vector expects to be executed in 2 | 3 | AC_DEFUN([AC_CXX_STL_NAMESPACE], 4 | [AC_CACHE_CHECK( 5 | what namespace STL code is in, 6 | ac_cv_cxx_stl_namespace, 7 | [AC_REQUIRE([AC_CXX_NAMESPACES]) 8 | AC_LANG_SAVE 9 | AC_LANG_CPLUSPLUS 10 | AC_TRY_COMPILE([#include ], 11 | [vector t; return 0;], 12 | ac_cv_cxx_stl_namespace=none) 13 | AC_TRY_COMPILE([#include ], 14 | [std::vector t; return 0;], 15 | ac_cv_cxx_stl_namespace=std) 16 | AC_LANG_RESTORE]) 17 | if test "$ac_cv_cxx_stl_namespace" = none; then 18 | AC_DEFINE(STL_NAMESPACE,, 19 | [the namespace where STL code like vector<> is defined]) 20 | fi 21 | if test "$ac_cv_cxx_stl_namespace" = std; then 22 | AC_DEFINE(STL_NAMESPACE,std, 23 | [the namespace where STL code like vector<> is defined]) 24 | fi 25 | ]) 26 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/.svn/text-base/using_operator.m4.svn-base: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AC_CXX_USING_OPERATOR], 2 | [AC_CACHE_CHECK( 3 | whether compiler supports using ::operator<<, 4 | ac_cv_cxx_using_operator, 5 | [AC_LANG_SAVE 6 | AC_LANG_CPLUSPLUS 7 | AC_TRY_COMPILE([#include 8 | std::ostream& operator<<(std::ostream&, struct s);], 9 | [using ::operator<<; return 0;], 10 | ac_cv_cxx_using_operator=1, 11 | ac_cv_cxx_using_operator=0) 12 | AC_LANG_RESTORE]) 13 | if test "$ac_cv_cxx_using_operator" = 1; then 14 | AC_DEFINE(HAVE_USING_OPERATOR, 1, [define if the compiler supports using expression for operator]) 15 | fi]) 16 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/ac_have_attribute.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___ATTRIBUTE__], [ 2 | AC_MSG_CHECKING(for __attribute__) 3 | AC_CACHE_VAL(ac_cv___attribute__, [ 4 | AC_TRY_COMPILE( 5 | [#include 6 | static void foo(void) __attribute__ ((unused)); 7 | void foo(void) { exit(1); }], 8 | [], 9 | ac_cv___attribute__=yes, 10 | ac_cv___attribute__=no 11 | )]) 12 | if test "$ac_cv___attribute__" = "yes"; then 13 | AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__]) 14 | fi 15 | AC_MSG_RESULT($ac_cv___attribute__) 16 | ]) 17 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/ac_have_builtin_expect.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___BUILTIN_EXPECT], [ 2 | AC_MSG_CHECKING(for __builtin_expect) 3 | AC_CACHE_VAL(ac_cv___builtin_expect, [ 4 | AC_TRY_COMPILE( 5 | [int foo(void) { if (__builtin_expect(0, 0)) return 1; return 0; }], 6 | [], 7 | ac_cv___builtin_expect=yes, 8 | ac_cv___builtin_expect=no 9 | )]) 10 | if test "$ac_cv___builtin_expect" = "yes"; then 11 | AC_DEFINE(HAVE___BUILTIN_EXPECT, 1, [define if your compiler has __builtin_expect]) 12 | fi 13 | AC_MSG_RESULT($ac_cv___builtin_expect) 14 | ]) 15 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/ac_have_sync_val_compare_and_swap.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AX_C___SYNC_VAL_COMPARE_AND_SWAP], [ 2 | AC_MSG_CHECKING(for __sync_val_compare_and_swap) 3 | AC_CACHE_VAL(ac_cv___sync_val_compare_and_swap, [ 4 | AC_TRY_LINK( 5 | [], 6 | [int a; if (__sync_val_compare_and_swap(&a, 0, 1)) return 1; return 0;], 7 | ac_cv___sync_val_compare_and_swap=yes, 8 | ac_cv___sync_val_compare_and_swap=no 9 | )]) 10 | if test "$ac_cv___sync_val_compare_and_swap" = "yes"; then 11 | AC_DEFINE(HAVE___SYNC_VAL_COMPARE_AND_SWAP, 1, [define if your compiler has __sync_val_compare_and_swap]) 12 | fi 13 | AC_MSG_RESULT($ac_cv___sync_val_compare_and_swap) 14 | ]) 15 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 3337 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.2]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3337]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.2' 20 | macro_revision='1.3337' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/namespaces.m4: -------------------------------------------------------------------------------- 1 | # Checks whether the compiler implements namespaces 2 | AC_DEFUN([AC_CXX_NAMESPACES], 3 | [AC_CACHE_CHECK(whether the compiler implements namespaces, 4 | ac_cv_cxx_namespaces, 5 | [AC_LANG_SAVE 6 | AC_LANG_CPLUSPLUS 7 | AC_TRY_COMPILE([namespace Outer { 8 | namespace Inner { int i = 0; }}], 9 | [using namespace Outer::Inner; return i;], 10 | ac_cv_cxx_namespaces=yes, 11 | ac_cv_cxx_namespaces=no) 12 | AC_LANG_RESTORE]) 13 | if test "$ac_cv_cxx_namespaces" = yes; then 14 | AC_DEFINE(HAVE_NAMESPACES, 1, [define if the compiler implements namespaces]) 15 | fi]) 16 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/stl_namespace.m4: -------------------------------------------------------------------------------- 1 | # We check what namespace stl code like vector expects to be executed in 2 | 3 | AC_DEFUN([AC_CXX_STL_NAMESPACE], 4 | [AC_CACHE_CHECK( 5 | what namespace STL code is in, 6 | ac_cv_cxx_stl_namespace, 7 | [AC_REQUIRE([AC_CXX_NAMESPACES]) 8 | AC_LANG_SAVE 9 | AC_LANG_CPLUSPLUS 10 | AC_TRY_COMPILE([#include ], 11 | [vector t; return 0;], 12 | ac_cv_cxx_stl_namespace=none) 13 | AC_TRY_COMPILE([#include ], 14 | [std::vector t; return 0;], 15 | ac_cv_cxx_stl_namespace=std) 16 | AC_LANG_RESTORE]) 17 | if test "$ac_cv_cxx_stl_namespace" = none; then 18 | AC_DEFINE(STL_NAMESPACE,, 19 | [the namespace where STL code like vector<> is defined]) 20 | fi 21 | if test "$ac_cv_cxx_stl_namespace" = std; then 22 | AC_DEFINE(STL_NAMESPACE,std, 23 | [the namespace where STL code like vector<> is defined]) 24 | fi 25 | ]) 26 | -------------------------------------------------------------------------------- /src/third_party/google-glog/m4/using_operator.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([AC_CXX_USING_OPERATOR], 2 | [AC_CACHE_CHECK( 3 | whether compiler supports using ::operator<<, 4 | ac_cv_cxx_using_operator, 5 | [AC_LANG_SAVE 6 | AC_LANG_CPLUSPLUS 7 | AC_TRY_COMPILE([#include 8 | std::ostream& operator<<(std::ostream&, struct s);], 9 | [using ::operator<<; return 0;], 10 | ac_cv_cxx_using_operator=1, 11 | ac_cv_cxx_using_operator=0) 12 | AC_LANG_RESTORE]) 13 | if test "$ac_cv_cxx_using_operator" = 1; then 14 | AC_DEFINE(HAVE_USING_OPERATOR, 1, [define if the compiler supports using expression for operator]) 15 | fi]) 16 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 32 4 | /svn/!svn/ver/132/trunk/packages 5 | END 6 | deb.sh 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 38 10 | /svn/!svn/ver/15/trunk/packages/deb.sh 11 | END 12 | rpm.sh 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 37 16 | /svn/!svn/ver/2/trunk/packages/rpm.sh 17 | END 18 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/packages 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2013-02-01T06:20:46.761995Z 11 | 132 12 | shinichiro.hamaji@gmail.com 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | rpm.sh 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:00:46.510148Z 36 | 1c12bcc9f6f05ff98514e2f0224e616c 37 | 2008-10-07T05:43:05.016229Z 38 | 2 39 | shinichiro.hamaji 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 2135 62 | 63 | deb 64 | dir 65 | 66 | rpm 67 | dir 68 | 69 | deb.sh 70 | file 71 | 72 | 73 | 74 | 75 | 2013-08-28T03:00:46.510148Z 76 | 5429391f8cda528c906e83d20e4a9f25 77 | 2008-11-04T07:09:16.838775Z 78 | 15 79 | shinichiro.hamaji 80 | has-props 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 2351 102 | 103 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/.svn/prop-base/deb.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/.svn/prop-base/rpm.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/prop-base/rules.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/README.svn-base: -------------------------------------------------------------------------------- 1 | The list of files here isn't complete. For a step-by-step guide on 2 | how to set this package up correctly, check out 3 | http://www.debian.org/doc/maint-guide/ 4 | 5 | Most of the files that are in this directory are boilerplate. 6 | However, you may need to change the list of binary-arch dependencies 7 | in 'rules'. 8 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/compat.svn-base: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/control.svn-base: -------------------------------------------------------------------------------- 1 | Source: google-glog 2 | Priority: optional 3 | Maintainer: Google Inc. 4 | Build-Depends: debhelper (>= 4.0.0), binutils 5 | Standards-Version: 3.6.1 6 | 7 | Package: libgoogle-glog-dev 8 | Section: libdevel 9 | Architecture: any 10 | Depends: libgoogle-glog0 (= ${Source-Version}) 11 | Description: a library that implements application-level logging. 12 | This library provides logging APIs based on C++-style streams and 13 | various helper macros. The devel package contains static and debug 14 | libraries and header files for developing applications that use the 15 | google-glog package. 16 | 17 | Package: libgoogle-glog0 18 | Section: libs 19 | Architecture: any 20 | Depends: ${shlibs:Depends} 21 | Description: a library that implements application-level logging. 22 | This library provides logging APIs based on C++-style streams and 23 | various helper macros. 24 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/docs.svn-base: -------------------------------------------------------------------------------- 1 | AUTHORS 2 | COPYING 3 | ChangeLog 4 | INSTALL 5 | NEWS 6 | README 7 | doc/designstyle.css 8 | doc/glog.html 9 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/libgoogle-glog-dev.dirs.svn-base: -------------------------------------------------------------------------------- 1 | usr/lib 2 | usr/lib/pkgconfig 3 | usr/include 4 | usr/include/glog 5 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/libgoogle-glog-dev.install.svn-base: -------------------------------------------------------------------------------- 1 | usr/include/glog/* 2 | usr/lib/lib*.so 3 | usr/lib/lib*.a 4 | usr/lib/*.la 5 | usr/lib/pkgconfig/* 6 | debian/tmp/usr/include/glog/* 7 | debian/tmp/usr/lib/lib*.so 8 | debian/tmp/usr/lib/lib*.a 9 | debian/tmp/usr/lib/*.la 10 | debian/tmp/usr/lib/pkgconfig/* 11 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/libgoogle-glog0.dirs.svn-base: -------------------------------------------------------------------------------- 1 | usr/lib 2 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/.svn/text-base/libgoogle-glog0.install.svn-base: -------------------------------------------------------------------------------- 1 | usr/lib/lib*.so.* 2 | debian/tmp/usr/lib/lib*.so.* 3 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/README: -------------------------------------------------------------------------------- 1 | The list of files here isn't complete. For a step-by-step guide on 2 | how to set this package up correctly, check out 3 | http://www.debian.org/doc/maint-guide/ 4 | 5 | Most of the files that are in this directory are boilerplate. 6 | However, you may need to change the list of binary-arch dependencies 7 | in 'rules'. 8 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/compat: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/control: -------------------------------------------------------------------------------- 1 | Source: google-glog 2 | Priority: optional 3 | Maintainer: Google Inc. 4 | Build-Depends: debhelper (>= 4.0.0), binutils 5 | Standards-Version: 3.6.1 6 | 7 | Package: libgoogle-glog-dev 8 | Section: libdevel 9 | Architecture: any 10 | Depends: libgoogle-glog0 (= ${Source-Version}) 11 | Description: a library that implements application-level logging. 12 | This library provides logging APIs based on C++-style streams and 13 | various helper macros. The devel package contains static and debug 14 | libraries and header files for developing applications that use the 15 | google-glog package. 16 | 17 | Package: libgoogle-glog0 18 | Section: libs 19 | Architecture: any 20 | Depends: ${shlibs:Depends} 21 | Description: a library that implements application-level logging. 22 | This library provides logging APIs based on C++-style streams and 23 | various helper macros. 24 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/docs: -------------------------------------------------------------------------------- 1 | AUTHORS 2 | COPYING 3 | ChangeLog 4 | INSTALL 5 | NEWS 6 | README 7 | doc/designstyle.css 8 | doc/glog.html 9 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/libgoogle-glog-dev.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | usr/lib/pkgconfig 3 | usr/include 4 | usr/include/glog 5 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/libgoogle-glog-dev.install: -------------------------------------------------------------------------------- 1 | usr/include/glog/* 2 | usr/lib/lib*.so 3 | usr/lib/lib*.a 4 | usr/lib/*.la 5 | usr/lib/pkgconfig/* 6 | debian/tmp/usr/include/glog/* 7 | debian/tmp/usr/lib/lib*.so 8 | debian/tmp/usr/lib/lib*.a 9 | debian/tmp/usr/lib/*.la 10 | debian/tmp/usr/lib/pkgconfig/* 11 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/libgoogle-glog0.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/deb/libgoogle-glog0.install: -------------------------------------------------------------------------------- 1 | usr/lib/lib*.so.* 2 | debian/tmp/usr/lib/lib*.so.* 3 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/rpm/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 35 4 | /svn/!svn/ver/46/trunk/packages/rpm 5 | END 6 | rpm.spec 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 44 10 | /svn/!svn/ver/46/trunk/packages/rpm/rpm.spec 11 | END 12 | -------------------------------------------------------------------------------- /src/third_party/google-glog/packages/rpm/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/packages/rpm 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-04-10T05:49:58.610451Z 11 | 46 12 | shinichiro.hamaji 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | rpm.spec 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:00:46.510148Z 36 | 70a0eac4b89ffd3c8a8a301e115b8e7d 37 | 2009-04-10T05:49:58.610451Z 38 | 46 39 | shinichiro.hamaji 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 1816 62 | 63 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/.svn/prop-base/demangle_unittest.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/.svn/prop-base/logging_striplog_test.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/.svn/prop-base/signalhandler_unittest.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/base/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 32 4 | /svn/!svn/ver/125/trunk/src/base 5 | END 6 | googleinit.h 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 45 10 | /svn/!svn/ver/107/trunk/src/base/googleinit.h 11 | END 12 | mutex.h 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 40 16 | /svn/!svn/ver/112/trunk/src/base/mutex.h 17 | END 18 | commandlineflags.h 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 51 22 | /svn/!svn/ver/125/trunk/src/base/commandlineflags.h 23 | END 24 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/config.h: -------------------------------------------------------------------------------- 1 | #ifdef TARGET_ARCH_IA32 2 | #include "config_ia32.h" 3 | #else 4 | #include "config_x64.h" 5 | #endif 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/glog/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 32 4 | /svn/!svn/ver/134/trunk/src/glog 5 | END 6 | logging.h.in 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 45 10 | /svn/!svn/ver/129/trunk/src/glog/logging.h.in 11 | END 12 | log_severity.h 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 47 16 | /svn/!svn/ver/101/trunk/src/glog/log_severity.h 17 | END 18 | stl_logging.h.in 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 49 22 | /svn/!svn/ver/134/trunk/src/glog/stl_logging.h.in 23 | END 24 | vlog_is_on.h.in 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 47 28 | /svn/!svn/ver/82/trunk/src/glog/vlog_is_on.h.in 29 | END 30 | raw_logging.h.in 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 49 34 | /svn/!svn/ver/101/trunk/src/glog/raw_logging.h.in 35 | END 36 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/stamp-h1: -------------------------------------------------------------------------------- 1 | timestamp for src/config.h 2 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 35 4 | /svn/!svn/ver/135/trunk/src/windows 5 | END 6 | port.cc 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 42 10 | /svn/!svn/ver/23/trunk/src/windows/port.cc 11 | END 12 | port.h 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 42 16 | /svn/!svn/ver/135/trunk/src/windows/port.h 17 | END 18 | config.h 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 44 22 | /svn/!svn/ver/135/trunk/src/windows/config.h 23 | END 24 | preprocess.sh 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 49 28 | /svn/!svn/ver/119/trunk/src/windows/preprocess.sh 29 | END 30 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/.svn/prop-base/config.h.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/.svn/prop-base/port.cc.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/.svn/prop-base/port.h.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/.svn/prop-base/preprocess.sh.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/.svn/text-base/config.h.svn-base: -------------------------------------------------------------------------------- 1 | /* src/config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* Namespace for Google classes */ 4 | #define GOOGLE_NAMESPACE google 5 | 6 | /* Stops putting the code inside the Google namespace */ 7 | #define _END_GOOGLE_NAMESPACE_ } 8 | 9 | /* Puts following code inside the Google namespace */ 10 | #define _START_GOOGLE_NAMESPACE_ namespace google { 11 | 12 | /* Always the empty-string on non-windows systems. On windows, should be 13 | "__declspec(dllexport)". This way, when we compile the dll, we export our 14 | functions/classes. It's safe to define this here because config.h is only 15 | used internally, to compile the DLL, and every DLL source file #includes 16 | "config.h" before anything else. */ 17 | #ifndef GOOGLE_GLOG_DLL_DECL 18 | # define GOOGLE_GLOG_IS_A_DLL 1 /* not set if you're statically linking */ 19 | # define GOOGLE_GLOG_DLL_DECL __declspec(dllexport) 20 | # define GOOGLE_GLOG_DLL_DECL_FOR_UNITTESTS __declspec(dllimport) 21 | #endif 22 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/config.h: -------------------------------------------------------------------------------- 1 | /* src/config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* Namespace for Google classes */ 4 | #define GOOGLE_NAMESPACE google 5 | 6 | /* Stops putting the code inside the Google namespace */ 7 | #define _END_GOOGLE_NAMESPACE_ } 8 | 9 | /* Puts following code inside the Google namespace */ 10 | #define _START_GOOGLE_NAMESPACE_ namespace google { 11 | 12 | /* Always the empty-string on non-windows systems. On windows, should be 13 | "__declspec(dllexport)". This way, when we compile the dll, we export our 14 | functions/classes. It's safe to define this here because config.h is only 15 | used internally, to compile the DLL, and every DLL source file #includes 16 | "config.h" before anything else. */ 17 | #ifndef GOOGLE_GLOG_DLL_DECL 18 | # define GOOGLE_GLOG_IS_A_DLL 1 /* not set if you're statically linking */ 19 | # define GOOGLE_GLOG_DLL_DECL __declspec(dllexport) 20 | # define GOOGLE_GLOG_DLL_DECL_FOR_UNITTESTS __declspec(dllimport) 21 | #endif 22 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/glog/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 40 4 | /svn/!svn/ver/134/trunk/src/windows/glog 5 | END 6 | logging.h 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 50 10 | /svn/!svn/ver/129/trunk/src/windows/glog/logging.h 11 | END 12 | stl_logging.h 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 54 16 | /svn/!svn/ver/134/trunk/src/windows/glog/stl_logging.h 17 | END 18 | log_severity.h 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 55 22 | /svn/!svn/ver/101/trunk/src/windows/glog/log_severity.h 23 | END 24 | vlog_is_on.h 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 52 28 | /svn/!svn/ver/82/trunk/src/windows/glog/vlog_is_on.h 29 | END 30 | raw_logging.h 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 54 34 | /svn/!svn/ver/101/trunk/src/windows/glog/raw_logging.h 35 | END 36 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/glog/.svn/prop-base/logging.h.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/glog/.svn/prop-base/raw_logging.h.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/glog/.svn/prop-base/stl_logging.h.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/src/windows/glog/.svn/prop-base/vlog_is_on.h.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 33 4 | /svn/!svn/ver/33/trunk/vsprojects 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/vsprojects 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-01-23T18:56:19.639069Z 11 | 33 12 | shinichiro.hamaji 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | logging_unittest 30 | dir 31 | 32 | libglog_static 33 | dir 34 | 35 | logging_unittest_static 36 | dir 37 | 38 | libglog 39 | dir 40 | 41 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/libglog/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 41 4 | /svn/!svn/ver/33/trunk/vsprojects/libglog 5 | END 6 | libglog.vcproj 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 56 10 | /svn/!svn/ver/33/trunk/vsprojects/libglog/libglog.vcproj 11 | END 12 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/libglog/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/vsprojects/libglog 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-01-23T18:56:19.639069Z 11 | 33 12 | shinichiro.hamaji 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | libglog.vcproj 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:00:46.454147Z 36 | c35360319432ad986d7aef0bad158e41 37 | 2009-01-23T18:56:19.639069Z 38 | 33 39 | shinichiro.hamaji 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 5071 62 | 63 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/libglog/.svn/prop-base/libglog.vcproj.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | K 13 6 | svn:mime-type 7 | V 24 8 | application/octet-stream 9 | END 10 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/libglog_static/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 48 4 | /svn/!svn/ver/33/trunk/vsprojects/libglog_static 5 | END 6 | libglog_static.vcproj 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 70 10 | /svn/!svn/ver/33/trunk/vsprojects/libglog_static/libglog_static.vcproj 11 | END 12 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/libglog_static/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/vsprojects/libglog_static 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-01-23T18:56:19.639069Z 11 | 33 12 | shinichiro.hamaji 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | libglog_static.vcproj 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:00:46.462147Z 36 | a21ddcc5a81a1ff3eedb39599d2a44a8 37 | 2009-01-23T18:56:19.639069Z 38 | 33 39 | shinichiro.hamaji 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 4297 62 | 63 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/libglog_static/.svn/prop-base/libglog_static.vcproj.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/logging_unittest/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 50 4 | /svn/!svn/ver/33/trunk/vsprojects/logging_unittest 5 | END 6 | logging_unittest.vcproj 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 74 10 | /svn/!svn/ver/33/trunk/vsprojects/logging_unittest/logging_unittest.vcproj 11 | END 12 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/logging_unittest/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/vsprojects/logging_unittest 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-01-23T18:56:19.639069Z 11 | 33 12 | shinichiro.hamaji 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | logging_unittest.vcproj 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:00:46.458147Z 36 | 5152176a044f058d8aeec3b8e9716a4c 37 | 2009-01-23T18:56:19.639069Z 38 | 33 39 | shinichiro.hamaji 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 3945 62 | 63 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/logging_unittest/.svn/prop-base/logging_unittest.vcproj.svn-base: -------------------------------------------------------------------------------- 1 | K 14 2 | svn:executable 3 | V 1 4 | * 5 | K 13 6 | svn:mime-type 7 | V 24 8 | application/octet-stream 9 | END 10 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/logging_unittest_static/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 57 4 | /svn/!svn/ver/33/trunk/vsprojects/logging_unittest_static 5 | END 6 | logging_unittest_static.vcproj 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 88 10 | /svn/!svn/ver/33/trunk/vsprojects/logging_unittest_static/logging_unittest_static.vcproj 11 | END 12 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/logging_unittest_static/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 137 5 | http://google-glog.googlecode.com/svn/trunk/vsprojects/logging_unittest_static 6 | http://google-glog.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-01-23T18:56:19.639069Z 11 | 33 12 | shinichiro.hamaji 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | eb4d4688-79bd-11dd-afb4-1d65580434c0 28 | 29 | logging_unittest_static.vcproj 30 | file 31 | 32 | 33 | 34 | 35 | 2013-08-28T03:00:46.462147Z 36 | a35e34c4cbfe7ce1a5384fe960f0a490 37 | 2009-01-23T18:56:19.639069Z 38 | 33 39 | shinichiro.hamaji 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 3576 62 | 63 | -------------------------------------------------------------------------------- /src/third_party/google-glog/vsprojects/logging_unittest_static/.svn/prop-base/logging_unittest_static.vcproj.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /src/third_party/googlemock/.gitignore: -------------------------------------------------------------------------------- 1 | .svn 2 | *~ 3 | -------------------------------------------------------------------------------- /src/third_party/googlemock/README.cloudproxy: -------------------------------------------------------------------------------- 1 | Version r453 from svn repository http://googlemock.googlecode.com/svn/trunk/ 2 | 3 | LICENSE: BSD (see the file LICENSE) 4 | 5 | Nothing was removed from the repository 6 | 7 | This version of googlemock also comes bundled with a version of 8 | gtest. The version of gtest is r663, and it is licensed under the BSD 9 | license (see file gtest/LICENSE). -------------------------------------------------------------------------------- /src/third_party/googlemock/build-aux/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/third_party/googlemock/build-aux/.keep -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/build-aux/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/third_party/googlemock/gtest/build-aux/.keep -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/xcode/Config/DebugProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // DebugProject.xcconfig 3 | // 4 | // These are Debug Configuration project settings for the gtest framework and 5 | // examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // No optimization 14 | GCC_OPTIMIZATION_LEVEL = 0 15 | 16 | // Deployment postprocessing is what triggers Xcode to strip, turn it off 17 | DEPLOYMENT_POSTPROCESSING = NO 18 | 19 | // Dead code stripping off 20 | DEAD_CODE_STRIPPING = NO 21 | 22 | // Debug symbols should be on obviously 23 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES 24 | 25 | // Define the DEBUG macro in all debug builds 26 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DDEBUG=1 27 | 28 | // These are turned off to avoid STL incompatibilities with client code 29 | // // Turns on special C++ STL checks to "encourage" good STL use 30 | // GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS) _GLIBCXX_DEBUG_PEDANTIC _GLIBCXX_DEBUG _GLIBCPP_CONCEPT_CHECKS 31 | -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/xcode/Config/FrameworkTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // FrameworkTarget.xcconfig 3 | // 4 | // These are Framework target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Dynamic libs need to be position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Dynamic libs should not have their external symbols stripped. 14 | STRIP_STYLE = non-global 15 | 16 | // Let the user install by specifying the $DSTROOT with xcodebuild 17 | SKIP_INSTALL = NO 18 | -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/xcode/Config/ReleaseProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // ReleaseProject.xcconfig 3 | // 4 | // These are Release Configuration project settings for the gtest framework 5 | // and examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // subconfig/Release.xcconfig 14 | 15 | // Optimize for space and size (Apple recommendation) 16 | GCC_OPTIMIZATION_LEVEL = s 17 | 18 | // Deploment postprocessing is what triggers Xcode to strip 19 | DEPLOYMENT_POSTPROCESSING = YES 20 | 21 | // No symbols 22 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO 23 | 24 | // Dead code strip does not affect ObjC code but can help for C 25 | DEAD_CODE_STRIPPING = YES 26 | 27 | // NDEBUG is used by things like assert.h, so define it for general compat. 28 | // ASSERT going away in release tends to create unused vars. 29 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DNDEBUG=1 -Wno-unused-variable 30 | 31 | // When we strip we want to strip all symbols in release, but save externals. 32 | STRIP_STYLE = all 33 | -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/xcode/Config/StaticLibraryTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // StaticLibraryTarget.xcconfig 3 | // 4 | // These are static library target settings for libgtest.a. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Static libs can be included in bundles so make them position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Static libs should not have their internal globals or external symbols 14 | // stripped. 15 | STRIP_STYLE = debugging 16 | 17 | // Let the user install by specifying the $DSTROOT with xcodebuild 18 | SKIP_INSTALL = NO 19 | -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/xcode/Config/TestTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // TestTarget.xcconfig 3 | // 4 | // These are Test target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | 7 | PRODUCT_NAME = $(TARGET_NAME) 8 | HEADER_SEARCH_PATHS = ../include 9 | -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/xcode/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.${PRODUCT_NAME} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | GTEST_VERSIONINFO_LONG 21 | CFBundleShortVersionString 22 | GTEST_VERSIONINFO_SHORT 23 | CFBundleGetInfoString 24 | ${PRODUCT_NAME} GTEST_VERSIONINFO_LONG, ${GTEST_VERSIONINFO_ABOUT} 25 | NSHumanReadableCopyright 26 | ${GTEST_VERSIONINFO_ABOUT} 27 | CSResourcesFileMapped 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/third_party/googlemock/gtest/xcode/Samples/FrameworkSample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.gtest.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | CSResourcesFileMapped 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/third_party/googlemock/msvc/2005/gmock_config.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /src/third_party/googlemock/msvc/2010/gmock_config.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ../../gtest 5 | 6 | 7 | <_ProjectFileVersion>10.0.30319.1 8 | 9 | 10 | 11 | $(GTestDir)/include;%(AdditionalIncludeDirectories) 12 | 13 | 14 | 15 | 16 | $(GTestDir) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/third_party/googlemock/scripts/generator/cpp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/third_party/googlemock/scripts/generator/cpp/__init__.py -------------------------------------------------------------------------------- /src/third_party/googlemock/scripts/generator/gmock_gen.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright 2008 Google Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | """Driver for starting up Google Mock class generator.""" 18 | 19 | __author__ = 'nnorwitz@google.com (Neal Norwitz)' 20 | 21 | import os 22 | import sys 23 | 24 | if __name__ == '__main__': 25 | # Add the directory of this script to the path so we can import gmock_class. 26 | sys.path.append(os.path.dirname(__file__)) 27 | 28 | from cpp import gmock_class 29 | # Fix the docstring in case they require the usage. 30 | gmock_class.__doc__ = gmock_class.__doc__.replace('gmock_class.py', __file__) 31 | gmock_class.main() 32 | -------------------------------------------------------------------------------- /src/third_party/modp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2014 Google Inc. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set(SD src) 16 | set(ISD include) 17 | 18 | set(MODP_SOURCES 19 | ${SD}/modp_b64w.c 20 | ) 21 | 22 | set(MODP_HEADERS 23 | ${SD}/modp_b64w_data.h 24 | ${ISD}/modp/modp_b64w.h 25 | ) 26 | 27 | include_directories(${ISD}/modp) 28 | add_library(modp STATIC ${MODP_SOURCES} ${MODP_HEADERS}) 29 | -------------------------------------------------------------------------------- /src/third_party/modp/README.md: -------------------------------------------------------------------------------- 1 | modp library 2 | ============ 3 | 4 | Code in this directory is from the stringencoders library: 5 | https://code.google.com/p/stringencoders/ 6 | 7 | See licenses in `src/modp_b64w.c` and other files. 8 | 9 | Changes were made to fix several bugs in the Base64 code: 10 | * Use `size_t` instead of `int`, where appropriate. 11 | * Fix buffer overflows when decoding four bytes at a time. 12 | * Fix broken NOPAD handling. 13 | -------------------------------------------------------------------------------- /src/tpm2/NUC5i5MYBE_TechProdSpec05.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/tpm2/NUC5i5MYBE_TechProdSpec05.pdf -------------------------------------------------------------------------------- /src/tpm2/TPM2Cloudproxyprototypeandprotocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/tpm2/TPM2Cloudproxyprototypeandprotocol.pdf -------------------------------------------------------------------------------- /src/tpm2/biosglossary_nuc_v05.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlmucb/cloudproxy/b5aa0b619bc454ba4dd183ab1c6c8298a3b9d8c1/src/tpm2/biosglossary_nuc_v05.pdf -------------------------------------------------------------------------------- /src/tpm2/testall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ./tpm2_util.exe --command=Flushall 3 | ./tpm2_util.exe --command=ReadPcr --pcr_num=7 4 | ./tpm2_util.exe --command=Flushall 5 | ./tpm2_util.exe --command=KeyCombinedTest --pcr_num=7 6 | ./tpm2_util.exe --command=Flushall 7 | ./tpm2_util.exe --command=SealCombinedTest --pcr_num=7 8 | ./tpm2_util.exe --command=Flushall 9 | ./tpm2_util.exe --command=QuoteCombinedTest --pcr_num=7 10 | ./tpm2_util.exe --command=Flushall 11 | ./tpm2_util.exe --command=ContextCombinedTest --pcr_num=7 12 | ./tpm2_util.exe --command=Flushall 13 | ./tpm2_util.exe --command=NvCombinedTest --pcr_num=7 14 | ./tpm2_util.exe --command=Flushall 15 | ./tpm2_util.exe --command=EndorsementCombinedTest --pcr_num=7 16 | ./tpm2_util.exe --command=Flushall 17 | ./tpm2_util.exe --command=NvCombinedSessionTest --pcr_num=7 18 | ./tpm2_util.exe --command=Flushall 19 | 20 | openssl x509 -inform DER -in endorsement_cert -purpose -text 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/tpm2/todo.txt: -------------------------------------------------------------------------------- 1 | Fix static auth strings 2 | Cert chain verify 3 | Replace DebugString as hashed object representing program request 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/tpm2/tpm2_types.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2015 Google Corporation, All Rights Reserved. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // or in the the file LICENSE-2.0.txt in the top level sourcedirectory 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License 14 | // 15 | // Portions of this code were derived TPM2.0-TSS published 16 | // by Intel under the license set forth in intel_license.txt 17 | // and downloaded on or about August 6, 2015. 18 | // File: tpm2_lib.h 19 | 20 | #ifndef _TPM2_TYPES_H__ 21 | #define _TPM2_TYPES_H__ 22 | #include 23 | typedef unsigned char byte; 24 | #endif 25 | 26 | --------------------------------------------------------------------------------