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

Port Envoy tests to windows #17

Open
wants to merge 6 commits into
base: win32_port
Choose a base branch
from
Open

Port Envoy tests to windows #17

wants to merge 6 commits into from

Conversation

kavyako
Copy link

@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