Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Port Envoy tests to windows#17

Open
kavyako wants to merge 6 commits intowin32_portfrom
win32_port_test
Open

Port Envoy tests to windows#17
kavyako wants to merge 6 commits intowin32_portfrom
win32_port_test

Conversation

@kavyako
Copy link
Copy Markdown

@kavyako kavyako commented Jul 6, 2018

Description: Port tests under common to windows.
CMake build files will be replaced by bazel soon.

  1. Folders under common that are included in this port: common, access_log, api, buffer, config, ssl, event, filesystem, json, html, ratelimit, request_info, router, tracing, thread_local.

  2. Fix issue in source/common/network: In ConnectionImpl::noDelay, getsockname fails with 10014 WSAEFAULT for IPv6 addresses. Use sockaddr_storage instead.
    proxy_protocol_test (IpVersions/ProxyProtocolTest.Basic) fails on windows due to this issue.

  3. Test fix for windows :CodecNetworkTest, ConnectionImplTest, ListenerImplTest.
    On windows, 0.0.0.0 does not work for outbound connections. Hence default to loopback.

  4. ssl fixes for win32 port:

  • context_impl.cc:ContextImpl::ContextImpl:
    SSL_CTX_set_strict_cipher_list() throws exception:
    Failed to initialize cipher suites {}.
    tls: remove legacy SHA-2 CBC cipher suites. (Port envoy PR#3316)
    They are insecure and were removed from BoringSSL codebase in
    https://boringssl-review.googlesource.com/c/boringssl/+/27944

  • 20 failing tests due to:
    context_config_impl: ServerContextConfigImpl::validateAndAppendKey() throws exception:
    unknown file: error: C++ exception with description "Incorrect TLS session ticket key length. Length 25, expected length 80." thrown in the test body.
    Reading the session ticket key file fails. Session ticket key is generated by
    "openssl rand -out session_ticket_key_file"
    It contains raw random data which is not encoded with the standard character sets.
    Reading it as a text file fails, use std::ifstream in std::ios_base::openmode::binary.

Risk Level: Low

Testing: Ran the tests on windows.

Docs Changes: TBD

Release Notes: TBD

Kavya Kotacherry added 6 commits June 4, 2018 05:36
…r IPv6 addresses. Use sockaddr_storage instead.

proxy_protocol_test (IpVersions/ProxyProtocolTest.Basic) fails on windows due to this issue.
…mplTest.

On windows, 0.0.0.0 does not work for outbound connections. Hence default to loopback.
1. context_impl.cc:ContextImpl::ContextImpl: SSL_CTX_set_strict_cipher_list() throws exception:
Failed to initialize cipher suites {}.
tls: remove legacy SHA-2 CBC cipher suites. (Port envoy PR#3316)
They are insecure and were removed from BoringSSL codebase in
https://boringssl-review.googlesource.com/c/boringssl/+/27944

2. 20 failing tests due to:
context_config_impl: ServerContextConfigImpl::validateAndAppendKey() throws exception:
unknown file: error: C++ exception with description "Incorrect TLS session ticket key length. Length 25, expected length 80." thrown in the test body.
Reading the session ticket key file fails. Session ticket key is generated by
"openssl rand <bytelength> -out session_ticket_key_file"
It contains raw random data which is not encoded with the standard character sets.
Reading it as a text file fails, use std::ifstream in std::ios_base::openmode::binary.
…equest_info, router, tracing, thread_local etc to windows
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant