diff --git a/api/src/main/proto/envoy/extensions/dynamic_modules/v3/dynamic_modules.proto b/api/src/main/proto/envoy/extensions/dynamic_modules/v3/dynamic_modules.proto index 3f3ec41dd..0971d501a 100644 --- a/api/src/main/proto/envoy/extensions/dynamic_modules/v3/dynamic_modules.proto +++ b/api/src/main/proto/envoy/extensions/dynamic_modules/v3/dynamic_modules.proto @@ -41,4 +41,16 @@ message DynamicModuleConfig { // A module is closed when no more references to it exist in the process. For example, // no HTTP filters are using the module (e.g. after configuration update). bool do_not_close = 3; + + // The dynamic module is loaded with ``RTLD_LOCAL`` flag to avoid symbol conflicts when multiple + // modules are loaded by default. Set this to true to load the module with ``RTLD_GLOBAL`` flag. + // This is useful for modules that need to share symbols with other dynamic libraries. For + // example, a module X may load another shared library Y that depends on some symbols defined + // in module X. In this case, module X must be loaded with ``RTLD_GLOBAL`` flag so that the + // symbols defined in module X are visible to library Y. + // + // .. warning:: + // Use this option with caution as it may lead to symbol conflicts and undefined behavior + // if multiple modules define the same symbols and are loaded globally. + bool load_globally = 4; } diff --git a/server/src/test/java/io/envoyproxy/controlplane/server/EnvoyContainer.java b/server/src/test/java/io/envoyproxy/controlplane/server/EnvoyContainer.java index b8d0fdf19..c71ec25b7 100644 --- a/server/src/test/java/io/envoyproxy/controlplane/server/EnvoyContainer.java +++ b/server/src/test/java/io/envoyproxy/controlplane/server/EnvoyContainer.java @@ -24,7 +24,7 @@ class EnvoyContainer extends GenericContainer { EnvoyContainer(String config, Supplier controlPlanePortSupplier) { // this version is changed automatically by /tools/update-sha.sh:57 // if you change it make sure to reflect changes there - super("envoyproxy/envoy:v1.36.2"); + super("envoyproxy/envoy:v1.36.3"); this.config = config; this.controlPlanePortSupplier = controlPlanePortSupplier; } diff --git a/tools/API_SHAS b/tools/API_SHAS index 979ea48c1..989b40312 100644 --- a/tools/API_SHAS +++ b/tools/API_SHAS @@ -1,9 +1,9 @@ # Update the versions here and run update-api.sh # envoy (source: SHA from https://github.com/envoyproxy/envoy) -ENVOY_SHA="dc2d3098ae5641555f15c71d5bb5ce0060a8015c" +ENVOY_SHA="ddabe691e1aaa74b848d0782dab9dbea3b280319" -# dependencies (source: https://github.com/envoyproxy/envoy/blob/dc2d3098ae5641555f15c71d5bb5ce0060a8015c/api/bazel/repository_locations.bzl) +# dependencies (source: https://github.com/envoyproxy/envoy/blob/ddabe691e1aaa74b848d0782dab9dbea3b280319/api/bazel/repository_locations.bzl) GOOGLEAPIS_SHA="fd52b5754b2b268bc3a22a10f29844f206abb327" # 2024-09-16 PGV_VERSION="1.0.4" # 2024-01-17 PROMETHEUS_SHA="0.6.2" # 2025-04-11 diff --git a/tools/envoy_release b/tools/envoy_release index 11a870497..ff65c58b7 100644 --- a/tools/envoy_release +++ b/tools/envoy_release @@ -1 +1 @@ -v1.36.2 +v1.36.3