libcurl

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. There are frequent security updates available, so always verify that the version in use isn't superseded.

Non-Windows

This package should be built with OpenSSL.

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

./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

See this topic.