curl/lib
Viktor Szakats 2a292c3984
build: add Windows CE / CeGCC support, with CI jobs
Make it possible to build curl for Windows CE using the CeGCC toolchain.
With both CMake and autotools, including tests and examples, also in CI.
The build configuration is the default one with Schannel enabled. No
3rd-party dependencies have been tested.

Also revive old code to make Schannel build with Windows CE, including
certificate verification.

Builds have been throughougly tested. But, I've made no functional tests
for this PR. Some parts (esp. file operations, like truncate and seek)
are stubbed out and likely broken as a result. Test servers build, but
they do not work on Windows CE. This patch substitutes `fstat()` calls
with `stat()`, which operate on filenames, not file handles. This may or
may not work and/or may not be secure.

About CeGCC: I used the latest available macOS binary build v0.59.1
r1397 from 2009, in native `mingw32ce` build mode. CeGCC is in effect
MinGW + GCC 4.4.0 + old/classic-mingw Windows headers. It targets
Windows CE v3.0 according to its `_WIN32_WCE` value. It means this PR
restores portions of old/classic-mingw support. It makes the Windows CE
codepath compatible with GCC 4.4.0. It also adds workaround for CMake,
which cannot identify and configure this toolchain out of the box.

Notes:
- CMake doesn't recognize CeGCC/mingw32ce, necessitating tricks as seen
  with Amiga and MS-DOS.
- CMake doesn't set `MINGW` for mingw32ce. Set it and `MINGW32CE`
  manually as a helper variable, in addition to `WINCE` which CMake sets
  based on `CMAKE_SYSTEM_NAME`.
- CMake fails to create an implib for `libcurl.dll`, due to not
  recognizing the platform as a Windowsy one. This patch adds the
  necessary workaround to make it work.
- headers shipping with CeGCC miss some things curl needs for Schannel
  support. Fixed by restoring and renovating code previously deleted
  old-mingw code.
- it's sometime non-trivial to figure out if a fallout is WinCE,
  mingw32ce, old-mingw, or GCC version-specific.
- WinCE is always Unicode. With exceptions: no `wmain`,
  `GetProcAddress()`.
- `_fileno()` is said to convert from `FILE *` to `void *` which is
  a Win32 file `HANDLE`. (This patch doesn't use this, but with further
  effort it probably could be.)
  https://stackoverflow.com/questions/3989545/how-do-i-get-the-file-handle-from-the-fopen-file-structure
- WinCE has no signals, current directory, stdio/CRT file handles, no
  `_get_osfhandle()`, no `errno`, no `errno.h`. Some of this stuff is
  standard C89, yet missing from this platform. Microsoft expects
  Windows CE apps to use Win32 file API and `FILE *` exclusively.
- revived CeGCC here (not tested for this PR):
  https://building.enlyze.com/posts/a-new-windows-ce-x86-compiler-in-2024/

On `UNDER_CE` vs. `_WIN32_WCE`: (This patch settled on `UNDER_CE`)

- A custom VS2008 WinCE toolchain does not set any of these.
  The compiler binaries don't contain these strings, and has no compiler
  option for targeting WinCE, hinting that a vanilla toolchain isn't
  setting any of them either.
- `UNDER_CE` is automatically defined by the CeGCC compiler.
  https://cegcc.sourceforge.net/docs/details.html
- `UNDER_CE` is similar to `_WIN32`, except it's not set automatically
  by all compilers. It's not supposed to have any value, like a version.
  (Though e.g. OpenSSL sets it to a version)
- `_WIN32_WCE` is the CE counterpart of the non-CE `_WIN32_WINNT` macro.
  That does return the targeted Windows CE version.
- `_WIN32_WCE` is not defined by compilers, and relies on a header
  setting it to a default, or the build to set it to the desired target
  version. This is also how `_WIN32_WINNT` works.
- `_WIN32_WCE` default is set by `windef.h` in CeGCC.
- `_WIN32_WCE` isn't set to a default by MSVC Windows CE headers (the
  ones I checked at least).
- CMake sets `_WIN32_WCE=<ver>`, `UNDER_CE`, `WINCE` for MSVC WinCE.
- `_WIN32_WCE` seems more popular in other projects, including CeGCC
  itself. `zlib` is a notable exception amongst curl dependencies,
  which uses `UNDER_CE`.
- Since `_WIN32_WCE` needs "certain" headers to have it defined, it's
  undefined depending on headers included beforehand.
- `curl/curl.h` re-uses `_WIN32_WCE`'s as a self-guard, relying on
  its not-(necessarily)-defined-by-default property:
  25b445e479/include/curl/curl.h (L77)

Toolchain downloads:
- Windows:
  https://downloads.sourceforge.net/cegcc/cegcc/0.59.1/cegcc_mingw32ce_cygwin1.7_r1399.tar.bz2
- macOS Intel:
  https://downloads.sourceforge.net/cegcc/cegcc/0.59.1/cegcc_mingw32ce_snowleopard_r1397.tar.bz2

Closes #15975
2025-02-21 13:56:34 +01:00
..
vauth lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
vquic cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
vssh ssh: consider sftp quote commands case sensitive 2025-02-19 07:52:11 +01:00
vtls build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
.checksrc lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
.gitignore gitignore: add lib/Makefile.soname.cmake 2025-01-28 16:04:29 +01:00
altsvc.c strparse: provide access functions 2025-02-19 12:17:32 +01:00
altsvc.h doh: send HTTPS RR requests for all HTTP(S) transfers 2025-01-15 12:55:15 +01:00
amigaos.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
amigaos.h
arpa_telnet.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
asyn-ares.c asyn-ares: fix the port assign 2025-02-21 08:37:24 +01:00
asyn-thread.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
asyn.h httpsrr: fix the HTTPS-RR threaded-resolver build combo 2025-02-20 09:40:53 +01:00
base64.c lib: silence -Wsign-conversion in base64, strcase, mprintf 2024-04-24 23:29:30 +02:00
bufq.c websocket: fix message send corruption 2025-01-16 16:19:07 -05:00
bufq.h websocket: fix message send corruption 2025-01-16 16:19:07 -05:00
bufref.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
bufref.h
cf-h1-proxy.c cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
cf-h1-proxy.h
cf-h2-proxy.c cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
cf-h2-proxy.h
cf-haproxy.c cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
cf-haproxy.h
cf-https-connect.c http: negotiation and room for alt-svc/https rr to navigate 2025-02-20 15:45:46 +01:00
cf-https-connect.h hyper: drop support 2024-12-21 11:33:05 +01:00
cf-socket.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
cf-socket.h cf-socket: error if address can't be copied 2024-12-22 03:12:35 -05:00
cfilters.c cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
cfilters.h cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
CMakeLists.txt cmake: SHARE_LIB_OBJECT=ON requires CMake 3.12 or newer 2025-02-18 15:05:39 +01:00
config-mac.h config-mac: drop MACOS_SSL_SUPPORT macro 2024-12-20 11:38:59 +01:00
config-os400.h lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
config-plan9.h lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
config-riscos.h lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
config-win32.h build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
conncache.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
conncache.h curl_multi_fdset: include the shutdown connections in the set 2025-01-22 07:55:31 +01:00
connect.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
connect.h strparse: switch the API to work on 'const char *' 2025-02-13 11:16:04 +01:00
content_encoding.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
content_encoding.h
cookie.c strparse: provide access functions 2025-02-19 12:17:32 +01:00
cookie.h cookie: small variable type cleanups 2025-01-07 16:47:18 +01:00
curl_addrinfo.c addrinfo: add curl macro to avoid redefining foreign symbols 2025-02-13 12:46:39 +01:00
curl_addrinfo.h curl_addrinfo: support operating systems with only getaddrinfo(3) 2024-11-02 22:28:59 +01:00
curl_base64.h
curl_config.h.cmake lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
curl_ctype.h strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
curl_des.c lib: fix building with wolfSSL without DES support 2024-08-13 09:28:27 +02:00
curl_des.h lib: fix building with wolfSSL without DES support 2024-08-13 09:28:27 +02:00
curl_endian.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_endian.h
curl_fnmatch.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
curl_fnmatch.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_get_line.c vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
curl_get_line.h vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
curl_gethostname.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
curl_gethostname.h
curl_gssapi.c lib: supress deprecation warnings in apple builds 2024-12-17 14:54:34 +01:00
curl_gssapi.h
curl_hmac.h sha256/hmac: use these with TLS builds now 2025-01-14 12:13:59 +01:00
curl_krb5.h
curl_ldap.h
curl_md4.h
curl_md5.h lib: remove function pointer typecasts for hmac/sha256/md5 2024-10-15 14:32:39 +02:00
curl_memory.h addrinfo: add curl macro to avoid redefining foreign symbols 2025-02-13 12:46:39 +01:00
curl_memrchr.c singleuse: drop Curl_memrchr() for no-HTTP builds 2024-09-15 16:33:24 +02:00
curl_memrchr.h singleuse: drop Curl_memrchr() for no-HTTP builds 2024-09-15 16:33:24 +02:00
curl_multibyte.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
curl_multibyte.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_ntlm_core.c openssl: drop support for old OpenSSL/LibreSSL versions 2025-02-21 12:02:35 +01:00
curl_ntlm_core.h cmake: fix building unit1600 due to missing ssl/openssl.h 2024-07-13 12:00:14 +02:00
curl_printf.h printf: fix mingw-w64 format checks 2024-09-02 21:03:01 +02:00
curl_range.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
curl_range.h
curl_rtmp.c lib: redirect handling by protocol handler 2025-01-24 11:00:34 +01:00
curl_rtmp.h curl_version_info: provide librtmp version 2024-04-15 16:48:34 +02:00
curl_sasl.c lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
curl_sasl.h
curl_setup_once.h build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
curl_setup.h build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
curl_sha256.h sha256/hmac: use these with TLS builds now 2025-01-14 12:13:59 +01:00
curl_sha512_256.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
curl_sha512_256.h curl_sha512_256: fix symbol collisions with nettle library 2024-08-13 10:04:06 +02:00
curl_sspi.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
curl_sspi.h build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
curl_threads.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
curl_threads.h build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
curl_trc.c strparse: provide access functions 2025-02-19 12:17:32 +01:00
curl_trc.h https-rr: implementation improvements 2025-02-18 16:12:26 +01:00
curlx.h tidy-up: indent, whitespace, comment in sources 2024-09-22 09:51:14 +02:00
cw-out.c client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
cw-out.h cw-out: improved error handling 2024-04-16 15:52:10 +02:00
cw-pause.c client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
cw-pause.h client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
dict.c lib: redirect handling by protocol handler 2025-01-24 11:00:34 +01:00
dict.h
dllmain.c dllmain: Call OpenSSL thread cleanup for Windows and Cygwin 2024-04-24 04:04:25 -04:00
doh.c https-rr: implementation improvements 2025-02-18 16:12:26 +01:00
doh.h https-rr: implementation improvements 2025-02-18 16:12:26 +01:00
dynbuf.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
dynbuf.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
dynhds.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
dynhds.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
easy_lock.h easy_lock: use Sleep(1) for thread yield on old Windows 2025-01-21 01:45:21 -05:00
easy.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
easygetopt.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
easyif.h WebSockets: make support official (non-experimental) 2024-09-27 13:20:25 +02:00
easyoptions.c tidy-up: drop parenthesis around return expression 2025-01-14 12:11:42 +01:00
easyoptions.h
escape.c curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs 2024-10-15 14:33:40 +02:00
escape.h
file.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
file.h
fileinfo.c
fileinfo.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
fopen.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
fopen.h
formdata.c build: use _fseeki64() on Windows, drop detections 2024-11-11 14:25:04 +01:00
formdata.h curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs 2024-10-15 14:33:40 +02:00
ftp.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
ftp.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
ftplistparser.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
ftplistparser.h
functypes.h Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
getenv.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
getinfo.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
getinfo.h
gopher.c lib: redirect handling by protocol handler 2025-01-24 11:00:34 +01:00
gopher.h
hash.c hash: use single linked list for entries 2025-02-17 14:23:23 +01:00
hash.h hash: use single linked list for entries 2025-02-17 14:23:23 +01:00
headers.c lib: simplify more white space loops 2025-02-17 13:17:18 +01:00
headers.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
hmac.c sha256/hmac: use these with TLS builds now 2025-01-14 12:13:59 +01:00
hostasyn.c asyn-thread: remove 'status' from struct Curl_async 2025-02-16 14:35:33 +01:00
hostip4.c curl_addrinfo: support operating systems with only getaddrinfo(3) 2024-11-02 22:28:59 +01:00
hostip6.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
hostip.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
hostip.h tidy-up: drop unused CURL_INADDR_NONE macro and in_addr_t type 2025-02-13 12:46:40 +01:00
hostsyn.c
hsts.c strparse: provide access functions 2025-02-19 12:17:32 +01:00
hsts.h strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
http1.c all: remove FIXME and TODO comments 2025-02-10 14:44:06 +01:00
http1.h
http2.c client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
http2.h lib: clarify 'conn->httpversion' 2025-01-24 10:59:02 +01:00
http_aws_sigv4.c strparse: provide access functions 2025-02-19 12:17:32 +01:00
http_aws_sigv4.h
http_chunks.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
http_chunks.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
http_digest.c lib: simplify more white space loops 2025-02-17 13:17:18 +01:00
http_digest.h
http_negotiate.c lib: simplify more white space loops 2025-02-17 13:17:18 +01:00
http_negotiate.h
http_ntlm.c lib: simplify more white space loops 2025-02-17 13:17:18 +01:00
http_ntlm.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
http_proxy.c cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
http_proxy.h http_proxy: move dynhds_add_custom here from http.c 2024-12-03 15:02:58 +01:00
http.c http: fix the auth check 2025-02-21 13:53:14 +01:00
http.h http: negotiation and room for alt-svc/https rr to navigate 2025-02-20 15:45:46 +01:00
httpsrr.c httpsrr: fix the HTTPS-RR threaded-resolver build combo 2025-02-20 09:40:53 +01:00
httpsrr.h https-rr: implementation improvements 2025-02-18 16:12:26 +01:00
idn.c configure: fix WinIDN builds targeting old Windows 2024-08-27 23:40:48 +02:00
idn.h idn: add native AppleIDN (icucore) support for macOS/iOS 2024-04-17 00:24:09 +02:00
if2ip.c lib: fix AIX build issues 2024-08-09 10:45:40 +02:00
if2ip.h if2ip: make the buf_size arg a size_t 2024-04-30 14:22:11 +02:00
imap.c conn: fix connection reuse when SSL is optional 2025-02-20 16:23:35 +01:00
imap.h
inet_ntop.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
inet_ntop.h lib: include necessary headers for inet_ntop/inet_pton 2025-02-05 16:29:03 +01:00
inet_pton.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
inet_pton.h lib: include necessary headers for inet_ntop/inet_pton 2025-02-05 16:29:03 +01:00
krb5.c lib: supress deprecation warnings in apple builds 2024-12-17 14:54:34 +01:00
ldap.c lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
libcurl.def vtls: feature ssls-export for SSL session im-/export 2025-01-08 23:32:07 +01:00
libcurl.rc (lib)curl.rc: set debug flag also for CURLDEBUG and UNITTESTS 2024-05-22 08:38:12 +02:00
libcurl.vers.in build: tidy up and improve versioned-symbols options 2024-09-21 12:21:14 +02:00
llist.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
llist.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
macos.c docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
macos.h
Makefile.am checksrc: exclude generated bundle files to avoid race condition 2025-01-27 20:59:47 +01:00
Makefile.inc client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
Makefile.soname build: tidy up and improve versioned-symbols options 2024-09-21 12:21:14 +02:00
md4.c liub: fixes for wolfSSL OPENSSL_COEXIST 2024-12-04 08:25:14 +01:00
md5.c liub: fixes for wolfSSL OPENSSL_COEXIST 2024-12-04 08:25:14 +01:00
memdebug.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
memdebug.h addrinfo: add curl macro to avoid redefining foreign symbols 2025-02-13 12:46:39 +01:00
mime.c tidy-up: use CURL_ARRAYSIZE() 2025-02-19 00:59:45 +01:00
mime.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
mprintf.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
mqtt.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
mqtt.h
multi.c eventfd: allow for all CPUs 2025-02-21 12:07:24 +01:00
multihandle.h multihandle: add an ssl_scache here 2025-01-13 10:32:03 +01:00
multiif.h multihandle: add an ssl_scache here 2025-01-13 10:32:03 +01:00
netrc.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
netrc.h netrc: return code cleanup, fix missing file error 2025-02-06 10:34:02 +01:00
nonblock.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
nonblock.h
noproxy.c lib: simplify more white space loops 2025-02-17 13:17:18 +01:00
noproxy.h noproxy: patterns need to be comma separated 2024-06-01 12:25:13 +02:00
openldap.c conn: fix connection reuse when SSL is optional 2025-02-20 16:23:35 +01:00
optiontable.pl tidy-up: drop parenthesis around return expression 2025-01-14 12:11:42 +01:00
parsedate.c tidy-up: use CURL_ARRAYSIZE() 2025-02-19 00:59:45 +01:00
parsedate.h
pingpong.c tidy-up: drop parenthesis around return expression 2025-01-14 12:11:42 +01:00
pingpong.h lib: use Curl_str_number() for parsing decimal numbers 2025-02-14 10:38:56 +01:00
pop3.c conn: fix connection reuse when SSL is optional 2025-02-20 16:23:35 +01:00
pop3.h pop3: use the protocol handler ->write_resp 2024-08-26 14:59:50 +02:00
progress.c tidy-up: drop parenthesis around return expression 2025-01-14 12:11:42 +01:00
progress.h TLS: TLSv1.3 earlydata support for curl 2024-10-11 12:28:22 +02:00
psl.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
psl.h curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs 2024-10-15 14:33:40 +02:00
rand.c tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP 2024-09-19 19:24:12 +02:00
rand.h vtls/rustls: support strong CSRNG data 2024-09-13 14:11:56 +02:00
rename.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
rename.h
request.c strparse: speed up the hex parser somewhat 2025-02-19 07:49:06 +01:00
request.h lib: clarify 'conn->httpversion' 2025-01-24 10:59:02 +01:00
rtsp.c lib: simplify more white space loops 2025-02-17 13:17:18 +01:00
rtsp.h hyper: drop support 2024-12-21 11:33:05 +01:00
select.c cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
select.h cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
sendf.c client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
sendf.h client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
setopt.c http: negotiation and room for alt-svc/https rr to navigate 2025-02-20 15:45:46 +01:00
setopt.h setopt: warn on Curl_set*opt() uses not using the return value 2024-05-12 17:27:51 +02:00
setup-os400.h os400: workaround an IBM ASCII run-time library bug 2024-07-27 00:17:13 +02:00
setup-vms.h openssl: drop support for old OpenSSL/LibreSSL versions 2025-02-21 12:02:35 +01:00
setup-win32.h windows: drop dupe macros, detect CURL_OS for WinCE ARM, indentation 2025-01-17 12:56:43 +01:00
sha256.c openssl: drop support for old OpenSSL/LibreSSL versions 2025-02-21 12:02:35 +01:00
share.c ssl session cache: change cache dimensions 2025-01-10 10:51:26 +01:00
share.h lib: TLS session ticket caching reworked 2024-12-20 14:59:23 +01:00
sigpipe.h transfer: Curl_sendrecv() and event related improvements 2024-08-17 10:52:53 +02:00
slist.c
slist.h
smb.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
smb.h
smtp.c conn: fix connection reuse when SSL is optional 2025-02-20 16:23:35 +01:00
smtp.h
sockaddr.h build: prefer USE_IPV6 macro internally (was: ENABLE_IPV6) 2024-04-13 08:33:26 +00:00
socketpair.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
socketpair.h eventfd: allow for all CPUs 2025-02-21 12:07:24 +01:00
socks_gssapi.c lib: supress deprecation warnings in apple builds 2024-12-17 14:54:34 +01:00
socks_sspi.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
socks.c cfilter: remove 'blocking' connect handling 2025-02-20 11:13:51 +01:00
socks.h
speedcheck.c
speedcheck.h tests: fix callback signatures to please UndefinedBehaviorSanitizer 2024-10-15 14:33:47 +02:00
splay.c source: avoid use of 'very' in comments 2024-10-17 13:36:33 +02:00
splay.h splay: use access functions, add asserts, use Curl_timediff 2024-08-16 09:12:13 +02:00
strcase.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
strcase.h
strdup.c
strdup.h
strequal.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
strerror.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
strerror.h build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
strparse.c strparse: provide access functions 2025-02-19 12:17:32 +01:00
strparse.h strparse: provide access functions 2025-02-19 12:17:32 +01:00
strtoofft.c lib: simplify more white space loops 2025-02-17 13:17:18 +01:00
strtoofft.h strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
system_win32.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
system_win32.h asyn-thread: stop using GetAddrInfoExW on Windows 2024-09-08 11:39:30 -04:00
telnet.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
telnet.h
tftp.c strparse: switch to curl_off_t as base data type 2025-02-15 21:58:48 +01:00
tftp.h
timediff.c timediff: remove unnecessary double typecast 2025-02-17 16:10:34 +01:00
timediff.h lib: use FMT_ as prefix instead of CURL_FORMAT_ 2024-09-03 08:45:45 +02:00
timeval.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
timeval.h
transfer.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
transfer.h client writer: handle pause before deocding 2025-02-20 15:53:18 +01:00
url.c conn: fix connection reuse when SSL is optional 2025-02-20 16:23:35 +01:00
url.h cpool: rename "connection cache/conncache" to "Connection Pools/cpool" 2024-08-28 13:52:49 +02:00
urlapi-int.h build: untangle UNITTESTS and DEBUGBUILD macros 2024-05-27 21:15:50 +02:00
urlapi.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
urldata.h conn: fix connection reuse when SSL is optional 2025-02-20 16:23:35 +01:00
version_win32.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
version_win32.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
version.c tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
warnless.c warnless: drop curlx_ultous as it is no longer used 2025-02-14 10:38:56 +01:00
warnless.h warnless: drop curlx_ultous as it is no longer used 2025-02-14 10:38:56 +01:00
ws.c http: negotiation and room for alt-svc/https rr to navigate 2025-02-20 15:45:46 +01:00
ws.h websocket: fix message send corruption 2025-01-16 16:19:07 -05:00