commit:     62ecebf4eb4e885798afc3e1e4dced8f951cc482
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 22 08:00:55 2025 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Wed Oct 22 08:00:55 2025 +0000
URL:        
https://gitweb.gentoo.org/proj/virtualbox-patches.git/commit/?id=62ecebf4

Add patch for curl 8.16

Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 patches/030_virtualbox-7.2.2-curl-8.16.patch | 54 ++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/patches/030_virtualbox-7.2.2-curl-8.16.patch 
b/patches/030_virtualbox-7.2.2-curl-8.16.patch
new file mode 100644
index 0000000..6a1d401
--- /dev/null
+++ b/patches/030_virtualbox-7.2.2-curl-8.16.patch
@@ -0,0 +1,54 @@
+Breaking change in curl 8.16:
+https://github.com/curl/curl/commit/1a12663d06d9c42fd40a8655d5247f7afeeb8e1e
+
+Change curl_proxytype to long.
+
+See also: https://bugs.gentoo.org/962744
+
+--- a/src/VBox/Runtime/generic/http-curl.cpp
++++ b/src/VBox/Runtime/generic/http-curl.cpp
+@@ -188,7 +188,7 @@
+     /** Proxy port number (UINT32_MAX if not specified). */
+     uint32_t            uProxyPort;
+     /** The proxy type (CURLPROXY_HTTP, CURLPROXY_SOCKS5, ++). */
+-    curl_proxytype      enmProxyType;
++    long      enmProxyType;
+     /** Proxy username (RTStrFree). */
+     char               *pszProxyUsername;
+     /** Proxy password (RTStrFree). */
+@@ -591,7 +591,7 @@
+  * @param   pszUsername     The proxy username, or NULL if none.
+  * @param   pszPassword     The proxy password, or NULL if none.
+  */
+-static int rtHttpUpdateProxyConfig(PRTHTTPINTERNAL pThis, curl_proxytype 
enmProxyType, const char *pszHost,
++static int rtHttpUpdateProxyConfig(PRTHTTPINTERNAL pThis, long enmProxyType, 
const char *pszHost,
+                                    uint32_t uPort, const char *pszUsername, 
const char *pszPassword)
+ {
+     CURLcode rcCurl;
+@@ -610,7 +610,7 @@
+     if (   pThis->fReapplyProxyInfo
+         || enmProxyType != pThis->enmProxyType)
+     {
+-        rcCurl = curl_easy_setopt(pThis->pCurl, CURLOPT_PROXYTYPE, 
(long)enmProxyType);
++        rcCurl = curl_easy_setopt(pThis->pCurl, CURLOPT_PROXYTYPE, 
enmProxyType);
+         AssertMsgReturn(CURL_SUCCESS(rcCurl), ("CURLOPT_PROXYTYPE=%d: %d 
(%#x)\n", enmProxyType, rcCurl, rcCurl),
+                         VERR_HTTP_CURL_PROXY_CONFIG);
+         pThis->enmProxyType = enmProxyType;
+@@ -871,7 +871,7 @@
+             char    *pszPassword = RTUriParsedAuthorityPassword(pszProxyUrl, 
&Parsed);
+             uint32_t uProxyPort  = RTUriParsedAuthorityPort(pszProxyUrl, 
&Parsed);
+             bool     fUnknownProxyType = false;
+-            curl_proxytype enmProxyType;
++            long enmProxyType;
+             if (RTUriIsSchemeMatch(pszProxyUrl, "http"))
+             {
+                 enmProxyType  = CURLPROXY_HTTP;
+@@ -1352,7 +1352,7 @@
+      * Determine the proxy type (not entirely sure about type == proxy type 
and
+      * not scheme/protocol)...
+      */
+-    curl_proxytype  enmProxyType      = CURLPROXY_HTTP;
++    long  enmProxyType      = CURLPROXY_HTTP;
+     uint32_t        uDefaultProxyPort = 8080;
+     if (   CFEqual(hStrProxyType, kCFProxyTypeHTTP)
+         || CFEqual(hStrProxyType, kCFProxyTypeHTTPS))

Reply via email to