7.35. curl
Updated curl packages that fix several bugs and add various enhancements are now available for Red Hat Enterprise Linux 6.
The curl packages provide the
cURL
utility for getting files from HTTP, FTP, FILE, LDAP, LDAPS, DICT, TELNET, and TFTP servers, using any of the supported protocols. This utility offers many useful capabilities, such as proxy support, user authentication, FTP upload, HTTP post, and file transfer resume.
Bug Fixes
- BZ#741935
- The
libssh2
library did not sufficiently reflect its ABI extensions in its version, which prevented the RPM dependency scanner from adding the correct dependency oflibcurl
on an updated version oflibssh2
. Consequently, if the user updatedlibcurl
without first updatinglibssh2
, the update ended with incorrect linkage oflibcurl
and the user was then unable to updatelibssh2
using yum. An explicit dependency oflibcurl
on an update version oflibssh2
has been added and yum can now be used to updatelibcurl
. - BZ#746629
- Previously,
libcurl
required certificates loaded from files to have unique file base names due to limitation of the legacy API of NSS (Network Security Services). Some packages usinglibcurl
did not fulfil this requirement and caused nickname collisions within NSS. Now,libcurl
has been modified to use a newer API of NSS, which does not suffer from this limitation, and packages usinglibcurl
are now allowed to load certificates from files with unrestricted file names. - BZ#813127
- Previously,
libcurl
misinterpreted the Content-Length HTTP header when receiving data using the chunked encoding. Consequently,libcurl
failed to read the last chunk of data and the transfer terminated prematurely. An upstream patch has been applied to fix the handling of the header and the chunked encoding inlibcurl
now works as expected. - BZ#841905
- A sub-optimally chosen identifier in cURL source files clashed with an identifier from a public header file introduced in a newer version of
libssh2
, which prevented the curl package from a successful build. An upstream patch has been applied on cURL source files, which fixes the identifier collisions and the package now builds as expected. - BZ#738456
- The OpenLDAP suite was recently modified to use NSS instead of OpenSSL as the SSL back end. This change led to collisions between
libcurl
and OpenLDAP on NSS initialization and shutdown. Consequently, applications that were using bothlibcurl
and OpenLDAP failed to establish SSL connections. This update modifieslibcurl
to use the same NSS API as OpenLDAP, which prevents collisions from occurring. Applications using OpenLDAP andlibcurl
can now connect to the LDAP server over SSL as expected. - BZ#719938
- As a solution to a security issue, GSSAPI credential delegation was disabled, which broke the functionality of applications that were relying on delegation, incorrectly enabled by libcurl. To fix this issue, the
CURLOPT_GSSAPI_DELEGATION
libcurl
option has been introduced in order to enable delegation explicitly when applications need it. All applications using GSSAPI credential delegation can now use this newlibcurl
option to be able to run properly. - BZ#772642
- SSL connections could not be established with
libcurl
if the selected NSS database was broken or invalid. This update modifies the code oflibcurl
to initialize NSS without a valid database, which allows applications to establish SSL connections as expected. - BZ#873789
- Previously,
libcurl
incorrectly checked return values of the SCP/SFTP write functions provided bylibssh2
. Negative values returned by those functions were treated as negative download amounts, which caused applications to terminate unexpectedly. With this update, all negative values are treated as errors and as such are properly handled on thelibcurl
level, thus preventing the crashes. - BZ#879592
- Prior to this update,
libcurl
used an obsoletelibssh2
API for uploading files over the SCP protocol, which limited the maximum size of files being transferred on 32-bit architectures. Consequently, the 32-bit packages oflibcurl
were unable to transfer large files over SCP. With this update, a newlibssh2
API for SCP uploads is used, which does not suffer from this limitation, thus fixing this bug.
Enhancements
- BZ#676596
- Previously,
libcurl
provided only HTTP status codes in error messages when reporting HTTP errors. This could confuse users not familiar with HTTP. Now,libcurl
has been improved to include the HTTP reason phrase in error messages, thus providing more understandable output. - BZ#730445
- This update introduces a new option,
--delegation
, which enables Kerberos credential delegation in cURL.
Users of curl are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.