envoyproxy / envoy-openssl

Envoy OpenSSL extensions
Apache License 2.0
46 stars 44 forks source link

[WIP] Compatibility with TLS 1.2 and OpenSSL 1.1.0 #11

Closed vadorovsky closed 4 years ago

vadorovsky commented 4 years ago

This change makes extensions working on OpenSSL 1.1.0 which still uses TLS 1.2 standard instead of TLS 1.3. OpenSSL 1.1.0 is still a supported version.

Signed-off-by: Michal Rostecki mrostecki@opensuse.org

vadorovsky commented 4 years ago

It's still WIP, because I have one test failure (reproducible only with OpenSSL 1.1.0):

[ RUN      ] SslIpVersionsClientType/GrpcAwsIamClientIntegrationTest.AwsIamGrpcAuth_ConfigRegion/1
E1216 20:03:26.010882533      19 ssl_transport_security.cc:1381] Unexpected error received from first SSL_do_handshake call: SSL_ERROR_SSL
E1216 20:03:26.010977266      19 ssl_security_connector.cc:130] Handshaker creation failed with error TSI_INTERNAL_ERROR.
[2019-12-16 20:03:26.011][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:83] Caught Segmentation fault, suspect faulting address 0x0
[2019-12-16 20:03:26.011][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:70] Backtrace (use tools/stack_decode.py to get line numbers):
[2019-12-16 20:03:26.011][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:71] Envoy version: 0/1.13.0-dev/redacted/DEBUG/OpenSSL
[2019-12-16 20:03:26.026][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #0: Envoy::SignalAction::sigHandler() [0x1d068ea]
[2019-12-16 20:03:26.028][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #1: __restore_rt [0x7fbfdfabc300]
[2019-12-16 20:03:26.043][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #2: tcmalloc::CentralFreeList::FetchFromOneSpansSafe() [0x1dcc7f6]
[2019-12-16 20:03:26.058][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #3: tcmalloc::CentralFreeList::RemoveRange() [0x1dcc750]
[2019-12-16 20:03:26.073][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #4: tcmalloc::ThreadCache::FetchFromCentralCache() [0x1de696d]
[2019-12-16 20:03:26.088][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #5: __libc_realloc [0x1eaa41f]
[2019-12-16 20:03:26.103][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #6: gpr_realloc [0x14d039c]
[2019-12-16 20:03:26.119][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #7: append_chr() [0x14836bb]
[2019-12-16 20:03:26.135][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #8: append_esc_str() [0x1483957]
[2019-12-16 20:03:26.152][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #9: fmt_str() [0x1483bd3]
[2019-12-16 20:03:26.169][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #10: collect_strs_kvs() [0x1483c48]
[2019-12-16 20:03:26.185][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #11: grpc_error_string() [0x14841db]
[2019-12-16 20:03:26.203][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #12: grpc_core::Subchannel::PublishTransportLocked() [0x143881f]
[2019-12-16 20:03:26.219][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #13: grpc_core::Subchannel::OnConnectingFinished() [0x1438625]
[2019-12-16 20:03:26.235][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #14: exec_ctx_run() [0x1485899]
[2019-12-16 20:03:26.250][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #15: grpc_core::ExecCtx::Flush() [0x1485cc3]
[2019-12-16 20:03:26.266][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #16: pollset_work() [0x14c7e07]
[2019-12-16 20:03:26.282][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #17: pollset_work() [0x14851aa]
[2019-12-16 20:03:26.297][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #18: grpc_pollset_work() [0x148896d]
[2019-12-16 20:03:26.313][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #19: cq_next() [0x14adfb0]
[2019-12-16 20:03:26.329][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #20: grpc_completion_queue_next [0x14ae472]
[2019-12-16 20:03:26.344][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #21: grpc_impl::CompletionQueue::AsyncNextInternal() [0x13a0288]
[2019-12-16 20:03:26.360][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #22: grpc_impl::CompletionQueue::Next() [0x12559b5]
[2019-12-16 20:03:26.376][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #23: Envoy::Grpc::GoogleAsyncClientThreadLocal::completionThread() [0x1250334]
[2019-12-16 20:03:26.392][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #24: Envoy::Grpc::GoogleAsyncClientThreadLocal::GoogleAsyncClientThreadLocal()::{lambda()#1}::operator()() [0x124ff99]
[2019-12-16 20:03:26.408][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #25: std::_Function_handler<>::_M_invoke() [0x1254187]
[2019-12-16 20:03:26.423][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #26: std::function<>::operator()() [0x56d562]
[2019-12-16 20:03:26.438][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #27: Envoy::Thread::ThreadImplPosix::ThreadImplPosix()::{lambda()#1}::operator()() [0x1ca9c06]
[2019-12-16 20:03:26.453][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #28: Envoy::Thread::ThreadImplPosix::ThreadImplPosix()::{lambda()#1}::_FUN() [0x1ca9c2a]
[2019-12-16 20:03:26.453][19][critical][backtrace] [bazel-out/k8-fastbuild/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #29: start_thread [0x7fbfdfab1569]
external/bazel_tools/tools/test/test-setup.sh: line 310:    14 Segmentation fault      (core dumped) "${TEST_PATH}" "$@" 2>&1