commit: 55b031898feeda57d0b75a6ad05e41aae3405ad8
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 13 15:13:34 2025 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Aug 13 15:13:34 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55b03189
dev-cpp/azure-identity: Patch 1.13.0 to fix issue with managed identities
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
...13.0.ebuild => azure-identity-1.13.0-r1.ebuild} | 4 ++++
.../files/azure-identity-imds-double-slash.patch | 22 ++++++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/dev-cpp/azure-identity/azure-identity-1.13.0.ebuild
b/dev-cpp/azure-identity/azure-identity-1.13.0-r1.ebuild
similarity index 94%
rename from dev-cpp/azure-identity/azure-identity-1.13.0.ebuild
rename to dev-cpp/azure-identity/azure-identity-1.13.0-r1.ebuild
index 79814f2229e7..eb21aada9a90 100644
--- a/dev-cpp/azure-identity/azure-identity-1.13.0.ebuild
+++ b/dev-cpp/azure-identity/azure-identity-1.13.0-r1.ebuild
@@ -30,6 +30,10 @@ BDEPEND="
doc? ( app-text/doxygen )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-imds-double-slash.patch
+)
+
src_configure() {
local mycmakeargs=(
-DBUILD_DOCUMENTATION=$(usex doc)
diff --git
a/dev-cpp/azure-identity/files/azure-identity-imds-double-slash.patch
b/dev-cpp/azure-identity/files/azure-identity-imds-double-slash.patch
new file mode 100644
index 000000000000..f6b47be1ad6f
--- /dev/null
+++ b/dev-cpp/azure-identity/files/azure-identity-imds-double-slash.patch
@@ -0,0 +1,22 @@
+From 72f327b2c19afffa9df2ce0ef817c13b3dd75804 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <[email protected]>
+Date: Wed, 13 Aug 2025 15:52:31 +0100
+Subject: [PATCH] Fix IMDS token requests for managed identities
+
+This was broken by a035ee5f9416ef9188533de40b4ab1c37fb7c0af, which
+accidentally constructed the IMDS URL with a double slash at the start
+of the path. This is not properly routed on the server side, leading to
+a 404 error with some very misleading XML.
+
+Signed-off-by: James Le Cuirot <[email protected]>
+--- a/src/managed_identity_source.cpp
++++ b/src/managed_identity_source.cpp
+@@ -527,7 +527,7 @@ std::unique_ptr<ManagedIdentitySource>
ImdsManagedIdentitySource::Create(
+
+ imdsUrl = Core::Url{imdsEndpointEnvVarValue};
+ }
+- imdsUrl.SetPath("/metadata/identity/oauth2/token");
++ imdsUrl.SetPath("metadata/identity/oauth2/token");
+
+ return std::unique_ptr<ManagedIdentitySource>(
+ new ImdsManagedIdentitySource(clientId, objectId, resourceId, imdsUrl,
options));