From 856b63bc54cb49bf3b4b290188459725911fe173 Mon Sep 17 00:00:00 2001 From: Wenxing Hou Date: Tue, 27 Sep 2022 17:17:42 +0800 Subject: [PATCH] Move the spdm_device_validator_sample to SPDM-Responder-Validator Fix the issue: #148 Make the SPDM-Responder-Validator independent. The SPDM-Responder-Validator will not be submodule after this PR. Signed-off-by: Wenxing Hou --- .gitmodules | 3 - CMakeLists.txt | 1 - SPDM-Responder-Validator | 1 - .../CMakeLists.txt | 72 -------- .../spdm_device_validator_config.c | 155 ---------------- .../spdm_device_validator_pci_doe.c | 33 ---- .../spdm_device_validator_sample.c | 161 ----------------- .../spdm_device_validator_sample.h | 26 --- .../spdm_device_validator_spdm.c | 171 ------------------ 9 files changed, 623 deletions(-) delete mode 160000 SPDM-Responder-Validator delete mode 100644 spdm_emu/spdm_device_validator_sample/CMakeLists.txt delete mode 100644 spdm_emu/spdm_device_validator_sample/spdm_device_validator_config.c delete mode 100644 spdm_emu/spdm_device_validator_sample/spdm_device_validator_pci_doe.c delete mode 100644 spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.c delete mode 100644 spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.h delete mode 100644 spdm_emu/spdm_device_validator_sample/spdm_device_validator_spdm.c diff --git a/.gitmodules b/.gitmodules index 09eaa77..e56b00b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ [submodule "libspdm"] path = libspdm url = https://github.com/DMTF/libspdm -[submodule "SPDM-Responder-Validator"] - path = SPDM-Responder-Validator - url = https://github.com/DMTF/SPDM-Responder-Validator diff --git a/CMakeLists.txt b/CMakeLists.txt index 5dfc830..78cfcef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -553,6 +553,5 @@ endif() ADD_SUBDIRECTORY(${COMMON_TEST_FRAMEWORK_DIR}/library/common_test_utility_lib out/common_test_utility_lib.out) ADD_SUBDIRECTORY(${SPDM_RESPONDER_VALIDATOR_DIR}/library/spdm_responder_conformance_test_lib out/spdm_responder_conformance_test_lib.out) - ADD_SUBDIRECTORY(spdm_emu/spdm_device_validator_sample) ADD_SUBDIRECTORY(spdm_emu/spdm_device_attester_sample) diff --git a/SPDM-Responder-Validator b/SPDM-Responder-Validator deleted file mode 160000 index 61debbc..0000000 --- a/SPDM-Responder-Validator +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 61debbcffb1cd240f2908aee95ead1a974272322 diff --git a/spdm_emu/spdm_device_validator_sample/CMakeLists.txt b/spdm_emu/spdm_device_validator_sample/CMakeLists.txt deleted file mode 100644 index cf6cfb2..0000000 --- a/spdm_emu/spdm_device_validator_sample/CMakeLists.txt +++ /dev/null @@ -1,72 +0,0 @@ -cmake_minimum_required(VERSION 2.6) - -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/spdm_emu/spdm_responder_test_client - ${PROJECT_SOURCE_DIR}/spdm_emu/spdm_emu_common - ${PROJECT_SOURCE_DIR}/include - ${LIBSPDM_DIR}/os_stub/spdm_device_secret_lib_sample - ${LIBSPDM_DIR}/include - ${LIBSPDM_DIR}/include/hal/${ARCH} - ${LIBSPDM_DIR}/os_stub/include - ${SPDM_RESPONDER_VALIDATOR_DIR}/include - ${COMMON_TEST_FRAMEWORK_DIR}/include -) - -SET(src_spdm_device_validator_sample - spdm_device_validator_sample.c - spdm_device_validator_config.c - spdm_device_validator_spdm.c - spdm_device_validator_pci_doe.c - ${PROJECT_SOURCE_DIR}/spdm_emu/spdm_emu_common/spdm_emu.c - ${PROJECT_SOURCE_DIR}/spdm_emu/spdm_emu_common/command.c - ${PROJECT_SOURCE_DIR}/spdm_emu/spdm_emu_common/key.c - ${PROJECT_SOURCE_DIR}/spdm_emu/spdm_emu_common/nv_storage.c - ${PROJECT_SOURCE_DIR}/spdm_emu/spdm_emu_common/pcap.c - ${PROJECT_SOURCE_DIR}/spdm_emu/spdm_emu_common/support.c -) - -SET(spdm_device_validator_sample_LIBRARY - memlib - debuglib_null - spdm_requester_lib - spdm_common_lib - ${CRYPTO_LIB_PATHS} - rnglib - cryptlib_${CRYPTO} - malloclib - spdm_crypt_lib - spdm_secured_message_lib - spdm_transport_mctp_lib - spdm_transport_pcidoe_lib - spdm_transport_none_lib - spdm_device_secret_lib_sample - mctp_requester_lib - pci_doe_requester_lib - platform_lib - spdm_responder_conformance_test_lib - common_test_utility_lib -) - -if((TOOLCHAIN STREQUAL "KLEE") OR (TOOLCHAIN STREQUAL "CBMC")) - ADD_EXECUTABLE(spdm_device_validator_sample - ${src_spdm_responder_test_client} - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - ) -else() - ADD_EXECUTABLE(spdm_device_validator_sample ${src_spdm_device_validator_sample}) - TARGET_LINK_LIBRARIES(spdm_device_validator_sample ${spdm_device_validator_sample_LIBRARY}) -endif() diff --git a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_config.c b/spdm_emu/spdm_device_validator_sample/spdm_device_validator_config.c deleted file mode 100644 index ece0559..0000000 --- a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_config.c +++ /dev/null @@ -1,155 +0,0 @@ -/** - * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. - * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/spdm-emu/blob/main/LICENSE.md - **/ - -#include "spdm_device_validator_sample.h" - -common_test_case_config_t m_spdm_test_group_version_configs[] = { - {SPDM_RESPONDER_TEST_CASE_VERSION_SUCCESS_10, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_VERSION_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_capabilities_configs[] = { - {SPDM_RESPONDER_TEST_CASE_CAPABILITIES_SUCCESS_10, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CAPABILITIES_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CAPABILITIES_SUCCESS_11, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CAPABILITIES_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CAPABILITIES_SUCCESS_12, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CAPABILITIES_UNEXPECTED_REQUEST_NON_IDENTICAL, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_algorithms_configs[] = { - {SPDM_RESPONDER_TEST_CASE_ALGORITHMS_SUCCESS_10, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_ALGORITHMS_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_ALGORITHMS_UNEXPECTED_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_ALGORITHMS_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_ALGORITHMS_SUCCESS_11, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_ALGORITHMS_SUCCESS_12, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_ALGORITHMS_UNEXPECTED_REQUEST_NON_IDENTICAL, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_digests_configs[] = { - {SPDM_RESPONDER_TEST_CASE_DIGESTS_SUCCESS_10, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_DIGESTS_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_DIGESTS_UNEXPECTED_REQUEST, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_certificate_configs[] = { - {SPDM_RESPONDER_TEST_CASE_CERTIFICATE_SUCCESS_10, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CERTIFICATE_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CERTIFICATE_UNEXPECTED_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CERTIFICATE_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CERTIFICATE_SPDM_X509_CERTIFICATE, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_challenge_auth_configs[] = { - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_10_A1B1C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_10_A1B2C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_10_A1B3C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_UNEXPECTED_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A1B1C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A1B2C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A1B3C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A1B4C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A2B1C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A2B2C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A2B3C1, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_CHALLENGE_AUTH_SUCCESS_12_A2B4C1, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_measurements_configs[] = { - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_SUCCESS_10, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_UNEXPECTED_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_SPDM_MEASUREMENT_BLOCK, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_SUCCESS_11, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_SUCCESS_11_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_UNEXPECTED_REQUEST_IN_DHE_SESSION_HS, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_SUCCESS_12, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_MEASUREMENTS_SUCCESS_12_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_key_exchange_rsp_configs[] = { - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_SUCCESS_11, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_SUCCESS_11_HS_CLEAR, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_UNEXPECTED_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_UNEXPECTED_REQUEST_IN_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_SUCCESS_12, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_EXCHANGE_RSP_SUCCESS_12_HS_CLEAR, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_finish_rsp_configs[] = { - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_SUCCESS_11, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_SUCCESS_11_HS_CLEAR, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_VERSION_MISMATCH, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_UNEXPECTED_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_UNEXPECTED_REQUEST_IN_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_INVALID_REQUEST, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_DECRYPT_ERROR_INVALID_VERIFY_DATA, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_DECRYPT_ERROR_INVALID_VERIFY_DATA_HS_CLEAR, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_SUCCESS_12, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_SUCCESS_12_HS_CLEAR, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_FINISH_RSP_SESSION_REQUIRED, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_heartbeat_ack_configs[] = { - {SPDM_RESPONDER_TEST_CASE_HEARTBEAT_ACK_SUCCESS_11_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_HEARTBEAT_ACK_VERSION_MISMATCH_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_HEARTBEAT_ACK_UNEXPECTED_REQUEST_IN_DHE_SESSION_HS, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_HEARTBEAT_ACK_SESSION_REQUIRED, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_key_update_ack_configs[] = { - {SPDM_RESPONDER_TEST_CASE_KEY_UPDATE_ACK_SUCCESS_11_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_UPDATE_ACK_VERSION_MISMATCH_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_UPDATE_ACK_INVALID_REQUEST_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_UPDATE_ACK_UNEXPECTED_REQUEST_IN_DHE_SESSION_HS, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_KEY_UPDATE_ACK_SESSION_REQUIRED, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_case_config_t m_spdm_test_group_end_session_ack_configs[] = { - {SPDM_RESPONDER_TEST_CASE_END_SESSION_ACK_SUCCESS_11_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_END_SESSION_ACK_VERSION_MISMATCH_IN_DHE_SESSION, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_END_SESSION_ACK_UNEXPECTED_REQUEST_IN_DHE_SESSION_HS, COMMON_TEST_ACTION_RUN}, - {SPDM_RESPONDER_TEST_CASE_END_SESSION_ACK_SESSION_REQUIRED, COMMON_TEST_ACTION_RUN}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP}, -}; - -common_test_group_config_t m_spdm_test_group_configs[] = { - {SPDM_RESPONDER_TEST_GROUP_VERSION, COMMON_TEST_ACTION_RUN, m_spdm_test_group_version_configs}, - {SPDM_RESPONDER_TEST_GROUP_CAPABILITIES, COMMON_TEST_ACTION_RUN, m_spdm_test_group_capabilities_configs}, - {SPDM_RESPONDER_TEST_GROUP_ALGORITHMS, COMMON_TEST_ACTION_RUN, m_spdm_test_group_algorithms_configs}, - {SPDM_RESPONDER_TEST_GROUP_DIGESTS, COMMON_TEST_ACTION_RUN, m_spdm_test_group_digests_configs}, - {SPDM_RESPONDER_TEST_GROUP_CERTIFICATE, COMMON_TEST_ACTION_RUN, m_spdm_test_group_certificate_configs}, - {SPDM_RESPONDER_TEST_GROUP_CHALLENGE_AUTH, COMMON_TEST_ACTION_RUN, m_spdm_test_group_challenge_auth_configs}, - {SPDM_RESPONDER_TEST_GROUP_MEASUREMENTS, COMMON_TEST_ACTION_RUN, m_spdm_test_group_measurements_configs}, - {SPDM_RESPONDER_TEST_GROUP_KEY_EXCHANGE_RSP, COMMON_TEST_ACTION_RUN, m_spdm_test_group_key_exchange_rsp_configs}, - {SPDM_RESPONDER_TEST_GROUP_FINISH_RSP, COMMON_TEST_ACTION_RUN, m_spdm_test_group_finish_rsp_configs}, - {SPDM_RESPONDER_TEST_GROUP_HEARTBEAT_ACK, COMMON_TEST_ACTION_RUN, m_spdm_test_group_heartbeat_ack_configs}, - {SPDM_RESPONDER_TEST_GROUP_KEY_UPDATE_ACK, COMMON_TEST_ACTION_RUN, m_spdm_test_group_key_update_ack_configs}, - {SPDM_RESPONDER_TEST_GROUP_END_SESSION_ACK, COMMON_TEST_ACTION_RUN, m_spdm_test_group_end_session_ack_configs}, - {COMMON_TEST_ID_END, COMMON_TEST_ACTION_SKIP, NULL}, -}; - -common_test_suite_config_t m_spdm_responder_validator_config = { - "spdm_responder_validator default config", - m_spdm_test_group_configs -}; diff --git a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_pci_doe.c b/spdm_emu/spdm_device_validator_sample/spdm_device_validator_pci_doe.c deleted file mode 100644 index 7f2a131..0000000 --- a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_pci_doe.c +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. - * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/spdm-emu/blob/main/LICENSE.md - **/ - -#include "spdm_device_validator_sample.h" - -void *m_pci_doe_context; - -libspdm_return_t pci_doe_init_request() -{ - pci_doe_data_object_protocol_t data_object_protocol[6]; - size_t data_object_protocol_size; - libspdm_return_t status; - uint32_t index; - - data_object_protocol_size = sizeof(data_object_protocol); - status = - pci_doe_discovery (m_pci_doe_context, data_object_protocol, &data_object_protocol_size); - if (LIBSPDM_STATUS_IS_ERROR(status)) { - return status; - } - - for (index = 0; index < data_object_protocol_size/sizeof(pci_doe_data_object_protocol_t); - index++) { - printf("DOE(0x%x) VendorId-0x%04x, DataObjectType-0x%02x\n", - index, data_object_protocol[index].vendor_id, - data_object_protocol[index].data_object_type); - } - - return LIBSPDM_STATUS_SUCCESS; -} diff --git a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.c b/spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.c deleted file mode 100644 index a3e6ef0..0000000 --- a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.c +++ /dev/null @@ -1,161 +0,0 @@ -/** - * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. - * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/spdm-emu/blob/main/LICENSE.md - **/ - -#include "spdm_device_validator_sample.h" - -#define IP_ADDRESS "127.0.0.1" - -#ifdef _MSC_VER -struct in_addr m_ip_address = { { { 127, 0, 0, 1 } } }; -#else -struct in_addr m_ip_address = { 0x0100007F }; -#endif -uint8_t m_receive_buffer[LIBSPDM_MAX_MESSAGE_BUFFER_SIZE]; - -extern SOCKET m_socket; - -extern void *m_spdm_context; -extern void *m_scratch_buffer; - -void *spdm_client_init(void); - -libspdm_return_t pci_doe_init_request(void); - -bool communicate_platform_data(SOCKET socket, uint32_t command, - const uint8_t *send_buffer, size_t bytes_to_send, - uint32_t *response, - size_t *bytes_to_receive, - uint8_t *receive_buffer); - - -bool init_client(SOCKET *sock, uint16_t port) -{ - SOCKET client_socket; - struct sockaddr_in server_addr; - int32_t ret_val; - - client_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if (client_socket == INVALID_SOCKET) { - printf("Create socket Failed - %x\n", -#ifdef _MSC_VER - WSAGetLastError() -#else - errno -#endif - ); - return false; - } - - server_addr.sin_family = AF_INET; - libspdm_copy_mem(&server_addr.sin_addr.s_addr, sizeof(struct in_addr), &m_ip_address, - sizeof(struct in_addr)); - server_addr.sin_port = htons(port); - libspdm_zero_mem(server_addr.sin_zero, sizeof(server_addr.sin_zero)); - - ret_val = connect(client_socket, (struct sockaddr *)&server_addr, - sizeof(server_addr)); - if (ret_val == SOCKET_ERROR) { - printf("Connect Error - %x\n", -#ifdef _MSC_VER - WSAGetLastError() -#else - errno -#endif - ); - closesocket(client_socket); - return false; - } - - printf("connect success!\n"); - - *sock = client_socket; - return true; -} - -bool platform_client_routine(uint16_t port_number) -{ - SOCKET platform_socket; - bool result; - uint32_t response; - size_t response_size; - libspdm_return_t status; - -#ifdef _MSC_VER - WSADATA ws; - if (WSAStartup(MAKEWORD(2, 2), &ws) != 0) { - printf("Init Windows socket Failed - %x\n", WSAGetLastError()); - return false; - } -#endif - result = init_client(&platform_socket, port_number); - if (!result) { -#ifdef _MSC_VER - WSACleanup(); -#endif - return false; - } - - m_socket = platform_socket; - - if (m_use_transport_layer != SOCKET_TRANSPORT_TYPE_NONE) { - response_size = sizeof(m_receive_buffer); - result = communicate_platform_data( - platform_socket, - SOCKET_SPDM_COMMAND_TEST, - (uint8_t *)"Client Hello!", - sizeof("Client Hello!"), &response, - &response_size, m_receive_buffer); - if (!result) { - goto done; - } - } - - if (m_use_transport_layer == SOCKET_TRANSPORT_TYPE_PCI_DOE) { - status = pci_doe_init_request (); - if (LIBSPDM_STATUS_IS_ERROR(status)) { - printf("pci_doe_init_request - %x\n", (uint32_t)status); - goto done; - } - } - - /* Do test - begin*/ - - m_spdm_context = spdm_client_init (); - spdm_responder_conformance_test (m_spdm_context, &m_spdm_responder_validator_config); - if (m_spdm_context != NULL) { - free(m_spdm_context); - } - - /* Do test - end*/ - -done: - response_size = 0; - result = communicate_platform_data( - platform_socket, SOCKET_SPDM_COMMAND_SHUTDOWN - m_exe_mode, - NULL, 0, &response, &response_size, NULL); - - closesocket(platform_socket); - -#ifdef _MSC_VER - WSACleanup(); -#endif - - return true; -} - -int main(int argc, char *argv[]) -{ - printf("%s version 0.1\n", "spdm_device_validator_sample"); - srand((unsigned int)time(NULL)); - - process_args("spdm_device_validator_sample", argc, argv); - - platform_client_routine(DEFAULT_SPDM_PLATFORM_PORT); - printf("Client stopped\n"); - - close_pcap_packet_file(); - return 0; -} diff --git a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.h b/spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.h deleted file mode 100644 index 862f0f2..0000000 --- a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_sample.h +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. - * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/spdm-emu/blob/main/LICENSE.md - **/ - -#ifndef __SPDM_DEVICE_VALIDATOR_SAMPLE_H__ -#define __SPDM_DEVICE_VALIDATOR_SAMPLE_H__ - -#include "hal/base.h" -#include "hal/library/memlib.h" -#include "library/spdm_requester_lib.h" -#include "library/spdm_transport_none_lib.h" -#include "library/spdm_transport_mctp_lib.h" -#include "library/spdm_transport_pcidoe_lib.h" -#include "library/mctp_requester_lib.h" -#include "library/pci_doe_requester_lib.h" -#include "library/spdm_responder_conformance_test_lib.h" - -#include "os_include.h" -#include "stdio.h" -#include "spdm_emu.h" - -extern common_test_suite_config_t m_spdm_responder_validator_config; - -#endif diff --git a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_spdm.c b/spdm_emu/spdm_device_validator_sample/spdm_device_validator_spdm.c deleted file mode 100644 index db0b0e6..0000000 --- a/spdm_emu/spdm_device_validator_sample/spdm_device_validator_spdm.c +++ /dev/null @@ -1,171 +0,0 @@ -/** - * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. - * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/spdm-emu/blob/main/LICENSE.md - **/ - -#include "spdm_device_validator_sample.h" - -void *m_spdm_context; -void *m_scratch_buffer; -SOCKET m_socket; - -bool communicate_platform_data(SOCKET socket, uint32_t command, - const uint8_t *send_buffer, size_t bytes_to_send, - uint32_t *response, - size_t *bytes_to_receive, - uint8_t *receive_buffer) -{ - bool result; - - result = - send_platform_data(socket, command, send_buffer, bytes_to_send); - if (!result) { - printf("send_platform_data Error - %x\n", -#ifdef _MSC_VER - WSAGetLastError() -#else - errno -#endif - ); - return result; - } - - result = receive_platform_data(socket, response, receive_buffer, - bytes_to_receive); - if (!result) { - printf("receive_platform_data Error - %x\n", -#ifdef _MSC_VER - WSAGetLastError() -#else - errno -#endif - ); - return result; - } - return result; -} - -libspdm_return_t spdm_device_send_message(void *spdm_context, - size_t request_size, const void *request, - uint64_t timeout) -{ - bool result; - - result = send_platform_data(m_socket, SOCKET_SPDM_COMMAND_NORMAL, - request, (uint32_t)request_size); - if (!result) { - printf("send_platform_data Error - %x\n", -#ifdef _MSC_VER - WSAGetLastError() -#else - errno -#endif - ); - return LIBSPDM_STATUS_SEND_FAIL; - } - return LIBSPDM_STATUS_SUCCESS; -} - -libspdm_return_t spdm_device_receive_message(void *spdm_context, - size_t *response_size, - void **response, - uint64_t timeout) -{ - bool result; - uint32_t command; - - result = receive_platform_data(m_socket, &command, *response, - response_size); - if (!result) { - printf("receive_platform_data Error - %x\n", -#ifdef _MSC_VER - WSAGetLastError() -#else - errno -#endif - ); - return LIBSPDM_STATUS_RECEIVE_FAIL; - } - return LIBSPDM_STATUS_SUCCESS; -} - -/** - * Send and receive an DOE message - * - * @param request the PCI DOE request message, start from pci_doe_data_object_header_t. - * @param request_size size in bytes of request. - * @param response the PCI DOE response message, start from pci_doe_data_object_header_t. - * @param response_size size in bytes of response. - * - * @retval LIBSPDM_STATUS_SUCCESS The request is sent and response is received. - * @return ERROR The response is not received correctly. - **/ -libspdm_return_t pci_doe_send_receive_data(const void *pci_doe_context, - size_t request_size, const void *request, - size_t *response_size, void *response) -{ - bool result; - uint32_t response_code; - - result = communicate_platform_data( - m_socket, SOCKET_SPDM_COMMAND_NORMAL, - request, request_size, - &response_code, response_size, - response); - if (!result) { - return LIBSPDM_STATUS_RECEIVE_FAIL; - } - return LIBSPDM_STATUS_SUCCESS; -} - -void *spdm_client_init(void) -{ - void *spdm_context; - size_t scratch_buffer_size; - - printf("context_size - 0x%x\n", (uint32_t)libspdm_get_context_size()); - - m_spdm_context = (void *)malloc(libspdm_get_context_size()); - if (m_spdm_context == NULL) { - return NULL; - } - spdm_context = m_spdm_context; - libspdm_init_context(spdm_context); - scratch_buffer_size = libspdm_get_sizeof_required_scratch_buffer(m_spdm_context); - m_scratch_buffer = (void *)malloc(scratch_buffer_size); - if (m_scratch_buffer == NULL) { - free(m_spdm_context); - m_spdm_context = NULL; - return NULL; - } - - libspdm_register_device_io_func(spdm_context, spdm_device_send_message, - spdm_device_receive_message); - if (m_use_transport_layer == SOCKET_TRANSPORT_TYPE_MCTP) { - libspdm_register_transport_layer_func( - spdm_context, libspdm_transport_mctp_encode_message, - libspdm_transport_mctp_decode_message, - libspdm_transport_mctp_get_header_size); - } else if (m_use_transport_layer == SOCKET_TRANSPORT_TYPE_PCI_DOE) { - libspdm_register_transport_layer_func( - spdm_context, libspdm_transport_pci_doe_encode_message, - libspdm_transport_pci_doe_decode_message, - libspdm_transport_pci_doe_get_header_size); - } else if (m_use_transport_layer == SOCKET_TRANSPORT_TYPE_NONE) { - libspdm_register_transport_layer_func( - spdm_context, spdm_transport_none_encode_message, - spdm_transport_none_decode_message, - spdm_transport_none_get_header_size); - } else { - return NULL; - } - libspdm_register_device_buffer_func(spdm_context, - spdm_device_acquire_sender_buffer, - spdm_device_release_sender_buffer, - spdm_device_acquire_receiver_buffer, - spdm_device_release_receiver_buffer); - libspdm_set_scratch_buffer (spdm_context, m_scratch_buffer, scratch_buffer_size); - - return m_spdm_context; -}