Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .builders/images/linux-aarch64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ RUN yum install -y perl-IPC-Cmd perl-CPANPLUS perl-core && \
ldconfig

# Compile and install Python 3
ENV PYTHON3_VERSION=3.13.12
ENV PYTHON3_VERSION=3.13.13
RUN yum install -y libffi-devel && \
DOWNLOAD_URL="https://python.org/ftp/python/{{version}}/Python-{{version}}.tgz" \
VERSION="${PYTHON3_VERSION}" \
SHA256="12e7cb170ad2d1a69aee96a1cc7fc8de5b1e97a2bdac51683a3db016ec9a2996" \
SHA256="f9cde7b0e2ec8165d7326e2a0f59ea2686ce9d0c617dbbb3d66a7e54d31b74b9" \
RELATIVE_PATH="Python-{{version}}" \
bash install-from-source.sh \
--prefix=/opt/python/${PYTHON3_VERSION} \
Expand Down
1 change: 1 addition & 0 deletions .builders/images/linux-aarch64/build_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ if [[ "${DD_BUILD_PYTHON_VERSION}" == "3" ]]; then
VERSION="${kafka_version}" \
SHA256="14972092e4115f6e99f798a7cb420cbf6daa0c73502b3c52ae42fb5b418eea8f" \
RELATIVE_PATH="librdkafka-{{version}}" \
PATCHES="librdkafka-fix-coord-request-uaf.patch" \
bash install-from-source.sh --enable-sasl --enable-curl --enable-zstd
always_build+=("confluent-kafka")

Expand Down
4 changes: 2 additions & 2 deletions .builders/images/linux-x86_64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ RUN yum install -y perl-IPC-Cmd perl-CPANPLUS perl-core && \
ldconfig

# Compile and install Python 3
ENV PYTHON3_VERSION=3.13.12
ENV PYTHON3_VERSION=3.13.13
RUN yum install -y libffi-devel && \
DOWNLOAD_URL="https://python.org/ftp/python/{{version}}/Python-{{version}}.tgz" \
VERSION="${PYTHON3_VERSION}" \
SHA256="12e7cb170ad2d1a69aee96a1cc7fc8de5b1e97a2bdac51683a3db016ec9a2996" \
SHA256="f9cde7b0e2ec8165d7326e2a0f59ea2686ce9d0c617dbbb3d66a7e54d31b74b9" \
RELATIVE_PATH="Python-{{version}}" \
bash install-from-source.sh --prefix=/opt/python/${PYTHON3_VERSION} --with-ensurepip=yes --enable-ipv6 --with-dbmliborder=
ENV PATH="/opt/python/${PYTHON3_VERSION}/bin:${PATH}"
Expand Down
1 change: 1 addition & 0 deletions .builders/images/linux-x86_64/build_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ if [[ "${DD_BUILD_PYTHON_VERSION}" == "3" ]]; then
VERSION="${kafka_version}" \
SHA256="14972092e4115f6e99f798a7cb420cbf6daa0c73502b3c52ae42fb5b418eea8f" \
RELATIVE_PATH="librdkafka-{{version}}" \
PATCHES="librdkafka-fix-coord-request-uaf.patch" \
bash install-from-source.sh --enable-sasl --enable-curl --enable-zstd
always_build+=("confluent-kafka")

Expand Down
4 changes: 2 additions & 2 deletions .builders/images/windows-x86_64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,11 @@ RUN Get-RemoteFile `
Approve-File -Path $($Env:USERPROFILE + '\.cargo\bin\rustc.exe') -Hash $Env:RUSTC_HASH

# Install Python 3
ENV PYTHON_VERSION="3.13.12"
ENV PYTHON_VERSION="3.13.13"
RUN Get-RemoteFile `
-Uri https://www.python.org/ftp/python/$Env:PYTHON_VERSION/python-$Env:PYTHON_VERSION-amd64.exe `
-Path python-$Env:PYTHON_VERSION-amd64.exe `
-Hash '96159fcb523ae404b707186a75b4104ee23851e476a5e838e14584cf1e03f981'; `
-Hash '3c9c81d80f91c002ced86d645422d81432c68c7d9b6b0e974768ca2e449a4d00'; `
Start-Process -Wait python-$Env:PYTHON_VERSION-amd64.exe -ArgumentList '/quiet', 'InstallAllUsers=1'; `
Remove-Item python-$Env:PYTHON_VERSION-amd64.exe; `
& 'C:\Program Files\Python313\python.exe' -m pip install --no-warn-script-location --upgrade pip; `
Expand Down
73 changes: 73 additions & 0 deletions .builders/patches/librdkafka-fix-coord-request-uaf.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
diff --git a/src/rdkafka_admin.c b/src/rdkafka_admin.c
index 7986371a..552c10c0 100644
--- a/src/rdkafka_admin.c
+++ b/src/rdkafka_admin.c
@@ -480,7 +480,6 @@ rd_kafka_admin_coord_request(rd_kafka_broker_t *rkb,
rd_kafka_replyq_t replyq,
rd_kafka_resp_cb_t *resp_cb,
void *opaque) {
- rd_kafka_t *rk = rkb->rkb_rk;
rd_kafka_enq_once_t *eonce = opaque;
rd_kafka_op_t *rko;
char errstr[512];
@@ -499,13 +498,17 @@ rd_kafka_admin_coord_request(rd_kafka_broker_t *rkb,
&rko->rko_u.admin_request.options, errstr, sizeof(errstr), replyq,
rd_kafka_admin_handle_response, eonce);

- if (err) {
- rd_kafka_admin_result_fail(
- rko, err, "%s worker failed to send request: %s",
- rd_kafka_op2str(rko->rko_type), errstr);
- rd_kafka_admin_common_worker_destroy(rk, rko,
- rd_true /*destroy*/);
- }
+ /* On error, do not call worker_destroy() here.
+ * The caller (rd_kafka_coord_req_fsm) will call coord_req_fail()
+ * which enqueues a dummy error response carrying the eonce as
+ * opaque. coord_response_parse() will then retrieve the rko via
+ * del_source_return("coordinator response"), see the error, and
+ * call worker_destroy() itself.
+ *
+ * Calling worker_destroy() here would free the eonce while the
+ * caller still holds a reference to it, leading to a
+ * use-after-free / assertion failure in
+ * rd_kafka_enq_once_del_source_return(). */
return err;
}

diff --git a/src/rdkafka_coord.c b/src/rdkafka_coord.c
index a880f23a..e57b3ef7 100644
--- a/src/rdkafka_coord.c
+++ b/src/rdkafka_coord.c
@@ -316,6 +316,14 @@ static void rd_kafka_coord_req_fail(rd_kafka_t *rk,
rd_kafka_op_t *reply;
rd_kafka_buf_t *rkbuf;

+ if (!creq->creq_reply_opaque) {
+ /* The admin operation has already timed out and been
+ * destroyed. The eonce (creq_reply_opaque) may be
+ * freed. Do not enqueue a response referencing it. */
+ rd_kafka_coord_req_destroy(rk, creq, rd_true /*done*/);
+ return;
+ }
+
reply = rd_kafka_op_new(RD_KAFKA_OP_RECV_BUF);
reply->rko_rk = rk; /* Set rk since the rkbuf will not have a rkb
* to reach it. */
@@ -495,7 +503,15 @@ static void rd_kafka_coord_req_fsm(rd_kafka_t *rk, rd_kafka_coord_req_t *creq) {
replyq, creq->creq_resp_cb,
creq->creq_reply_opaque);

- if (err) {
+ if (err == RD_KAFKA_RESP_ERR__DESTROY) {
+ /* Admin op already timed out. Clear
+ * opaque to prevent coord_req_fail from
+ * using freed eonce. */
+ creq->creq_reply_opaque = NULL;
+ rd_kafka_replyq_destroy(&replyq);
+ rd_kafka_coord_req_destroy(rk, creq,
+ rd_true /*done*/);
+ } else if (err) {
/* Permanent error, e.g., request not
* supported by broker. */
rd_kafka_replyq_destroy(&replyq);
6 changes: 3 additions & 3 deletions .deps/image_digests.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"linux-aarch64": "sha256:c2a744926ca51eba2088c64aaa6cc52b28a0fae033fbafdce1df563503fa3787",
"linux-x86_64": "sha256:9385c075131bbb7697801faae95e59de1f05a966755f4e2572aac8ae61e3f268",
"windows-x86_64": "sha256:4b6faf4c839cfe8f7c6ad0752122f4c934395f96f19923f2d400aae60f294766"
"linux-aarch64": "sha256:223fa103a2f1b67c98d2c15a250a9eec39b6b1768011096260f6e12cef1870c4",
"linux-x86_64": "sha256:7dca4137ffe24807e2e5ffafb4d50dbd9a201534c1c5e072618075d378e9b975",
"windows-x86_64": "sha256:ad7d49d4cef858824a652547291553fa99d220992024421e0618a59e87f96718"
}
42 changes: 21 additions & 21 deletions .deps/resolved/linux-aarch64_3.13.txt
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
aerospike @ https://agent-int-packages.datadoghq.com/built/aerospike/aerospike-7.1.1-20260330163357-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=a1de7c7019b1dd5363cdd1a838ba92185418a114be9b59f902e8aef66326c4ea
botocore @ https://agent-int-packages.datadoghq.com/built/botocore/botocore-1.42.72-20260409220500-py3-none-any.whl#sha256=f1933a8ca6c1108ed23f7b01f82577327fc254e330025887fdd4ba17db03e8e2
botocore @ https://agent-int-packages.datadoghq.com/built/botocore/botocore-1.42.72-20260410221558-py3-none-any.whl#sha256=f1933a8ca6c1108ed23f7b01f82577327fc254e330025887fdd4ba17db03e8e2
cm-client @ https://agent-int-packages.datadoghq.com/built/cm-client/cm_client-45.0.4-20260330163359-py3-none-manylinux2014_aarch64.whl#sha256=0bbcf2766028850c26a917deef3704a096cc9ba0c25220d45ff424334d25dcd7
confluent-kafka @ https://agent-int-packages.datadoghq.com/built/confluent-kafka/confluent_kafka-2.13.2-20260410190451-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=bba101489ed82ba66059433ed131569ff25fa55f79ace348fe62bb301617bbf1
cryptography @ https://agent-int-packages.datadoghq.com/built/cryptography/cryptography-46.0.6-20260410190452-cp313-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=a838ab99996a9a4ce789fa680d08c637256ad4f5327c90ce359c02083d67d9fd
confluent-kafka @ https://agent-int-packages.datadoghq.com/built/confluent-kafka/confluent_kafka-2.13.2-20260415111715-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=17ecd5a99af300e97670db6a6e4f697d8a35b21fce3104dfb743eef2e45606f4
cryptography @ https://agent-int-packages.datadoghq.com/built/cryptography/cryptography-46.0.6-20260415111715-cp313-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=aa560dc281c6d3545f6eb5dc63263bc34420a697048918c667f8ef24fce3aa0a
ddtrace @ https://agent-int-packages.datadoghq.com/built/ddtrace/ddtrace-3.19.5-20260130184606-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl#sha256=776bccb22bc4778ec78ec1dbec2ac5ec52aa41cb709937ec7c16f5108f0cb01d
foundationdb @ https://agent-int-packages.datadoghq.com/built/foundationdb/foundationdb-6.3.25-20260330163401-py3-none-manylinux2014_aarch64.whl#sha256=d34180500220db4458e57505c774de0363456d4129f0e3fe98c9e99e8eef77c2
gssapi @ https://agent-int-packages.datadoghq.com/built/gssapi/gssapi-1.11.1-20260410190455-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=95e5e8521bb191907748a7360ffd025398aa861cb47014c551384380d52be412
keystoneauth1 @ https://agent-int-packages.datadoghq.com/built/keystoneauth1/keystoneauth1-5.13.1-20260409220506-py3-none-any.whl#sha256=a15092187950de965ff6096e203d31e461c61cfd47ec1f5249a0e2955187cba2
krb5 @ https://agent-int-packages.datadoghq.com/built/krb5/krb5-0.9.0-20260410190502-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=9700f818130cf996f844203d60c9e41b95700a90916c9ef39b008166ba6c9f71
openstacksdk @ https://agent-int-packages.datadoghq.com/built/openstacksdk/openstacksdk-4.10.0-20260409220509-py3-none-any.whl#sha256=d6d79d66e0161683a09bae9a83af8d6a3fc2f31e3c4c347d2e2599ca048b2eae
os-service-types @ https://agent-int-packages.datadoghq.com/built/os-service-types/os_service_types-1.8.2-20260409220516-py3-none-any.whl#sha256=758ccaa020eea0edd84bcf4123746ddd060d1dbaeef63d04d76bd2e0ae6f91d8
pbr @ https://agent-int-packages.datadoghq.com/built/pbr/pbr-7.0.3-20260409220522-py2.py3-none-any.whl#sha256=1544652b80307f0b4c491bd66f58f969cb0656994e632365f90e8e044c223b4e
gssapi @ https://agent-int-packages.datadoghq.com/built/gssapi/gssapi-1.11.1-20260415111717-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=95e5e8521bb191907748a7360ffd025398aa861cb47014c551384380d52be412
keystoneauth1 @ https://agent-int-packages.datadoghq.com/built/keystoneauth1/keystoneauth1-5.13.1-20260410221603-py3-none-any.whl#sha256=a15092187950de965ff6096e203d31e461c61cfd47ec1f5249a0e2955187cba2
krb5 @ https://agent-int-packages.datadoghq.com/built/krb5/krb5-0.9.0-20260415111720-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=9700f818130cf996f844203d60c9e41b95700a90916c9ef39b008166ba6c9f71
openstacksdk @ https://agent-int-packages.datadoghq.com/built/openstacksdk/openstacksdk-4.10.0-20260410221607-py3-none-any.whl#sha256=d6d79d66e0161683a09bae9a83af8d6a3fc2f31e3c4c347d2e2599ca048b2eae
os-service-types @ https://agent-int-packages.datadoghq.com/built/os-service-types/os_service_types-1.8.2-20260410221614-py3-none-any.whl#sha256=758ccaa020eea0edd84bcf4123746ddd060d1dbaeef63d04d76bd2e0ae6f91d8
pbr @ https://agent-int-packages.datadoghq.com/built/pbr/pbr-7.0.3-20260410221621-py2.py3-none-any.whl#sha256=1544652b80307f0b4c491bd66f58f969cb0656994e632365f90e8e044c223b4e
psutil @ https://agent-int-packages.datadoghq.com/built/psutil/psutil-6.0.0-20250929144619-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=22e075e3cbc57b5da0d93f72f691746c5198ce88c5aea6fdb54186b3e8c46832
psycopg-c @ https://agent-int-packages.datadoghq.com/built/psycopg-c/psycopg_c-3.3.3-20260409220145-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=db1535bfdf0308477bea4228ea70b16f6c3141267f2b11fd4bb8b9be0a7eb57a
pymongo @ https://agent-int-packages.datadoghq.com/built/pymongo/pymongo-4.8.0-20260330163414-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=e01d4681e5e98dc63b6f32ae6cd97ec07d32cefe24eabcc5e520db8b61e76da7
pyodbc @ https://agent-int-packages.datadoghq.com/built/pyodbc/pyodbc-5.3.0-20260325160008-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=15a1008c294af117fc7f7436fb4314f62794d3834623f43ba0f8339230381dcf
pysnmp-mibs @ https://agent-int-packages.datadoghq.com/built/pysnmp-mibs/pysnmp_mibs-0.1.6-20260409220525-py2.py3-none-any.whl#sha256=0cc4610711208cdc64361464a23d1f2dce88ec5990a12b4bdce4f13b6a169810
psycopg-c @ https://agent-int-packages.datadoghq.com/built/psycopg-c/psycopg_c-3.3.3-20260415111730-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=e9a6db500356a67b07cf971b394b92445797d608578961cd2c931ec1d61567b9
pymongo @ https://agent-int-packages.datadoghq.com/built/pymongo/pymongo-4.8.0-20260415111731-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=30d8af4ef8fda85d1a865bdb254e6b2e3988f26b723eb39a4843c766371ff517
pyodbc @ https://agent-int-packages.datadoghq.com/built/pyodbc/pyodbc-5.3.0-20260415111731-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=91a4191cf30930755d82e8edd6ac861443dfb6fbbf7915753b73209038ad5ad2
pysnmp-mibs @ https://agent-int-packages.datadoghq.com/built/pysnmp-mibs/pysnmp_mibs-0.1.6-20260410221625-py2.py3-none-any.whl#sha256=0cc4610711208cdc64361464a23d1f2dce88ec5990a12b4bdce4f13b6a169810
pyvmomi @ https://agent-int-packages.datadoghq.com/built/pyvmomi/pyvmomi-8.0.3.0.1-20260330163415-py2.py3-none-manylinux2014_aarch64.whl#sha256=dd71476b7308286ed4219373ca9523e4f06bfed3f5932f60e5c67d8d5a673e1e
requests-unixsocket2 @ https://agent-int-packages.datadoghq.com/built/requests-unixsocket2/requests_unixsocket2-1.0.1-20260409220529-py3-none-any.whl#sha256=aae3f1743ab60955ea91e9a095d54997ea56b956bab652bf194379ef4dc6fa7f
securesystemslib @ https://agent-int-packages.datadoghq.com/built/securesystemslib/securesystemslib-0.28.0-20260409220535-py3-none-any.whl#sha256=861ab6f8c1930e0c05915f32a34f1c4ae1d76ee542ad2b424121e3e26a9fb1dd
setuptools @ https://agent-int-packages.datadoghq.com/built/setuptools/setuptools-82.0.1-20260409220538-py3-none-any.whl#sha256=b020c62c9ea6c1c3e7a29a8e385967909ceb85a77398f7fbe3c63e2abab52e87
requests-unixsocket2 @ https://agent-int-packages.datadoghq.com/built/requests-unixsocket2/requests_unixsocket2-1.0.1-20260410221628-py3-none-any.whl#sha256=aae3f1743ab60955ea91e9a095d54997ea56b956bab652bf194379ef4dc6fa7f
securesystemslib @ https://agent-int-packages.datadoghq.com/built/securesystemslib/securesystemslib-0.28.0-20260410221636-py3-none-any.whl#sha256=861ab6f8c1930e0c05915f32a34f1c4ae1d76ee542ad2b424121e3e26a9fb1dd
setuptools @ https://agent-int-packages.datadoghq.com/built/setuptools/setuptools-82.0.1-20260410221639-py3-none-any.whl#sha256=b020c62c9ea6c1c3e7a29a8e385967909ceb85a77398f7fbe3c63e2abab52e87
simplejson @ https://agent-int-packages.datadoghq.com/built/simplejson/simplejson-3.20.2-20260227230951-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=cb739020a718c2e32041a0fa0a3f79398f45c067347fe8f286c8222fa777bc5d
stevedore @ https://agent-int-packages.datadoghq.com/built/stevedore/stevedore-5.7.0-20260409220543-py3-none-any.whl#sha256=0cf2a7cb9c915eddc77a591df48e8ab78f93167e8ac77d0efb04eb375f91d8b2
supervisor @ https://agent-int-packages.datadoghq.com/built/supervisor/supervisor-4.3.0-20260409220549-py2.py3-none-any.whl#sha256=81d63e968a5133203a334102b8e6e72b1f5ecfc9673c1af7680f9f7e0db8d4fd
vertica-python @ https://agent-int-packages.datadoghq.com/built/vertica-python/vertica_python-1.4.0-20260409220556-py3-none-any.whl#sha256=df8d667b7bd070532a72c25f37e7259d3673c1908ae726fdfb3087d777caa9da
websocket-client @ https://agent-int-packages.datadoghq.com/built/websocket-client/websocket_client-1.9.0-20260409220603-py3-none-any.whl#sha256=b628876a9b1eed1d49f1a230bf4b1c21fa3cd9163594f9f9628c8a8b22f97e10
stevedore @ https://agent-int-packages.datadoghq.com/built/stevedore/stevedore-5.7.0-20260410221643-py3-none-any.whl#sha256=0cf2a7cb9c915eddc77a591df48e8ab78f93167e8ac77d0efb04eb375f91d8b2
supervisor @ https://agent-int-packages.datadoghq.com/built/supervisor/supervisor-4.3.0-20260410221651-py2.py3-none-any.whl#sha256=81d63e968a5133203a334102b8e6e72b1f5ecfc9673c1af7680f9f7e0db8d4fd
vertica-python @ https://agent-int-packages.datadoghq.com/built/vertica-python/vertica_python-1.4.0-20260410221658-py3-none-any.whl#sha256=df8d667b7bd070532a72c25f37e7259d3673c1908ae726fdfb3087d777caa9da
websocket-client @ https://agent-int-packages.datadoghq.com/built/websocket-client/websocket_client-1.9.0-20260410221705-py3-none-any.whl#sha256=b628876a9b1eed1d49f1a230bf4b1c21fa3cd9163594f9f9628c8a8b22f97e10
annotated-types @ https://agent-int-packages.datadoghq.com/external/annotated-types/annotated_types-0.7.0-py3-none-any.whl#sha256=1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53
attrs @ https://agent-int-packages.datadoghq.com/external/attrs/attrs-26.1.0-py3-none-any.whl#sha256=c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309
aws-msk-iam-sasl-signer-python @ https://agent-int-packages.datadoghq.com/external/aws-msk-iam-sasl-signer-python/aws_msk_iam_sasl_signer_python-1.0.2-py2.py3-none-any.whl#sha256=310eb2db9ca0ff55ed06a24212739b87533e7f1cf6f34e43aabbd97a3b21290e
Expand Down Expand Up @@ -114,5 +114,5 @@ typing-inspection @ https://agent-int-packages.datadoghq.com/external/typing-ins
uhashring @ https://agent-int-packages.datadoghq.com/external/uhashring/uhashring-2.4-py3-none-any.whl#sha256=0d6cae4ac3205ef039860b0befd6bc762f1686a276805bf1b998c8657124df62
urllib3 @ https://agent-int-packages.datadoghq.com/external/urllib3/urllib3-2.6.3-py3-none-any.whl#sha256=bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4
wrapt @ https://agent-int-packages.datadoghq.com/external/wrapt/wrapt-2.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl#sha256=16997dfb9d67addc2e3f41b62a104341e80cac52f91110dece393923c0ebd5ca
zipp @ https://agent-int-packages.datadoghq.com/external/zipp/zipp-3.23.0-py3-none-any.whl#sha256=071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e
zipp @ https://agent-int-packages.datadoghq.com/external/zipp/zipp-3.23.1-py3-none-any.whl#sha256=0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc
zstandard @ https://agent-int-packages.datadoghq.com/external/zstandard/zstandard-0.25.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl#sha256=bfc4e20784722098822e3eee42b8e576b379ed72cca4a7cb856ae733e62192ea
Loading
Loading