build: - autotools: fix to build generated sources for the `tidy` target. - autotools: allow passing custom clang-tidy options via `CURL_CLANG_TIDYFLAGS` env. - cmake: add `CURL_CLANG_TIDY` option to configure for `clang-tidy`. Also add: - `CLANG_TIDY` variable to customize the `clang-tidy` tool. - `CURL_CLANG_TIDYFLAGS` to pass custom options to `clang-tidy`. - apply `--enable-werror` and `-DCURL_WERROR=ON` to `clang-tidy`. CI/GHA: - add clang-tidy job for Linux, using autotools and clang-tidy v18. This one needs to disable `clang-analyzer-valist.Uninitialized` to avoid false positives: https://github.com/llvm/llvm-project/issues/40656 Duration: 5.5 minutes - add clang-tidy job for macOS, using cmake and clang-tidy v19. This one also covers tests and examples, and doesn't hit the false positives seen with llvm v18 and earlier. Duration: 4.5 minutes - Linux/macOS: skip installing test dependencies when not building or running tests. fix fallouts reported by `clang-tidy`: - lib: - cf-h2-proxy: unused assignment in non-debug builds. - cf-socket: silence warning. FIXME: https://github.com/curl/curl/pull/15825#issuecomment-2561867769 - ftp: NULL passed to `strncmp()`. - http2: NULL-ptr deref. - mprintf: silence warning. - src/tool_writeout: NULL passed to `fputs()`. - examples: - invalid file pointers. - missing `fclose()`. - tests: - http/clients/hx-download: memory leaks on error. - http/clients/hx-download: memory leak on repeat `-r` option. - server: double `fclose()`. https://www.man7.org/linux/man-pages/man3/fclose.3.html - server: invalid file pointer/handle. - server/getpart: unused assignments. - server/mqttd: leak on failed `realloc()`. - server/tftpd: NULL passed to `strcmp()`. Closes #15825 |
||
|---|---|---|
| .. | ||
| cmdline-opts | ||
| examples | ||
| internals | ||
| libcurl | ||
| .gitignore | ||
| ALTSVC.md | ||
| BINDINGS.md | ||
| BUG-BOUNTY.md | ||
| BUGS.md | ||
| CIPHERS-TLS12.md | ||
| CIPHERS.md | ||
| CMakeLists.txt | ||
| CODE_OF_CONDUCT.md | ||
| CODE_REVIEW.md | ||
| CONTRIBUTE.md | ||
| curl-config.md | ||
| CURL-DISABLE.md | ||
| CURLDOWN.md | ||
| DEPRECATE.md | ||
| DISTROS.md | ||
| EARLY-RELEASE.md | ||
| ECH.md | ||
| EXPERIMENTAL.md | ||
| FAQ | ||
| FEATURES.md | ||
| GOVERNANCE.md | ||
| HELP-US.md | ||
| HISTORY.md | ||
| HSTS.md | ||
| HTTP3.md | ||
| HTTP-COOKIES.md | ||
| INSTALL | ||
| INSTALL-CMAKE.md | ||
| INSTALL.md | ||
| INTERNALS.md | ||
| IPFS.md | ||
| KNOWN_BUGS | ||
| MAIL-ETIQUETTE.md | ||
| Makefile.am | ||
| MANUAL.md | ||
| mk-ca-bundle.md | ||
| options-in-versions | ||
| README.md | ||
| RELEASE-PROCEDURE.md | ||
| ROADMAP.md | ||
| RUSTLS.md | ||
| SECURITY-ADVISORY.md | ||
| SPONSORS.md | ||
| SSL-PROBLEMS.md | ||
| SSLCERTS.md | ||
| THANKS | ||
| THANKS-filter | ||
| TheArtOfHttpScripting.md | ||
| TODO | ||
| URL-SYNTAX.md | ||
| VERSIONS.md | ||
| VULN-DISCLOSURE-POLICY.md | ||
Documentation
You find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.
If you would rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.