-
Notifications
You must be signed in to change notification settings - Fork 13
Home
"libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling and more!" (http://libcurl.org/)
The porting project intended to be used as a subproject of your project. It downloads one of the last versions of the CURL, configures it to use under the AirplaySDK environment, and includes library source files into your application.
The CURL is a rich library supporting many protocols. Some of them require third-party libraries which should be ported themself. Therefore, the actual project configuration includes only main part of protocols. The excluded (yet) protocols and features:
- LDAP - (http://www.openldap.org/)
- IDN support - (http://www.gnu.org/software/libidn/)
- Kerberos support - (http://web.mit.edu/kerberos/)
- SSL support - (http://www.openssl.org/)
- SASL support - (http://cyrusimap.web.cmu.edu/)
- TLS support - (http://www.gnutls.org/)
Therefore, LDAP and all security features and secure protocols are excluded now. You can port these libraries yourself and change CURL configuration files accordingly. The CURL library can be built against several implementations of third-party libraries supporting these features, here I listed only those of them which are linked against CURL on my Linux host. Look to the CURL installation guide to get more details, what third-party libraries are supported.
The custom asynchronous resolver which uses AirplaySDK-native s3eInetLookup() call is implemented as a replacement for the c-ares library which is able to be linked to the CURL as an option. As a result, the CURL library uses my replacement, and passes all resolving jobs to it.
To those who whould prefer to link the library with the c-ares port separately provided for the marmalade community: such build option is coming soon. Note that the c-ares port always uses Google 8.8.8.8 name server.