Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

libcurl is a client-side networking library with very extensive and robust HTTP client support.

Project website: http://curl.haxx.se/libcurl/

As a well-maintained project in C, libcurl generally builds cleanly on most platforms, and is usually included in a usable form with Linux. Other platforms may include it, but sometimes the version is too old to use with Shibboleth, which requires a version newer than approximately 7.10.0. Due to a security leak, the version should be at least 7.19.6.

If in doubt, you can try using whatever native version is included and see if later steps complain.

Non-Windows

If you're building from source on a non-Windows platform, a typically usable configure command would be:

No Format
./configure --disable-static --enable-thread --without-ca-bundle

Many different options are supported to enable/disable advanced features. Most are irrelevant to Shibboleth, but a few may add obscure capabilities that might be useful to some people.

Windows

On Windows, building the curl utility is optional, but the libcurl library is required. It's located in the lib folder of the source tree and contains a decent makefile file that works, more or less, on MS compilers. Makefile.vc9 is for VS 2008 and Makefile.vc6 is for the older VS6 release. The following edits have to be made to correspond with the changes desribed in the OpenSSL topic:

  • Edit the OPENSSL_PATH macro to point at your OpenSSL source tree
  • Add an SSLDLIBS macro with the filenames of the debug OpenSSL libraries
  • Edit the debug-dll-ssl-dll target section, and change the out32dll path to out32dll.dbg and the $(SSLLIBS) reference to $(SSLDLIBS) in the LNK command

With those changes, the debug-dll-ssl-dll and release-dll-ssl-dll targets can be built using:

No Format
nmake /f Makefile.vc9 CFG=release-dll-ssl-dll
nmake /f Makefile.vc9 CFG=debug-dll-ssl-dll