From 8228974b722bbd421fad8637cf299b41eabb493e Mon Sep 17 00:00:00 2001 From: Andy Jewell Date: Mon, 17 Nov 2025 15:01:48 -0500 Subject: [PATCH 1/3] sanitize --- test-server/cpp-v3-server/CMakeLists.txt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/test-server/cpp-v3-server/CMakeLists.txt b/test-server/cpp-v3-server/CMakeLists.txt index b282dbc4..0faac5f0 100644 --- a/test-server/cpp-v3-server/CMakeLists.txt +++ b/test-server/cpp-v3-server/CMakeLists.txt @@ -7,6 +7,7 @@ set(CMAKE_CXX_STANDARD 17) set(BUILD_ONLY "kms;s3;s3-encryption" CACHE STRING "Build only KMS, S3, and S3-encryption components") set(ENABLE_TESTING OFF CACHE BOOL "Disable testing") set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build static libraries") +set(ENABLE_ADDRESS_SANITIZER ON CACHE BOOL "Enable Address Sanitizer") # Add AWS SDK as subdirectory add_subdirectory(aws-sdk-cpp) @@ -18,12 +19,21 @@ find_package(nlohmann_json REQUIRED) add_executable(s3ec-server main.cpp) -target_include_directories(s3ec-server PRIVATE +# Enable Address Sanitizer for the executable +target_compile_options(s3ec-server PRIVATE -fsanitize=address -fno-omit-frame-pointer) +target_link_options(s3ec-server PRIVATE -fsanitize=address) + +target_include_directories(s3ec-server PRIVATE + ${LIBMICROHTTPD_INCLUDE_DIRS} + /opt/homebrew/include +) + +target_include_directories(s3ec-server PRIVATE ${LIBMICROHTTPD_INCLUDE_DIRS} /opt/homebrew/include ) -target_link_directories(s3ec-server PRIVATE +target_link_directories(s3ec-server PRIVATE ${LIBMICROHTTPD_LIBRARY_DIRS} /opt/homebrew/lib ) @@ -36,4 +46,4 @@ target_link_libraries(s3ec-server aws-cpp-sdk-s3-encryption nlohmann_json::nlohmann_json uuid -) \ No newline at end of file +) From 74c84a807ab8c64f50eba7313412ef0fd19267e3 Mon Sep 17 00:00:00 2001 From: Andy Jewell Date: Mon, 17 Nov 2025 15:48:44 -0500 Subject: [PATCH 2/3] m --- .../it/java/software/amazon/encryption/s3/RoundTripTests.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java b/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java index 468fc708..1a423c23 100644 --- a/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java +++ b/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java @@ -280,6 +280,10 @@ public void crossLanguageTestKmsWithIncorrectEncCtxFails(LanguageServerTarget en if (decLang.getLanguageName().equals(RUBY_V3) || decLang.getLanguageName().equals(RUBY_V2_CURRENT) || decLang.getLanguageName().equals(RUBY_V2_TRANSITION)) { assertTrue(e.getMessage().contains("Value of encryption context from envelope does not match the provided encryption context")); } else { + if (!e.getMessage().contains("Provided encryption context does not match information retrieved from S3")) { + System.err.println("WHOOPS!"); + System.err.println(e.getMessage()); + } assertTrue(e.getMessage().contains("Provided encryption context does not match information retrieved from S3")); } } From 36d8c46d776739d5b6724c29734f0dcda9e92b5c Mon Sep 17 00:00:00 2001 From: Andy Jewell Date: Mon, 17 Nov 2025 16:53:43 -0500 Subject: [PATCH 3/3] m --- .../it/java/software/amazon/encryption/s3/RoundTripTests.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java b/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java index 1a423c23..468fc708 100644 --- a/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java +++ b/test-server/java-tests/src/it/java/software/amazon/encryption/s3/RoundTripTests.java @@ -280,10 +280,6 @@ public void crossLanguageTestKmsWithIncorrectEncCtxFails(LanguageServerTarget en if (decLang.getLanguageName().equals(RUBY_V3) || decLang.getLanguageName().equals(RUBY_V2_CURRENT) || decLang.getLanguageName().equals(RUBY_V2_TRANSITION)) { assertTrue(e.getMessage().contains("Value of encryption context from envelope does not match the provided encryption context")); } else { - if (!e.getMessage().contains("Provided encryption context does not match information retrieved from S3")) { - System.err.println("WHOOPS!"); - System.err.println(e.getMessage()); - } assertTrue(e.getMessage().contains("Provided encryption context does not match information retrieved from S3")); } }