From 111e3a14185592ea53b1f2cfbbcfbbf1685cfef3 Mon Sep 17 00:00:00 2001 From: Jonh Wendell Date: Mon, 15 Aug 2022 11:44:00 -0400 Subject: [PATCH 1/2] OSSM-1856: Use upstream proxy-wasm-cpp-host Upstream has support for using a local SSL library, which was added in this PR: https://github.com/proxy-wasm/proxy-wasm-cpp-host/pull/219 The change above incorporates our downstream changes so there's no need to use our fork for the OpenSSL purpose. --- bazel/repositories_extra.bzl | 4 ++-- bazel/repository_locations.bzl | 8 ++++---- maistra/common.sh | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bazel/repositories_extra.bzl b/bazel/repositories_extra.bzl index c99ed03a6a..cbb090e823 100644 --- a/bazel/repositories_extra.bzl +++ b/bazel/repositories_extra.bzl @@ -1,6 +1,6 @@ load("@emsdk//:deps.bzl", emsdk_deps = "deps") load("@rules_python//python:pip.bzl", "pip_install", "pip_parse") -load("@proxy_wasm_cpp_host//bazel/cargo:crates.bzl", "proxy_wasm_cpp_host_fetch_remote_crates") +load("@proxy_wasm_cpp_host//bazel/cargo/wasmtime:crates.bzl", "wasmtime_fetch_remote_crates") load("//bazel/external/cargo:crates.bzl", "raze_fetch_remote_crates") load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") @@ -32,4 +32,4 @@ def envoy_dependencies_extra(): # This function defines the `@rules_jvm_external` repository, which is needed. protobuf_deps() - proxy_wasm_cpp_host_fetch_remote_crates() + wasmtime_fetch_remote_crates() diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index 76d9d3f508..aa1736928a 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -1079,11 +1079,11 @@ REPOSITORY_LOCATIONS_SPEC = dict( proxy_wasm_cpp_host = dict( project_name = "WebAssembly for Proxies (C++ host implementation)", project_desc = "WebAssembly for Proxies (C++ host implementation)", - project_url = "https://github.com/maistra/proxy-wasm-cpp-host", - version = "8849b2cc7523034c73fb2e27334c25f9c640a0e3", - sha256 = "6cce85e633605f6389c9c8e2e5c64b277caba56ba65a9dd15a706d86ae00ac9a", + project_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-host", + version = "694a0b073912ff3bd00b6ca70d16ca43b2aebbf2", + sha256 = "d8b8ed52c48a4847a76c2192095362972e4ce07b95311f36da844128d5b35ab5", strip_prefix = "proxy-wasm-cpp-host-{version}", - urls = ["https://github.com/maistra/proxy-wasm-cpp-host/archive/{version}.tar.gz"], + urls = ["https://github.com/proxy-wasm/proxy-wasm-cpp-host/archive/{version}.tar.gz"], use_category = ["dataplane_ext"], extensions = [ "envoy.access_loggers.wasm", diff --git a/maistra/common.sh b/maistra/common.sh index bf4cf6bae7..19ae6662f6 100644 --- a/maistra/common.sh +++ b/maistra/common.sh @@ -14,6 +14,8 @@ export ARCH COMMON_FLAGS="\ --config=${ARCH} \ + --config=clang \ + --define crypto=system \ " if [ -n "${CI}" ]; then COMMON_FLAGS+=" --config=ci-config " From e40ada333b16c4ce868d0f017db12543ee408bc0 Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Sat, 26 Feb 2022 11:55:16 -0600 Subject: [PATCH 2/2] Reapply "wasm: update Wasmtime to v0.34.1. (#20009)" * wasm: update Proxy-Wasm C++ Host to latest. * Fixes #20007 Signed-off-by: Piotr Sikora piotrsikora@google.com This commit cherry picks commit 2a9565da52e53b4c2ff2a263d4cc328703794bad which was somehow mixed with our downstream changes, and some changes were lost. Propably this happened to fix compiler failures due to the proxy-wasm-cpp-host dependency not being updated in our tree. --- source/extensions/common/wasm/wasm.cc | 2 +- test/extensions/common/wasm/wasm_vm_test.cc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/extensions/common/wasm/wasm.cc b/source/extensions/common/wasm/wasm.cc index cdd90d95a5..3ba2275915 100644 --- a/source/extensions/common/wasm/wasm.cc +++ b/source/extensions/common/wasm/wasm.cc @@ -93,7 +93,7 @@ Wasm::Wasm(WasmHandleSharedPtr base_wasm_handle, Event::Dispatcher& dispatcher) [&base_wasm_handle]() { return createWasmVm(absl::StrCat( "envoy.wasm.runtime.", - toAbslStringView(base_wasm_handle->wasm()->wasm_vm()->runtime()))); + toAbslStringView(base_wasm_handle->wasm()->wasm_vm()->getEngineName()))); }), scope_(getWasm(base_wasm_handle)->scope_), api_(getWasm(base_wasm_handle)->api_), stat_name_pool_(scope_->symbolTable()), diff --git a/test/extensions/common/wasm/wasm_vm_test.cc b/test/extensions/common/wasm/wasm_vm_test.cc index dd4b7412af..d02e678646 100644 --- a/test/extensions/common/wasm/wasm_vm_test.cc +++ b/test/extensions/common/wasm/wasm_vm_test.cc @@ -56,11 +56,11 @@ TEST_F(BaseVmTest, BadRuntime) { EXPECT_EQ(createWasmVm("envoy.wasm.runtime.inva TEST_F(BaseVmTest, NullVmStartup) { auto wasm_vm = createWasmVm("envoy.wasm.runtime.null"); EXPECT_TRUE(wasm_vm != nullptr); - EXPECT_TRUE(wasm_vm->runtime() == "null"); + EXPECT_TRUE(wasm_vm->getEngineName() == "null"); EXPECT_TRUE(wasm_vm->cloneable() == Cloneable::InstantiatedModule); auto wasm_vm_clone = wasm_vm->clone(); EXPECT_TRUE(wasm_vm_clone != nullptr); - EXPECT_EQ(wasm_vm->runtime(), "null"); + EXPECT_EQ(wasm_vm->getEngineName(), "null"); std::function f; EXPECT_FALSE(wasm_vm->integration()->getNullVmFunction("bad_function", false, 0, nullptr, &f)); } @@ -184,7 +184,7 @@ TEST_P(WasmVmTest, V8BadCode) { ASSERT_FALSE(init("bad code")); } TEST_P(WasmVmTest, V8Load) { ASSERT_TRUE(init()); - EXPECT_TRUE(wasm_vm_->runtime() == "v8"); + EXPECT_TRUE(wasm_vm_->getEngineName() == "v8"); EXPECT_TRUE(wasm_vm_->cloneable() == Cloneable::CompiledBytecode); EXPECT_TRUE(wasm_vm_->clone() != nullptr); }