diff --git a/src/stirling/source_connectors/socket_tracer/BUILD.bazel b/src/stirling/source_connectors/socket_tracer/BUILD.bazel index 47301fffdb5..8eae06c9bc2 100644 --- a/src/stirling/source_connectors/socket_tracer/BUILD.bazel +++ b/src/stirling/source_connectors/socket_tracer/BUILD.bazel @@ -461,7 +461,7 @@ pl_cc_bpf_test( "//src/stirling/source_connectors/socket_tracer/testing/container_images:node_12_3_1_container", "//src/stirling/source_connectors/socket_tracer/testing/container_images:node_14_18_1_alpine_container", "//src/stirling/source_connectors/socket_tracer/testing/container_images:node_client_container", - "//src/stirling/source_connectors/socket_tracer/testing/container_images:python_3_10_container", + "//src/stirling/source_connectors/socket_tracer/testing/container_images:python_min_310_container", "//src/stirling/source_connectors/socket_tracer/testing/container_images:ruby_container", "//src/stirling/testing:cc_library", ], diff --git a/src/stirling/source_connectors/socket_tracer/openssl_trace_bpf_test.cc b/src/stirling/source_connectors/socket_tracer/openssl_trace_bpf_test.cc index 92e25118a3f..96f3b84505a 100644 --- a/src/stirling/source_connectors/socket_tracer/openssl_trace_bpf_test.cc +++ b/src/stirling/source_connectors/socket_tracer/openssl_trace_bpf_test.cc @@ -34,7 +34,7 @@ #include "src/stirling/source_connectors/socket_tracer/testing/container_images/node_12_3_1_container.h" #include "src/stirling/source_connectors/socket_tracer/testing/container_images/node_14_18_1_alpine_container.h" #include "src/stirling/source_connectors/socket_tracer/testing/container_images/node_client_container.h" -#include "src/stirling/source_connectors/socket_tracer/testing/container_images/python_3_10_container.h" +#include "src/stirling/source_connectors/socket_tracer/testing/container_images/python_min_310_container.h" #include "src/stirling/source_connectors/socket_tracer/testing/container_images/ruby_container.h" #include "src/stirling/source_connectors/socket_tracer/testing/protocol_checkers.h" #include "src/stirling/source_connectors/socket_tracer/testing/socket_trace_bpf_test_fixture.h" @@ -86,7 +86,9 @@ class Node14_18_1AlpineContainerWrapper int32_t PID() const { return process_pid(); } }; -class Python310ContainerWrapper : public ::px::stirling::testing::Python310Container { +// Python 3.10 and later use SSL_write_ex and SSL_read_ex. This test case is itended to cover +// this case. See https://github.com/pixie-io/pixie/issues/1113 for more details. +class PythonMin310ContainerWrapper : public ::px::stirling::testing::PythonMin310Container { public: int32_t PID() const { return process_pid(); } }; @@ -181,7 +183,7 @@ http::Record GetExpectedHTTPRecord() { using OpenSSLServerImplementations = Types; TYPED_TEST_SUITE(OpenSSLTraceTest, OpenSSLServerImplementations); diff --git a/src/stirling/source_connectors/socket_tracer/testing/container_images/BUILD.bazel b/src/stirling/source_connectors/socket_tracer/testing/container_images/BUILD.bazel index fb6c1a02e56..aca663b0db9 100644 --- a/src/stirling/source_connectors/socket_tracer/testing/container_images/BUILD.bazel +++ b/src/stirling/source_connectors/socket_tracer/testing/container_images/BUILD.bazel @@ -318,9 +318,9 @@ pl_cc_test_library( ) pl_cc_test_library( - name = "python_3_10_container", + name = "python_min_310_container", srcs = [], - hdrs = ["python_3_10_container.h"], + hdrs = ["python_min_310_container.h"], data = [ "//src/stirling/source_connectors/socket_tracer/testing/containers/ssl:python_min_310_https_server.tar", ], diff --git a/src/stirling/source_connectors/socket_tracer/testing/container_images/python_3_10_container.h b/src/stirling/source_connectors/socket_tracer/testing/container_images/python_min_310_container.h similarity index 94% rename from src/stirling/source_connectors/socket_tracer/testing/container_images/python_3_10_container.h rename to src/stirling/source_connectors/socket_tracer/testing/container_images/python_min_310_container.h index c0cb2952b80..0b3ce57f9f1 100644 --- a/src/stirling/source_connectors/socket_tracer/testing/container_images/python_3_10_container.h +++ b/src/stirling/source_connectors/socket_tracer/testing/container_images/python_min_310_container.h @@ -27,9 +27,9 @@ namespace px { namespace stirling { namespace testing { -class Python310Container : public ContainerRunner { +class PythonMin310Container : public ContainerRunner { public: - Python310Container() + PythonMin310Container() : ContainerRunner(::px::testing::BazelRunfilePath(kBazelImageTar), kContainerNamePrefix, kReadyMessage) {} diff --git a/src/stirling/source_connectors/socket_tracer/testing/containers/ssl/https_server.py b/src/stirling/source_connectors/socket_tracer/testing/containers/ssl/https_server.py index fbcf9c53312..f5b547a4d03 100644 --- a/src/stirling/source_connectors/socket_tracer/testing/containers/ssl/https_server.py +++ b/src/stirling/source_connectors/socket_tracer/testing/containers/ssl/https_server.py @@ -49,8 +49,8 @@ def do_GET(self): httpd = HTTPServer(('localhost', 443), MyRequestHandler) -httpd.socket = ssl.wrap_socket(httpd.socket, - keyfile="/etc/ssl/server.key", - certfile='/etc/ssl/server.crt', server_side=True) +ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) +ssl_context.load_cert_chain(certfile='/etc/ssl/server.crt', keyfile="/etc/ssl/server.key") +httpd.socket = ssl_context.wrap_socket(httpd.socket, server_side=True) httpd.serve_forever()