Commit graph

60 commits

Author SHA1 Message Date
spz
b83209ab79 reanimate curl-7.43.0 and add the upstream fix for
http://curl.haxx.se/mail/lib-2015-06/0122.html found in
903b6e0556
2015-08-08 02:44:16 +00:00
spz
169d8854cc rollback to previous version of curl. See
http://mail-index.netbsd.org/tech-pkg/2015/06/29/msg015105.html
2015-06-30 23:00:21 +00:00
spz
cec4c58ccf update of curl to version 7.43.0. Upstream RELEASE_NOTES:
Curl and libcurl 7.43.0

 Public curl releases:         147
 Command line options:         176
 curl_easy_setopt() options:   219
 Public functions in libcurl:  58
 Contributors:                 1291

This release includes the following changes:

 o Added CURLOPT_PROXY_SERVICE_NAME[11]
 o Added CURLOPT_SERVICE_NAME[12]
 o New curl option: --proxy-service-name[13]
 o Mew curl option: --service-name [14]
 o New curl option: --data-raw [5]
 o Added CURLOPT_PIPEWAIT [15]
 o Added support for multiplexing transfers using HTTP/2, enable this
   with the new CURLPIPE_MULTIPLEX bit for CURLMOPT_PIPELINING [16]
 o HTTP/2: requires nghttp2 1.0.0 or later
 o scripts: add zsh.pl for generating zsh completion
 o curl.h: add CURL_HTTP_VERSION_2

This release includes the following bugfixes:

 o CVE-2015-3236: lingering HTTP credentials in connection re-use [30]
 o CVE-2015-3237: SMB send off unrelated memory contents [31]
 o nss: fix compilation failure with old versions of NSS [1]
 o curl_easy_getinfo.3: document 'internals' in CURLINFO_TLS_SESSION
 o schannel.c: Fix possible SEC_E_BUFFER_TOO_SMALL error
 o Curl_ossl_init: load builtin modules [2]
 o configure: follow-up fix for krb5-config [3]
 o sasl_sspi: Populate domain from the realm in the challenge [4]
 o netrc: support 'default' token
 o README: convert to UTF-8
 o cyassl: Implement public key pinning
 o nss: implement public key pinning for NSS backend
 o mingw build: add arch -m32/-m64 to LDFLAGS
 o schannel: Fix out of bounds array [6]
 o configure: remove autogenerated files by autoconf
 o configure: remove --automake from libtoolize call
 o acinclude.m4: fix shell test for default CA cert bundle/path
 o schannel: fix regression in schannel_recv [7]
 o openssl: skip trace outputs for ssl_ver == 0 [8]
 o gnutls: properly retrieve certificate status
 o netrc: Read in text mode when cygwin [9]
 o winbuild: Document the option used to statically link the CRT [10]
 o FTP: Make EPSV use the control IP address rather than the original host
 o FTP: fix dangling conn->ip_addr dereference on verbose EPSV
 o conncache: keep bundles on host+port bases, not only host names
 o runtests.pl: use 'h2c' now, no -14 anymore
 o curlver: introducing new version number (checking) macros
 o openssl: boringssl build brekage, use SSL_CTX_set_msg_callback [17]
 o CURLOPT_POSTFIELDS.3: correct variable names [18]
 o curl_easy_unescape.3: update RFC reference [19]
 o gnutls: don't fail on non-fatal alerts during handshake
 o testcurl.pl: allow source to be in an arbitrary directory
 o CURLOPT_HTTPPROXYTUNNEL.3: only works with a HTTP proxy
 o SSPI-error: Change SEC_E_ILLEGAL_MESSAGE description [20]
 o parse_proxy: switch off tunneling if non-HTTP proxy [21]
 o share_init: fix OOM crash
 o perl: remove subdir, not touched in 9 years
 o CURLOPT_COOKIELIST.3: Add example
 o CURLOPT_COOKIE.3: Explain that the cookies won't be modified [22]
 o CURLOPT_COOKIELIST.3: Explain Set-Cookie without a domain [23]
 o FAQ: How do I port libcurl to my OS?
 o openssl: Use TLS_client_method for OpenSSL 1.1.0+
 o HTTP-NTLM: fail auth on connection close instead of looping [24]
 o curl_setup: Add macros for FOPEN_READTEXT, FOPEN_WRITETEXT [25]
 o curl_getdate.3: update RFC reference
 o curl_multi_info_read.3: added example
 o curl_multi_perform.3: added example
 o curl_multi_timeout.3: added example
 o cookie: Stop exporting any-domain cookies [26]
 o openssl: remove dummy callback use from SSL_CTX_set_verify()
 o openssl: remove SSL_get_session()-using code
 o openssl: removed USERDATA_IN_PWD_CALLBACK kludge
 o openssl: removed error string #ifdef
 o openssl: Fix verification of server-sent legacy intermediates [27]
 o docs: man page indentation and syntax fixes
 o docs: Spelling fixes
 o fopen.c: fix a few compiler warnings
 o CURLOPT_OPENSOCKETFUNCTION: return error at once [28]
 o schannel: Add support for optional client certificates
 o build: Properly detect OpenSSL 1.0.2 when using configure
 o urldata: store POST size in state.infilesize too [29]
 o security:choose_mech remove dead code
 o rtsp_do: remove dead code
 o docs: many HTTP URIs changed to HTTPS
 o schannel: schannel_recv overhaul [32]

This release includes the following known bugs:

 o see docs/KNOWN_BUGS (http://curl.haxx.se/docs/knownbugs.html)

This release would not have looked like this without help, code, reports and
advice from friends like these:

  Alessandro Ghedini, Alexander Dyagilev, Anders Bakken, Anthony Avina,
  Ashish Shukla, Bert Huijben, Brian Chrisman, Brian Prodoehl, Chris Araman,
  Dagobert Michelsen, Dan Fandrich, Daniel Melani, Daniel Stenberg,
  Dmitry Eremin-Solenikov, Drake Arconis, Egon Eckert, Frank Meier, Fred Stluka,
  Gisle Vanem, Grant Pannell, Isaac Boukris, Jens Rantil, Joel Depooter,
  Kamil Dudka, Linus Nielsen Feltzing, Linus Nielsen Feltzing Feltzing,
  Liviu Chircu, Marc Hoersken, Michael Osipov, Oren Souroujon, Orgad Shaneh,
  Patrick Monnerat, Patrick Rapin, Paul Howarth, Paul Oliver, Rafayel Mkrtchyan,
  Ray Satiro, Sean Boudreau, Tatsuhiro Tsujikawa, Tomas Tomecek, Viktor Szakáts,
  Ville Skyttä, Yehezkel Horowitz,
  (43 contributors)

        Thanks! (and sorry if I forgot to mention someone)

References to bug reports and discussions on issues:

 [1] = http://curl.haxx.se/mail/lib-2015-04/0095.html
 [2] = https://github.com/bagder/curl/pull/206
 [3] = 5b66860652 (commitcomment-10473445)
 [4] = https://github.com/bagder/curl/pull/141
 [5] = https://github.com/bagder/curl/issues/198
 [6] = http://curl.haxx.se/mail/lib-2015-04/0199.html
 [7] = https://github.com/bagder/curl/issues/244
 [8] = https://github.com/bagder/curl/issues/219
 [9] = https://github.com/bagder/curl/pull/258
 [10] = https://github.com/bagder/curl/issues/254
 [11] = http://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SERVICE_NAME.html
 [12] = http://curl.haxx.se/libcurl/c/CURLOPT_SERVICE_NAME.html
 [13] = http://curl.haxx.se/docs/manpage.html#--proxy-service-name
 [14] = http://curl.haxx.se/docs/manpage.html#--service-name
 [15] = http://curl.haxx.se/libcurl/c/CURLOPT_PIPEWAIT.html
 [16] = http://curl.haxx.se/libcurl/c/CURLMOPT_PIPELINING.html
 [17] = https://github.com/bagder/curl/issues/275
 [18] = https://github.com/bagder/curl/issues/281
 [19] = https://github.com/bagder/curl/issues/282
 [20] = https://github.com/bagder/curl/issues/267
 [21] = http://curl.haxx.se/mail/lib-2015-05/0056.html
 [22] = http://curl.haxx.se/mail/lib-2015-05/0115.html
 [23] = http://curl.haxx.se/mail/lib-2015-05/0137.html
 [24] = https://github.com/bagder/curl/issues/256
 [25] = https://github.com/bagder/curl/pull/258#issuecomment-107093055
 [26] = https://github.com/bagder/curl/issues/292
 [27] = https://rt.openssl.org/Ticket/Display.html?id=3621&user=guest&pass=guest
 [28] = http://curl.haxx.se/mail/lib-2015-06/0047.html
 [29] = http://curl.haxx.se/mail/lib-2015-06/0019.html
 [30] = http://curl.haxx.se/docs/adv_20150617A.html
 [31] = http://curl.haxx.se/docs/adv_20150617B.html
 [32] = https://github.com/bagder/curl/issues/244
2015-06-30 05:46:56 +00:00
fhajny
2b3fdbaec7 Add optional support for HTTP/2 via www/nghttp2. Patch nghttp2 support
until the curl interface is updated in 7.43. Bump PKGREVISION.
2015-06-03 12:00:06 +00:00
jperkin
3bb7930091 Update to curl-7.42.0.
This release includes the following changes:

 o openssl: show the cipher selection to use in verbose text
 o gtls: implement CURLOPT_CERTINFO
 o add CURLOPT_SSL_FALSESTART option (darwinssl and NSS)
 o curl: add --false-start option
 o add CURLOPT_PATH_AS_IS
 o curl: add --path-as-is option
 o curl: create output file on successful download of an empty file

This release includes the following bugfixes:

 o ConnectionExists: for NTLM re-use, require credentials to match
 o cookie: cookie parser out of boundary memory access
 o fix_hostname: zero length host name caused -1 index offset
 o http_done: close Negotiate connections when done
 o sws: timeout idle CONNECT connections
 o nss: improve error handling in Curl_nss_random()
 o nss: do not skip Curl_nss_seed() if data is NULL
 o curl-config.in: eliminate double quotes around CURL_CA_BUNDLE
 o http2: move lots of verbose output to be debug-only
 o dist: add extern-scan.pl to the tarball
 o http2: return recv error on unexpected EOF
 o build: Use default RandomizedBaseAddress directive in VC9+ project files
 o build: Removed DataExecutionPrevention directive from VC9+ project files
 o tool: Updated the warnf() function to use the GlobalConfig structure
 o http2: Return error if stream was closed with other than NO_ERROR
 o mprintf.h: remove #ifdef CURLDEBUG
 o libtest: fixed linker errors on msvc
 o tool: use ENABLE_CURLX_PRINTF instead of _MPRINTF_REPLACE
 o curl.1: fix "The the" typo
 o cmake: handle build definitions CURLDEBUG/DEBUGBUILD
 o openssl: remove all uses of USE_SSLEAY
 o multi: fix memory-leak on timeout (regression)
 o curl_easy_setopt.3: added CURLOPT_SSL_VERIFYSTATUS
 o metalink: add some error checks
 o TLS: make it possible to enable ALPN/NPN without HTTP/2
 o http2: use CURL_HTTP_VERSION_* symbols instead of NPN_*
 o conncontrol: only log changes to the connection bit
 o multi: fix *getsock() with CONNECT
 o symbols.pl: handle '-' in the deprecated field
 o MacOSX-Framework: use @rpath instead of @executable_path
 o GnuTLS: add support for CURLOPT_CAPATH
 o GnuTLS: print negotiated TLS version and full cipher suite name
 o GnuTLS: don't print double newline after certificate dates
 o memanalyze.pl: handle free(NULL)
 o proxy: re-use proxy connections (regression)
 o mk-ca-bundle: Don't report SHA1 numbers with "-q"
 o http: always send Host: header as first header
 o openssl: sort ciphers to use based on strength
 o openssl: use colons properly in the ciphers list
 o http2: detect premature close without data transfered
 o hostip: Fix signal race in Curl_resolv_timeout
 o closesocket: call multi socket cb on close even with custom close
 o mksymbolsmanpage.pl: use std header and generate better nroff header
 o connect: Fix happy eyeballs logic for IPv4-only builds
 o curl_easy_perform.3: remove superfluous close brace from example
 o HTTP: don't use Expect: headers when on HTTP/2
 o Curl_sh_entry: remove unused 'timestamp'
 o docs/libcurl: makefile portability fix
 o mkhelp: Remove trailing carriage return from every line of input
 o nss: explicitly tell NSS to disable NPN/ALPN when libcurl disables it
 o curl_easy_setopt.3: added a few missing options
 o metalink: fix resource leak in OOM
 o axtls: version 1.5.2 now requires that config.h be manually included
 o HTTP: don't switch to HTTP/2 from 1.1 until we get the 101
 o cyassl: detect the library as renamed wolfssl
 o CURLOPT_HTTPHEADER.3: add a "SECURITY CONCERNS" section
 o CURLOPT_URL.3: Added "SECURITY CONCERNS
 o openssl: try to avoid accessing OCSP structs when possible
 o test938: added missing closing tags
 o testcurl: Allow '=' in values given on command line
 o tests/certs: added make target to rebuild certificates
 o tests/certs: rebuild certificates with modified key usage bits
 o gtls: avoid uninitialized variable
 o gtls: dereferencing NULL pointer
 o gtls: add check of return code
 o test1513: eliminated race condition in test run
 o dict: rename byte to avoid compiler shadowed declaration warning
 o curl_easy_recv/send: make them work with the multi interface
 o vtls: fix compile with --disable-crypto-auth but with SSL
 o openssl: adapt to ASN1/X509 things gone opaque in 1.1
 o openssl: verifystatus: only use the OCSP work-around <= 1.0.2a
 o curl_memory: make curl_memory.h the second-last header file loaded
 o testcurl.pl: add the --notes option to supply more info about a build
 o cyassl: If wolfSSL then identify as such in version string
 o cyassl: Check for invalid length parameter in Curl_cyassl_random
 o cyassl: default to highest possible TLS version
 o Curl_ssl_md5sum: return CURLcode (fixes OOM)
 o polarssl: remove dead code
 o polarssl: called mbedTLS in 1.3.10 and later
 o globbing: fix step parsing for character globbing ranges
 o globbing: fix url number calculation when using range with step
 o multi: on a request completion, check all CONNECT_PEND transfers
 o build: link curl to openssl libraries when openssl support is enabled
 o url: Don't accept CURLOPT_SSLVERSION unless USE_SSL is defined
 o vtls: Don't accept unknown CURLOPT_SSLVERSION values
 o build: Fix libcurl.sln erroneous mixed configurations
 o cyassl: remove undefined reference to CyaSSL_no_filesystem_verify
 o cyassl: add SSL context callback support for CyaSSL
 o tool: only set SSL options if SSL is enabled
 o multi: remove_handle: move pending connections
 o configure: Use KRB5CONFIG for krb5-config
 o axtls: add timeout within Curl_axtls_connect
 o CURLOPT_HTTP200ALIASES.3: Mainly SHOUTcast servers use "ICY 200"
 o cyassl: Fix library initialization return value
 o cookie: handle spaces after the name in Set-Cookie
 o http2: Fix missing nghttp2_session_send call in Curl_http2_switched
 o cyassl: Fix certificate load check
 o build-openssl.bat: Fix mixed line endings
 o checksrc.bat: Check lib\vtls source
 o DNS: fix refreshing of obsolete dns cache entries
 o CURLOPT_RESOLVE: actually implement removals
 o checksrc.bat: quotes to support an SRC_DIR with spaces
 o cyassl: Remove 'Connecting to' message from cyassl_connect_step2
 o cyassl: Use CYASSL_MAX_ERROR_SZ for error buffer size
 o lib/transfer.c: Remove factor of 8 from sleep time calculation
 o lib/makefile.m32: add missing libs to build libcurl.dll
 o build: Generate source prerequisites for Visual Studio in generate.bat
 o cyassl: Include the CyaSSL build config
 o firefox-db2pem: fix wildcard to find Firefox default profile
 o BUGS: refer to the github issue tracker now as primary
 o vtls_openssl: improve several certificate error messages
 o cyassl: Add support for TLS extension SNI
 o parsecfg: do not continue past a zero termination
 o configure --with-nss=PATH: query pkg-config if available
 o configure --with-nss: drop redundant if statement
 o cyassl: Fix include order
 o HTTP: fix PUT regression with Negotiate
 o curl_version_info.3: fixed the 'protocols' variable type
2015-04-22 14:35:21 +00:00
wiz
5f731a4196 Update to 7.41.0:
Version 7.41.0 (25 Feb 2015)

Daniel Stenberg (25 Feb 2015)
- THANKS: added contributors from the 7.41.0 RELEASE-NOTES

- RELEASE-NOTES: sync with ffc2aeec6e (7.41.0 release time!)

Marc Hoersken (25 Feb 2015)
- Revert "telnet.c: fix handling of 0 being returned from custom read function"

  This reverts commit 03fa576833643c67579ae216c4e7350fa9b5f2fe.

- telnet.c: fix invalid use of custom read function if not being set

  obj_count can be 1 if the custom read function is set or the stdin
  handle is a reference to a pipe. Since the pipe should be handled
  using the PeekNamedPipe-check below, the custom read function should
  only be used if it is actually enabled.

- telnet.c: fix handling of 0 being returned from custom read function

  According to [1]: "Returning 0 will signal end-of-file to the library
  and cause it to stop the current transfer."
  This change makes the Windows telnet code handle this case accordingly.

   [1] http://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html

Daniel Stenberg (24 Feb 2015)
- sws: stop logging about TPC_NODELAY nonsense

- lib530: make it less timing sensible

  ... by making sure the first request is completed before doing the
  remainder.

Kamil Dudka (23 Feb 2015)
- connect: wait for IPv4 connection attempts

  ... even if the last IPv6 connection attempt has failed.

  Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1187531#c4

- connect: avoid skipping an IPv4 address

  ... in case the protocol versions are mixed in a DNS response
  (IPv6 -> IPv4 -> IPv6).

  Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1187531#c3

Daniel Stenberg (23 Feb 2015)
- RELEASE-NOTES: synced with 5e4395eab839d

- ROADMAP: curl_easy_setopt.3 has already been split up

  Remove cmake as marked for removal. It is in much better state now.

- ROADMAP: extend the HTTP/2 stuff, remove SPDY

- [Julian Ospald brought this change]

  configure: allow both --with-ca-bundle and --with-ca-path

  SSL_CTX_load_verify_locations by default (and if given non-Null
  parameters) searches the CAfile first and falls back to CApath.  This
  allows for CAfile to be a basis (e.g. installed by the package manager)
  and CApath to be a user configured directory.

  This wasn't reflected by the previous configure constraint which this
  patch fixes.

  Bug: https://github.com/bagder/curl/pull/139

- [Ben Boeckel brought this change]

  cmake: install the dll file to the correct directory

- [Alessandro Ghedini brought this change]

  nss: fix NPN/ALPN protocol negotiation

  Correctly check for memcmp() return value (it returns 0 if the strings match).

  This is not really important, since curl is going to use http/1.1 anyway, but
  it's still a bug I guess.

- [Alessandro Ghedini brought this change]

  polarssl: fix ALPN protocol negotiation

  Correctly check for strncmp() return value (it returns 0 if the strings
  match).

- [Sergei Nikulov brought this change]

  CMake: Fix generation of tool_hugehelp.c on windows

  Use "cmake -E echo" instead of "echo".

  Reviewed-by: Brad King <brad.king@kitware.com>

- [Sergei Nikulov brought this change]

  CMake: fix winsock2 detection on windows

  Set CMAKE_REQUIRED_DEFINITIONS to include definitions needed to get
  the winsock2 API from windows.h.  Simplify the order of checks to
  avoid extra conditions.

  Use check_include_file instead of check_include_file_concat to look
  for OpenSSL headers.  They do not need to participate in a sequence
  of dependent system headers.  Also they may cause winsock.h to be
  included before ws2tcpip.h, causing the latter to not be detected
  in the sequence.

  Reviewed-by: Brad King <brad.king@kitware.com>

- [Alessandro Ghedini brought this change]

  gtls: fix build with HTTP2

Steve Holme (16 Feb 2015)
- Makefile.vc6: Corrected typos in rename of darwinssl.obj

Nick Zitzmann (15 Feb 2015)
- By request, change the name of "curl_darwinssl.[ch]" to "darwinssl.[ch]"

Steve Holme (14 Feb 2015)
- RELEASE-NOTES: Synced with 6f89f86c3d

- tests/README: Updated to reflect email test ranges

- [Alessandro Ghedini brought this change]

  curl.1: --cert-status is also supported by OpenSSL now

- build: Removed Visual Studio SuppressStartupBanner directive for VC8+

  Visual Studio 2005 and above defaults to disabling the startup banner
  for the Compiler, Linker and MIDL tools (with /NOLOGO). As such there
  is no need to explicitly set the SuppressStartupBanner directive, as
  this is a leftover from the VC7 and VC7.1 projects being upgraded to
  VC8 and above.

Kamil Dudka (12 Feb 2015)
- openssl: fix a compile-time warning

  lib/vtls/openssl.c:1450:7: warning: extra tokens at end of #endif directive

Steve Holme (11 Feb 2015)
- openssl: Use OPENSSL_IS_BORINGSSL for BoringSSL detection

  For consistency with other conditionally compiled code in openssl.c,
  use OPENSSL_IS_BORINGSSL rather than HAVE_BORINGSSL and try to use
  HAVE_BORINGSSL outside of openssl.c when the OpenSSL header files are
  not included.

Patrick Monnerat (11 Feb 2015)
- ftp: accept all 2xx responses to the PORT command

Steve Holme (9 Feb 2015)
- openssl: Disable OCSP in old versions of OpenSSL

  Versions of OpenSSL prior to v0.9.8h do not support the necessary
  functions for OCSP stapling.

Daniel Stenberg (9 Feb 2015)
- [Tatsuhiro Tsujikawa brought this change]

  http2: Fix bug that associated stream canceled on PUSH_PROMISE

  Previously we don't ignore PUSH_PROMISE header fields in on_header
  callback.  It makes header values mixed with following HEADERS,
  resulting protocol error.

- [Jay Satiro brought this change]

  polarssl: Fix exclusive SSL protocol version options

  Prior to this change the options for exclusive SSL protocol versions did
  not actually set the protocol exclusive.

  http://curl.haxx.se/mail/lib-2015-01/0002.html
  Reported-by: Dan Fandrich

- [Jay Satiro brought this change]

  gskit: Fix exclusive SSLv3 option

- curl.1: clarify that -X is used for all requests

  Reported-by: Jon Seymour

- curl.1: add warning when using -H and redirects

Steve Holme (7 Feb 2015)
- schannel: Removed curl_ prefix from source files

  Removed the curl_ prefix from the schannel source files as discussed
  with Marc and Daniel at FOSDEM.

Daniel Stenberg (6 Feb 2015)
- md5: use axTLS's own MD5 functions when available

- MD(4|5): make the MD4_* and MD5_* functions static

- axtls: fix conversion from size_t to int warning

Steve Holme (5 Feb 2015)
- ftp: Use 'CURLcode result' for curl result codes

Daniel Stenberg (5 Feb 2015)
- openssl: SSL_SESSION->ssl_version no longer exist

  The struct went private in 1.0.2 so we cannot read the version number
  from there anymore. Use SSL_version() instead!

  Reported-by: Gisle Vanem
  Bug: http://curl.haxx.se/mail/lib-2015-02/0034.html

Dan Fandrich (4 Feb 2015)
- unit1600: Fix compilation when NTLM is disabled

Daniel Stenberg (4 Feb 2015)
- MD5: fix compiler warnings and code style nits

- MD5: replace implementation

  The previous one was "encumbered" by RSA Inc - to avoid the licensing
  restrictions it has being replaced. This is the initial import,
  inserting the md5.c and md5.h files from
  http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5

  Code-by: Alexander Peslyak

- MD4: fix compiler warnings and code style nits

- MD4: replace implementation

  The previous one was "encumbered" by RSA Inc - to avoid the licensing
  restrictions it has being replaced. This is the initial import,
  inserting the md4.c and md4.h files from
  http://openwall.info/wiki/people/solar/software/public-domain-source-code/md4

  Code-by: Alexander Peslyak

Steve Holme (4 Feb 2015)
- telnet: Prefer 'CURLcode result' for curl result codes

- hostasyn: Prefer 'CURLcode result' for curl result codes

- schannel: Prefer 'CURLcode result' for curl result codes

Daniel Stenberg (3 Feb 2015)
- unit1601: MD5 unit tests

- unit1600: unit test for Curl_ntlm_core_mk_nt_hash

- unit1600: NTLM unit test

- tests/README: add a new range, clean up some language

- [Jay Satiro brought this change]

  opts: CURLOPT_CAINFO availability depends on SSL engine

- getpass: protect include with proper #ifdef

  Reported-by: Tamir

- getpass_r: read from stdin, not stdout!

  The file number used was wrong. This bug was introduced over 10 years
  ago, proving this function isn't used much...

  Bug: http://curl.haxx.se/bug/view.cgi?id=1476
  Reported-by: Tamir

- test1135: verify the CURL_EXTERN order in header files

- Makefile.am: fix 'make distcheck'

  ... by removing generated files from the *_DIST variable [*] and instead
  generate them with a .dist suffix, since that is then handled and put
  into the release archive by our generic dist-hook.

  [*] = 'make distcheck' fails with non-existing files listed there

Steve Holme (2 Feb 2015)
- curl_sasl.c: More code policing

  Better use of 80 character line limit, comment corrections and line
  spacing preferences.

Daniel Stenberg (2 Feb 2015)
- libcurl-symbols: first basic shot for autogenerated docs

- FAQ: minor edit of 3.22

Steve Holme (2 Feb 2015)
- build: Added removal of Visual Studio project files

  Added the removal of the locally generated project files so one
  may revert to a clean repository.

- build: Renamed top level Visual Studio solution files

  In preparation for adding the test suite and examples projects renamed
  the top level "all" solution files to better describe what they are.

  This will also enable us to use "curl" rather than "curlsrc" for the
  command line tool solution and project files, which will simplify some
  of the configuration.

- build: Enabled DEBUGBUILD in Visual Studio debug builds

  Defined the DEBUGBUILD pre-processor variable to allow extra logging,
  which is particularly useful in debug builds, as we use this and Visual
  Studio typically uses _DEBUG.

  We could define DEBUBBUILD, in curl_setup.h, when _MSC_VER and _DEBUG is
  defined but that would also affect the makefile based builds which we
  probably don't want to do.

- build: Removed unused Visual Studio bscmake settings

Daniel Stenberg (2 Feb 2015)
- CURLOPT_HTTP_VERSION.3: CURL_HTTP_VERSION_2_0 added in 7.33.0

  And modify the text to refer to HTTP 2 as it isn't called "2.0".

  Reported-By: Michael Wallner

Marc Hoersken (31 Jan 2015)
- TODO: moved WinSSL/SChannel todo items into docs

Daniel Stenberg (29 Jan 2015)
- [Michael Kaufmann brought this change]

  CURLOPT_SEEKFUNCTION.3: also when server closes a connection

Steve Holme (29 Jan 2015)
- curl_sasl.c: Fixed compilation warning when cryptography is disabled

  curl_sasl.c:1506: warning: unused variable 'chlg'

- curl_sasl.c: Fixed compilation warning when verbose debug output disabled

  curl_sasl.c:1317: warning: unused parameter 'conn'

- ntlm_core: Use own odd parity function when crypto engine doesn't have one

- ntlm_core: Prefer sizeof(key) rather than hard coded sizes

- ntlm_core: Added consistent comments to DES functions

- des: Added Curl_des_set_odd_parity()

  Added Curl_des_set_odd_parity() for use when cryptography engines
  don't include this functionality.

- tests: Grouped SMTP SASL EXTERNAL tests with other SMTP tests

- tests: Grouped POP3 SASL EXTERNAL tests with other POP3 tests

- tests: Grouped IMAP SASL EXTERNAL tests with other IMAP tests

- sasl: Minor code policing and grammar corrections

Daniel Stenberg (28 Jan 2015)
- [Gisle Vanem brought this change]

  ldap: build with BoringSSL

- security: avoid compiler warning

  Possible access to uninitialised memory '&nread' at line 140 of
  lib/security.c in function 'ftp_send_command'.

  Reported-by: Rich Burridge

- runtests: identify BoringSSL and libressl

Patrick Monnerat (27 Jan 2015)
- docs: cite SASL external authentication.

- sasl: remove XOAUTH2 from default enabled authentication mechanism.

- test: add test cases for sasl external authentication (imap/pop3/smtp).

- imap: remove automatic password setting: it breaks external sasl authentication

- sasl: implement EXTERNAL authentication mechanism.
    Its use is only enabled by explicit requirement in URL (;AUTH=EXTERNAL) and
  by not setting the password.

Steve Holme (27 Jan 2015)
- openssl: Fixed Curl_ossl_cert_status_request() not returning FALSE

  Modified the Curl_ossl_cert_status_request() function to return FALSE
  when built with BoringSSL or when OpenSSL is missing the necessary TLS
  extensions.

- openssl: Fixed compilation errors when OpenSSL built with 'no-tlsext'

  Fixed the build of openssl.c when OpenSSL is built without the necessary
  TLS extensions for OCSP stapling.

  Reported-by: John E. Malmberg

- [Brad Spencer brought this change]

  curl_setup: Disable SMB/CIFS support when HTTP only

- RELEASE-NOTES: Synced with 37824498a3

Daniel Stenberg (22 Jan 2015)
- configure: remove detection of the old yassl emulation API

  ... as that is ancient history and not used.

- OCSP stapling: disabled when build with BoringSSL

- [Alessandro Ghedini brought this change]

  openssl: add support for the Certificate Status Request TLS extension

  Also known as "status_request" or OCSP stapling, defined in RFC6066
  section 8.

  Thanks-to: Joe Mason
  - for the work-around for the OpenSSL bug.

- BoringSSL: fix build for non-configure builds

  HAVE_BORINGSSL gets defined now by configure and should be defined by
  other build systems in case a BoringSSL build is desired.

- configure: fix BoringSSL detection and detect libresssl

Steve Holme (22 Jan 2015)
- curl_sasl: Reinstate the sasl_ prefix for locally scoped functions

  Commit 7a8b2885e2 made some functions static and removed the public
  Curl_ prefix. Unfortunately, it also removed the sasl_ prefix, which
  is the naming convention we use in this source file.

- curl_sasl: Minor code policing following recent commits

Daniel Stenberg (22 Jan 2015)
- [John Malmberg brought this change]

  openvms: Handle openssl/0.8.9zb version parsing

  packages/vms/gnv_link_curl.com was assuming only a single letter suffix
  in the openssl version.  That assumption has been fixed for 7.40.

- BoringSSL: detected by configure, switches off NTLM

- BoringSSL: no PKCS12 support nor ERR_remove_state

- [Leith Bade brought this change]

  BoringSSL: fix build

Steve Holme (20 Jan 2015)
- curl_sasl.c: chlglen is not used when cryptography is disabled

- curl_sasl.c: Fixed compilation warning when cyptography is disabled

  curl_sasl.c:1453: warning C4101: 'serverdata' : unreferenced local
                    variable

- curl_sasl.c: Fixed compilation error when USE_WINDOWS_SSPI defined

  curl_sasl.c:1221: error C2065: 'mechtable' : undeclared identifier

  This error could also happen for non-SSPI builds when cryptography is
  disabled (CURL_DISABLE_CRYPTO_AUTH is defined).

Patrick Monnerat (20 Jan 2015)
- SASL: make some procedures local-scoped

- SASL: common state engine for imap/pop3/smtp

- SASL: common URL option and auth capabilities decoders for all protocols

- IMAP/POP3/SMTP: use a per-connection sub-structure for SASL parameters.

Daniel Stenberg (20 Jan 2015)
- ipv6: enclose AF_INET6 uses with proper #ifdefs for ipv6

  Reported-by: Chris Young

- [Chris Young brought this change]

  timeval: typecast for better type (on Amiga)

  There is an issue with conflicting "struct timeval" definitions with
  certain AmigaOS releases and C libraries, depending on what gets
  included when.  It's a minor difference - the OS one is unsigned,
  whereas the common structure has signed elements.  If the OS one ends up
  getting defined, this causes a timing calculation error in curl.

  It's easy enough to resolve this at the curl end, by casting the
  potentially errorneous calculation to a signed long.

- openssl: do public key pinning check independently

  ... of the other cert verification checks so that you can set verifyhost
  and verifypeer to FALSE and still check the public key.

  Bug: http://curl.haxx.se/bug/view.cgi?id=1471
  Reported-by: Kyle J. McKay

Patrick Monnerat (19 Jan 2015)
- OS400: CURLOPT_SSL_VERIFYSTATUS for ILE/RPG too.

Steve Holme (18 Jan 2015)
- ldap: Renamed the CURL_LDAP_WIN definition to USE_WIN32_LDAP

  For consistency with other USE_WIN32_ defines as well as the
  USE_OPENLDAP define.

- http_negotiate: Use dynamic buffer for SPN generation

  Use a dynamicly allocated buffer for the temporary SPN variable similar
  to how the SASL GSS-API code does, rather than using a fixed buffer of
  2048 characters.

- sasl_gssapi: Make Curl_sasl_build_gssapi_spn() public

- sasl_gssapi: Fixed memory leak with local SPN variable

Daniel Stenberg (17 Jan 2015)
- http_negotiate.c: unused variable 'ret'

Steve Holme (17 Jan 2015)
- gskit.h: Code policing of function pointer arguments

- vtls: Removed unimplemented overrides of curlssl_close_all()

  Carrying on from commit 037cd0d991, removed the following unimplemented
  instances of curlssl_close_all():

  Curl_axtls_close_all()
  Curl_darwinssl_close_all()
  Curl_cyassl_close_all()
  Curl_gskit_close_all()
  Curl_gtls_close_all()
  Curl_nss_close_all()
  Curl_polarssl_close_all()

- vtls: Separate the SSL backend definition from the API setup

  Slight code cleanup as the SSL backend #define is mixed up with the API
  function setup.

- vtls: Fixed compilation errors when SSL not used

  Fixed the following warning and error from commit 3af90a6e19 when SSL
  is not being used:

  url.c:2004: warning C4013: 'Curl_ssl_cert_status_request' undefined;
              assuming extern returning int

  error LNK2019: unresolved external symbol Curl_ssl_cert_status_request
                 referenced in function Curl_setopt

- http_negotiate: Added empty decoded challenge message info text

- http_negotiate: Return CURLcode in Curl_input_negotiate() instead of int

- http_negotiate_sspi: Prefer use of 'attrs' for context attributes

  Use the same variable name as other areas of SSPI code.

- http_negotiate_sspi: Use correct return type for QuerySecurityPackageInfo()

  Use the SECURITY_STATUS typedef rather than a unsigned long for the
  QuerySecurityPackageInfo() return and rename the variable as per other
  areas of SSPI code.

- http_negotiate_sspi: Use 'CURLcode result' for CURL result code

- curl_endian: Fixed build when 64-bit integers are not supported (Part 2)

  Missed Curl_read64_be() in commit bb12d44471 :(

Daniel Stenberg (16 Jan 2015)
- CURLOPT_SSL_VERIFYSTATUS.3: mention it is added in version 7.41.0

- curlver.h: next release is 7.41.0 due to the changes

- RELEASE-NOTES: mention the new OCSP stapling options, bump version

- opts: add CURLOPT_SSL_VERIFYSTATUS* to docs/Makefile

- help: add --cert-status to --help output

- copyright years: after OCSP stapling changes

- [Alessandro Ghedini brought this change]

  curl: add --cert-status option

  This enables the CURLOPT_SSL_VERIFYSTATUS functionality.

- [Alessandro Ghedini brought this change]

  nss: add support for the Certificate Status Request TLS extension

  Also known as "status_request" or OCSP stapling, defined in RFC6066 section 8.

  This requires NSS 3.15 or higher.

- [Alessandro Ghedini brought this change]

  gtls: add support for the Certificate Status Request TLS extension

  Also known as "status_request" or OCSP stapling, defined in RFC6066 section 8.

  This requires GnuTLS 3.1.3 or higher to build, however it's recommended to use
  at least GnuTLS 3.3.11 since previous versions had a bug that caused the OCSP
  response verfication to fail even on valid responses.

- [Alessandro Ghedini brought this change]

  url: add CURLOPT_SSL_VERIFYSTATUS option

  This option can be used to enable/disable certificate status verification using
  the "Certificate Status Request" TLS extension defined in RFC6066 section 8.

  This also adds the CURLE_SSL_INVALIDCERTSTATUS error, to be used when the
  certificate status verification fails, and the Curl_ssl_cert_status_request()
  function, used to check whether the SSL backend supports the status_request
  extension.

- TheArtOfHttpScripting: skip the date at the top, we have git

- TheArtOfHttpScripting: phrase it TLS lib agnostic

Steve Holme (16 Jan 2015)
- TODO: Added some SMB ideas

- RELEASE-NOTES: Synced with 5f09947d28

- build-openssl.bat: Added check for Perl installation

- checksrc.bat: Better detection of Perl installation

- curl_endian: Fixed build when 64-bit integers are not supported

  Bug: http://curl.haxx.se/mail/lib-2015-01/0094.html
  Reported-by: John E. Malmberg

Daniel Stenberg (15 Jan 2015)
- [Yun SangHo brought this change]

  curl.h: remove extra space

- Curl_pretransfer: reset expected transfer sizes

  Reported-by: Mohammad AlSaleh
  Bug: http://curl.haxx.se/mail/lib-2015-01/0065.html

Marc Hoersken (12 Jan 2015)
- curl_schannel.c: mark session as removed from cache if not freed

  If the session is still used by active SSL/TLS connections, it
  cannot be closed yet. Thus we mark the session as not being cached
  any longer so that the reference counting mechanism in
  Curl_schannel_shutdown is used to close and free the session.

  Reported-by: Jean-Francois Durand

Steve Holme (9 Jan 2015)
- RELEASE-NOTES: Synced with d21b66835f

Guenter Knauf (9 Jan 2015)
- Merge pull request #134 from vszakats/mingw-m64

  add -m64 CFLAGS when targeting mingw64, add -m32/-m64 to LDFLAGS

- Merge pull request #136 from vszakats/mingw-allow-custom-cflags

  mingw build: allow to pass custom CFLAGS

Daniel Stenberg (9 Jan 2015)
- NSS: fix compiler error when built http2-enabled

Steve Holme (9 Jan 2015)
- gssapi: Remove need for duplicated GSS_C_NT_HOSTBASED_SERVICE definitions

  Better code reuse and consistency in calls to gss_import_name().

Viktor Szakats (9 Jan 2015)
- mingw build: allow to pass custom CFLAGS

Daniel Stenberg (8 Jan 2015)
- FTP: if EPSV fails on IPV6 connections, bail out

  ... instead of trying PASV, since PASV can't work with IPv6.

  Reported-by: Vojtěch Král

- FTP: fix IPv6 host using link-local address

  ... and make sure we can connect the data connection to a host name that
  is longer than 48 bytes.

  Also simplifies the code somewhat by re-using the original host name
  more, as it is likely still in the DNS cache.

  Original-Patch-by: Vojtěch Král
  Bug: http://curl.haxx.se/bug/view.cgi?id=1468

Steve Holme (8 Jan 2015)
- [Sam Schanken brought this change]

  winbuild: Added option to build with c-ares

  Added support for a WITH_CARES option to be used when invoking nmake
  via Makefile.vc. This option enables linking against both the DLL and
  static versions of the c-ares libraries, as well as the debug and
  release varients, depending on the value of DEBUG. The USE_ARES
  preprocessor symbol is also defined.

Guenter Knauf (8 Jan 2015)
- NetWare build: added TLS-SRP enabled build.

Steve Holme (8 Jan 2015)
- sasl_gssapi: Fixed build on NetBSD with built-in GSS-API

  Bug: http://curl.haxx.se/bug/view.cgi?id=1469
  Reported-by: Thomas Klausner

Viktor Szakats (8 Jan 2015)
- add -m64 clags when targeting mingw64, add -m32/-m64 to LDFLAGS

Daniel Stenberg (8 Jan 2015)
- bump: start working towards 7.40.1

- THANKS: 14 new contributors from the 7.40.0 release notes
2015-03-01 15:01:00 +00:00
wiz
42365f1aa9 Fix build with GSSAPI on NetBSD. Enable gssapi again. 2015-01-08 19:23:53 +00:00
wiz
8644aac48d Update to 7.38.0:
Changes:

    supports HTTP/2 draft-14
    CURLE_HTTP2 is a new error code
    CURLAUTH_NEGOTIATE is a new auth define
    CURL_VERSION_GSSAPI is a new capability bit
    no longer use fbopenssl for anything
    schannel: use CryptGenRandom for random numbers
    axtls: define curlssl_random using axTLS's PRNG
    cyassl: use RNG_GenerateBlock to generate a good random number
    findprotocol: show unsupported protocol within quotes
    version: detect and show LibreSSL
    version: detect and show BoringSSL
    imap/pop3/smtp: Kerberos (SASL GSSAPI) authentication via Windows SSPI
    http2: requires nghttp2 0.6.0 or later

Bugfixes:

    SECURITY ADVISORY: cookie leak with IP address as domain
    SECURITY ADVISORY: cookie leak for TLDs
    fix a build failure on Debian when NSS support is enabled
    HTTP/2: fixed compiler warnings when built disabled
    cyassl: return the correct error code on no CA cert
    http: Deprecate GSS-Negotiate macros due to bad naming
    http: Fixed Negotiate: authentication
    multi: Improve proxy CONNECT performance (regression)
    ntlm_wb: Avoid invoking ntlm_auth helper with empty username
    ntlm_wb: Fix hard-coded limit on NTLM auth packet size
    url.c: use the preferred symbol name: *READDATA
    smtp: fixed a segfault during test 1320 torture test
    cyassl: made it compile with version 2.0.6 again
    nss: do not check the version of NSS at run time
    c-ares: fix build without IPv6 support
    HTTP/2: use base64url encoding
    SSPI Negotiate: Fix 3 memory leaks
    libtest: fixed duplicated line in Makefile
    conncache: fix compiler warning
    openssl: make ossl_send return CURLE_OK better
    HTTP/2: Support expect: 100-continue
    HTTP/2: Fix infinite loop in readwrite_data()
    parsedate: fix the return code for an overflow edge condition
    darwinssl: don't use strtok()
    http_negotiate_sspi: Fixed specific username and password not working
    openssl: replace call to OPENSSL_config
    http2: show the received header for better debugging
    HTTP/2: Move :authority before non-pseudo header fields
    HTTP/2: Reset promised stream, not its associated stream
    HTTP/2: added some more logging for debugging stream problems
    ntlm: Added support for SSPI package info query
    ntlm: Fixed hard coded buffer for SSPI based auth packet generation
    sasl_sspi: Fixed memory leak with not releasing Package Info struct
    sasl_sspi: Fixed SPN not being converted to wchar under Unicode builds
    sasl: Use a dynamic buffer for DIGEST-MD5 SPN generation
    http_negotiate_sspi: Use a dynamic buffer for SPN generation
    sasl_sspi: Fixed missing free of challenge buffer on SPN failure
    sasl_sspi: Fixed hard coded buffer for response generation
    Curl_poll + Curl_wait_ms: fix timeout return value
    docs/SSLCERTS: update the section about NSS database
    create_conn: prune dead connections
    openssl: fix version report for the 0.9.8 branch
    mk-ca-bundle.pl: switched to using hg.mozilla.org
    http: fix the Content-Range: parser
    Curl_disconnect: don't free the URL
    win32: Fixed WinSock 2 #if
    NTLM: ignore CURLOPT_FORBID_REUSE during NTLM HTTP auth
    curl.1: clarify --limit-rate's effect on both directions
    disconnect: don't touch easy-related state on disconnects
    Cmake: big cleanup and numerous fixes
    HTTP/2: supports draft-14 - moved :headers before the non-psuedo headers
    HTTP/2: Reset promised stream, not its associated stream
    configure.ac: Add support for recent GSS-API implementations for HP-UX
    CONNECT: close proxy connections that fail
    CURLOPT_NOBODY.3: clarify this option is for downloads
    darwinssl: fix CA certificate checking using PEM format
    resolve: cache lookup for async resolvers
    low-speed-limit: avoid timeout flood
    polarssl: implement CURLOPT_SSLVERSION
    multi: convert CURLM_STATE_CONNECT_PEND handling to a list
    curl_multi_cleanup: remove superfluous NULL assigns
    polarssl: support CURLOPT_CAPATH / --capath
    progress: size_dl/size_ul are always >= 0, and clear "KNOWN" properly
2014-09-14 16:43:44 +00:00
wiz
fbdc10ec97 Update to 7.37.1:
Changes:

    bits.close: introduce connection close tracking
    darwinssl: Add support for --cacert
    polarssl: add ALPN support
    docs: Added new option man pages

Bugfixes:

    build: Fixed incorrect reference to curl_setup.h in Visual Studio files
    build: Use $(TargetDir) and $(TargetName) macros for .pdb and .lib output
    curl.1: clarify that -u can't specify a user with colon
    openssl: Fix uninitialized variable use in NPN callback
    curl_easy_reset: reset the URL
    curl_version_info.3: returns a pointer to a static struct
    url-parser: only use if_nametoindex if detected by configure
    select: with winsock, avoid passing unsupported arguments to select()
    gnutls: don't use deprecated type names anymore
    gnutls: allow building with nghttp2 but without ALPN support
    tests: Fix portability issue with the tftpd server
    curl_sasl_sspi: Fixed corrupt hostname in DIGEST-MD5 SPN
    curl_sasl: extended native DIGEST-MD5 cnonce to be a 32-byte hex string
    random: use Curl_rand() for proper random data
    Curl_ossl_init: call OPENSSL_config for initing engines
    config-win32.h: Updated for VC12
    winbuild: Don't USE_WINSSL when WITH_SSL is being used
    getinfo: HTTP CONNECT code not reset between transfers
    Curl_rand: Use a fake entropy for debug builds when CURL_ENTROPY set
    http2: avoid segfault when using the plain-text http2
    conncache: move the connection counter to the cache struct
    http2: better return code error checking
    curlbuild: fix GCC build on SPARC systems without configure script
    tool_metalink: Support polarssl as digest provider
    curl.h: reverse the enum/define setup for old symbols
    curl.h: moved two really old deprecated symbols
    curl.h: renamed CURLOPT_DEPRECATEDx to CURLOPT_OBSOLETEx
    buildconf: do not search tools in current directory.
    OS400: make it compilable again. Make RPG binding up to date
    nss: do not abort on connection failure (failing tests 305 and 404)
    nss: make the fallback to SSLv3 work again
    tool: prevent valgrind from reporting possibly lost memory (nss only)
    progress callback: skip last callback update on errors
    nss: fix a memory leak when CURLOPT_CRLFILE is used
    compiler warnings: potentially uninitialized variables
    url.c: Fixed memory leak on OOM
    gnutls: ignore invalid certificate dates with VERIFYPEER disabled
    gnutls: fix SRP support with versions of GnuTLS from 2.99.0
    gnutls: fixed a couple of uninitialized variable references
    gnutls: fixed compilation against versions < 2.12.0
    build: Fixed overridden compiler PDB settings in VC7 to VC12
    ntlm_wb: Fixed buffer size not being large enough for NTLMv2 sessions
    netrc: don't abort if home dir cannot be found
    netrc: fixed thread safety problem by using getpwuid_r if available
    cookie: avoid mutex deadlock
    configure: respect host tool prefix for krb5-config
    gnutls: handle IP address in cert name check
2014-07-22 11:38:26 +00:00
ryoon
ce7f914378 Fix build under SCO OpenServer 5.0.7/3.2. 2014-07-18 09:04:43 +00:00
wiz
daf496e987 Add missing header for DragonflyBSD.
PR 48691 by David Shao.
2014-03-31 08:45:21 +00:00
spz
53f612ae93 Upstream release notes:
Fixed in 7.36.0 - March 26 2014
Release contains security-related bug fixes

Changes:

    ntlm: Added support for NTLMv2
    tool: Added support for URL specific options
    openssl: add ALPN support
    gtls: add ALPN support
    nss: add ALPN and NPN support
    added CURLOPT_EXPECT_100_TIMEOUT_MS
    tool: add --no-alpn and --no-npn
    added CURLOPT_SSL_ENABLE_NPN and CURLOPT_SSL_ENABLE_ALPN
    winssl: enable TLSv1.1 and TLSv1.2 by default
    winssl: TLSv1.2 disables certificate signatures using MD5 hash
    winssl: enable hostname verification of IP address using SAN or CN
    darwinssl: Don't omit CN verification when an IP address is used
    http2: build with current nghttp2 version
    polarssl: dropped support for PolarSSL < 1.3.0
    openssl: info message with SSL version used

Bugfixes:

    SECURITY ADVISORY: wrong re-use of connections
    SECURITY ADVISORY: IP address wildcard certificate validation
    SECURITY ADVISORY: not verifying certs for TLS to IP address / Darwinssl
    SECURITY ADVISORY: not verifying certs for TLS to IP address / Winssl
    nss: allow to use ECC ciphers if NSS implements them
    netrc: Fixed a memory leak in an OOM condition
    ftp: fixed a memory leak on wildcard error path
    pipeline: Fixed a NULL pointer dereference on OOM
    nss: prefer highest available TLS version
    100-continue: fix timeout condition
    ssh: Fixed a NULL pointer dereference on OOM condition
    formpost: use semicolon in multipart/mixaed
    --help: add missing --tlsv1.x options
    formdata: Fixed memory leak on OOM condition
    ConnectionExists: reusing possible HTTP+NTLM connections better
    mingw32: fix compilation
    chunked decoder: track overflows correctly
    curl_easy_setopt.3: add CURL_HTTP_VERSION_2_0
    dict: fix memory leak in OOM exit path
    valgrind: added suppression on optimized code
    curl: output protocol headers using binary mode
    tool: Added URL index to password prompt for multiple operations
    ConnectionExists: re-use non-NTLM connections better
    axtls: call ssl_read repeatedly
    multi: make MAXCONNECTS default 4 x number of easy handles function
    configure: Fix the --disable-crypto-auth option
    multi: ignore SIGPIPE internally
    curl.1: update the description of --tlsv1
    SFTP: skip reading the dir when NOBODY=1
    easy: Fixed a memory leak on OOM condition
    tool: Fixed incorrect return code when setting HTTP request fails
    configure: Tiny fix to honor POSIX
    tool: Do not output libcurl source for the information only parameters
    Rework Open Watcom make files to use standard Wmake features
    x509asn: moved out Curl_verifyhost from NSS builds
    configure: call it GSS-API
    hostcheck: Curl_cert_hostcheck is not used by NSS builds
    multi_runsingle: move timestamp into INIT
    remote_port: allow connect to port 0
    parse_remote_port: error out on illegal port numbers better
    ssh: Pass errors from libssh2_sftp_read up the stack
    docs: remove documentation on setting up krb4 support
    polarssl: build fixes to work with PolarSSL 1.3.x
    polarssl: fix possible handshake timeout issue in multi
    nss: allow to enable/disable cipher-suites better
    ssh: prevent a logic error that could result in an infinite loop
    http2: free resources on disconnect
    polarssl: avoid extra newlines in debug messages
    rtsp: parse "Session:" header properly
    trynextip: don't store 'ai' on failed connects
    Curl_cert_hostcheck: strip trailing dots in host name and wildcard
2014-03-30 12:57:54 +00:00
adam
0774b537d8 Changes 7.35.0:
imap/pop3/smtp: Added support for SASL authentication downgrades
imap/pop3/smtp: Extended the login options to support multiple auth mechanisms
TheArtOfHttpScripting: major update, converted layout and more
mprintf: Added support for I, I32 and I64 size specifiers
makefile: Added support for VC7, VC11 and VC12

Bugfixes:
SECURITY ADVISORY: re-use of wrong HTTP NTLM connection
curl_easy_setopt: Fixed OAuth 2.0 Bearer option name
pop3: Fixed APOP being determined by CAPA response rather than by timestamp
Curl_pp_readresp: zero terminate line
FILE: don't wait due to CURLOPT_MAX_RECV_SPEED_LARGE
docs: mention CURLOPT_MAX_RECV/SEND_SPEED_LARGE don't work for FILE://
pop3: Fixed auth preference not being honored when CAPA not supported
imap: Fixed auth preference not being honored when CAPABILITY not supported
threaded resolver: Use pthread_t * for curl_thread_t
FILE: we don't support paused transfers using this protocol
connect: Try all addresses in first connection attempt
curl_easy_setopt.3: Added SMTP information to CURLOPT_INFILESIZE_LARGE
OpenSSL: Fix forcing SSLv3 connections
openssl: allow explicit sslv2 selection
FTP parselist: fix "total" parser
conncache: fix possible dereference of null pointer
multi.c: fix possible dereference of null pointer
mk-ca-bundle: introduces -d and warns about using this script
ConnectionExists: fix NTLM check for new connection
trynextip: fix build for non-IPV6 capable systems
Curl_updateconninfo: don't do anything for UDP "connections"
darwinssl: un-break Leopard build after PKCS-12 change
threaded-resolver: never use NULL hints with getaddrinf
multi_socket: remind app if timeout didn't run
OpenSSL: deselect weak ciphers by default
error message: Sensible message on timeout when transfer size unknown
curl_easy_setopt.3: mention how to unset CURLOPT_INFILESIZE*
win32: Fixed use of deprecated function 'GetVersionInfoEx' for VC12
configure: fix gssapi linking on HP-UX
chunked-parser: abort on overflows, allow 64 bit chunks
chunked parsing: relax the CR strictness
cookie: max-age fixes
progress bar: always update when at 100%
progress bar: increase update frequency to 10Hz
tool: Fixed incorrect return code if command line parser runs out of memory
tool: Fixed incorrect return code if password prompting runs out of memory
HTTP POST: omit Content-Length if data size is unknown
GnuTLS: disable insecure ciphers
GnuTLS: honor --slv2 and the --tlsv1[.N] switches
multi: Fixed a memory leak on OOM condition
netrc: Fixed a memory and file descriptor leak on OOM
getpass: fix password parsing from console
TFTP: fix crash on time-out
hostip: don't remove DNS entries that are in use
tests: lots of tests fixed to pass the OOM torture tests
2014-02-01 11:07:14 +00:00
adam
45bccd716e Changes 7.33.0:
* test code for testing the event based API
* CURLM_ADDED_ALREADY: new error code
* test TFTP server: support "writedelay" within
* krb4 support has been removed
* imap/pop3/smtp: added basic SASL XOAUTH2 support
* darwinssl: add support for PKCS12 files for client authentication
* darwinssl: enable BEAST workaround on iOS 7 & later
* Pass password to OpenSSL engine by user interface
* c-ares: Add support for various DNS binding options
* cookies: add expiration
* curl: added --oauth2-bearer option
2013-10-17 07:56:36 +00:00
richard
ae3c0aa7cc update builtin solaris gssapi/mit-krb5 support for curl 2013-10-12 04:31:48 +00:00
spz
fd4cd3604a update of cURL to the current version. Upstream changelog:
Changes:
--------

darwinssl: add TLS session resumption
darwinssl: add TLS crypto authentication
imap/pop3/smtp: Added support for ;auth= in the URL
imap/pop3/smtp: Added support for ;auth= to CURLOPT_USERPWD
usercertinmem.c: add example showing user cert in memory
url: Added smtp and pop3 hostnames to the protocol detection list
imap/pop3/smtp: Added support for enabling the SASL initial response
curl -E: allow to use ':' in certificate nicknames

Bugfixes:
---------

SECURITY VULNERABILITY: curl_easy_unescape() may parse data beyond
    the end of the input buffer [26]
FTP: access files in root dir correctly
configure: try pthread_create without -lpthread
FTP: handle a 230 welcome response
curl-config: don't output static libs when they are disabled
CURL_CHECK_CA_BUNDLE: don't check for paths when cross-compiling
Various documentation updates
getinfo.c: reset timecond when clearing session-info variables
FILE: prevent an artificial timeout event due to stale speed-check data
ftp_state_pasv_resp: connect through proxy also when set by env
sshserver: disable StrictHostKeyChecking
ftpserver: Fixed imap logout confirmation data
curl_easy_init: use less mallocs
smtp: Fixed unknown percentage complete in progress bar
smtp: Fixed sending of double CRLF caused by first in EOB
bindlocal: move brace out of #ifdef
winssl: Fixed invalid memory access during SSL shutdown
OS X framework: fix invalid symbolic link
OpenSSL: allow empty server certificate subject
axtls: prevent memleaks on SSL handshake failures
cookies: only consider full path matches
Revert win32 MemoryTracking: wcsdup() _wcsdup() and _tcsdup()
Curl_cookie_add: handle IPv6 hosts
ossl_send: SSL_write() returning 0 is an error too
ossl_recv: SSL_read() returning 0 is an error too
Digest auth: escape user names with backslash or " in them
curl_formadd.3: fixed wrong "end-marker" syntax
libcurl-tutorial.3: fix incorrect backslash
curl_multi_wait: reduce timeout if the multi handle wants to
tests/Makefile: typo in the perlcheck target
axtls: honor disabled VERIFYHOST
OpenSSL: avoid double free in the PKCS12 certificate code
multi_socket: reduce timeout inaccuracy margin
digest: support auth-int for empty entity body
axtls: now done non-blocking
lib1900: use tutil_tvnow instead of gettimeofday
curl_easy_perform: avoid busy-looping
CURLOPT_COOKIELIST: take cookie share lock
multi_socket: react on socket close immediately
2013-06-29 19:24:57 +00:00
drochner
4878ce9982 add patch from upstream to fix possible buffer overflow in URL parser
(CVE-2013-2174), bump PKGREV
2013-06-29 12:08:50 +00:00
wiz
92f627b213 Update to 7.30.0:
Fixed in 7.30.0 - April 12 2013
Release contains security-related bug fix

Changes:

    imap: Changed response tag generation to be completely unique
    imap: Added support for SASL-IR extension
    imap: Added support for the list command
    imap: Added support for the append command
    imap: Added custom request parsing
    imap: Added support to the fetch command for UID and SECTION properties
    imap: Added parsing and verification of the UIDVALIDITY mailbox attribute
    darwinssl: Make certificate errors less techy
    imap/pop3/smtp: Added support for the STARTTLS capability
    checksrc: ban use of sprintf, vsprintf, strcat, strncat and gets
    curl_global_init() now accepts the CURL_GLOBAL_ACK_EINTR flag
    Added CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_TOTAL_CONNECTIONS for new multi interface connection handling
    Added CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_PIPELINING_SITE_BL and CURLMOPT_PIPELI NING_SERVER_BL for new pipelining control

Bugfixes:

    SECURITY ADVISORY: cookie tailmatching to avoid cross-domain leakage
    darwinssl: Fix build under Leopard
    DONE: consider callback-aborted transfers premature
    ntlm: Fixed memory leaks
    smtp: Fixed an issue when processing EHLO failure responses
    pop3: Fixed incorrect return value from pop3_endofresp()
    pop3: Fixed SASL authentication capability detection
    pop3: Fixed blocking SSL connect when connecting via POP3S
    imap: Fixed memory leak when performing multiple selects
    nss: fix misplaced code enabling non-blocking socket mode
    AddFormData: prevent only directories from being posted
    darwinssl: fix infinite loop if server disconnected abruptly
    metalink: fix improbable crash parsing metalink filename
    show proper host name on failed resolve
    MacOSX-Framework: Make script work in Xcode 4.0 and later
    strlcat: remove function
    darwinssl: Fix send glitchiness with data > 32 or so KB
    polarssl: better 1.1.x and 1.2.x support
    various documentation improvements
    multi: NULL pointer reference when closing an unused multi handle
    SOCKS: fix socks proxy when noproxy matched
    install-sh: updated to support multiple source files as arguments
    PolarSSL: added human readable error strings
    resolver_error: remove wrong error message output
    docs: updates HTML index and general improvements
    curlbuild.h.dist: enhance non-configure GCC ABI detection logic
    sasl: Fixed null pointer reference when decoding empty digest challenge
    easy: do not ignore poll() failures other than EINTR
    darwinssl: disable ECC ciphers under Mountain Lion by default
    CONNECT: count received headers
    build: fixes for VMS
    CONNECT: clear 'rewindaftersend' on success
    HTTP proxy: insert slash in URL if missing
    hiperfifo: updated to use current libevent API
    getinmemory.c: abort the transfer nicely if not enough memory
    improved win32 memorytracking
    corrected proxy header response headers count
    FTP quote operations on re-used connection
    tcpkeepalive on win32
    tcpkeepalive on Mac OS X
    easy: acknowledge the CURLOPT_MAXCONNECTS option properly
    easy interface: restore default MAXCONNECTS to 5
    win32: don't set SO_SNDBUF for windows vista or later versions
    HTTP: made cookie sort function more deterministic
    winssl: Fixed memory leak if connection was not successful
    FTP: wait on both connections during active STOR state
    connect: treat a failed local bind of an interface as a non-fatal error
    darwinssl: disable insecure ciphers by default
    FTP: handle "rubbish" in front of directory name in 257 responses
    mk-ca-bundle: Fixed lost OpenSSL output with "-t"
2013-04-14 16:39:48 +00:00
tsutsui
c5c17e84b7 Make "curl-config --libs" return proper ldflags for shared libraries.
After curl 7.25.0 update (imported to pkgsrc at 20120417),
"curl-config --libs" no longer returns "-Wl,-R/usr/pkg/lib"
while "curl-config --static-libs" still returns it.

Fixes the root cause of libcurl part of PR pkg/46567, and this is
also required to fix openoffice3 issue as mentioned in PR pkg/46983.
The problem is tracked and reported by Yasushi Oshima.

Bump PKGREVISION.
2013-03-17 21:33:33 +00:00
obache
edb4b1c237 Fix NULL pointer reference when closing an unused multi handle.
(upstream commit da3fc1ee91de656a30f3a12de394bcba55119872)

PR pkg/47610 by dieter roelants

Bump PKGREVISION.
2013-03-10 13:21:05 +00:00
wiz
f3fe251eb8 Update to 7.29.0:
Fixed in 7.29.0 - February 6 2013

Release contains security-related bug fix
(already fixed in pkgsrc)

Changes:

    test: offer "automake" output and check for perl better
    always-multi: always use non-blocking internals
    imap: Added support for sasl digest-md5 authentication
    imap: Added support for sasl cram-md5 authentication
    imap: Added support for sasl ntlm authentication
    imap: Added support for sasl login authentication
    imap: Added support for sasl plain text authentication
    imap: Added support for login disabled server capability
    mk-ca-bundle: add -f, support passing to stdout and more
    writeout: -w now supports remote_ip/port and local_ip/port

Bugfixes:

    SECURITY ADVISORY: SASL buffer overflow vulnerability
    nss: prevent NSS from crashing on client auth hook failure
    darwinssl: Fixed inability to disable peer verification on Snow Leopard and Lion
    curl_multi_remove_handle: fix memory leak triggered with CURLOPT_RESOLVE
    SCP: relative path didn't work as documented
    setup_once.h: HP-UX issue workaround
    configure: fix cross pkg-config detection
    runtests: Do not add undefined values to @INC
    build: fix compilation with CURL_DISABLE_CRYPTO_AUTH flag
    multi: fix re-sending request on early connection close
    HTTP: remove stray CRLF in chunk-encoded content-free request bodies
    build: fix AIX compilation and usage of events/revents
    VC Makefiles: add missing hostcheck
    nss: clear session cache if a client certificate from file is used
    nss: fix error messages for CURLE_SSL_{CACERT,CRL}_BADFILE
    fix HTTP CONNECT tunnel establishment upon delayed response
    --libcurl: fix for non-zero default options
    FTP: reject illegal port numbers in EPSV 229 responses
    build: use per-target '_CPPFLAGS' for those currently using default
    configure: fix automake 1.13 compatibility
    curl: ignore SIGPIPE
    pop3: Added support for non-blocking SSL upgrade
    pop3: Fixed default authentication detection
    imap: Fixed usernames and passwords that contain escape characters
    packages/DOS/common.dj: remove COFF debug info generation
    imap/pop3/smtp: Fixed failure detection during TLS upgrade
    pop3: Fixed no known authentication mechanism when fallback is required
    formadd: reject trying to read a directory where a file is expected
    formpost: support quotes, commas and semicolon in file names
    docs: update the comments about loading CA certs with NSS
    docs: fix typos in man pages
    darwinssl: Fix bug where packets were sometimes transmitted twice
    winbuild: include version info for .dll .exe
    schannel: Removed extended error connection setup flag
    VMS: fix and generate the VMS build config
2013-02-11 12:20:43 +00:00
drochner
1a9149f976 add patch from upstream to fix SASL buffer overflow vulnerability
(CVE-2013-0249), bump PKGREV
2013-02-08 15:45:42 +00:00
drochner
3da5c037d0 update to 7.27.0
changes:
-added --metalink for metalink download support
-pop3: added more authentication types
-error message improvements
-bugfixes
2012-08-01 12:27:11 +00:00
marino
43760cbc04 www/curl: Fix TCP_KEEPIDLE unit for DragonFly
DragonFly uses millisecond rather than second as the unit of TCP_KEEPIDLE.
Patch multiples obtained value by 1000 on DragonFly.
Patch will be submitted to curl at SourceForge.
2012-07-20 08:22:04 +00:00
wiz
06f4792776 Update to 7.26:
This release includes the following changes:

 o nss: the minimal supported version of NSS bumped to 3.12.x
 o nss: human-readable names are now provided for NSS errors if available
 o add a manual page for mk-ca-bundle
 o added --post303 and the CURL_REDIR_POST_303 option for CURLOPT_POSTREDIR
 o smtp: Add support for DIGEST-MD5 authentication
 o pop3: Added support for additional pop3 commands

This release includes the following bugfixes:

 o nss: libcurl now uses NSS_InitContext() to prevent collisions if available [1]
 o URL parse: reject numerical IPv6 addresses outside brackets [4]
 o MD5: fix OOM memory leak [5]
 o OpenSSL cert: provide more details when cert check fails
 o HTTP: empty chunked POST ended up in two zero size chunks [6]
 o fixed a regression when curl resolved to multiple addresses and the first
   isn't supported [7]
 o -# progress meter: avoid superfluous updates and duplicate lines [8]
 o headers: surround GCC attribute names with double underscores [9]
 o PolarSSL: correct return code for CRL matches
 o PolarSSL: include version number in version string
 o PolarSSL: add support for asynchronous connect
 o mk-ca-bundle: revert the LWP usage [12]
 o IPv6 cookie domain: get rid of the first bracket before the second
 o connect.c: return changed to CURLE_COULDNT_CONNECT when opensocket fails
 o OpenSSL: Made cert hostname check conform to RFC 6125 [10]
 o HTTP: reset expected DL/UL sizes on redirects [11]
 o CMake: fix Windows LDAP/LDAPS option handling [2]
 o CMake: fix MS Visual Studio x64 unsigned long long literal suffix [3]
 o configure: update detection logic of getaddrinfo() thread-safeness
 o configure: check for gethostbyname in the watt lib
 o curl-config.1: fix curl-config usage in example [13]
 o smtp: Fixed non-escaping of dot character at beginning of line
 o MakefileBuild.vc: use the correct IDN variable
 o autoconf: improve handling of versioned symbols
 o curl.1: clarify -x usage
 o curl: shorten user-agent
 o smtp: issue with the multi-interface always sending postdata [14]
 o compile error with GnuTLS+Nettle fixed
 o winbuild: fix IPv6 enabled build
2012-05-29 14:58:05 +00:00
wiz
b79da8fec5 Update to 7.24.0:
Fixed in 7.24.0 - January 24 2012

 Release contains security-related bug fix

 Changes:
   * CURLOPT_QUOTE: SFTP supports the '*'-prefix now
   * CURLOPT_DNS_SERVERS: set name servers if possible
   * Add support for using nettle instead of gcrypt as gnutls backend
   * CURLOPT_INTERFACE: avoid resolving interfaces names with magic prefixes
   * Added CURLOPT_ACCEPTTIMEOUT_MS
   * configure: add symbols versioning option --enable-versioned-symbols

 Bugfixes:
   * curl was vulnerable to a data injection attack for certain protocols CVE-2012-0036
   * curl was vulnerable to a SSL CBC IV vulnerability when built to use OpenSSL
   * SSL session share: move the age counter to the share object
   * -J -O: use -O name if no Content-Disposition header comes!
   * protocol_connect: show verbose connect and set connect time
   * query-part: ignore the URI part for given protocols
   * gnutls: only translate winsock errors for old versions
   * POP3: fix end of body detection
   * POP3: detect when LIST returns no mails
   * TELNET: improved treatment of options
   * configure: add support for pkg-config detection of libidn
   * CyaSSL 2.0+ library initialization adjustment
   * multi interface: only use non-NULL socker function pointer
   * call opensocket callback properly for active FTP
   * don't call close socket callback for sockets created with accept()
   * differentiate better between host/proxy errors
   * SSH: fix CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 and --hostpubmd5
   * multi: handle timeouts on DNS servers by checking for new sockets
   * CURLOPT_DNS_SERVERS: fix return code
   * POP3: fixed escaped dot not being stripped out
   * OpenSSL: check for the SSLv2 function in configure
   * MakefileBuild: fix the static build
   * create_conn: don't switch to HTTP protocol if tunneling is enabled
   * multi interface: fix block when CONNECT_ONLY option is used
   * Fix connection reuse for TLS upgraded connections
   * multiple file upload with -F and custom type
   * multi interface: active FTP connections are no longer blocking
   * Android build fix
   * timer: restore PRETRANSFER timing
   * libcurl.m4: Fix quoting arguments of AC_LANG_PROGRAM
   * appconnect time fixed for non-blocking connect ssl backends
   * do not include SSL handshake into time spent waiting for 100-continue
   * handle dns cache case insensitive
   * use new host name casing for subsequent HTTP requests
   * CURLOPT_RESOLVE: avoid adding already present host names
   * SFTP mkdir: use correct permission
   * resolve: don't leak pre-populated dns entries
   * --retry: Retry transfers on timeout and DNS errors
   * negotiate with SSPI backend: use the correct buffer for input
   * SFTP dir: increase buffer size counter to avoid cut off file names
   * TFTP: fix resending (again)
   * c-ares: don't include getaddrinfo-using code
   * FTP: CURLE_PARTIAL_FILE will not close the control channel
   * win32-threaded-resolver: stop using a dummy socket
   * OpenSSL: remove reference to openssl internal struct
   * OpenSSL: SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG option no longer enabled
   * OpenSSL: fix PKCS#12 certificate parsing related memory leak
   * OpenLDAP: fix LDAP connection phase memory leak
   * Telnet: Use correct file descriptor for telnet upload
   * Telnet: Remove bogus optimisation of telnet upload
   * URL parse: user name with ipv6 numerical address
   * polarssl: show cipher suite name correctly with 1.1.0
   * polarssl: havege_rand is not present in version 1.1.0 WARNING, we still use the old API which is said to be
     insecure
   * gnutls: enforced use of SSLv3
2012-01-28 14:41:14 +00:00
drochner
512e27625b add patches from upstream to fix 2 security problems:
-data injection attack for certain protocols (CVE-2012-0036)
-SSL CBC IV vulnerability (OpenSSL related, CVE-2011-3389)
bump PKGREV
2012-01-26 11:25:55 +00:00
wiz
f244191c85 Update to 7.21.2:
Changes:

    * curl -T: ignore file size of special files
    * Added GOPHER protocol support
    * Added mk-ca-bundle.vbs script
    * c-ares build now requires c-ares >= 1.6.0

Bugfixes:

    * --remote-header-name security vulnerability fixed
    * multi: support the timeouts correctly, fixes known bug #62
    * multi: use timeouts properly for MAX_RECV/SEND_SPEED
    * negotiation: Wrong proxy authorization
    * multi: avoid sending multiple complete messages
    * cmdline: make -F type= accept ;charset=
    * RESUME_FROM: clarify what ftp uploads do
    * http: handle trailer headers in all chunked responses
    * Curl_is_connected: use correct errno
    * Added SSPI build to Watcom makefile
    * progress: callback for POSTs less than MAX_INITIAL_POST_SIZE
    * linking problem on Fedora 13
    * Link curl and the test apps with -lrt explicitly when necessary
    * chunky parser: only rewind stream internally if needed
    * remote-header-name: don't output filename when NULL
    * Curl_timeleft: avoid returning "no timeout" by mistake
    * timeout: use the correct start value as offset
    * FTP: fix wrong timeout trigger
    * buildconf got better output on failures
    * rtsp: avoid SIGSEGV on malformed header
    * LDAP: Support for tunnelling queries through HTTP proxy
    * configure's --enable-werror had a bashism
    * test565: Don't hardcode IP:PORT
    * configure: check for gcrypt if using GnuTLS
    * configure: don't enable RTMP if the lib detect fails
    * curl_easy_duphandle: clone the c-ares handle correctly
    * MacOSX-Framework: updates for Snowleopard
    * support URL containing colon without trailing port number
    * parsedate: allow time specified without seconds
    * curl_easy_escape: don't escape "unreserved" characters
    * SFTP: avoid downloading negative sizes
    * Lots of GSS/KRB FTP fixes
    * TFTP: Work around tftpd-hpa upload bug
    * libcurl.m4: several fixes
    * HTTP: remove special case for 416
    * examples: use example.com in example URLs
    * globbing: fix crash on unballanced open brace
    * cmake: build fixed
2010-10-16 23:58:04 +00:00
drochner
6322fb72cb update to 7.21.1
changes: bugfixes
2010-08-15 11:14:36 +00:00
drochner
c8be513e94 update to 7.21.0
changes:
added the --proto and -proto-redir options
new configure option --enable-threaded-resolver
improve TELNET ability with libcurl
added support for PolarSSL
added support for FTP wildcard matching and downloads
added support for RTMP
added CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP and CURLINFO_LOCAL_PORT
2010-07-21 17:29:48 +00:00
wiz
b7789ee748 Update to 7.20.0:
Version 7.20.0 (9 February 2010)

Daniel Stenberg (9 Feb 2010)
- When downloading compressed content over HTTP and the app asked libcurl to
  automatically uncompress it with the CURLOPT_ENCODING option, libcurl could
  wrongly provide the callback with more data than the maximum documented
  amount. An application could thus get tricked into badness if the maximum
  limit was trusted to be enforced by libcurl itself (as it is documented).

  This is further detailed and explained in the libcurl security advisory
  20100209 at

    http://curl.haxx.se/docs/adv_20100209.html

Daniel Fandrich (3 Feb 2010)
- Changed the Watcom makefiles to make them easier to keep in sync with
  Makefile.inc since that can't be included directly.

Yang Tse (2 Feb 2010)
- Symbol CURL_FORMAT_OFF_T now obsoleted, will be removed in a future release,
  symbol will not be available when building with CURL_NO_OLDIES defined. Use
  of CURL_FORMAT_CURL_OFF_T is preferred since 7.19.0

Daniel Stenberg (1 Feb 2010)
- Using the multi_socket API, it turns out at times it seemed to "forget"
  connections (which caused a hang). It turned out to be an existing (7.19.7)
  bug in libcurl (that's been around for a long time) and it happened like
  this:

  The app calls curl_multi_add_handle() to add a new easy handle, libcurl will
  then set it to timeout in 1 millisecond so libcurl will tell the app about
  it.

  The app's timeout fires off that there's a timeout, the app calls libcurl as
  we so often document it:

  do {
   res = curl_multi_socket_action(... TIMEOUT ...);
  } while(CURLM_CALL_MULTI_PERFORM == res);

  And this is the problem number one:

  When curl_multi_socket_action() is called with no specific handle, but only
  a timeout-action, it will *only* perform actions within libcurl that are
  marked to run at this time. In this case, the request would go from INIT to
  CONNECT and return CURLM_CALL_MULTI_PERFORM. When the app then calls libcurl
  again, there's no timer set for this handle so it remains in the CONNECT
  state. The CONNECT state is a transitional state in libcurl so it reports no
  sockets there, and thus libcurl never tells the app anything more about that
  easy handle/connection.

  libcurl _does_ set a 1ms timeout for the handle at the end of
  multi_runsingle() if it returns CURLM_CALL_MULTI_PERFORM, but since the loop
  is instant the new job is not ready to run at that point (and there's no
  code that makes libcurl call the app to update the timout for this new
  timeout). It will simply rely on that some other timeout will trigger later
  on or that something else will update the timeout callback. This makes the
  bug fairly hard to repeat.

  The fix made to adress this issue:

  We introduce a loop in lib/multi.c around all calls to multi_runsingle() and
  simply check for CURLM_CALL_MULTI_PERFORM internally. This has the added
  benefit that this goes in line with my long-term wishes to get rid of the
  CURLM_CALL_MULTI_PERFORM all together from the public API.

  The downside of this fix, is that the counter we return in 'running_handles'
  in several of our public functions then gets a slightly new and possibly
  confusing behavior during times:

  If an app adds a handle that fails to connect (very quickly) it may just
  as well never appear as a 'running_handle' with this fix. Previously it
  would first bump the counter only to get it decreased again at next call.
  Even I have used that change in handle counter to signal "end of a
  transfer". The only *good* way to find the end of a individual transfer
  is calling curl_multi_info_read() to see if it returns one.

  Of course, if the app previously did the looping before it checked the
  counter, it really shouldn't be any new effect.

Yang Tse (26 Jan 2010)
- Constantine Sapuntzakis' and Joshua Kwan's work done in the last four months
  relative to the asynchronous DNS lookups, along with with some integration
  adjustments I have done are finally committed to CVS.

  Currently these enhancements will benefit builds done using c-ares on any
  platform as well as Windows builds using the default threaded resolver.

  This release does not make generally available POSIX threaded DNS lookups
  yet. There is no configure option to enable this feature yet. It is possible
  to experimantally try this feature running configure with compiler flags that
  make simultaneous definition of preprocessor symbols USE_THREADS_POSIX and
  HAVE_PTHREAD_H, as well as whatever reentrancy compiler flags and linker ones
  are required to link and properly use pthread_* functions on each platform.

Daniel Stenberg (26 Jan 2010)
- Mike Crowe made libcurl return CURLE_COULDNT_RESOLVE_PROXY when it is the
  proxy that cannot be resolved when using c-ares. This matches the behaviour
  when not using c-ares.

Bj
- Added a new flag: -J/--remote-header-name. This option tells the
  -O/--remote-name option to use the server-specified Content-Disposition
  filename instead of extracting a filename from the URL.

Daniel Stenberg (21 Jan 2010)
- Chris Conroy brought support for RTSP transfers, and with it comes 8(!) new
  libcurl options for controlling what to get and how to receive posssibly
  interleaved RTP data.

Daniel Stenberg (20 Jan 2010)
- As was pointed out on the http-state mailing list, the order of cookies in a
  HTTP Cookie: header _needs_ to be sorted on the path length in the cases
  where two cookies using the same name are set more than once using
  (overlapping) paths. Realizing this, identically named cookies must be
  sorted correctly. But detecting only identically named cookies and take care
  of them individually is harder than just to blindly and unconditionally sort
  all cookies based on their path lengths. All major browsers also already do
  this, so this makes our behavior one step closer to them in the cookie area.

  Test case 8 was the only one that broke due to this change and I updated it
  accordingly.

Daniel Stenberg (19 Jan 2010)
- David McCreedy brought a fix and a new test case (129) to make libcurl work
  again when downloading files over FTP using ASCII and it turns out that the
  final size of the file is not the same as the initial size the server
  reported. This is very common since servers don't take the newline
  conversions into account.

Kamil Dudka (14 Jan 2010)
- Suppressed side effect of OpenSSL configure checks, which prevented NSS from
  being properly detected under certain circumstances. It had been caused by
  strange behavior of pkg-config when handling PKG_CONFIG_LIBDIR. pkg-config
  distinguishes among empty and non-existent environment variable in that case.

Daniel Stenberg (12 Jan 2010)
- Gil Weber reported a peculiar flaw with the multi interface when doing SFTP
  transfers: curl_multi_fdset() would return -1 and not set and file
  descriptors several times during a transfer of a single file. It turned out
  to be due to two different flaws now fixed. Gil's excellent recipe helped me
  nail this.

Daniel Stenberg (11 Jan 2010)
- Made sure that the progress callback is repeatedly called at a regular
  interval even during very slow connects.

- The tests/runtests.pl script now checks to see if the test case that runs is
  present in the tests/data/Makefile.am and outputs a notice message on the
  screen if not. Each test file has to be included in that Makefile.am to get
  included in release archives and forgetting to add files there is a common
  mistake. This is an attempt to make it harder to forget.

Daniel Stenberg (9 Jan 2010)
- Johan van Selst found and fixed a OpenSSL session ref count leak:

  ossl_connect_step3() increments an SSL session handle reference counter on
  each call. When sessions are re-used this reference counter may be
  incremented many times, but it will be decremented only once when done (by
  Curl_ossl_session_free()); and the internal OpenSSL data will not be freed
  if this reference count remains positive. When a session is re-used the
  reference counter should be corrected by explicitly calling
  SSL_SESSION_free() after each consecutive SSL_get1_session() to avoid
  introducing a memory leak.

  (http://curl.haxx.se/bug/view.cgi?id=2926284)

Daniel Stenberg (7 Jan 2010)
- Make sure the progress callback is called repeatedly even during very slow
  name resolves when c-ares is used for resolving.

Claes Jakobsson (6 Jan 2010)
- Julien Chaffraix fixed so that the fragment part in an URL is not sent
  to the server anymore.

Kamil Dudka (3 Jan 2010)
- Julien Chaffraix eliminated a duplicated initialization in singlesocket().

Daniel Stenberg (2 Jan 2010)
- Make curl support --ssl and --ssl-reqd instead of the previous FTP-specific
  versions --ftp-ssl and --ftp-ssl-reqd as these options are now used to
  control SSL/TLS for IMAP, POP3 and SMTP as well in addition to FTP. The old
  option names are still working but the new ones are the ones listed and
  documented.

Daniel Stenberg (1 Jan 2010)
- Ingmar Runge enhanced libcurl's FTP engine to support the PRET command. This
  command is a special "hack" used by the drftpd server, but even though it is
  a custom extension I've deemed it fine to add to libcurl since this server
  seems to survive and people keep using it and want libcurl to support
  it. The new libcurl option is named CURLOPT_FTP_USE_PRET, and it is also
  usable from the curl tool with --ftp-pret. Using this option on a server
  that doesn't support this command will make libcurl fail.

  I added test cases 1107 and 1108 to verify the functionality.

  The PRET command is documented at
  http://www.drftpd.org/index.php/Distributed_PASV

Yang Tse (30 Dec 2009)
- Steven M. Schweda improved VMS build system, and Craig A. Berry helped
  with the patch and testing.

Daniel Stenberg (26 Dec 2009)
- Renato Botelho and Peter Pentchev brought a patch that makes the libcurl
  headers work correctly even on FreeBSD systems before v8.

  (http://curl.haxx.se/bug/view.cgi?id=2916915)

Daniel Stenberg (17 Dec 2009)
- David Byron fixed Curl_ossl_cleanup to actually call ENGINE_cleanup when
  available.

- Follow-up fix for the proxy fix I did for Jon Nelson's bug. It turned out I
  was a bit too quick and broke test case 1101 with that change. The order of
  some of the setups is sensitive. I now changed it slightly again to make
  sure we do them in this order:

  1 - parse URL and figure out what protocol is used in the URL
  2 - prepend protocol:// to URL if missing
  3 - parse name+password off URL, which needs to know what protocol is used
      (since only some allows for name+password in the URL)
  4 - figure out if a proxy should be used set by an option
  5 - if no proxy option, check proxy environment variables
  6 - run the protocol-specific setup function, which needs to have the proxy
      already set

Daniel Stenberg (15 Dec 2009)
- Jon Nelson found a regression that turned out to be a flaw in how libcurl
  detects and uses proxies based on the environment variables. If the proxy
  was given as an explicit option it worked, but due to the setup order
  mistake proxies would not be used fine for a few protocols when picked up
  from '[protocol]_proxy'. Obviously this broke after 7.19.4. I now also added
  test case 1106 that verifies this functionality.

  (http://curl.haxx.se/bug/view.cgi?id=2913886)

Daniel Stenberg (12 Dec 2009)
- IMAP, POP3 and SMTP support and their TLS versions (including IMAPS, POP3S
  and SMTPS) are now supported. The current state may not yet be solid, but
  the foundation is in place and the test suite has some initial support for
  these protocols. Work will now persue to make them nice libcurl citizens
  until release.

  The work with supporting these new protocols was sponsored by
  networking4all.com - thanks!

Daniel Stenberg (10 Dec 2009)
- Siegfried Gyuricsko found out that the curl manual said --retry would retry
  on FTP errors in the transient 5xx range. Transient FTP errors are in the
  4xx range. The code itself only tried on 5xx errors that occured _at login_.
  Now the retry code retries on all FTP transfer failures that ended with a
  4xx response.

  (http://curl.haxx.se/bug/view.cgi?id=2911279)

- Constantine Sapuntzakis figured out a case which would lead to libcurl
  accessing alredy freed memory and thus crash when using HTTPS (with
  OpenSSL), multi interface and the CURLOPT_DEBUGFUNCTION and a certain order
  of cleaning things up. I fixed it.

  (http://curl.haxx.se/bug/view.cgi?id=2905220)

Daniel Stenberg (7 Dec 2009)
- Martin Storsjo made libcurl use the Expect: 100-continue header for posts
  with unknown size. Previously it was only used for posts with a known size
  larger than 1024 bytes.

Daniel Stenberg (1 Dec 2009)
- If the Expect: 100-continue header has been set by the application through
  curl_easy_setopt with CURLOPT_HTTPHEADER, the library should set
  data->state.expect100header accordingly - the current code (in 7.19.7 at
  least) doesn't handle this properly. Martin Storsjo provided the fix!

Yang Tse (28 Nov 2009)
- Added Diffie-Hellman parameters to several test harness certificate files in
  PEM format. Required by several stunnel versions used by our test harness.

Daniel Stenberg (28 Nov 2009)
- Markus Koetter provided a polished and updated version of Chad Monroe's TFTP
  rework patch that now integrates TFTP properly into libcurl so that it can
  be used non-blocking with the multi interface and more. BLKSIZE also works.

  The --tftp-blksize option was added to allow setting the TFTP BLKSIZE from
  the command line.

Daniel Stenberg (26 Nov 2009)
- Extended and fixed the change I did on Dec 11 for the the progress
  meter/callback during FTP command/response sequences. It turned out it was
  really lame before and now the progress meter SHOULD get called at least
  once per second.

Daniel Stenberg (23 Nov 2009)
- Bjorn Augustsson reported a bug which made curl not report any problems even
  though it failed to write a very small download to disk (done in a single
  fwrite call). It turned out to be because fwrite() returned success, but
  there was insufficient error-checking for the fclose() call which tricked
  curl to believe things were fine.

Yang Tse (23 Nov 2009)
- David Byron modified Makefile.dist vc8 and vc9 targets in order to allow
  finer granularity control when generating src and lib makefiles.

Yang Tse (22 Nov 2009)
- I modified configure to force removal of the curlbuild.h file included in
  distribution tarballs for use by non-configure systems. As intended, this
  would get overwriten when doing in-tree builds. But VPATH builds would end
  having two curlbuild.h files, one in the source tree and another in the
  build tree. With the modification I introduced 5 Nov 2009 this could become
  an issue when running libcurl's test suite.

Daniel Stenberg (20 Nov 2009)
- Constantine Sapuntzakis identified a write after close, as the sockets were
  closed by libcurl before the SSL lib were shutdown and they may write to its
  socket. Detected to at least happen with OpenSSL builds.

- Jad Chamcham pointed out a bug with connection re-use. If a connection had
  CURLOPT_HTTPPROXYTUNNEL enabled over a proxy, a subsequent request using the
  same proxy with the tunnel option disabled would still wrongly re-use that
  previous connection and the outcome would only be badness.

Yang Tse (18 Nov 2009)
- I modified the memory tracking system to make it intolerant with zero sized
  malloc(), calloc() and realloc() function calls.

Daniel Stenberg (17 Nov 2009)
- Constantine Sapuntzakis provided another fix for the DNS cache that could
  end up with entries that wouldn't time-out:

  1. Set up a first web server that redirects (307) to a http://server:port
     that's down
  2. Have curl connect to the first web server using curl multi

  After the curl_easy_cleanup call, there will be curl dns entries hanging
  around with in_use != 0.

  (http://curl.haxx.se/bug/view.cgi?id=2891591)

- Marc Kleine-Budde fixed: curl saved the LDFLAGS set during configure into
  its pkg-config file.  So -Wl stuff ended up in the .pc file, which is really
  bad, and breaks if there are multiple -Wl in our LDFLAGS (which are in
  PTXdist). bug #2893592 (http://curl.haxx.se/bug/view.cgi?id=2893592)

Kamil Dudka (15 Nov 2009)
- David Byron improved the configure script to use pkg-config to find OpenSSL
  (and in particular the list of required libraries) even if a path is given
  as argument to --with-ssl

Yang Tse (15 Nov 2009)
- I removed enable-thread / disable-thread configure option. These were only
  placebo options. The library is always built as thread safe as possible on
  every system.

Claes Jakobsson (14 Nov 2009)
- curl-config now accepts '--configure' to see what arguments was
  passed to the configure script when building curl.

Daniel Stenberg (14 Nov 2009)
- Claes Jakobsson restored the configure functionality to detect NSS when
  --with-nss is set but not "yes".

  I think we can still improve that to check for pkg-config in that path etc,
  but at least this patch brings back the same functionality we had before.

- Camille Moncelier added support for the file type SSL_FILETYPE_ENGINE for
  the client certificate. It also disable the key name test as some engines
  can select a private key/cert automatically (When there is only one key
  and/or certificate on the hardware device used by the engine)

Yang Tse (14 Nov 2009)
- Constantine Sapuntzakis provided the fix that ensures that an SSL connection
  won't be reused unless protection level for peer and host verification match.

  I refactored how preprocessor symbol _THREAD_SAFE definition is done.

Kamil Dudka (12 Nov 2009)
- Kevin Baughman provided a fix preventing libcurl-NSS from crash on doubly
  closed NSPR descriptor. The issue was hard to find, reported several times
  before and always closed unresolved. More info at the RH bug:
  https://bugzilla.redhat.com/534176

- libcurl-NSS now tries to reconnect with TLS disabled in case it detects
  a broken TLS server. However it does not happen if SSL version is selected
  manually. The approach was originally taken from PSM. Kaspar Brand helped me
  to complete the patch. Original bug reports:
  https://bugzilla.redhat.com/525496
  https://bugzilla.redhat.com/527771

Yang Tse (12 Nov 2009)
- I modified configure script to make the getaddrinfo function check also
  verify if the function is thread safe.

Yang Tse (11 Nov 2009)
- Marco Maggi reported that compilation failed when configured --with-gssapi
  and GNU GSS installed due to a missing mutual exclusion of header files in
  the Kerberos 5 code path. He also verified that my patch worked for him.

Daniel Stenberg (11 Nov 2009)
- Constantine Sapuntzakis posted bug #2891595
  (http://curl.haxx.se/bug/view.cgi?id=2891595) which identified how an entry
  in the DNS cache would linger too long if the request that added it was in
  use that long. He also provided the patch that now makes libcurl capable of
  still doing a request while the DNS hash entry may get timed out.

- Christian Schmitz noticed that the progress meter/callback was not properly
  used during the FTP connection phase (after the actual TCP connect), while
  it of course should be. I also made the speed check get called correctly so
  that really slow servers will trigger that properly too.

Kamil Dudka (5 Nov 2009)
- Dropped misleading timeouts in libcurl-NSS and made sure the SSL socket works
  in non-blocking mode.

Yang Tse (5 Nov 2009)
- I removed leading 'curl' path on the 'curlbuild.h' include statement in
  curl.h, adjusting auto-makefiles include path, to enhance portability to
  OS's without an orthogonal directory tree structure such as OS/400.

Daniel Stenberg (4 Nov 2009)
- I fixed several problems with the transfer progress meter. It showed the
  wrong percentage for small files, most notable for <1000 bytes and could
  easily end up showing more than 100% at the end. It also didn't show any
  percentage, transfer size or estimated transfer times when transferring
  less than 100 bytes.
2010-02-16 12:51:43 +00:00
drochner
c53faba625 add a patch from upstream to fix "data callback excessive length"
which is security critical
2010-02-09 16:05:38 +00:00
tnn
c589d4d07f Don't do crazy CFLAGS 's/-I/-isystem /' substitutions in configure.
(this prevented pkgsrc wrappers from doing their work)
2009-09-20 10:44:51 +00:00
wiz
1f06e7c864 Update to 7.19.2:
7.19.2

Three added regressions in 7.19.1 have been fixed: a build failure
when using the MSVC 6 makefile, a crash when using --interface name
on Linux, and multi interface downloading HTTPS pages with libcurl
built powered by OpenSSL.

7.19.1

CURLOPT_CERTINFO, CURLINFO_CERTINFO, CURLOPT_POSTREDIR, CURLOPT_USERNAME,
CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, and CURLOPT_PROXYPASSWORD
were added. 24 bugs were fixed.

7.19.0

Some new libcurl options, new Boolean options handling in the curl
tool, and around 40 bugfixes.

7.18.2

This release adds CURLFORM_STREAM, CURLINFO_REDIRECT_URL, and the
two new functions curl_easy_send() and curl_easy_recv(). libcurl
now supports CURLOPT_NOBODY over SFTP, and curl now runs on Symbian
OS. At least 21 described bugfixes were made.

7.18.1

This release adds support for HttpOnly cookies. It no longer
distributes or installs a CA cert bundle. SSLv2 is now disabled by
default. Resumed transfers work with SFTP. At least 23 described
bugfixes were made.
2009-01-08 16:25:45 +00:00
dholland
aac4c01ce6 Add explicit -lkrb5 with -lgssapi, when enabled. Fixes broken build
on NetBSD 3.x. PR pkg/38331. PKGREVISION++.
Ok: joerg
2008-05-12 20:37:06 +00:00
recht
4b51241df4 update to curl 7.15.3
Fixes a TFTP packet buffer overflow vulnerability.
See http://curl.haxx.se/docs/adv_20060320.html for details.

Changes:
- added docs for --ftp-method and CURLOPT_FTP_FILEMETHOD

Bugfixes:
- TFTP Packet Buffer Overflow Vulnerability
- properly detecting problems with sending the FTP command USER
- wrong error message shown when certificate verification failed
- multi-part formpost with multi interface crash
- the CURLFTPSSL_CONTROL setting for CURLOPT_FTP_SSL is acknowledged
- "SSL: couldn't set callback" is now treated as a less serious problem
- Interix build fix
- fixed curl "hang" when out of file handles at start
- prevent FTP uploads to URLs with trailing slash
2006-03-21 21:49:47 +00:00
wiz
f948d3cb92 Update to 7.15.2:
Version 7.15.2 (27 February 2005)

Daniel (22 February 2006)
- Lots of work and analysis by "xbx___" in bug #1431750
  (http://curl.haxx.se/bug/view.cgi?id=1431750) helped me identify and fix two
  different but related bugs:

  1) Removing an easy handle from a multi handle before the transfer is done
     could leave a connection in the connection cache for that handle that is
     in a state that isn't suitable for re-use. A subsequent re-use could then
     read from a NULL pointer and segfault.

  2) When an easy handle was removed from the multi handle, there could be an
     outstanding c-ares DNS name resolve request. When the response arrived,
     it caused havoc since the connection struct it "belonged" to could've
     been freed already.

  Now Curl_done() is called when an easy handle is removed from a multi handle
  pre-maturely (that is, before the transfer was complteted). Curl_done() also
  makes sure to cancel all (if any) outstanding c-ares requests.

Daniel (21 February 2006)
- Peter Su added support for SOCKS4 proxies. Enable this by setting the proxy
  type to the already provided type CURLPROXY_SOCKS4.

  I added a --socks4 option that works like the current --socks5 option but
  instead use the socks4 protocol.

Daniel (20 February 2006)
- Shmulik Regev fixed an issue with multi-pass authentication and compressed
  content when libcurl didn't honor the internal ignorebody flag.

Daniel (18 February 2006)
- Ulf Härnhammar fixed a format string (printf style) problem in the Negotiate
  code. It should however not be the cause of any troubles. He also fixed a
  few similar problems in the HTTP test server code.

Daniel (17 February 2006)
- Shmulik Regev provided a fix for the DNS cache when using short life times,
  as previously it could be holding on to old cached entries longer than
  requested.

Daniel (11 February 2006)
- Karl Moerder added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options
  that an app can use to let libcurl only connect to a remote host and then
  extract the socket from libcurl. libcurl will then not attempt to do any
  transfer at all after the connect is done.

- Kent Boortz improved the configure check for GnuTLS to properly set LIBS
  instead of LDFLAGS.

Daniel (8 February 2006)
- Philippe Vaucher provided a brilliant piece of test code that show a problem
  with re-used FTP connections. If the second request on the same connection
  was set not to fetch a "body", libcurl could get confused and consider it an
  attempt to use a dead connection and would go acting mighty strange.

Daniel (2 February 2006)
- Make --limit-rate [num] mean bytes. It used to be that but it broke in my
  change done in November 2005.

Daniel (30 January 2006)
- Added CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE to libcurl. Set with the
  curl tool with --local-port. Plain and simply set the range of ports to bind
  the local end of connections to. Implemented on to popular demand.

- Based on an error report by Philippe Vaucher, we no longer count a retried
  connection setup as a follow-redirect. It turns out 1) this fails when a FTP
  connection is re-setup and 2) it does make the max-redirs counter behave
  wrong.

Daniel (24 January 2006)
- Michal Marek provided a patch for FTP that makes libcurl continue to try
  PASV even after EPSV returned a positive response code, if libcurl failed to
  connect to the port number the EPSV response said. Obviously some people are
  going through protocol-sensitive firewalls (or similar) that don't
  understand EPSV and then they don't allow the second connection unless PASV
  was used. This also called for a minor fix of test case 238.

Daniel (20 January 2006)
- Duane Cathey was one of our friends who reported that curl -P [IP]
  (CURLOPT_FTPPORT) didn't work for ipv6-enabed curls if the IP wasn't a
  "native" IP while it works fine for ipv6-disabled builds!

  In the process of fixing this, I removed the support for LPRT since I can't
  think of many reasons to keep doing it and asking on the mailing list didn't
  reveal anyone else that could either. The code that sends EPRT and PORT is
  now also a lot simpler than before (IMHO).

Daniel (19 January 2006)
- Jon Turner pointed out that doing -P [hostname] (CURLOPT_FTPPORT) with curl
  (built ipv4-only) didn't work.

Daniel (18 January 2006)
- As reported in bug #1408742 (http://curl.haxx.se/bug/view.cgi?id=1408742),
  the configure script complained about a missing "missing" script if you ran
  configure within a path whose name included one or more spaces. This is due
  to a flaw in automake (1.9.6 and earlier). I've now worked around it by
  including an "overloaded" version of the AM_MISSING_HAS_RUN script that'll
  be used instead of the one automake ships with. This kludge needs to be
  removed once we get an automake version with this problem corrected.
  Possibly we'll then need to convert this into a kludge depending on what
  automake version that is used and that is gonna be painful and I don't even
  want to think about that now...!

Daniel (17 January 2006)
- David Shaw: Here is the latest libcurl.m4 autoconf tests. It is updated with
  the latest features and protocols that libcurl supports and has a minor fix
  to better deal with the obscure case where someone has more than one libcurl
  installed at the same time.

Daniel (16 January 2006)
- David Shaw finally removed all traces of Gopher and we are now officially
  not supporting it. It hasn't been functioning for years anyway, so this is
  just finally stating what already was true. And a cleanup at the same time.

- Bryan Henderson turned the 'initialized' variable for curl_global_init()
  into a counter, and thus you can now do multiple curl_global_init() and you
  are then supposed to do the same amount of calls to curl_global_cleanup().
  Bryan has also updated the docs accordingly.

Daniel (13 January 2006)
- Andrew Benham fixed a race condition in the test suite that could cause the
  test script to kill all processes in the current process group!

Daniel (12 January 2006)
- Michael Jahn:

  Fixed FTP_SKIP_PASV_IP and FTP_USE_EPSV to "do right" when used on FTP thru
  HTTP proxy.

  Fixed PROXYTUNNEL to work fine when you do ftp through a proxy.  It would
  previously overwrite internal memory and cause unpredicted behaviour!

Daniel (11 January 2006)
- I decided to document the "secret option" here now, as I've received *NO*
  feedback at all on my mailing list requests from November 2005:

  I'm looking for feedback and comments. I added some experimental code the
  other day, that allows a libcurl user to select what method libcurl should
  use to reach a file on a FTP(S) server.

  This functionality is available in CVS code and in recent daily snapshots.

  Let me explain...

  The current name for the option is CURLOPT_FTP_FILEMETHOD (--ftp-method for
  the command line tool) and you set it to a long (there are currenly no
  defines for the argument values, just plain numericals). You can set three
  different "methods" that do this:

  1 multicwd - like today, curl will do a single CWD operation for each path
           part in the given URL. For deep hierarchies this means very many
           commands. This is how RFC1738 says it should be done. This is the
           default.

  2 nocwd - no CWD at all is done, curl will do SIZE, RETR, STOR etc and give
           a full path to the server.

  3 singlecwd - make one CWD with the full target directory and then operate
            on the file "normally".

  (With the command line tool you do --ftp-method [METHOD], where [METHOD] is
  one of "multicwd", "nocwd" or "singlecwd".)

  What feedback I'm interested in:

  1 - Do they work at all? Do you find servers where one of these don't work?

  2 - What would proper names for the option and its arguments be, if we
      consider this feature good enough to get included and documented in
      upcoming releases?

  3 - Should we make libcurl able to "walk through" these options in case of
      (path related) failures, or should it fail and let the user redo any
      possible retries?

  (This option is not documented in any man page just yet since I'm not sure
  these names will be used or if the functionality will end up exactly like
  this.  And for the same reasons we have no test cases for these yet.)

Daniel (10 January 2006)
- When using a bad path over FTP, as in when libcurl couldn't CWD into all
  given subdirs, libcurl would still "remember" the full path as if it is the
  current directory libcurl is in so that the next curl_easy_perform() would
  get really confused if it tried the same path again - as it would not issue
  any CWD commands at all, assuming it is already in the "proper" dir.

  Starting now, a failed CWD command sets a flag that prevents the path to be
  "remembered" after returning.

Daniel (7 January 2006)
- Michael Jahn fixed so that the second CONNECT when doing FTP over a HTTP
  proxy actually used a new connection and not sent the second request on the
  first socket!

Daniel (6 January 2006)
- Alexander Lazic made the buildconf run the buildconf in the ares dir if that
  is present instead of trying to mimic that script in curl's buildconf
  script.

Daniel (3 January 2006)
- Andres Garcia made the TFTP test server build with mingw.

Daniel (16 December 2005)
- Jean Jacques Drouin pointed out that you could only have a user name or
  password of 127 bytes or less embedded in a URL, where actually the code
  uses a 255 byte buffer for it! Modified now to use the full buffer size.

Daniel (12 December 2005)
- Dov Murik corrected the HTTP_ONLY define to disable the TFTP support properly
2006-03-03 22:26:08 +00:00
salo
a1bd5f9ac1 Update to version 7.15.1
Changes:

- the libcurl.pc pkgconfig file now gets installed on make install
- URL globbing now offers "range steps": [1-100:10]
- LDAPv3 is now the preferred LDAP protocol version
- --max-redirs and CURLOPT_MAXREDIRS set to 0 limits redirects
- improved MSVC makefile

Bugfixes:

- URL buffer overflow problem (CVE-2005-4077)
- using file:// on non-existing files are properly handled
- builds fine on DJGPP
- CURLOPT_ERRORBUFFER is now always filled in on errors
- curl outputs error on bad --limit-rate units
- fixed libcurl's use of poll() on cygwin
- the GnuTLS code didn't support client certificates
- TFTP over IPv6 works
- no reverse lookups on IP addresses when ipv6-enabled
- SSPI compatibility fix: using the proper DLLs
- binary LDAP properties are now shown base64 encoded
- Windows uploads from stdin using curl can now contain ctrl-Z bytes
- -r [num] would produce an invalid HTTP Range: header
- multi interface with multi IP hosts could leak socket descriptors
- the GnuTLS code didn't handle rehandshakes
- re-use of a dead FTP connection
- name resolve error codes fixed for Windows builds
- double WWW-Authenticate Digest headers are now handled
- curl-config --vernum fixed
2005-12-10 17:57:29 +00:00
tv
a7fab54e2d Add <sys/socket.h> to pick up sockaddr on Interix (within the already
present __INTERIX block only).
2005-11-04 19:48:45 +00:00
minskim
dba8939f37 Make "curl-config --vernum" work again. It was broken in 7.15.0.
Bump PKGREVISION.
2005-10-20 16:25:15 +00:00
jmmv
2697615f3b Make the include/curl/multi.h self-contained to fix the build of packages
using it (such as the new drivel-2.0.0).  Bump PKGREVISION to 1.

The problem is that this header file requires the fd_set definitions, but
it only pulls in <sys/select.h> on AIX and NETWARE systems.  Instead, change
the inclusion to only happen if configure script detected it during build
time.
2005-06-12 13:43:36 +00:00
wiz
ca97fe250f Update to 7.13.1:
Version 7.13.1 (4 March 2005)

Daniel (4 March 2005)
- Dave Dribin made it possible to set CURLOPT_COOKIEFILE to "" to activate
  the cookie "engine" without having to provide an empty or non-existing file.

- Rene Rebe fixed a -# crash when more data than expected was retrieved.

Daniel (22 February 2005)
- NTLM and ftp-krb4 buffer overflow fixed, as reported here:
  http://www.securityfocus.com/archive/1/391042 and the CAN report here:
  http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0490

  If these security guys were serious, we'd been notified in advance and we
  could've saved a few of you a little surprise, but now we weren't.

Daniel (19 February 2005)
- Ralph Mitchell reported a flaw when you used a proxy with auth, and you
  requested data from a host and then followed a redirect to another
  host. libcurl then didn't use the proxy-auth properly in the second request,
  due to the host-only check for original host name wrongly being extended to
  the proxy auth as well. Added test case 233 to verify the flaw and that the
  fix removed the problem.

Daniel (18 February 2005)
- Mike Dobbs reported a mingw build failure due to the lack of
  BUILDING_LIBCURL being defined when libcurl is built. Now this is defined by
  configure when mingw is used.

Daniel (17 February 2005)
- David in bug report #1124588 found and fixed a socket leak when libcurl
  didn't close the socket properly when returning error due to failing
  localbind

Daniel (16 February 2005)
- Christopher R. Palmer reported a problem with HTTP-POSTing using "anyauth"
  that picks NTLM. Thanks to David Byron letting me test NTLM against his
  servers, I could quickly repeat and fix the problem. It turned out to be:

  When libcurl POSTs without knowing/using an authentication and it gets back
  a list of types from which it picks NTLM, it needs to either continue
  sending its data if it keeps the connection alive, or not send the data but
  close the connection. Then do the first step in the NTLM auth. libcurl
  didn't send the data nor close the connection but simply read the
  response-body and then sent the first negotiation step. Which then failed
  miserably of course. The fixed version forces a connection if there is more
  than 2000 bytes left to send.

Daniel (14 February 2005)
- The configure script didn't check for ENGINE_load_builtin_engines() so it
  was never used.

Daniel (11 February 2005)
- Removed all uses of strftime() since it uses the localised version of the
  week day names and month names and servers don't like that.

Daniel (10 February 2005)
- Now the test script disables valgrind-testing when the test suite runs if
  libcurl is built shared. Otherwise valgrind only tests the shell that runs
  the wrapper-script named 'curl' that is a front-end to curl in this case.
  This should also fix the huge amount of reports of false positives when
  valgrind has identified leaks in (ba)sh and not in curl and people report
  that as curl bugs. Bug report #1116672 is one example.

  Also, the valgrind report parser has been adapted to check that at least one
  of the sources in a stack strace is one of (lib)curl's source files or
  otherwise it will not consider the problem to concern (lib)curl.

- Marty Kuhrt streamlined the VMS build.

Daniel (9 February 2005)
- David Byron fixed his SSL problems, initially mentioned here:
  http://curl.haxx.se/mail/lib-2005-01/0240.html. It turned out we didn't use
  SSL_pending() as we should.

- Converted lots of FTP code to a statemachine, so that the multi interface
  doesn't block while communicating commands-responses with an FTP server.

  I've added a comment like BLOCKING in the code on all spots I could find
  where we still have blocking operations. When we change curl_easy_perform()
  to use the multi interface, we'll also be able to simplify the code since
  there will only be one "internal interface".

  While doing this, I've now made CURLE_FTP_ACCESS_DENIED separate from the
  new CURLE_LOGIN_DENIED. The first one is now access denied to a function,
  like changing directory or retrieving a file, while the second means that we
  were denied login.

  The CVS tag 'before_ftp_statemachine' was set just before this went in, in
  case of future need.

- Gisle made the DICT code send CRLF and not just LF as the spec says so.

Daniel (8 February 2005)
- Gisle fixed problems when libcurl runs out of memory, and worked on making
  sure the proper error code is returned for those occations.

Daniel (7 February 2005)
- Maruko pointed out a problem with inflate decompressing exactly 64K
  contents.

Daniel (5 February 2005)
- Eric Vergnaud found a use of an uninitialised variable in the ftp when doing
  PORT on ipv6-enabled hosts.

- David Byron pointed out we could use BUFSIZE to read data (in
  lib/transfer.c) instead of using BUFSIZE -1.
2005-03-05 14:23:00 +00:00
salo
c78c7ec44a Fix buffer overflow in the NTLM authentication code. Patch from curl cvs.
Bump PKGREVISION.
2005-02-25 00:47:30 +00:00
wiz
11a173cf00 Update to 7.13.0:
This release includes the following changes:

 o added --ftp-account and CURLOPT_FTP_ACCOUNT
 o added CURLOPT_SOURCE_URL and CURLOPT_SOURCE_QUOTE
 o obsoleted CURLOPT_SOURCE_HOST, CURLOPT_SOURCE_PATH, CURLOPT_SOURCE_PORT
   and CURLOPT_PASV_HOST
 o added --3p-url, --3p-user and --3p-quote
 o -Q "+[command]" was added
 o src/getpass.c license issue sorted (code was rewritten)
 o curl -w now supports 'http_connect' for the proxy's response to CONNECT
 o introducing "curl-config --protocols"

This release includes the following bugfixes:

 o re-sending a request when retrying on a fresh connection with multi
   interface
 o improved valgrind report parser in the test suite
 o several valgrind reports
 o CURLOPT_FTPPORT and -P work when built ipv6-enabled
 o FTP third party transfers was much improved
 o proxy environment variables are now ignored when built HTTP-disabled
 o CURLOPT_PROXY can now disable HTTP proxy even when built HTTP-disabled
 o "curl dictionary.com" no longer assumes DICT protocol
 o re-invoke some system calls on EINTR
 o duplicate Host: when failed connection re-use
 o SOCKS5 version check
 o memory problem with cleaning up multi interface
 o SSL certificate name memory leak
 o -d with -G to multiple URLs crashed
 o double va_list access crash fixed
 o minor memory leak when "version" is set in a cookie header
 o builds fine on BeOS and NetBSD
 o builds and runs fine on FreeBSD
2005-02-18 18:05:08 +00:00
cube
21752a9e5a Add a patch that re-orders inclusion of select.h to avoid compilation
errors on NetBSD 1.6.

PKGREVISION++.
PR#28859 by Gilles Gravier.
2005-01-07 09:37:21 +00:00
xtraeme
27b314cacb Update curl to 7.11.1, provided by Stefan Kruger in PR pkg/24916.
This release includes the following changes:

 o CURLOPT_POSTFIELDSIZE_LARGE added to offer POSTs larger than 2GB
 o CURL_VERSION_LARGEFILE is a feature bit returned by libcurls that feature
   large file support
 o libcurl only requires winsock 1.1 on windows now
 o when doing FTP, curl now sends QUIT before disconnecting
 o name resolves can now timeout on windows too
 o $HOME is now recognized better when looking for .netrc files
 o now re-uses the ares handle when re-using curl handles
 o SO_BINDTODEVICE is used for network interface binding
 o configure --disable-manual disables the built-in huge manual from the
   command line tool
 o the default Accept: header used in HTTP requests changed
 o asynch dns lookups now require the c-ares library
 o curl --socks can be used to set a SOCKS5 proxy to use
 o response-headers received after a (proxy) CONNECT request are now passed
   to the header callback just like other headers

This release includes the following bugfixes:

 o builds and runs on Novell NetWare
 o Windows builds now report OS as "i386-pc-win32"
 o received signals during SSL connect is handled better
 o improved PUT/POST with NTLM/Digest authentication
 o following redirects and doing NTLM/Digest (where the first connection gets
   closed) with the multi interface work better now
 o file: progress meter and getinfo variables work now
 o CURLOPT_FRESH_CONNECT and CURLAUTH_NTLM now work when set together
 o share interface usage without (un)lock functions segfaulted
 o --limit-rate no longer cripples the --speed-limit feature
 o fixed verbose output problem with ipv6-enabled re-used connections
 o fixed the socks5 code to check version in the socks response properly
 o dns cache bug - fixed the 'inuse' counter
 o large file fix for Content-Length
 o better docs for the share interface
 o several configure fixes for mingw/msys
 o setting a Host: header is no longer affecting the Host: header used when
   libcurl follows a Location:
 o fixed numerous compiler warnings on several operating systems and compilers
 o PUTing from stdin couldn't disable chunked transfer-encoding
 o corrected the mingw makefiles
 o improved the configure libz detection
 o fixed EPRT/PORT use when doing FTP on ipv6-enabled AIX hosts
 o *nroff commands that only support -mandoc and not -man are now supported
   (for the built-in manual text in the command line tool)
 o fixed the unconditional #include of config.h in hugehelp.c
 o builds fine on MPE/iX
 o upload using chunked transfer-encoding now sends the last chunk properly
   teriminated with an extra CRLF
 o Fixed the progress meter display for files >2GB
 o persistant connections over a proxy messed up the proxy name/password
 o the socks5 code segfaulted if no username/password was set
 o the *_LARGE options now take curl_off_t types as parameters and this will
   make it possible to handle large files on windows too
 o builds with large file support even on systems without strtoll()
2004-03-28 20:47:04 +00:00
recht
ffe8aa8bee update to curl-7.11.0
Fixed in 7.11.0

Changes:
- allows the URL to be set by a callback when using the multi interface
- large file support was added. Use one of the new options:
  INFILESIZE_LARGE, RESUME_FROM_LARGE and MAXFILESIZE_LARGE
- the new --ftp-pasv overrides a previous --ftpport
- CURLOPT_FTPSSL and ftps:// now do ssl over FTP "The Right Way"
  (the curl tool now features the --ftp-ssl option)
- The Windows DLLs are built with an added "resource file"
- New LIBCURL_VERSION_* defines for easier checking version number
- Included Mac OS X 'framework' makefile in the release archive
- Removed the TRUE and FALSE #defines from the public curl header file
- Added CURLOPT_NETRC_FILE

For a complete list see the Changelog at http://curl.haxx.se/changes.html
2004-01-23 22:52:28 +00:00
wiz
c8d22702b1 Update to 7.10.8:
7.10.8
SPNEGO support, Negotiate support, multiple -T flags work, IPv6
support on Windows, and more were added. More than 40 bugs were
fixed.
7.10.7
This release supports NTLM for proxies, --ftp-create-dirs, and
optional support for asynchronous name-resolving calls. It fixes
an information leak, minor memory leaks, a 64bit problem, two
cookie-related problems, URL globbing output using -o #[num], and
more.
2003-12-07 13:28:33 +00:00
wiz
3544a1a7e5 Update to 7.10.6:
Changes:
  * CURLOPT_SSL_CTX_FUNCTION allows a custom callback for SSL connections
  * multiple patches lets curl build and run on DOS
  * libcurl now deals with spaces in Location: redirects and URLifies them
  * curl --version shows more detailed info
  * curl_version_info() now returns info on NTLM, GSS-Negotiate and Debug
  * curl_version() includes "GSS" in the string if built with GSSAPI available
  * Pick-best-authentication option added (--anyauth, using the CURLOPT_HTTPAUTH set to CURLAUTH_ANY)
  * NTLM authentication support (--ntlm and CURLAUTH_NTLM)
  * GSS-Negotiate authentication support (--negotiate and CURLAUTH_GSSNEGOTIATE)
  * Digest authentication support added (--digest and CURLAUTH_DIGEST)
  * Allow curl to switch (back to) to Basic authentication (--basic)
  * libcurl supports name and password in proxy environment variables

Bugs:
  * double slash after the host name on a FTP URL again points out the root dir
  * obscure and rare DNS cache problem was fixed
  * multiple FTP connections to the same host with different user names didn't work properly
  * no more CWD commands without arguments for ftp connections
  * curl no longer uses setvbuf() due to portability problems
  * VMS build fixes
  * the curl tool has the -M manual compressed internally if built with libz
  * url globbing syntax error could cause segfault
  * Huge (>40-60KB) GET requests over HTTPS failed.
  * Content-Length now overrides socket-closed as a means of knowing when the response body is
    complete.
  * --progress-bar takes the initial size into account when doing resumed downloads
  * work around SSL bugs better
  * libcurl typically issues POST requests with less send() calls
  * better main makefile
  * external headers improved portability
  * Listing FTP directories without contents could leak a socket
  * Getting HTTP contents in one line without headers failed
  * bugfixed the socks5-proxy usage (twice)
  * h_aliases name-lookup rare crash fixed
  * improved curl -M output
  * curl_unescape() now only unescapes valid %HH codes
2003-07-30 10:29:02 +00:00
wiz
32ccb41203 Update to 7.10.5.
Extract of changes:
- Changed the order for the in_addr_t testing, as 'unsigned long' seems to be
  a very common type inet_addr() returns.
- George Comninos provided a fix that calls the progress meter when waiting
  for FTP command responses take >1 second. It'll make applications more
  "responsive" even when dealing with very slow ftp servers.
- George Comninos pointed out that libcurl uploads had two quirks:
   o when using FTP PORT command, it used blocking sockets!
   o it could loop a long time without doing progress meter updates
  Both items are fixed now.
- Dan Fandrich changed CURLOPT_ENCODING to select all supported encodings if
  set to "".  This frees the application from having to know which encodings
  the library supports.
- Avery Fay found out that the CURLOPT_INTERFACE way of first checking if the
  given name is a network interface gave a real performance penalty on Linux,
  so now we more appropriately first check if it is an IP number and if so
  we don't check for a network interface with that name.
- CURLOPT_FTP_USE_EPRT added. Set this to FALSE to disable libcurl's attempts
  to use EPRT and LPRT before the traditional PORT command. The command line
  tool sets this option with '--disable-eprt'.
- Added test case 62 and fixed some more on the cookie sending with a custom
  Host: header set.
- Made the "SSL read error: 5" error message more verbose, by adding code that
  queries the OpenSSL library to fill in the error buffer.
- Added sys/select.h include in the curl/multi.h file, after having been
  reminded about this by Rich Gray.
- I made each test set its own server requirements, thus abandoning the
  previous system where the test number implied what server(s) to use for a
  specific test.
- David Balazic made curl more RFC1738-compliant for FTP URLs, by fixing so
  that libcurl now uses one CWD command for each path part. A bunch of test
  cases were fixed to work accordingly.
- Cookie fixes.
- Peter Kovacs provided a patch that makes the CURLINFO_CONNECT_TIME work fine
  when using the multi interface (too).
- Peter Sylvester pointed out that curl_easy_setopt() will always (wrongly)
  return CURLE_OK no matter what happens.
- Dan Fandrich fixed some gzip decompression bugs and flaws.
- Formposting a file using a .html suffix is now properly set to Content-Type:    text/html.
- Fixed the SSL error handling to return proper SSL error messages again, they
  broke in 7.10.4. I also attempt to track down CA cert problems and then
  return the CURLE_SSL_CACERT error code.
- The curl tool now intercepts the CURLE_SSL_CACERT error code and displays
  a fairly big and explanatory error message. Kevin Roth helped me out with
  the wording.
- Nic Hines provided a second patch for gzip decompression, and fixed a bug
  when deflate or gzip contents were downloaded using chunked encoding.
- Dan Fandrich made libcurl support automatic decompression of gzip contents
  (as an addition to the previous deflate support).
- I made the CWD command during FTP session consider all 2xy codes to be OK
  responses.
- Vlad Krupin fixed a URL parsing issue. URLs that were not using a slash
  after the host name, but still had "?" and parameters appended, as in
  "http://hostname.com?foobar=moo", were not properly parsed by libcurl.
- Made CURLOPT_TIMECONDITION work for FTP transfers, using the same syntax as
  for HTTP. This then made -z work for ftp transfers too. Added test case 139
  and 140 for verifying this.
- Getting the file date of an ftp file used the wrong time zone when
  displayed. It is supposedly always GMT. Added test case 141 for this.
- Made the test suite's FTP server support MDTM.
- The default DEBUGFUNCTION, as enabled with CURLOPT_VERBOSE now outputs
  CURLINFO_HEADER_IN data as well. The most notable effect from this is that
  using curl -v, you get to see the incoming "headers" as well. This is
  perhaps most useful when doing ftp.
- James Bursa fixed a flaw in the Content-Type extraction code, which missed
  the first letter if no space followed the colon.
- Martijn Broenland found another cases where a server application didn't
  like the boundary string used by curl when foing a multi-part/formpost. We
  modified the boundary string to look like the one IE uses, as this is
  probably gonna make curl work with more applications.
2003-05-20 11:54:12 +00:00