curl/docs/internals
Viktor Szakats 39dec13ec0
build: always use local inet_pton()/inet_ntop() implementations
Also repurpose existing build-time feature checks into unit test 1961,
to verify.

Prior to this patch these functions were auto-detected with both
autotools and cmake. In case of autotools there was an extra
verification phase ensuring the functions work as expected. This step
required running the function, thus was limited to non-cross-builds. For
cross-builds and CMake it always used the system implementation if
present. On Windows it always used the local implementation, because
availability/use is complicated there.

After this patch all platforms, always use the local implementation,
which is known to be accurate. This makes curl behave more consistently,
and simplifies the build process, a fixes cross-builds and CMake
auto-detection differences.

Also:
- test1960: enable unconditionally.
- checksrc: disallow globally, allowlist in `block_ip.c` example.
- dnsd: verify ntop result for NULL before passing to printf.

Ref: https://github.com/curl/curl/pull/22137#issuecomment-4797440983
Ref: #22137
Ref: 8537a5b0bc #16577

Closes #22170
2026-06-27 01:24:39 +02:00
..
BUFQ.md BUFQ.md: re-sync with source code 2026-05-19 16:55:45 +02:00
BUFREF.md badwords: prefer 'null-terminated' 2026-03-18 11:40:13 +01:00
CHECKSRC.md tidy-up: miscellaneous 2026-05-27 16:53:57 +02:00
CLIENT-READERS.md docs: avoid starting sentences with However, 2026-03-07 23:49:11 +01:00
CLIENT-WRITERS.md stop using the word 'just' 2026-03-03 15:30:22 +01:00
CODE_STYLE.md build: always use local inet_pton()/inet_ntop() implementations 2026-06-27 01:24:39 +02:00
CONNECTION-FILTERS.md HTTP/3: add proxy CONNECT and MASQUE CONNECT-UDP support (ngtcp2 QUIC) 2026-05-27 08:49:53 +02:00
CREDENTIALS.md lib: transfer origin and proxy handling 2026-06-12 23:52:00 +02:00
CURLX.md
DYNBUF.md tidy-up: miscellaneous 2026-06-09 11:07:55 +02:00
HASH.md
LLIST.md tidy-up: miscellaneous 2026-03-09 11:35:19 +01:00
MID.md docs: avoid starting sentences with However, 2026-03-07 23:49:11 +01:00
MQTT.md MQTT.md: remove no TLS (mqtts) support 2026-01-18 16:43:18 +01:00
MULTI-EV.md docs: fixup wording nits 2026-03-09 22:47:07 +01:00
NEW-PROTOCOL.md stop using the word 'just' 2026-03-03 15:30:22 +01:00
PEERS.md lib: transfer origin and proxy handling 2026-06-12 23:52:00 +02:00
PORTING.md
RATELIMITS.md ratelimit: redesign 2025-11-24 23:34:05 +01:00
README.md
SCORECARD.md stop using the word 'just' 2026-03-03 15:30:22 +01:00
SPLAY.md
STRPARSE.md stop using the word 'just' 2026-03-03 15:30:22 +01:00
THRDPOOL-AND-QUEUE.md spacecheck: verify filename lengths and characters 2026-03-25 18:56:40 +01:00
TIME-KEEPING.md docs: fixup wording nits 2026-03-09 22:47:07 +01:00
TLS-SESSIONS.md tidy-up: miscellaneous 2026-05-20 00:50:43 +02:00
UINT_SETS.md TIME-KEEPING.md: fold long lines 2025-12-18 23:00:06 +01:00
WEBSOCKET.md tidy-up: miscellaneous 2026-01-20 12:37:56 +01:00

Internals

This directory contains documentation covering libcurl internals; APIs and concepts that are useful for contributors and maintainers.

Public APIs are documented in the public documentation, not here.