{"id":269,"date":"2008-01-28T20:22:48","date_gmt":"2008-01-28T19:22:48","guid":{"rendered":"http:\/\/daniel.haxx.se\/blog\/2008\/01\/28\/curl-and-libcurl-7180\/"},"modified":"2017-01-30T08:58:48","modified_gmt":"2017-01-30T07:58:48","slug":"curl-and-libcurl-7180","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2008\/01\/28\/curl-and-libcurl-7180\/","title":{"rendered":"curl and libcurl 7.18.0"},"content":{"rendered":"<p style=\"text-align: center;\"><a href=\"http:\/\/curl.haxx.se\/\"><img decoding=\"async\" src=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2007\/09\/curl-keywords300.jpg\" alt=\"cURL\" border=\"0\" \/><\/a><\/p>\n<p>I&#8217;m happy to announce the 103rd curl release: curl and libcurl 7.18.0.<\/p>\n<p>No less than 35 persons beside myself contributed with info, reports and\/or code to make the release as it turned out. We&#8217;ve added a bunch of new features and we&#8217;ve solved well over 30 different bugs. This is the news:<\/p>\n<p>Changes:<\/p>\n<ul>\n<li><a href=\"http:\/\/curl.haxx.se\/docs\/manpage.html#--data-urlencode\">data-urlencode<\/a><\/li>\n<li><a href=\"http:\/\/curl.haxx.se\/libcurl\/c\/curl_easy_setopt.html#CURLOPTPROXYTRANSFERMODE\">CURLOPT_PROXY_TRANSFER_MODE<\/a><\/li>\n<li><a href=\"http:\/\/curl.haxx.se\/docs\/manpage.html#--no-keepalive\">no-keepalive<\/a> &#8211; now curl does connections with keep-alive enabled by default<\/li>\n<li><a href=\"http:\/\/curl.haxx.se\/docs\/manpage.html#--socks4a\">socks4a<\/a> added (proxy type <a href=\"http:\/\/curl.haxx.se\/libcurl\/c\/curl_easy_setopt.html#CURLOPTPROXYTYPE\">CURLPROXY_SOCKS4A<\/a> for libcurl)<\/li>\n<li><a href=\"http:\/\/curl.haxx.se\/docs\/manpage.html#--socks5-hostname\">socks5-hostname<\/a> added <a href=\"http:\/\/curl.haxx.se\/libcurl\/c\/curl_easy_setopt.html#CURLOPTPROXYTYPE\">(CURLPROXY_SOCKS5_HOSTNAME<\/a> for libcurl)<\/li>\n<li><a href=\"http:\/\/curl.haxx.se\/libcurl\/c\/curl_easy_pause.html\">curl_easy_pause()<\/a><\/li>\n<li><a href=\"http:\/\/curl.haxx.se\/libcurl\/c\/curl_easy_setopt.html#CURLOPTSEEKFUNCTION\">CURLOPT_SEEKFUNCTION<\/a> and <a href=\"http:\/\/curl.haxx.se\/libcurl\/c\/curl_easy_setopt.html#CURLOPTSEEKDATA\">CURLOPT_SEEKDATA<\/a><\/li>\n<li><a href=\"http:\/\/curl.haxx.se\/docs\/manpage.html#--keepalive-time\">keepalive-time<\/a><\/li>\n<li>curl help output was re-ordered<\/li>\n<\/ul>\n<p>Bugfixes:<\/p>\n<ul>\n<li>curl-config &#8211;features and &#8211;protocols show the correct output when built with NSS, and also when SCP, SFTP and libz are not available<\/li>\n<li>free problem in the curl tool for users with empty home dir<\/li>\n<li>curl.h version 7.17.1 problem when building C++ apps with MSVC<\/li>\n<li>SFTP and SCP use persistent connections<\/li>\n<li>segfault on bad URL<\/li>\n<li>variable wrapping when using absolutely huge send buffer sizes<\/li>\n<li>variable wrapping when using debug callback and the HTTP request wasn&#8217;t sent in one go<\/li>\n<li>SSL connections with NSS done with the multi-interface<\/li>\n<li>setting a share no longer activates cookies<\/li>\n<li>Negotiate now works on auth and proxy simultaneously<\/li>\n<li>support HTTP Digest nonces up to 1023 letters<\/li>\n<li>resumed ftp upload no longer requires the read callback to return full buffers<\/li>\n<li>no longer default-appends ;type= on FTP URLs thru proxies<\/li>\n<li>SSL session id caching<\/li>\n<li>POST with callback over proxy requiring NTLM or Digest<\/li>\n<li>Expect: 100-continue flaw on re-used connection with POSTs<\/li>\n<li>build fix for MSVC 9.0 (VS2008)<\/li>\n<li>Windows curl builds failed file truncation when retry downloading<\/li>\n<li>SSL session ID cache memory leak<\/li>\n<li>bad connection re-use check with environment variable-activated proxy use<\/li>\n<li>&#8211;libcurl now generates a return statement as well<\/li>\n<li>socklen_t is no longer used in the public includes<\/li>\n<li>time zone offsets from -1400 to +1400 are now accepted by the date parser<\/li>\n<li>allows more spaces in WWW\/Proxy-Authenticate: headers<\/li>\n<li>curl-config &#8211;libs skips \/usr\/lib64<\/li>\n<li>range support for file:\/\/ transfers<\/li>\n<li>libcurl hang with huge POST request and request-body read from callback<\/li>\n<li>removed extra newlines from many error messages<\/li>\n<li>improved pipelining<\/li>\n<li>improved OOM handling for data url encoded HTTP POSTs when read from a file<\/li>\n<li>test suite could pick wrong tool(s) if more than one existed in the PATH<\/li>\n<li>curl_multi_fdset() failed to return socket while doing CONNECT over proxy<\/li>\n<li>curl_multi_remove_handle() on a handle that is in used for a pipeline now break that pipeline<\/li>\n<li>CURLOPT_COOKIELIST memory leaks<\/li>\n<li>progress meter\/callback during http proxy CONNECT requests<\/li>\n<li>auth for http proxy when the proxy closes connection after first response<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m happy to announce the 103rd curl release: curl and libcurl 7.18.0. No less than 35 persons beside myself contributed with info, reports and\/or code to make the release as it turned out. We&#8217;ve added a bunch of new features and we&#8217;ve solved well over 30 different bugs. This is the news: Changes: data-urlencode CURLOPT_PROXY_TRANSFER_MODE &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2008\/01\/28\/curl-and-libcurl-7180\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">curl and libcurl 7.18.0<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[33,95],"class_list":["post-269","post","type-post","status-publish","format-standard","hentry","category-curl","tag-curl-and-libcurl","tag-release"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=269"}],"version-history":[{"count":2,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/269\/revisions"}],"predecessor-version":[{"id":9759,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/269\/revisions\/9759"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}