Very very old versions of D (well into 0.x) had imports public by default,
like C header files. This modernizes the codebase and removes the
redundant `private` access specifier.
This has been done with:
sed "s/private import/import/g" -i **/*.d
Functions that take pointer and length separately cannot be memory-safe.
The caller can pass a length that's too large, leading to an out-of-bounds
read.
- to clear an option like ssl_ctx that depends
on the compile-time configuration of the used
curl library
- update CurlError enum
obsolete4 was reused as CURLE_NOT_BUILT_IN
- unknown_telnet_option was incorrectly named
(doesn't have anything to do with telnet)
- avoids issues with versioned symbols on different platforms
- lazy loading/initialization of curl library
- fix Issue 13324
- try to load curl from the exe itself before loading a shared library
thus allowing to link against a different or a static curl library
- create a libcurl_stub.so for linking
- set it's soname to libcurl.so.4 so that phobos
gets a DT_NEEDED libcurl.so.4 entry
- the runtime linker will load libcurl.so and resolve
all undefined references
- disable pragma(lib, "curl") because it doesn't work
for archives anyways and additionally links against
the real libcurl (dmd appends -L-lcurl when building phobos).