Commit 68dd6989ab for qemu.org
commit 68dd6989abe5212fc89ef0fcb6fedc460bfd1cb7
Author: Vladimir Lobanov <lobanov-vla@yandex.ru>
Date: Wed Jun 17 12:44:56 2026 +0300
block/curl: set User-Agent header
Some HTTP servers and WAFs (e.g. Amazon CloudFront) reject
requests without a User-Agent header with 403 Forbidden. This
makes qemu-img info and other curl-based operations fail on
such URLs without any obvious indication of the root cause.
Set a "QEMU/<version>" User-Agent string on all curl handles
to ensure compatibility with these endpoints.
Signed-off-by: Vladimir Lobanov <lobanov-vla@yandex.ru>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/block/curl.c b/block/curl.c
index 684c677ef7..1958eb80d1 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -482,6 +482,8 @@ static int curl_init_state(BDRVCURLState *s, CURLState *state)
}
}
if (curl_easy_setopt(state->curl, CURLOPT_TIMEOUT, (long)s->timeout) ||
+ curl_easy_setopt(state->curl, CURLOPT_USERAGENT,
+ "QEMU/" QEMU_VERSION) ||
curl_easy_setopt(state->curl, CURLOPT_WRITEFUNCTION,
(void *)curl_read_cb) ||
curl_easy_setopt(state->curl, CURLOPT_WRITEDATA, (void *)state) ||