GIT
===
+
All changes to the sources are committed to the git repository as soon as
they're somewhat verified to work. Changes shall be committed as independently
as possible so that individual changes can be easier spotted and tracked
want it to remain functional and buildable with these and later versions
(older versions may still work but is not what we work hard to maintain):
- OpenSSL 0.9.6
+ OpenSSL 0.9.7
GnuTLS 1.2
zlib 1.1.4
libssh2 0.16
libidn 0.4.1
cyassl 2.0.0
openldap 2.0
- MIT krb5 lib 1.2.4
- qsossl V5R3M0
- NSS 3.12.x
+ MIT Kerberos 1.2.4
+ GSKit V5R3M0
+ NSS 3.14.x
axTLS 1.2.7
+ PolarSSL 1.3.0
Heimdal ?
+ nghttp2 0.6.0
On systems where configure runs, we aim at working on them all - if they have
a suitable C compiler. On systems that don't run configure, we strive to keep
Kerberos
- The kerberos support is mainly in lib/krb4.c and lib/security.c.
+ Kerberos support is mainly in lib/krb5.c and lib/security.c but also
+ curl_sasl_sspi.c and curl_sasl_gssapi.c for the email protocols and
+ socks_gssapi.c & socks_sspi.c for SOCKS5 proxy specifics.
TELNET
The file:// protocol is dealt with in lib/file.c.
+ SMB
+
+ The smb:// protocol is dealt with in lib/smb.c.
+
LDAP
Everything LDAP is in lib/ldap.c and lib/openldap.c
+ E-mail
+
+ The e-mail related source code is in lib/imap.c, lib/pop3.c and lib/smtp.c.
+
GENERAL
URL encoding and decoding, called escaping and unescaping in the source code,
o When libcurl is told to perform a transfer, it first checks for an already
existing connection in the cache that we can use. Otherwise it creates a
new one and adds that the cache. If the cache is full already when a new
- conncetion is added added, it will first close the oldest unused one.
+ connection is added added, it will first close the oldest unused one.
o When the transfer operation is complete, the connection is left
open. Particular options may tell libcurl not to, and protocols may signal
closure on connections and then they won't be kept open of course.
in future libcurl versions.
To deal with this internally in the best way possible, we have a generic SSL
- function API as provided by the sslgen.[ch] system, and they are the only SSL
- functions we must use from within libcurl. sslgen is then crafted to use the
+ function API as provided by the vtls.[ch] system, and they are the only SSL
+ functions we must use from within libcurl. vtls is then crafted to use the
appropriate lower-level function calls to whatever SSL library that is in
- use.
+ use. For example vtls/openssl.[ch] for the OpenSSL library.
Library Symbols
===============