curl/docs/libcurl
Stefan Eissing de3fc1d7ad
asyn-thrdd: drop pthread_cancel
Remove use of pthread_cancel in asnyc threaded resolving. While there
are system where this works, others might leak to resource leakage
(memory, files, etc.). The popular nsswitch is one example where resolve
code can be dragged in that is not prepared.

The overall promise and mechanism of pthread_cancel() is just too
brittle and the historcal design of getaddrinfo() continues to haunt us.

Fixes #18532
Reported-by: Javier Blazquez
Closes #18540
2025-09-15 09:25:43 +02:00
..
opts CURLOPT_SSL_VERIFYHOST.md: add see-also to two other VERIFYHOST options 2025-09-14 23:53:40 +02:00
.gitignore gitignore: the generated libcurl-symbols.md 2024-01-25 16:34:06 +01:00
ABI.md docs: use present tense 2024-02-27 09:47:21 +01:00
CMakeLists.txt tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
curl_easy_cleanup.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_easy_duphandle.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_easy_escape.md curl_easy_escape.md: move historic details to HISTORY 2024-07-23 11:24:19 +02:00
curl_easy_getinfo.md docs/libcurl: remove ancient version references 2025-09-12 08:27:38 +02:00
curl_easy_header.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_easy_init.md docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
curl_easy_nextheader.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_easy_option_by_id.md docs: minor edits to please the new spellchecker regime 2025-02-27 13:15:21 +01:00
curl_easy_option_by_name.md docs: minor edits to please the new spellchecker regime 2025-02-27 13:15:21 +01:00
curl_easy_option_next.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_easy_pause.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_easy_perform.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_easy_recv.md docs/libcurl: fix type and prototype problems in examples 2025-04-29 22:44:05 +02:00
curl_easy_reset.md docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
curl_easy_send.md docs/libcurl: fix type and prototype problems in examples 2025-04-29 22:44:05 +02:00
curl_easy_setopt.md docs: mention the as-is concept generically 2025-07-09 15:32:46 +02:00
curl_easy_ssls_export.md curl_easy_ssls_export: make the example more clear 2025-08-01 10:49:56 +02:00
curl_easy_ssls_import.md docs: fix name in curl_easy_ssls_export man page 2025-07-23 00:56:11 +02:00
curl_easy_strerror.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_easy_unescape.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
curl_easy_upkeep.md mqtt: send ping at upkeep interval 2025-04-16 09:36:19 +02:00
curl_escape.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
curl_formadd.md docs/libcurl: remove ancient version references 2025-09-12 08:27:38 +02:00
curl_formfree.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
curl_formget.md docs: minor edits to please the new spellchecker regime 2025-02-27 13:15:21 +01:00
curl_free.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
curl_getdate.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_getenv.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
curl_global_cleanup.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_global_init.md docs/libcurl: remove ancient version references 2025-09-12 08:27:38 +02:00
curl_global_init_mem.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_global_sslset.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
curl_global_trace.md VERSIONS: list all past releases 2025-04-03 08:26:33 +02:00
curl_mime_addpart.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_mime_data.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mime_data_cb.md curl_mime_data_cb.md: mention what datasize is for 2025-07-31 10:48:53 +02:00
curl_mime_encoder.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mime_filedata.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mime_filename.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mime_free.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_mime_headers.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mime_init.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_mime_name.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mime_subparts.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mime_type.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_mprintf.md spacecheck.pl: drop more exceptions 2025-05-13 16:01:07 +02:00
curl_multi_add_handle.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_multi_assign.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_multi_cleanup.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_multi_fdset.md docs: add FD_ZERO to curl_multi_fdset example 2025-02-14 08:21:42 +01:00
curl_multi_get_handles.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_multi_get_offt.md curl_multi_get_offt: language fix 2025-08-05 11:48:31 +02:00
curl_multi_info_read.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_multi_init.md docs/libcurl: expand multi documentation 2024-10-01 15:17:17 +02:00
curl_multi_perform.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_multi_poll.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_multi_remove_handle.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_multi_setopt.md multi: add CURLMOPT_NETWORK_CHANGED to signal network changed 2025-07-29 11:18:26 +02:00
curl_multi_socket.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_multi_socket_action.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_multi_socket_all.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_multi_strerror.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_multi_timeout.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_multi_wait.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_multi_waitfds.md curl_multi_waitfds.md: tidy up the example 2025-01-19 11:45:25 +01:00
curl_multi_wakeup.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_pushheader_byname.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_pushheader_bynum.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_share_cleanup.md docs/libcurl: add to cleanup docs that their inputs go invalid 2024-07-23 11:18:46 +02:00
curl_share_init.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_share_setopt.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_share_strerror.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_slist_append.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_slist_free_all.md docs/libcurl: make examples build with picky compiler options 2025-04-11 15:23:51 +02:00
curl_strequal.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_strnequal.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_unescape.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_url.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_url_cleanup.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
curl_url_dup.md docs/libcurl: return value overhall 2025-01-02 16:58:05 +01:00
curl_url_get.md spelling: call it null-terminate consistently 2025-05-30 17:29:45 +02:00
curl_url_set.md urlapi: allow more path characters "raw" when asked to URL encode 2025-08-01 23:22:32 +02:00
curl_url_strerror.md curldown: fixups 2024-07-19 17:03:25 +02:00
curl_version.md curl_version_info.md: clarify ssl_version for MultiSSL 2025-05-11 12:23:36 -04:00
curl_version_info.md docs/libcurl: remove ancient version references 2025-09-12 08:27:38 +02:00
curl_ws_meta.md docs/libcurl: fix type and prototype problems in examples 2025-04-29 22:44:05 +02:00
curl_ws_recv.md curl_ws_recv.md: expand a little on the fragments the API delivers 2025-03-14 13:36:02 +01:00
curl_ws_send.md websocket: support CURLOPT_READFUNCTION 2025-08-11 23:28:54 +02:00
curl_ws_start_frame.md docs: fix typo (staring -> starting) 2025-09-02 10:11:51 +02:00
libcurl-easy.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
libcurl-env-dbg.md asyn-thrdd: drop pthread_cancel 2025-09-15 09:25:43 +02:00
libcurl-env.md netrc: use the NETRC environment variable (first) if set 2025-07-27 18:26:43 +02:00
libcurl-errors.md docs/libcurl: remove ancient version references 2025-09-12 08:27:38 +02:00
libcurl-multi.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
libcurl-security.md libcurl-security.md: mention long-running connections 2025-09-12 00:20:19 -07:00
libcurl-share.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
libcurl-thread.md tidy-up: URL updates 2024-07-30 21:27:12 +02:00
libcurl-tutorial.md libcurl-tutorial.md: fix read callback explanation 2025-04-23 23:23:59 +02:00
libcurl-url.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
libcurl-ws.md websocket: support CURLOPT_READFUNCTION 2025-08-11 23:28:54 +02:00
libcurl.m4 GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
libcurl.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
Makefile.am tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
Makefile.inc websocket: support CURLOPT_READFUNCTION 2025-08-11 23:28:54 +02:00
mksymbolsmanpage.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
symbols-in-versions multi: change prefix for the network change bits to CURLMNWC_ 2025-08-05 13:05:59 +02:00
symbols.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00