Skip to content

Commit d5a0e70

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 a0c247d commit d5a0e70

File tree

3 files changed

+91
-9
lines changed

3 files changed

+91
-9
lines changed

bazel/repository_locations.bzl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,13 +1373,13 @@ REPOSITORY_LOCATIONS_SPEC = dict(
13731373
project_name = "Kafka (source)",
13741374
project_desc = "Open-source distributed event streaming platform",
13751375
project_url = "https://kafka.apache.org",
1376-
version = "3.8.0",
1377-
sha256 = "8761a0c22738201d3049f11f78c8e6c0f201203ba799157e498ef7eb04c259f3",
1376+
version = "3.9.1",
1377+
sha256 = "c15b82940cfb9f67fce909d8600dc8bcfc42d2795da2c26c149d03a627f85234",
13781378
strip_prefix = "kafka-{version}/clients/src/main/resources/common/message",
13791379
urls = ["https://github.com/apache/kafka/archive/{version}.zip"],
13801380
use_category = ["dataplane_ext"],
13811381
extensions = ["envoy.filters.network.kafka_broker", "envoy.filters.network.kafka_mesh"],
1382-
release_date = "2024-07-23",
1382+
release_date = "2025-05-12",
13831383
cpe = "cpe:2.3:a:apache:kafka:*",
13841384
license = "Apache-2.0",
13851385
license_url = "https://github.com/apache/kafka/blob/{version}/LICENSE",
@@ -1403,11 +1403,11 @@ REPOSITORY_LOCATIONS_SPEC = dict(
14031403
project_name = "Kafka (server binary)",
14041404
project_desc = "Open-source distributed event streaming platform",
14051405
project_url = "https://kafka.apache.org",
1406-
version = "3.8.0",
1407-
sha256 = "e0297cc6fdb09ef9d9905751b25d2b629c17528f8629b60561eeff87ce29099c",
1406+
version = "3.9.1",
1407+
sha256 = "dd4399816e678946cab76e3bd1686103555e69bc8f2ab8686cda71aa15bc31a3",
14081408
strip_prefix = "kafka_2.13-{version}",
14091409
urls = ["https://downloads.apache.org/kafka/{version}/kafka_2.13-{version}.tgz"],
1410-
release_date = "2024-07-23",
1410+
release_date = "2025-05-19",
14111411
use_category = ["test_only"],
14121412
),
14131413
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
@@ -233,9 +233,9 @@ def parse_complex_type(self, type_name, field_spec, versions):
233233
fields.append(child)
234234

235235
# Some structures share the same name, use request/response as prefix.
236-
if cpp_name in ['Cursor', 'DirectoryData', 'EntityData', 'EntryData', 'PartitionData',
237-
'PartitionSnapshot', 'SnapshotId', 'TopicData', 'TopicPartitions',
238-
'TopicSnapshot']:
236+
if cpp_name in ['Cursor', 'DirectoryData', 'EntityData', 'EntryData', 'Listener',
237+
'PartitionData', 'PartitionSnapshot', 'SnapshotId', 'StateBatch',
238+
'TopicData', 'TopicPartitions', 'TopicSnapshot']:
239239
cpp_name = self.type.capitalize() + type_name
240240

241241
# 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)