schannel: enable ALPN with MinGW, fix ALPN for UWP builds#16385
Closed
vszakats wants to merge 14 commits intocurl:masterfrom
Closed
schannel: enable ALPN with MinGW, fix ALPN for UWP builds#16385vszakats wants to merge 14 commits intocurl:masterfrom
vszakats wants to merge 14 commits intocurl:masterfrom
Conversation
HAS_ALPN_SCHANNEL with mingw
HAS_ALPN_SCHANNEL with mingwhttps://github.com/curl/curl/actions/runs/13401270664/job/37432463680?pr=16385 ``` -- Found MINGW64_VERSION=6.0 [...] In file included from D:/a/curl/curl/bld/lib/CMakeFiles/libcurl_object.dir/Unity/unity_5_c.c:10:0: D:/a/curl/curl/lib/vtls/schannel.c: In function 'schannel_connect_step1': D:/a/curl/curl/lib/vtls/schannel.c:1007:7: error: 'SecApplicationProtocolNegotiationExt_ALPN' undeclared (first use in this function) SecApplicationProtocolNegotiationExt_ALPN; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:/a/curl/curl/lib/vtls/schannel.c:1007:7: note: each undeclared identifier is reported only once for each function it appears in D:/a/curl/curl/lib/vtls/schannel.c:1029:27: error: 'SECBUFFER_APPLICATION_PROTOCOLS' undeclared (first use in this function); did you mean 'SECBUFFER_NEGOTIATION_INFO'? InitSecBuffer(&inbuf, SECBUFFER_APPLICATION_PROTOCOLS, alpn_buffer, cur); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SECBUFFER_NEGOTIATION_INFO D:/a/curl/curl/lib/vtls/schannel.c: In function 'schannel_connect_step3': D:/a/curl/curl/lib/vtls/schannel.c:1534:3: error: unknown type name 'SecPkgContext_ApplicationProtocol'; did you mean 'SecPkgContext_NegotiationInfoW'? [ 33%] Generating CURLOPT_XOAUTH2_BEARER.3, CURLSHOPT_LOCKFUNC.3, CURLSHOPT_SHARE.3, CURLSHOPT_UNLOCKFUNC.3, CURLSHOPT_UNSHARE.3, CURLSHOPT_USERDATA.3 SecPkgContext_ApplicationProtocol alpn_result; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SecPkgContext_NegotiationInfoW D:/a/curl/curl/lib/vtls/schannel.c:1566:40: error: 'SECPKG_ATTR_APPLICATION_PROTOCOL' undeclared (first use in this function); did you mean 'SECPKG_ATTR_SUPPORTED_PROTOCOLS'? SECPKG_ATTR_APPLICATION_PROTOCOL, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SECPKG_ATTR_SUPPORTED_PROTOCOLS D:/a/curl/curl/lib/vtls/schannel.c:1574:19: error: request for member 'ProtoNegoStatus' in something not a structure or union if(alpn_result.ProtoNegoStatus == ^ D:/a/curl/curl/lib/vtls/schannel.c:1575:8: error: 'SecApplicationProtocolNegotiationStatus_Success' undeclared (first use in this function) SecApplicationProtocolNegotiationStatus_Success) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:/a/curl/curl/lib/vtls/schannel.c:1578:62: error: request for member 'ProtocolId' in something not a structure or union Curl_alpn_set_negotiated(cf, data, connssl, alpn_result.ProtocolId, ^ D:/a/curl/curl/lib/vtls/schannel.c:1579:43: error: request for member 'ProtocolIdSize' in something not a structure or union alpn_result.ProtocolIdSize); ^ ```
```
D:/a/curl/curl/lib/vtls/schannel.c: In function 'schannel_connect_step1':
D:/a/curl/curl/lib/vtls/schannel.c:912:21: error: implicit declaration of function 'GetModuleHandle' [-Wimplicit-function-declaration]
912 | !GetProcAddress(GetModuleHandle(TEXT("ntdll")),
| ^~~~~~~~~~~~~~~
D:/a/curl/curl/lib/vtls/schannel.c:912:21: error: nested extern declaration of 'GetModuleHandle' [-Werror=nested-externs]
D:/a/curl/curl/lib/vtls/schannel.c:912:21: error: passing argument 1 of 'GetProcAddress' makes pointer from integer without a cast [-Wint-conversion]
912 | !GetProcAddress(GetModuleHandle(TEXT("ntdll")),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from D:/a/_temp/msys64/ucrt64/include/winbase.h:24,
from D:/a/_temp/msys64/ucrt64/include/windows.h:70,
from D:/a/_temp/msys64/ucrt64/include/winsock2.h:23,
from D:/a/curl/curl/lib/setup-win32.h:80,
from D:/a/curl/curl/lib/curl_setup.h:304,
from D:/a/curl/curl/lib/vtls/mbedtls.c:32,
from D:/a/curl/curl/bld/lib/CMakeFiles/libcurl_object.dir/Unity/unity_5_c.c:4:
D:/a/_temp/msys64/ucrt64/include/libloaderapi.h:112:53: note: expected 'HMODULE' {aka 'struct HINSTANCE__ *'} but argument is of type 'int'
112 | WINBASEAPI FARPROC WINAPI GetProcAddress (HMODULE hModule, LPCSTR lpProcName);
| ~~~~~~~~^~~~~~~
cc1.exe: all warnings being treated as errors
```
https://github.com/curl/curl/actions/runs/13401798278/job/37434104483?pr=16385#step:10:15
msvc, CM x64-uwp schannel:
```
curl\lib\curl_sspi.h(61,31): error C2061: syntax error: identifier 'Curl_pSecFn'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.h(61,31): error C2061: syntax error: identifier 'Curl_pSecFn'
(compiling source file '../../lib/memdebug.c')
curl\lib\curl_sspi.h(61,31): error C2059: syntax error: ';'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.h(61,31): error C2059: syntax error: ';'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(331,3): error C2061: syntax error: identifier 'CtxtHandle'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(331,3): error C2061: syntax error: identifier 'CtxtHandle'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(348,1): error C2059: syntax error: '}'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(348,1): error C2059: syntax error: '}'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(371,3): error C2061: syntax error: identifier 'CredHandle'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(371,3): error C2061: syntax error: identifier 'CredHandle'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(372,14): error C2143: syntax error: missing '{' before '*'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(372,14): error C2143: syntax error: missing '{' before '*'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(372,15): warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(372,15): warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(372,22): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(372,22): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(382,1): error C2059: syntax error: '}'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(382,1): error C2059: syntax error: '}'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(404,3): error C2061: syntax error: identifier 'CredHandle'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(404,3): error C2061: syntax error: identifier 'CredHandle'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(405,14): error C2143: syntax error: missing '{' before '*'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(405,14): error C2143: syntax error: missing '{' before '*'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(405,15): warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(405,15): warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(405,22): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(405,22): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(419,1): error C2059: syntax error: '}'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(419,1): error C2059: syntax error: '}'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(437,3): error C2061: syntax error: identifier 'CredHandle'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(437,3): error C2061: syntax error: identifier 'CredHandle'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,14): error C2143: syntax error: missing '{' before '*'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(438,14): error C2143: syntax error: missing '{' before '*'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15): warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(438,15): warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,22): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(438,22): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(451,1): error C2059: syntax error: '}'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(451,1): error C2059: syntax error: '}'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(856,24): error C2079: 'krb5' uses undefined struct 'kerberos5data'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(874,19): error C2079: 'ntlm' uses undefined struct 'ntlmdata'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(877,19): error C2079: 'proxyntlm' uses undefined struct 'ntlmdata'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(856,24): error C2079: 'krb5' uses undefined struct 'kerberos5data'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(884,24): error C2079: 'negotiate' uses undefined struct 'negotiatedata'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(874,19): error C2079: 'ntlm' uses undefined struct 'ntlmdata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(885,24): error C2079: 'proxyneg' uses undefined struct 'negotiatedata'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(877,19): error C2079: 'proxyntlm' uses undefined struct 'ntlmdata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(884,24): error C2079: 'negotiate' uses undefined struct 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(885,24): error C2079: 'proxyneg' uses undefined struct 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(1210,21): error C2079: 'digest' uses undefined struct 'digestdata'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(1211,21): error C2079: 'proxydigest' uses undefined struct 'digestdata'
(compiling source file '../../lib/memdebug.c')
curl\lib\urldata.h(1210,21): error C2079: 'digest' uses undefined struct 'digestdata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(1211,21): error C2079: 'proxydigest' uses undefined struct 'digestdata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(98,30): warning C4133: 'function': incompatible types - from 'int *' to 'kerberos5data *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(112,28): warning C4133: 'function': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(396,61): warning C4133: 'function': incompatible types - from 'int *' to 'kerberos5data *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(456,54): warning C4133: 'function': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(623,50): warning C4133: 'function': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(631,52): warning C4133: 'function': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(634,66): warning C4133: 'function': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(646,51): warning C4133: 'function': incompatible types - from 'int *' to 'kerberos5data *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(660,55): warning C4133: 'function': incompatible types - from 'int *' to 'kerberos5data *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(669,59): warning C4133: 'function': incompatible types - from 'int *' to 'kerberos5data *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sasl.c(680,57): warning C4133: 'function': incompatible types - from 'int *' to 'kerberos5data *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sha512_256.c(423,28): warning C4459: declaration of 'context' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15):
see declaration of 'context'
curl\lib\curl_sha512_256.c(625,30): warning C4459: declaration of 'context' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15):
see declaration of 'context'
curl\lib\curl_sha512_256.c(703,30): warning C4459: declaration of 'context' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15):
see declaration of 'context'
curl\lib\curl_sha512_256.c(810,32): warning C4459: declaration of 'context' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15):
see declaration of 'context'
curl\lib\curl_sha512_256.c(821,32): warning C4459: declaration of 'context' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15):
see declaration of 'context'
curl\lib\curl_sspi.c(41,33): error C2143: syntax error: missing ')' before '__cdecl'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(41,33): error C2143: syntax error: missing '{' before '__cdecl'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(41,67): error C2059: syntax error: ')'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(41,43): error C2165: 'left-side modifier': cannot modify pointers to data
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(41,43): warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(41,74): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(58,24): error C2061: syntax error: identifier 'Curl_pSecFn'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(58,24): error C2059: syntax error: ';'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(58,36): error C2513: ' ': no variable declared before '='
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(58,42): warning C4218: nonstandard extension used: must specify at least a storage class or a type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(79,28): error C2146: syntax error: missing ';' before identifier 'pInitSecurityInterface'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(79,3): warning C4550: expression evaluates to a function which is missing an argument list
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(79,28): error C2065: 'pInitSecurityInterface': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(96,5): error C2065: 'pInitSecurityInterface': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(97,7): error C2143: syntax error: missing ')' before 'type'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(96,28): warning C4047: '=': 'int' differs in levels of indirection from 'int *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(99,9): error C2065: 'pInitSecurityInterface': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(103,5): error C2065: 'Curl_pSecFn': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(103,19): warning C4013: 'pInitSecurityInterface' undefined; assuming extern returning int
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(104,9): error C2065: 'Curl_pSecFn': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(125,5): error C2065: 'Curl_pSecFn': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(125,17): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\curl_sspi.c(144,61): warning C4459: declaration of 'identity' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(439,27):
see declaration of 'identity'
curl\lib\curl_sspi.c(147,12): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\curl_sspi.c(149,12): warning C4459: declaration of 'passwd' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(335,9):
see declaration of 'passwd'
curl\lib\curl_sspi.c(230,55): warning C4459: declaration of 'identity' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(439,27):
see declaration of 'identity'
curl\lib\ftplistparser.c(184,33): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\hash.c(316,59): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\hostip.c(219,31): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\hostip.c(302,33): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\http.c(330,15): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\http.c(3206,9): error C2037: left of 'noauthpersist' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http.c(3207,9): error C2037: left of 'havenoauthpersist' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http.c(3209,15): error C2037: left of 'noauthpersist' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http.c(3200,29): warning C4133: 'initializing': incompatible types - from 'int *' to 'negotiatedata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http.c(4272,9): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\http_aws_sigv4.c(605,15): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\http_digest.c(55,12): warning C4133: '=': incompatible types - from 'int *' to 'digestdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_digest.c(58,12): warning C4133: '=': incompatible types - from 'int *' to 'digestdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_digest.c(99,12): warning C4133: '=': incompatible types - from 'int *' to 'digestdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_digest.c(107,12): warning C4133: '=': incompatible types - from 'int *' to 'digestdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_digest.c(124,17): error C2037: left of 'input_token' specifies undefined struct/union 'digestdata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_digest.c(181,28): warning C4133: 'function': incompatible types - from 'int *' to 'digestdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_digest.c(182,28): warning C4133: 'function': incompatible types - from 'int *' to 'digestdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(64,13): warning C4133: '=': incompatible types - from 'int *' to 'negotiatedata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(76,13): warning C4133: '=': incompatible types - from 'int *' to 'negotiatedata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(93,3): error C2037: left of 'havenegdata' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(151,13): warning C4133: '=': incompatible types - from 'int *' to 'negotiatedata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(159,13): warning C4133: '=': incompatible types - from 'int *' to 'negotiatedata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(167,8): error C2037: left of 'havenegdata' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(168,7): error C2037: left of 'havemultiplerequests' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(172,9): error C2037: left of 'havenoauthpersist' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(173,7): error C2037: left of 'noauthpersist' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(173,33): error C2037: left of 'havemultiplerequests' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(177,6): error C2037: left of 'noauthpersist' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(180,8): error C2037: left of 'noauthpersist' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(185,9): error C2037: left of 'context' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(229,8): error C2037: left of 'status' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(230,8): error C2037: left of 'status' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(243,3): error C2037: left of 'havenegdata' specifies undefined struct/union 'negotiatedata'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(253,28): warning C4133: 'function': incompatible types - from 'int *' to 'negotiatedata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_negotiate.c(254,28): warning C4133: 'function': incompatible types - from 'int *' to 'negotiatedata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_ntlm.c(67,8): warning C4133: '=': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_ntlm.c(154,10): warning C4133: '=': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_ntlm.c(168,10): warning C4133: '=': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_ntlm.c(264,26): warning C4133: 'function': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\http_ntlm.c(265,26): warning C4133: 'function': incompatible types - from 'int *' to 'ntlmdata *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\imap.c(507,9): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\imap.c(508,9): warning C4459: declaration of 'passwd' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(335,9):
see declaration of 'passwd'
curl\lib\llist.c(185,52): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\llist.c(207,51): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\md5.c(654,46): warning C4459: declaration of 'context' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15):
see declaration of 'context'
curl\lib\md5.c(663,45): warning C4459: declaration of 'context' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(438,15):
see declaration of 'context'
curl\lib\mqtt.c(173,35): warning C4459: declaration of 'passwd' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(335,9):
see declaration of 'passwd'
curl\lib\mqtt.c(272,15): warning C4459: declaration of 'passwd' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(335,9):
see declaration of 'passwd'
curl\lib\setopt.c(114,9): warning C4459: declaration of 'user' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(334,9):
see declaration of 'user'
curl\lib\setopt.c(115,9): warning C4459: declaration of 'passwd' hides global declaration
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\urldata.h(335,9):
see declaration of 'passwd'
curl\lib\socks_sspi.c(50,43): error C2146: syntax error: missing ')' before identifier 'status'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(50,27): error C2081: 'SECURITY_STATUS': name in formal parameter list illegal
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(50,43): error C2061: syntax error: identifier 'status'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(50,43): error C2059: syntax error: ';'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(50,49): error C2059: syntax error: ','
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(51,47): error C2059: syntax error: ')'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(76,3): error C2065: 'SECURITY_STATUS': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(76,19): error C2146: syntax error: missing ';' before identifier 'status'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(76,19): error C2065: 'status': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(79,3): error C2065: 'SecBuffer': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(79,13): error C2146: syntax error: missing ';' before identifier 'sspi_send_token'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(79,13): error C2065: 'sspi_send_token': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(79,30): error C2065: 'sspi_recv_token': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(79,47): error C2065: 'sspi_w_token': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(79,59): error C2109: subscript requires array or pointer type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(80,3): error C2065: 'SecBufferDesc': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(80,17): error C2146: syntax error: missing ';' before identifier 'input_desc'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(80,17): error C2065: 'input_desc': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(80,29): error C2065: 'output_desc': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(80,42): error C2065: 'wrap_desc': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(81,3): error C2065: 'SecPkgContext_Sizes': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(81,23): error C2146: syntax error: missing ';' before identifier 'sspi_sizes'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(81,23): error C2065: 'sspi_sizes': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(82,3): error C2065: 'CredHandle': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(82,14): error C2146: syntax error: missing ';' before identifier 'cred_handle'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(82,14): error C2065: 'cred_handle': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(83,3): error C2065: 'CtxtHandle': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(83,14): error C2146: syntax error: missing ';' before identifier 'sspi_context'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(83,14): error C2065: 'sspi_context': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(84,3): error C2065: 'PCtxtHandle': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(84,15): error C2146: syntax error: missing ';' before identifier 'context_handle'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(84,15): error C2065: 'context_handle': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(84,30): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(85,3): error C2065: 'SecPkgCredentials_Names': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(85,27): error C2146: syntax error: missing ';' before identifier 'names'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(85,27): error C2065: 'names': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(86,3): error C2065: 'TimeStamp': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(86,13): error C2146: syntax error: missing ';' before identifier 'expiry'
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(86,13): error C2065: 'expiry': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(119,3): error C2065: 'input_desc': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(119,14): error C2224: left of '.cBuffers' must have struct/union type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(120,3): error C2065: 'input_desc': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(120,14): error C2224: left of '.pBuffers' must have struct/union type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(120,26): error C2065: 'sspi_recv_token': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(121,3): error C2065: 'input_desc': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(121,14): error C2224: left of '.ulVersion' must have struct/union type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(121,26): error C2065: 'SECBUFFER_VERSION': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(123,3): error C2065: 'sspi_recv_token': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(123,19): error C2224: left of '.BufferType' must have struct/union type
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(123,32): error C2065: 'SECBUFFER_TOKEN': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(124,3): error C2065: 'sspi_recv_token': undeclared identifier
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
curl\lib\socks_sspi.c(124,3): error C1003: error count exceeds 100; stopping compilation
(compiling source file 'CMakeFiles/libcurl_object.dir/Unity/unity_0_c.c')
```
https://github.com/curl/curl/actions/runs/13402027913/job/37434920511?pr=16385#step:10:31
This reverts commit c9cd3c9.
d7a7e14 to
526e603
Compare
fixup cmake: sspi-schannel fixup
This reverts commit 4a037b5. MSVC + Schannel + UWP build fails spectacularly. Possibly due to missing SSPI stuff, which is required by vtls/schannel.c. MinGW builds the same combo. Though it's unknown if it actually works or runs.
c5f7466 to
35569fb
Compare
Closed
vszakats
added a commit
to curl/curl-for-win
that referenced
this pull request
Apr 15, 2025
- the macro has been renamed in curl. The old name has no effect. curl/curl@0c93308 curl/curl#16231 - this was added to enable ALPN for mingw: f9b9073 It has been fixed upstream in 8.13.0: curl/curl@397088e curl/curl#16385
pps83
pushed a commit
to pps83/curl
that referenced
this pull request
Apr 26, 2025
ALPN requires mingw-w64 9.0 or newer. Also fix ALPN-enabled builds for UWP. This assumes that WINE doesn't support UWP, which seems to be the case when writing this. Closes curl#16385
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ALPN requires mingw-w64 9.0 or newer.
Also fix ALPN-enabled builds for UWP. This assumes that WINE doesn't
support UWP, which seems to be the case when writing this.
w/o ws https://github.com/curl/curl/pull/16385/files?w=1
To test ALPN with UWP, I added an Schannel MSVC job, but it failed
spectacularly while compiling SSPI code. I don't know why that is.
MinGW builds the same combination fine, though I don't know if that
(or any UWP builds) actually work or not.
It starts with these and continues with many others:
https://github.com/curl/curl/actions/runs/13402027913/job/37434920511?pr=16385#step:10:31
full list: c9cd3c9