Skip to content

Commit 9aada01

Browse files
dependency-envoy[bot]phlax
authored andcommitted
deps: Bump kafka_source (+kafka_server_binary) -> 3.9.1 (envoyproxy#41287)
Resolve a couple of CVEs (CVE-2025-27817, CVE-2025-27818) that most likely dont affect us but are showing up in our scanner Signed-off-by: dependency-envoy[bot] <148525496+dependency-envoy[bot]@users.noreply.github.com> Signed-off-by: Ryan Northey <[email protected]>
1 parent 5ed6307 commit 9aada01

File tree

3 files changed

+92
-10
lines changed

3 files changed

+92
-10
lines changed

bazel/repository_locations.bzl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,13 +1378,13 @@ REPOSITORY_LOCATIONS_SPEC = dict(
13781378
project_name = "Kafka (source)",
13791379
project_desc = "Open-source distributed event streaming platform",
13801380
project_url = "https://kafka.apache.org",
1381-
version = "3.8.0",
1382-
sha256 = "8761a0c22738201d3049f11f78c8e6c0f201203ba799157e498ef7eb04c259f3",
1381+
version = "3.9.1",
1382+
sha256 = "c15b82940cfb9f67fce909d8600dc8bcfc42d2795da2c26c149d03a627f85234",
13831383
strip_prefix = "kafka-{version}/clients/src/main/resources/common/message",
13841384
urls = ["https://github.com/apache/kafka/archive/{version}.zip"],
13851385
use_category = ["dataplane_ext"],
13861386
extensions = ["envoy.filters.network.kafka_broker", "envoy.filters.network.kafka_mesh"],
1387-
release_date = "2024-07-23",
1387+
release_date = "2025-05-12",
13881388
cpe = "cpe:2.3:a:apache:kafka:*",
13891389
license = "Apache-2.0",
13901390
license_url = "https://github.com/apache/kafka/blob/{version}/LICENSE",
@@ -1408,11 +1408,11 @@ REPOSITORY_LOCATIONS_SPEC = dict(
14081408
project_name = "Kafka (server binary)",
14091409
project_desc = "Open-source distributed event streaming platform",
14101410
project_url = "https://kafka.apache.org",
1411-
version = "3.8.0",
1412-
sha256 = "e0297cc6fdb09ef9d9905751b25d2b629c17528f8629b60561eeff87ce29099c",
1411+
version = "3.9.1",
1412+
sha256 = "dd4399816e678946cab76e3bd1686103555e69bc8f2ab8686cda71aa15bc31a3",
14131413
strip_prefix = "kafka_2.13-{version}",
1414-
urls = ["https://archive.apache.org/dist/kafka/{version}/kafka_2.13-{version}.tgz"],
1415-
release_date = "2024-07-23",
1414+
urls = ["https://downloads.apache.org/kafka/{version}/kafka_2.13-{version}.tgz"],
1415+
release_date = "2025-05-19",
14161416
use_category = ["test_only"],
14171417
),
14181418
proxy_wasm_cpp_sdk = dict(

contrib/kafka/filters/network/source/protocol/generator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,9 @@ def parse_complex_type(self, type_name, field_spec, versions):
223223
fields.append(child)
224224

225225
# Some structures share the same name, use request/response as prefix.
226-
if cpp_name in ['Cursor', 'DirectoryData', 'EntityData', 'EntryData', 'PartitionData',
227-
'PartitionSnapshot', 'SnapshotId', 'TopicData', 'TopicPartitions',
228-
'TopicSnapshot']:
226+
if cpp_name in ['Cursor', 'DirectoryData', 'EntityData', 'EntryData', 'Listener',
227+
'PartitionData', 'PartitionSnapshot', 'SnapshotId', 'StateBatch',
228+
'TopicData', 'TopicPartitions', 'TopicSnapshot']:
229229
cpp_name = self.type.capitalize() + type_name
230230

231231
# Some of the types repeat multiple times (e.g. AlterableConfig).

contrib/kafka/filters/network/source/serialization.h

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1229,6 +1229,49 @@ template <> inline uint32_t EncodingContext::computeSize(const Uuid&) const {
12291229
return 2 * sizeof(uint64_t);
12301230
}
12311231

1232+
// Specializations for primitive types that don't have compact encoding
1233+
// These must be declared before the generic template
1234+
1235+
/**
1236+
* Template overload for int8_t.
1237+
* This data type is not compacted, so we just point to non-compact implementation.
1238+
*/
1239+
template <> inline uint32_t EncodingContext::computeCompactSize(const int8_t& arg) const {
1240+
return computeSize(arg);
1241+
}
1242+
1243+
/**
1244+
* Template overload for int16_t.
1245+
* This data type is not compacted, so we just point to non-compact implementation.
1246+
*/
1247+
template <> inline uint32_t EncodingContext::computeCompactSize(const int16_t& arg) const {
1248+
return computeSize(arg);
1249+
}
1250+
1251+
/**
1252+
* Template overload for uint16_t.
1253+
* This data type is not compacted, so we just point to non-compact implementation.
1254+
*/
1255+
template <> inline uint32_t EncodingContext::computeCompactSize(const uint16_t& arg) const {
1256+
return computeSize(arg);
1257+
}
1258+
1259+
/**
1260+
* Template overload for bool.
1261+
* This data type is not compacted, so we just point to non-compact implementation.
1262+
*/
1263+
template <> inline uint32_t EncodingContext::computeCompactSize(const bool& arg) const {
1264+
return computeSize(arg);
1265+
}
1266+
1267+
/**
1268+
* Template overload for double.
1269+
* This data type is not compacted, so we just point to non-compact implementation.
1270+
*/
1271+
template <> inline uint32_t EncodingContext::computeCompactSize(const double& arg) const {
1272+
return computeSize(arg);
1273+
}
1274+
12321275
/**
12331276
* For non-primitive types, call `computeCompactSize` on them, to delegate the work to the entity
12341277
* itself. The entity may use the information in context to decide which fields are included etc.
@@ -1534,6 +1577,45 @@ inline uint32_t EncodingContext::encodeCompact(const int64_t& arg, Buffer::Insta
15341577
return encode(arg, dst);
15351578
}
15361579

1580+
/**
1581+
* int8_t is not encoded in compact fashion, so we just delegate to normal implementation.
1582+
*/
1583+
template <>
1584+
inline uint32_t EncodingContext::encodeCompact(const int8_t& arg, Buffer::Instance& dst) {
1585+
return encode(arg, dst);
1586+
}
1587+
1588+
/**
1589+
* int16_t is not encoded in compact fashion, so we just delegate to normal implementation.
1590+
*/
1591+
template <>
1592+
inline uint32_t EncodingContext::encodeCompact(const int16_t& arg, Buffer::Instance& dst) {
1593+
return encode(arg, dst);
1594+
}
1595+
1596+
/**
1597+
* uint16_t is not encoded in compact fashion, so we just delegate to normal implementation.
1598+
*/
1599+
template <>
1600+
inline uint32_t EncodingContext::encodeCompact(const uint16_t& arg, Buffer::Instance& dst) {
1601+
return encode(arg, dst);
1602+
}
1603+
1604+
/**
1605+
* bool is not encoded in compact fashion, so we just delegate to normal implementation.
1606+
*/
1607+
template <> inline uint32_t EncodingContext::encodeCompact(const bool& arg, Buffer::Instance& dst) {
1608+
return encode(arg, dst);
1609+
}
1610+
1611+
/**
1612+
* double is not encoded in compact fashion, so we just delegate to normal implementation.
1613+
*/
1614+
template <>
1615+
inline uint32_t EncodingContext::encodeCompact(const double& arg, Buffer::Instance& dst) {
1616+
return encode(arg, dst);
1617+
}
1618+
15371619
/**
15381620
* Template overload for variable-length uint32_t (VAR_UINT).
15391621
* Encode the value in 7-bit chunks + marker if field is the last one.

0 commit comments

Comments
 (0)