Commit graph

66 commits

Author SHA1 Message Date
wiz
94f8f453b3 curl: update to 7.56.0.
Curl and libcurl 7.56.0

This release includes the following changes:

 o curl: enable compression for SCP/SFTP with --compressed-ssh  [11]
 o libcurl: enable compression for SCP/SFTP with CURLOPT_SSH_COMPRESSION [11]
 o vtls: added dynamic changing SSL backend with curl_global_sslset() [28]
 o new MIME API, curl_mime_init() and friends [32]
 o openssl: initial SSLKEYLOGFILE implementation [36]

This release includes the following bugfixes:

 o FTP: zero terminate the entry path even on bad input [67]
 o examples/ftpuploadresume.c: use portable code
 o runtests: match keywords case insensitively
 o travis: build the examples too [1]
 o strtoofft: reduce integer overflow risks globally [2]
 o zsh.pl: produce a working completion script again [3]
 o cmake: remove dead code for CURL_DISABLE_RTMP [4]
 o progress: Track total times following redirects [5]
 o configure: fix --disable-threaded-resolver [6]
 o cmake: remove dead code for DISABLED_THREADSAFE [7]
 o configure: fix clang version detection
 o darwinssi: fix error: variable length array used
 o travis: add metalink to some osx builds [8]
 o configure: check for __builtin_available() availability [9]
 o http_proxy: fix build error for CURL_DOES_CONVERSIONS [10]
 o examples/ftpuploadresume: checksrc compliance
 o ftp: fix CWD when doing multicwd then nocwd on same connection [12]
 o system.h: remove all CURL_SIZEOF_* defines [13]
 o http: Don't wait on CONNECT when there is no proxy [14]
 o system.h: check for __ppc__ as well [15]
 o http2_recv: return error better on fatal h2 errors [16]
 o scripts/contri*sh: use "git log --use-mailmap"
 o tftp: fix memory leak on too long filename [17]
 o system.h: fix build for hppa [18]
 o cmake: enable picky compiler options with clang and gcc [19]
 o makefile.m32: add support for libidn2 [20]
 o curl: turn off MinGW CRT's globbing [21]
 o request-target.d: mention added in 7.55.0
 o curl: shorten and clean up CA cert verification error message [22]
 o imap: support PREAUTH [23]
 o CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD
 o examples/threaded-ssl: mention that this is for openssl before 1.1
 o winbuild: fix embedded manifest option [24]
 o tests: Make sure libtests & unittests call curl_global_cleanup()
 o system.h: include sys/poll.h for AIX [25]
 o darwinssl: handle long strings in TLS certs [26]
 o strtooff: fix build for systems with long long but no strtoll [27]
 o asyn-thread: Improved cleanup after OOM situations
 o HELP-US.md: "How to get started helping out in the curl project" [29]
 o curl.h: CURLSSLBACKEND_WOLFSSL used wrong value [30]
 o unit1301: fix error message on first test
 o ossfuzz: moving towards the ideal integration [31]
 o http: fix a memory leakage in checkrtspprefix()
 o examples/post-callback: stop returning one byte at a time
 o schannel: return CURLE_SSL_CACERT on failed verification [33]
 o MAIL-ETIQUETTE: added "1.9 Your emails are public"
 o http-proxy: treat all 2xx as CONNECT success [34]
 o openssl: use OpenSSL's default ciphers by default [35]
 o runtests.pl: support attribute "nonewline" in part verify/upload
 o configure: remove --enable-soname-bump and SONAME_BUMP [37]
 o travis: add c-ares enabled builds linux + osx [38]
 o vtls: fix WolfSSL 3.12 build problems [39]
 o http-proxy: when not doing CONNECT, that phase is done immediately [40]
 o configure: fix curl_off_t check's include order [41]
 o configure: use -Wno-varargs on clang 3.9[.X] debug builds
 o rtsp: do not call fwrite() with NULL pointer FILE * [42]
 o mbedtls: enable CA path processing [43]
 o travis: add build without HTTP/SMTP/IMAP
 o checksrc: verify more code style rules [44]
 o HTTP proxy: on connection re-use, still use the new remote port [45]
 o tests: add initial gssapi test using stub implementation [46]
 o rtsp: Segfault when using WRITEDATA [47]
 o docs: clarify the CURLOPT_INTERLEAVE* options behavior
 o non-ascii: use iconv() with 'char **' argument [48]
 o server/getpart: provide dummy function to build conversion enabled
 o conversions: fix several compiler warnings
 o openssl: add missing includes [49]
 o schannel: Support partial send for when data is too large [50]
 o socks: fix incorrect port number in SOCKS4 error message [51]
 o curl: fix integer overflow in timeout options [52]
 o travis: on mac, don't install openssl or libidn [53]
 o cookies: reject oversized cookies instead of truncating [54]
 o cookies: use lock when using CURLINFO_COOKIELIST [55]
 o curl: check fseek() return code and bail on error
 o examples/post-callback: use long for CURLOPT_POSTFIELDSIZE
 o openssl: only verify RSA private key if supported [56]
 o tests: make the imap server not verify user+password [57]
 o imap: quote atoms properly when escaping characters [58]
 o tests: fix a compiler warning in test 643
 o file_range: avoid integer overflow when figuring out byte range [59]
 o curl.h: include <sys/select.h> on cygwin too [60]
 o reuse_conn: don't copy flags that are known to be equal [61]
 o http: fix adding custom empty headers to repeated requests [62]
 o docs: clarify the use of environment variables for proxy [63]
 o docs: link CURLOPT_CONNECTTIMEOUT and CURLOPT_CONNECTTIMEOUT_MS [64]
 o connect: fix race condition with happy eyeballs timeout [65]
 o cookie: fix memory leak if path was set twice in header [66]
 o vtls: compare and clone ssl configs properly [68]
 o proxy: read the "no_proxy" variable only if necessary [69]
2017-10-04 06:32:58 +00:00
adam
309910d715 Curl and libcurl 7.55.1
This release includes the following bugfixes:
 o build: fix 'make install' with configure, install docs/libcurl/* too
 o make install: add 8 missing man pages to the installation
 o curl: do bounds check using a double comparison [1]
 o dist: Add dictserver.py/negtelnetserver.py to release [2]
 o digest_sspi: Don't reuse context if the user/passwd has changed [3]
 o gitignore: ignore top-level .vs folder [4]
 o build: check out *.sln files with Windows line endings [5]
 o travis: verify "make install" [6]
 o dist: fix the cmake build by shipping cmake_uninstall.cmake.in too [7]
 o metalink: fix error: ‘*’ in boolean context, suggest ‘&&’ instead
 o configure: use the threaded resolver backend by default if possible [8]
 o mkhelp.pl: allow executing this script directly [9]
 o maketgz: remove old *.dist files before making the tarball [10]
 o openssl: remove CONST_ASN1_BIT_STRING [11]
 o openssl: fix "error: this statement may fall through"
 o proxy: fix memory leak in case of invalid proxy server name [12]
 o curl/system.h: support more architectures (OpenRISC, ARC) [13]
 o docs: fix typos [14]
 o curl/system.h: add Oracle Solaris Studio [15]
 o CURLINFO_TOTAL_TIME: could wrongly return 4200 seconds [16]
 o docs: --connect-to clarified
 o cmake: allow user to override CMAKE_DEBUG_POSTFIX [17]
 o travis: test cmake build on tarball too
 o redirect: make it handle absolute redirects to IDN names [18]
 o curl/system.h: fix for gcc on PowerPC [19]
 o curl --interface: fixed for IPV6 unique local addresses [20]
 o cmake: threads detection improvements [21]
2017-08-15 05:35:57 +00:00
wiz
cd7c32518d Updated curl to 7.55.0.
Curl and libcurl 7.55.0

 Public curl releases:         167
 Command line options:         210
 curl_easy_setopt() options:   247
 Public functions in libcurl:  61
 Contributors:                 1571

This release includes the following changes:

 o curl: allow --header and --proxy-header read from file [7]
 o getinfo: provide sizes as curl_off_t [6]
 o curl: prevent binary output spewed to terminal [16]
 o curl: added --request-target [22]
 o libcurl: added CURLOPT_REQUEST_TARGET [22]
 o curl: added --socks5-{basic,gssapi}: control socks5 auth [30]
 o libcurl: added CURLOPT_SOCKS5_AUTH [30]

This release includes the following bugfixes:

 o glob: do not parse after a strtoul() overflow range (CVE-2017-1000101) [85]
 o tftp: reject file name lengths that don't fit (CVE-2017-1000100) [84]
 o file: output the correct buffer to the user (CVE-2017-1000099) [83]
 o includes: remove curl/curlbuild.h and curl/curlrules.h [1]
 o dist: make the hugehelp.c not get regenerated unnecessarily [2]
 o timers: store internal time stamps as time_t instead of doubles [3]
 o progress: let "current speed" be UL + DL speeds combined [4]
 o http-proxy: do the HTTP CONNECT process entirely non-blocking [5]
 o lib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV [8]
 o fuzz: bring oss-fuzz initial code converted to C89 [10]
 o configure: disable nghttp2 too if HTTP has been disabled
 o mk-ca-bundle.pl: Check curl's exit code after certdata download [11]
 o test1148: verify the -# progressbar [12]
 o tests: stabilize test 2032 and 2033 [13]
 o HTTPS-Proxy: don't offer h2 for https proxy connections [14]
 o http-proxy: only attempt FTP over HTTP proxy [9]
 o curl-compilers.m4: enable vla warning for clang [15]
 o curl-compilers.m4: enable double-promotion warning [15]
 o curl-compilers.m4: enable missing-variable-declarations clang warning [15]
 o curl-compilers.m4: enable comma clang warning [15]
 o Makefile.m32: enable -W for MinGW32 build [15]
 o CURLOPT_PREQUOTE: not supported for SFTP [17]
 o http2: fix OOM crash
 o PIPELINING_SERVER_BL: cleanup the internal list use [18]
 o mkhelp.pl: fix script name in usage text
 o lib1521: add curl_easy_getinfo calls to the test set
 o travis: do the distcheck test build out-of-tree as well
 o if2ip: fix compiler warning in ISO C90 mode
 o lib: fix the djgpp build [19]
 o typecheck-gcc: add support for CURLINFO_OFF_T [20]
 o travis: enable typecheck-gcc warnings [21]
 o maketgz: switch to xz instead of lzma [23]
 o CURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS case
 o curl-compilers.m4: fix unknown-warning-option on Apple clang [24]
 o winbuild: fix boringssl build [25]
 o curl/system.h: add check for XTENSA for 32bit gcc [26]
 o test1537: fixed memory leak on OOM
 o test1521: fix compiler warnings [27]
 o curl: fix memory leak on test 1147 OOM [28]
 o libtest/make: generate lib1521.c dynamically at build-time [29]
 o curl_strequal.3: fix typo in SYNOPSIS [31]
 o progress: prevent resetting t_starttransfer [32]
 o openssl: improve fallback seed of PRNG with a time based hash [33]
 o http2: improved PING frame handling [34]
 o test1450: add simple testing for DICT [35]
 o make: build the docs subdir only from within src [36]
 o cmake: Added compatibility options for older Windows versions [37]
 o gtls: fix build when sizeof(long) < sizeof(void *) [38]
 o url: make the original string get used on subsequent transfers [39]
 o timeval.c: Use long long constant type for timeval assignment [40]
 o tool_sleep: typecast to avoid macos compiler warning
 o travis.yml: use --enable-werror on debug builds [41]
 o test1451: add SMB support to the testbed [42]
 o configure: remove checks for 5 functions never used [43]
 o configure: try ldap/lber in reversed order first [44]
 o smb: fix build for djgpp/MSDOS [45]
 o travis: install nghttp2 on linux builds [46]
 o smb: add support for CURLOPT_FILETIME [47]
 o cmake: fix send/recv argument scanner for windows [48]
 o inet_pton: fix include on windows to get prototype [49]
 o select.h: avoid macro redefinition harder
 o cmake: if inet_pton is used, bump _WIN32_WINNT
 o asyn-thread.c: fix unused variable warnings on macOS
 o runtests: support "threaded-resolver" as a feature
 o test506: skip if threaded-resolver
 o cmake: remove spurious "-l" from linker flags [50]
 o cmake: add CURL_WERROR for enabling "warning as errors"
 o memdebug: don't setbuf() if the file open failed [51]
 o curl_easy_escape.3: mention the (lack of) encoding [52]
 o test1452: add telnet negotiation [53]
 o CURLOPT_POSTFIELDS.3: explain the 100-continue magic better
 o cmake: offer CMAKE_DEBUG_POSTFIX when building with MSVC [54]
 o tests/valgrind.supp: supress OpenSSL false positive seen on travis [55]
 o curl_setup_once: Remove ERRNO/SET_ERRNO macros [56]
 o curl-compilers.m4: disable warning spam with Cygwin's clang [57]
 o ldap: fix MinGW compiler warning [58]
 o make: fix docs build on OpenBSD [59]
 o curl_setup: always define WIN32_LEAN_AND_MEAN on Windows [60]
 o system.h: include winsock2.h before windows.h
 o winbuild: build with warning level 4 [61]
 o rtspd: fix MSVC level 4 warning
 o sockfilt: suppress conversion warning with explicit cast
 o libtest: fix MSVC warning C4706
 o darwinssl: fix pinnedpubkey build error [62]
 o tests/server/resolve.c: fix deprecation warning [63]
 o nss: fix a possible use-after-free in SelectClientCert() [64]
 o checksrc: escape open brace in regex
 o multi: mention integer overflow risk if using > 500 million sockets [65]
 o darwinssl: fix --tlsv1.2 regression [66]
 o timeval: struct curltime is a struct timeval replacement [67]
 o curl_rtmp: fix a compiler warning [68]
 o include.d: clarify that it concerns the response headers [69]
 o cmake: support make uninstall [70]
 o include.d: clarify --include is only for response headers [71]
 o libcurl: Stop using error codes defined under CURL_NO_OLDIES [72]
 o http: fix response code parser to avoid integer overflow [73]
 o configure: fix the check for IdnToUnicode [74]
 o multi: fix request timer management [75]
 o curl_threads: fix MSVC compiler warning [76]
 o travis: build on osx with openssl
 o travis: build on osx with libressl
 o CURLOPT_NETRC.3: mention the file name on windows
 o cmake: set MSVC warning level to 4 [77]
 o netrc: skip lines starting with '#' [78]
 o darwinssl: fix curlssl_sha256sum() compiler warnings on first argument
 o BUILD.WINDOWS: mention buildconf.bat for builds off git
 o darwinssl: silence compiler warnings [79]
 o travis: build on osx with darwinssl
 o FTP: skip unnecessary CWD when in nocwd mode [80]
 o gssapi: fix memory leak of output token in multi round context [81]
 o getparameter: avoid returning uninitialized 'usedarg' [82]
 o curl (debug build) easy_events: make event data static
 o curl: detect and bail out early on parameter integer overflows [86]
 o configure: fix recv/send/select detection on Android [87]
2017-08-09 08:50:17 +00:00
wiz
d04778afa0 Updated curl to 7.54.0.
Curl and libcurl 7.54.0

 Public curl releases:         165
 Command line options:         207
 curl_easy_setopt() options:   245
 Public functions in libcurl:  61
 Contributors:                 1538

This release includes the following changes:
 o Add CURL_SSLVERSION_MAX_* constants to CURLOPT_SSLVERSION [19]
 o Add --max-tls [19]
 o Add CURLOPT_SUPPRESS_CONNECT_HEADERS [24]
 o Add --suppress-connect-headers [24]

This release includes the following bugfixes:

 o CVE-2017-7468: switch off SSL session id when client cert is used [68]
 o cmake: Replace invalid UTF-8 byte sequence [1]
 o tests: use consistent environment variables for setting charset
 o proxy: fixed a memory leak on OOM
 o ftp: removed an erroneous free in an OOM path
 o docs: de-duplicate file lists in the Makefiles [2]
 o ftp: fixed a NULL pointer dereference on OOM
 o gopher: fixed detection of an error condition from Curl_urldecode
 o url: fix unix-socket support for proxy-disabled builds [3]
 o test1139: allow for the possibility that the man page is not rebuilt
 o cyassl: get library version string at runtime
 o digest_sspi: fix compilation warning
 o tests: enable HTTP/2 tests to run with non-default port numbers
 o warnless: suppress compiler warning
 o darwinssl: Warn that disabling host verify also disables SNI [4]
 o configure: fix for --enable-pthreads [5]
 o checksrc.bat: Ignore curl_config.h.in, curl_config.h
 o no-keepalive.d: fix typo [6]
 o configure: fix --with-zlib when a path is specified [7]
 o build: fix gcc7 implicit fallthrough warnings [8]
 o fix potential use of uninitialized variables [9]
 o CURLOPT_SSL_CTX_FUNCTION.3: Fix EXAMPLE formatting errors [10]
 o CMake: Reorganize SSL support, separate WinSSL and SSPI [11]
 o CMake: Add DarwinSSL support [12]
 o CMake: Add mbedTLS support [13]
 o ares: return error at once if timed out before name resolve starts [14]
 o BINDINGS: added C++, perl, go and Scilab bindings
 o URL: return error on malformed URLs with junk after port number
 o KNOWN_BUGS: Add DarwinSSL won't import PKCS#12 without a password [15]
 o http2: Fix assertion error on redirect with CL=0 [16]
 o updatemanpages.pl: Update man pages to use current date and versions [17]
 o --insecure: clarify that this option is for server connections [18]
 o mkhelp: simplified the gzip code
 o build: fixed making man page in out-of-tree tarball builds
 o tests: disabled 1903 due to flakiness
 o openssl: add two /* FALLTHROUGH */ to satisfy coverity
 o cmdline-opts: fixed a few typos
 o authneg: clear auth.multi flag at http_done [20]
 o curl_easy_reset: Also reset the authentication state [21]
 o proxy: skip SSL initialization for closed connections [22]
 o http_proxy: ignore TE and CL in CONNECT 2xx responses [23]
 o tool_writeout: fixed a buffer read overrun on --write-out
 o make: regenerate docs/curl.1 by running make in docs [25]
 o winbuild: add basic support for OpenSSL 1.1.x [26]
 o build: removed redundant DEPENDENCIES from makefiles
 o CURLINFO_LOCAL_PORT.3: added example
 o curl: show HTTPS-Proxy options on CURLE_SSL_CACERT [27]
 o tests: strip more options from non-HTTP --libcurl tests
 o tests: fixed the documented test server port numbers
 o runtests.pl: fixed display of the Gopher IPv6 port number
 o multi: fix streamclose() crash in debug mode [28]
 o cmake: build manual pages [29]
 o cmake: add support for building HTML and PDF docs [30]
 o mbedtls: add support for CURLOPT_SSL_CTX_FUNCTION [31]
 o make: introduce 'test-nonflaky' target
 o CURLINFO_PRIMARY_IP.3: add example
 o tests/README: mention nroff for --manual tests [32]
 o mkhelp: disable compression if the perl gzip module is unavailable
 o openssl: fall back on SSL_ERROR_* string when no error detail [33]
 o asiohiper: make sure socket is open in event_cb [34]
 o tests/README: make "Run" section foolproof [35]
 o curl: check for end of input in writeout backslash handling
 o .gitattributes: turn off CRLF for *.am [36]
 o multi: fix MinGW-w64 compiler warnings
 o schannel: fix variable shadowing warning
 o openssl: exclude DSA code when OPENSSL_NO_DSA is defined [37]
 o http: Fix proxy connection reuse with basic-auth [38]
 o pause: handle mixed types of data when paused [39]
 o http: do not treat FTPS over CONNECT as HTTPS
 o conncache: make hashkey avoid malloc [40]
 o make: use the variable MAKE for recursive calls [41]
 o curl: fix callback argument inconsistency [42]
 o NTLM: check for features with #ifdef instead of #if [43]
 o cmake: add several missing files to the dist
 o select: use correct SIZEOF_ constant [44]
 o connect: fix unreferenced parameter warning
 o schannel: fix unused variable warning
 o gcc7: fix ‘*’ in boolean context [45]
 o http2: silence unused parameter warnings
 o ssh: fix narrowing conversion warning
 o telnet: (win32) fix read callback return variable [46]
 o docs: Explain --fail-early does not imply --fail [47]
 o docs: added examples for CURLINFO_FILETIME.3 and CURLOPT_FILETIME.3
 o tests/server/util: remove in6addr_any for recent MinGW [48]
 o multi: make curl_multi_wait avoid malloc in the typical case [49]
 o include: curl/system.h is a run-time version of curlbuild.h [50]
 o easy: silence compiler warning
 o llist: replace Curl_llist_alloc with Curl_llist_init [51]
 o hash: move key into hash struct to reduce mallocs [52]
 o url: don't free postponed data on connection reuse [53]
 o curl_sasl: declare mechtable static
 o curl: fix Windows Unicode build
 o multi: fix queueing of pending easy handles [54]
 o tool_operate: fix MinGW compiler warning [55]
 o low_speed_limit: improved function for longer time periods [56]
 o gtls: fix compiler warning
 o sspi: print out InitializeSecurityContext() error message [57]
 o schannel: fix compiler warnings [58]
 o vtls: fix unreferenced variable warnings
 o INSTALL.md: fix secure transport configure arguments
 o CURLINFO_SCHEME.3: fix variable type
 o libcurl-thread.3: also mention threaded-resolver [59]
 o nss: load CA certificates even with --insecure [60]
 o openssl: fix this statement may fall through [61]
 o poll: prefer <poll.h> over <sys/poll.h> [62]
 o polarssl: unbreak build with versions < 1.3.8 [63]
 o Curl_expire_latest: ignore already expired timers [64]
 o configure: turn implicit function declarations into errors [65]
 o mbedtls: fix memory leak in error path [66]
 o http2: fix handle leak in error path [67]
 o .gitattributes: force shell scripts to LF [69]
 o configure.ac: ignore CR after version numbers [70]
 o extern-scan.pl: strip trailing CR [71]
 o openssl: make SSL_ERROR_to_str more future-proof [72]
 o openssl: fix thread-safety bugs in error-handling [73]
 o openssl: don't try to print nonexistant peer private keys [74]
 o nss: fix MinGW compiler warnings [75]
2017-04-19 10:28:07 +00:00
wiz
545333cb48 Updated curl to 7.53.0.
Curl and libcurl 7.53.0

This release includes the following changes:

 o unix_socket: added --abstract-unix-socket and CURLOPT_ABSTRACT_UNIX_SOCKET [25]
 o CURLOPT_BUFFERSIZE: support enlarging receive buffer [29]

This release includes the following bugfixes:

 o CVE-2017-2629: make SSL_VERIFYSTATUS work again [64]
 o gnutls-random: check return code for failed random
 o openssl-random: check return code when asking for random
 o http: remove "Curl_http_done: called premature" message
 o cyassl: use time_t instead of long for timeout
 o build-wolfssl: Sync config with wolfSSL 3.10
 o ftp-gss: check for init before use
 o configure: accept --with-libidn2 instead [1]
 o ftp: failure to resolve proxy should return that error code
 o curl.1: add three more exit codes
 o docs/ciphers: link to our own new page about ciphers
 o vtls: s/SSLEAY/OPENSSL - fixes multi_socket timeouts with openssl [2]
 o darwinssl: fix iOS build [3]
 o darwinssl: fix CFArrayRef leak [4]
 o cmake: use crypt32.lib when building with OpenSSL on windows [5]
 o curl_formadd.3: CURLFORM_CONTENTSLENGTH not needed when chunked [6]
 o digest_sspi: copy terminating NUL as well [7]
 o curl: fix --remote-time incorrect times on Windows [8]
 o curl.1: several updates and corrections [11]
 o content_encoding: change return code on a failure
 o curl.h: CURLE_FUNCTION_NOT_FOUND is no longer in use
 o docs: TCP_KEEPALIVE start and interval default to 60 [9]
 o darwinssl: --insecure overrides --cacert if both settings are in use [10]
 o TheArtOfHttpScripting: grammar
 o CIPHERS.md: document GSKit ciphers
 o wolfssl: support setting cipher list
 o wolfssl: display negotiated SSL version and cipher
 o lib506: fix build for Open Watcom [12]
 o asiohiper: improved socket handling [13]
 o examples: make the C++ examples follow our code style too
 o tests/sws: retry send() on EWOULDBLOCK [14]
 o cmake: Fix passing _WINSOCKAPI_ macro to compiler [15]
 o smtp: Fix STARTTLS denied error message
 o imap/pop3: don't print response character in STARTTLS denied messages [16]
 o rand: make it work without TLS backing [17]
 o url: fix parsing for when 'file' is the default protocol [18]
 o url: allow file://X:/path URLs on windows again [19]
 o gnutls: check for alpn and ocsp in configure [20]
 o IDN: Use TR46 'non-transitional' for toASCII translations [21]
 o url: Fix NO_PROXY env var to work properly with --proxy option [22]
 o CURLOPT_PREQUOTE.3: takes a struct curl_slist*, not a char* [23]
 o docs: Add note about libcurl copying strings to CURLOPT_* manpages [24]
 o curl: reset the easy handle at --next
 o --next docs: --trace and --trace-ascii are also global
 o --write-out docs: 'time_total' is not always shown with ms precision
 o http: print correct HTTP string in verbose output when using HTTP/2
 o docs: improved language in README.md HISTORY.md CONTRIBUTE.md [26]
 o http2: disable server push if not requested [27]
 o nss: use the correct lock in nss_find_slot_by_name()
 o usercertinmem.c: improve the short description
 o CURLOPT_CONNECT_TO: Fix compile warnings
 o docs: non-blocking SSL handshake is now supported with NSS
 o *.rc: escape non-ASCII/non-UTF-8 character for clarity [28]
 o mbedTLS: fix multi interface non-blocking handshake [30]
 o PolarSSL: fix multi interface non-blocking handshake [31]
 o VC: remove the makefile.vc6 build infra [32]
 o telnet: fix windows compiler warnings [33]
 o cookies: do not assume a valid domain has a dot
 o polarssl: fix hangs
 o gnutls: disable TLS session tickets [34]
 o mbedtls: disable TLS session tickets [35]
 o mbedtls: implement CTR-DRBG and HAVEGE random generators [36]
 o openssl: Don't use certificate after transferring ownership [37]
 o cmake: Support curl --xattr when built with cmake [38]
 o OS400: Fix symbols [39]
 o docs: Add more HTTPS proxy documentation [40]
 o docs: use more HTTPS links [41]
 o cmdline-opts: Fixed build and test in out of source tree builds
 o CHANGES.0: removed
 o schannel: Remove incorrect SNI disabled message [42]
 o darwinssl: Avoid parsing certificates when not in verbose mode [43]
 o test552: Fix typos [44]
 o telnet: Fix typos [45]
 o transfer: only retry nobody-requests for HTTP [46]
 o http2: reset push header counter fixes crash [47]
 o nss: make FTPS work with --proxytunnel [48]
 o test1139: Added the --manual keyword since the manual is required
 o polarssl, mbedtls: Fix detection of pending data [49]
 o http_proxy: Fix tiny memory leak upon edge case connecting to proxy [50]
 o URL: only accept ";options" in SMTP/POP3/IMAP URL schemes [51]
 o curl.1: ftp.sunet.se is no longer an FTP mirror
 o tool_operate: Show HTTPS-Proxy options on CURLE_SSL_CACERT [52]
 o http2: fix memory-leak when denying push streams [53]
 o configure: Allow disabling pthreads, fall back on Win32 threads [54]
 o curl: fix typo in time condition warning message [55]
 o axtls: adapt to API changes [56]
 o tool_urlglob: Allow a glob range with the same start and stop [57]
 o winbuild: add note on auto-detection of MACHINE in Makefile.vc [58]
 o http: fix missing 'Content-Length: 0' while negotiating auth [59]
 o proxy: fix hostname resolution and IDN conversion [60]
 o docs: fix timeout handling in multi-uv example
 o digest_sspi: Fix nonce-count generation in HTTP digest [61]
 o sftp: improved checks for create dir failures [62]
 o smb: use getpid replacement for windows UWP builds [63]
 o digest_sspi: Handle 'stale=TRUE' directive in HTTP digest [65]
2017-02-22 10:29:43 +00:00
wiz
de4475edbc Updated curl to 7.52.0. Security fixes.
Version 7.52.0 (20 Dec 2016)

Changes:

    nss: map CURL_SSLVERSION_DEFAULT to NSS default
    vtls: support TLS 1.3 via CURL_SSLVERSION_TLSv1_3
    curl: introduce the --tlsv1.3 option to force TLS 1.3
    curl: Add --retry-connrefused
    proxy: Support HTTPS proxy and SOCKS+HTTP(s)
    add CURLINFO_SCHEME, CURLINFO_PROTOCOL, and %{scheme}
    curl: add --fail-early

Bugfixes:

    CVE-2016-9586: printf floating point buffer overflow
    CVE-2016-9952: Win CE schannel cert wildcard matches too much
    CVE-2016-9953: Win CE schannel cert name out of buffer read
    msvc: removed a straggling reference to strequal.c
    winbuild: remove strcase.obj from curl build
    examples: bugfixed multi-uv.c
    configure: verify that compiler groks -Werror=partial-availability
    mbedtls: fix build with mbedtls versions < 2.4.0
    dist: add unit test CMakeLists.txt to the tarball
    curl -w: added more decimal digits to timing counters
    easy: Initialize info variables on easy init and duphandle
    cmake: disable poll for macOS
    http2: Don't send header fields prohibited by HTTP/2 spec
    ssh: check md5 fingerprints case insensitively (regression)
    openssl: initial TLS 1.3 adaptions
    curl_formadd.3: *_FILECONTENT and *_FILE need the file to be kept
    printf: fix ".*f" handling
    examples/fileupload.c: fclose the file as well
    SPNEGO: Fix memory leak when authentication fails
    realloc: use Curl_saferealloc to avoid common mistakes
    openssl: make sure to fail in the unlikely event that PRNG seeding fails
    URL-parser: for file://[host]/ URLs, the [host] must be localhost
    timeval: prefer time_t to hold seconds instead of long
    Curl_rand: fixed and moved to rand.c
    glob: fix [a-c] globbing regression
    darwinssl: fix SSL client certificate not found on MacOS Sierra
    curl.1: Clarify --dump-header only writes received headers
    http2: Fix address sanitizer memcpy warning
    http2: Use huge HTTP/2 windows
    connects: Don't mix unix domain sockets with regular ones
    url: Fix conn reuse for local ports and interfaces
    x509: Limit ASN.1 structure sizes to 256K
    checksrc: add more checks
    winbuild: add config option ENABLE_NGHTTP2
    http2: check nghttp2_session_set_local_window_size exists
    http2: Fix crashes when parent stream gets aborted
    CURLOPT_CONNECT_TO: Skip non-matching "connect-to" entries
    URL parser: reject non-numerical port numbers
    CONNECT: reject TE or CL in 2xx responses
    CONNECT: read responses one byte at a time
    curl: support zero-length argument strings in config files
    openssl: don't use OpenSSL's ERR_PACK
    curl.1: generated with the new man page system
    curl_easy_recv: Improve documentation and example program
    Curl_getconnectinfo: avoid checking if the connection is closed
    CIPHERS.md: attempt to document TLS cipher names
2016-12-21 10:07:37 +00:00
maya
46ec524697 curl: update to 7.51.0. security fix
Curl and libcurl 7.51.0

 Public curl releases:         160
 Command line options:         185
 curl_easy_setopt() options:   225
 Public functions in libcurl:  61
 Contributors:                 1467

This release includes the following changes:

 o nss: additional cipher suites are now accepted by CURLOPT_SSL_CIPHER_LIST
 o New option: CURLOPT_KEEP_SENDING_ON_ERROR [10]

This release includes the following bugfixes:

 o CVE-2016-8615: cookie injection for other servers [28]
 o CVE-2016-8616: case insensitive password comparison [29]
 o CVE-2016-8617: OOB write via unchecked multiplication [30]
 o CVE-2016-8618: double-free in curl_maprintf [31]
 o CVE-2016-8619: double-free in krb5 code [32]
 o CVE-2016-8620: glob parser write/read out of bounds [33]
 o CVE-2016-8621: curl_getdate read out of bounds [34]
 o CVE-2016-8622: URL unescape heap overflow via integer truncation [35]
 o CVE-2016-8623: Use-after-free via shared cookies [36]
 o CVE-2016-8624: invalid URL parsing with '#' [37]
 o CVE-2016-8625: IDNA 2003 makes curl use wrong host [38]
 o openssl: fix per-thread memory leak using 1.0.1 or 1.0.2 [1]
 o http: accept "Transfer-Encoding: chunked" for HTTP/2 as well [2]
 o LICENSE-MIXING.md: update with mbedTLS dual licensing [3]
 o examples/imap-append: Set size of data to be uploaded [4]
 o test2048: fix url
 o darwinssl: disable RC4 cipher-suite support
 o CURLOPT_PINNEDPUBLICKEY.3: fix the AVAILABILITY formatting
 o openssl: don’t call CRYTPO_cleanup_all_ex_data [5]
 o libressl: fix version output [6]
 o easy: Reset all statistical session info in curl_easy_reset [7]
 o curl_global_cleanup.3: don't unload the lib with sub threads running [8]
 o dist: add CurlSymbolHiding.cmake to the tarball
 o docs: Remove that --proto is just used for initial retrieval [9]
 o configure: Fixed builds with libssh2 in a custom location
 o curl.1: --trace supports % for sending to stderr!
 o cookies: same domain handling changed to match browser behavior [11]
 o formpost: trying to attach a directory no longer crashes [12]
 o CURLOPT_DEBUGFUNCTION.3: fixed unused argument warning [13]
 o formpost: avoid silent snprintf() truncation
 o ftp: fix Curl_ftpsendf
 o mprintf: return error on too many arguments
 o smb: properly check incoming packet boundaries [14]
 o GIT-INFO: remove the Mac 10.1-specific details [15]
 o resolve: add error message when resolving using SIGALRM [16]
 o cmake: add nghttp2 support [17]
 o dist: remove PDF and HTML converted docs from the releases [18]
 o configure: disable poll() in macOS builds [19]
 o vtls: only re-use session-ids using the same scheme
 o pipelining: skip to-be-closed connections when pipelining [20]
 o win: fix Universal Windows Platform build [21]
 o curl: do not set CURLOPT_SSLENGINE to DEFAULT automatically [22]
 o maketgz: make it support "only" generating version info
 o Curl_socket_check: add extra check to avoid integer overflow
 o gopher: properly return error for poll failures
 o curl: set INTERLEAVEDATA too
 o polarssl: clear thread array at init
 o polarssl: fix unaligned SSL session-id lock
 o polarssl: reduce #ifdef madness with a macro
 o curl_multi_add_handle: set timeouts in closure handles [23]
 o configure: set min version flags for builds on mac [24]
 o INSTALL: converted to markdown => INSTALL.md
 o curl_multi_remove_handle: fix a double-free [25]
 o multi: fix inifinte loop in curl_multi_cleanup() [26]
 o nss: fix tight loop in non-blocking TLS handhsake over proxy [27]
 o mk-ca-bundle: Change URL retrieval to HTTPS-only by default [39]
 o mbedtls: stop using deprecated include file [40]
 o docs: fix req->data in multi-uv example [41]
 o configure: Fix test syntax for monotonic clock_gettime
 o CURLMOPT_MAX_PIPELINE_LENGTH.3: Clarify it's not for HTTP/2 [42]

This release includes the following known bugs:

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

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

  Akshay Vernekar, Alexander Sinditskiy, Anders Bakken, Andreas Streichardt,
  Andrei Sedoi, Bernard Spil, Christian Heimes, Dan Fandrich,
  Daniel Gustafsson, Daniel Stenberg, Darío Hereñú, David Woodhouse,
  Fernando Muñoz, Gregory Szorc, Jeroen Ooms, Kamil Dudka, Luật Nguyễn,
  lukaszgn on github, Marcel Raad, Martin Frodl, Martin Storsjö,
  Michael Kaufmann, Michael Osipov, Miloš Ljumović, Nick Zitzmann,
  nopjmp on github, Paul Joyce, Rainer Müller, Ray Satiro, Remo E,
  Rider Linden, Sebastian Mundry, Sergei Kuzmin, Stephen Brokenshire,
  Tobias Stoeckmann, Toby Peterson, Todd Short, Tony Kelman, Torben Dannhauer,
  Valentin David,
  (40 contributors)

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

References to bug reports and discussions on issues:

 [1] = https://curl.haxx.se/bug/?i=964
 [2] = https://curl.haxx.se/bug/?i=1013
 [3] = https://curl.haxx.se/bug/?i=1019
 [4] = https://curl.haxx.se/bug/?i=1011
 [5] = https://curl.haxx.se/mail/lib-2016-09/0045.html
 [6] = https://curl.haxx.se/bug/?i=1029
 [7] = https://curl.haxx.se/bug/?i=1017
 [8] = https://curl.haxx.se/bug/?i=997
 [9] = https://curl.haxx.se/bug/?i=1031
 [10] = https://curl.haxx.se/libcurl/c/CURLOPT_KEEP_SENDING_ON_ERROR.html
 [11] = https://curl.haxx.se/bug/?i=1050
 [12] = https://curl.haxx.se/bug/?i=1053
 [13] = https://curl.haxx.se/bug/?i=1056
 [14] = https://curl.haxx.se/bug/?i=1052
 [15] = https://curl.haxx.se/bug/?i=1049
 [16] = https://curl.haxx.se/bug/?i=1066
 [17] = https://curl.haxx.se/bug/?i=922
 [18] = https://curl.haxx.se/mail/lib-2016-10/0040.html
 [19] = https://curl.haxx.se/bug/?i=1057
 [20] = https://curl.haxx.se/bug/?i=1075
 [21] = https://curl.haxx.se/bug/?i=1048
 [22] = https://curl.haxx.se/bug/?i=1042
 [23] = https://curl.haxx.se/bug/?i=739
 [24] = https://curl.haxx.se/bug/?i=1069
 [25] = https://curl.haxx.se/bug/?i=1083
 [26] = https://curl.haxx.se/mail/lib-2016-10/0011.html
 [27] = https://bugzilla.redhat.com/1388162
 [28] = https://curl.haxx.se/docs/adv_20161102A.html
 [29] = https://curl.haxx.se/docs/adv_20161102B.html
 [30] = https://curl.haxx.se/docs/adv_20161102C.html
 [31] = https://curl.haxx.se/docs/adv_20161102D.html
 [32] = https://curl.haxx.se/docs/adv_20161102E.html
 [33] = https://curl.haxx.se/docs/adv_20161102F.html
 [34] = https://curl.haxx.se/docs/adv_20161102G.html
 [35] = https://curl.haxx.se/docs/adv_20161102H.html
 [36] = https://curl.haxx.se/docs/adv_20161102I.html
 [37] = https://curl.haxx.se/docs/adv_20161102J.html
 [38] = https://curl.haxx.se/docs/adv_20161102K.html
 [39] = https://curl.haxx.se/bug/?i=1012
 [40] = https://curl.haxx.se/bug/?i=1087
 [41] = https://curl.haxx.se/bug/?i=1088
 [42] = https://curl.haxx.se/bug/?i=1059
2016-11-02 07:09:38 +00:00
wiz
a058e1dcad Updated curl to 7.50.1.
Bugfixes:

    TLS: switch off SSL session id when client cert is used
    TLS: only reuse connections with the same client cert
    curl_multi_cleanup: clear connection pointer for easy handles
    include the CURLINFO_HTTP_VERSION man page into the release tarball
    include the http2-server.pl script in the release tarball
    test558: fix test by stripping file paths from FD lines
    spnego: Corrected miss-placed * in Curl_auth_spnego_cleanup() declaration
    tests: Fix for http/2 feature
    cmake: Fix for schannel support
    curl.h: make public types void * again
    win32: fix a potential memory leak in Curl_load_library
    travis: fix OSX build by re-installing libtool
    mbedtls: Fix debug function name
2016-08-03 08:57:51 +00:00
prlw1
5fcaa58c7c dist: include curl_multi_socket_all.3 2016-05-30 14:25:12 +00:00
wiz
e320382b3b Updated curl to 7.49.0.
Fixed in 7.49.0 - May 18 2016

Changes:

    schannel: Add ALPN support
    SSH: support CURLINFO_FILETIME
    SSH: new CURLOPT_QUOTE command "statvfs"
    wolfssl: Add ALPN support
    http2: added --http2-prior-knowledge
    http2: added CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
    libcurl: added CURLOPT_CONNECT_TO
    curl: added --connect-to
    libcurl: added CURLOPT_TCP_FASTOPEN
    curl: added --tcp-fastopen
    curl: remove support for --ftpport, -http-request and --socks

Bugfixes:

    CVE-2016-3739: TLS certificate check bypass with mbedTLS/PolarSSL
    checksrc.bat: Updated the help to be consistent with generate.bat
    checksrc.bat: Added support for scanning the tests and examples
    openssl: fix ERR_remove_thread_state() for boringssl/libressl
    openssl: boringssl provides the same numbering as openssl
    multi: fix "Operation timed out after" timer
    url: don't use bad offset in tld_check_name to show error
    sshserver.pl: use quotes for given options
    Makefile.am: skip the scripts dir
    curl: warn for --capath use if not supported by libcurl
    http2: fix connection reuse
    GSS: make Curl_gss_log_error more verbose
    build-wolfssl: Allow a broader range of ciphers (Visual Studio)
    wolfssl: Use ECC supported curves extension
    openssl: Fix compilation warnings
    Curl_add_buffer_send: avoid possible NULL dereference
    SOCKS5_gssapi_negotiate: don't assume little-endian ints
    strerror: don't bit shift a signed integer
    url: Corrected get protocol family for FTP and LDAP
    curl/mprintf.h: remove support for _MPRINTF_REPLACE
    upload: missing rewind call could make libcurl hang
    IMAP: check pointer before dereferencing it
    build: Changed the Visual Studio projects warning level from 3 to 4
    checksrc: now stricter, wider checks, code cleaned up
    checksrc: added docs/CHECKSRC.md
    curl_sasl: Fixed potential null pointer utilisation
    krb5: Fixed missing client response when mutual authentication enabled
    krb5: Only process challenge when present
    krb5: Only generate a SPN when its not known
    formdata: use appropriate fopen() macros
    curl.1: -w filename_effective was introduced in 7.26.0
    http2: make use of the nghttp2 error callback
    http2: fix connection reuse when PING comes after last DATA
    curl.1: change example for -F
    HTTP2: Add a space character after the status code
    curl.1: use example.com more
    mbedtls.c: changed private prefix to mbed_
    mbedtls: implement and provide *_data_pending() to avoid hang
    mbedtls: fix MBEDTLS_DEBUG builds
    ftp/imap/pop3/smtp: Allow the service name to be overridden
    CURLOPT_SOCKS5_GSSAPI_SERVICE: Merged with CURLOPT_PROXY_SERVICE_NAME
    build: include scripts/ in the dist
    http2: Add handling stream level error
    http2: Improve header parsing
    makefile.vc6: use d suffix on debug object
    configure: remove check for libresolve
    scripts/make: use $(EXEEXT) for executables
    checksrc: got rid of the whitelist files
    sendf: added ability to call recv() before send() as workaround
    NTLM: check for NULL pointer before dereferencing
    openssl: builds with OpenSSL 1.1.0-pre5
    configure: ac_cv_ -> curl_cv_ for all cached vars
    winbuild: add mbedtls support
    curl: make --ftp-create-dirs retry on failure
    PolarSSL: implement public key pinning
    multi: accidentally used resolved host name instead of proxy
    CURLINFO_TLS_SESSION.3: clarify TLS library support before 7.48.0
    CONNECT_ONLY: don't close connection on GSS 401/407 reponses
    opts: Fix some syntax errors in example code fragments
    mbedtls: Fix session resume
    test1139: verifies libcurl option man page presence
    CURLINFO_TLS_SSL_PTR.3: Clarify SSL pointer availability
    curl: make --disable work as long form of -q
    curl: use --telnet-option as documented
    curl.1: document --ftp-ssl-reqd, --krb4 and --ntlm-wb
    curl: -h output lacked --proxy-header and --ntlm-wb
    curl -J: make it work even without http:// scheme on URL
    lib: include curl_printf.h as one of the last headers
    tests: handle path properly on Msys/Cygwin
    curl.1: --mail-rcpt can be used multiple times
    CURLOPT_ACCEPT_ENCODING.3: clarified
    docs: fixed lots of broken man page references
    tls: make setting pinnedkey option fail if not supported
    test1140: run nroff-scan to verify man pages
    http: make sure a blank header overrides accept_decoding
    connections: do not reuse non-HTTP proxies on different ports
    connect: fix invalid "Network is unreachable" errors
    TLS: move the ALPN/NPN enable bits to the connection
    TLS: SSL_peek is not a const operation
    http2: Add space between colon and header value
    darwinssl: fix certificate verification disable on OS X 10.8
    mprintf: Fix processing of width and prec args
    ftp wildcard: segfault due to init only in multi_perform
2016-05-29 20:37:34 +00:00
adam
22e918459e Changes 7.48.0
- CURLINFO_TLS_SSL_PTR.3: Warn about limitations

- Revert "sshserver: remove use of AuthorizedKeysFile2"

  It seems we may have some autobuild problems after this commit went
  in. Trying to see if a revert helps to get them back.

- maketgz: add -j to make dist

  ... makes it a lot faster

- libcurl-thread.3: minor nroff format fix

- CURLINFO_TLS_SSL_PTR.3: minor nroff format fix

- CODE_STYLE: indend example code

  ... to make it look nicer in markdown outputa
2016-04-07 11:03:15 +00:00
wiz
f488f7afac Update to 7.46.0:
Changes:

    configure: build silently by default
    cookies: Add support for Publix Suffix List with libpsl
    vtls: added support for mbedTLS
    Added CURLOPT_STREAM_DEPENDS
    Added CURLOPT_STREAM_DEPENDS_E
    Added CURLOPT_STREAM_WEIGHT
    Added CURLFORM_CONTENTLEN
    oauth2: Added support for OAUTHBEARER SASL mechanism to IMAP, POP3 and SNMP

Bugfixes:

    des: Fix header conditional for Curl_des_set_odd_parity
    ntlm: get rid of unconditional use of long long
    CURLOPT_CERTINFO.3: fix reference to CURLINFO_CERTINFO
    docs: CURLINFO_LASTSOCKET => CURLINFO_ACTIVESOCKET
    http2: Fix http2_recv to return -1 if recv returned -1
    curl_global_init_mem: set function pointers before doing init
    ntlm: error out without 64bit support as the code needs it
    openssl: Fix set up of pkcs12 certificate verification chain
    acinclude: remove PKGCONFIG override
    test1531: case the size to fix the test on non-largefile builds
    fread_func: move callback pointer from set to state struct
    test1601: fix compilation with --enable-debug and --disable-crypto-auth
    http2: Don't pass unitialized name+len pairs to nghttp2_submit_request
    curlbuild.h: Fix non-configure compiling to mips and sh4 targets
    tool: Generate easysrc with last cache linked-list
    cmake: Fix for add_subdirectory(curl) use-case
    vtls: fix compiler warning for TLS backends without sha256
    build: fix for MSDOS/djgpp
    checksrc: add crude // detection
    http2: on_frame_recv: trust the conn/data input
    ftp: allow CURLOPT_IGNORE_CONTENT_LENGTH to ignore size
    polarssl/mbedtls: fix name space pollution
    build: Fix mingw ssl gdi32 order
    build: Fix support for PKG_CONFIG
    MacOSX-Framework: sdk regex fix for sdk 10.10 and later
    socks: Fix incorrect port numbers in failed connect messages
    curl.1: -E: s/private certificate/client certificate
    curl.h: s/HTTPPOST_/CURL_HTTPOST_
    curl_formadd: support >2GB files on windows
    http redirects: %-encode bytes outside of ascii range
    rawstr: Speed up Curl_raw_toupper by 40%
    curl_ntlm_core: fix 2 curl_off_t constant overflows.
    getinfo: CURLINFO_ACTIVESOCKET: fix bad socket value
    tftp tests: verify sent options too
    imap: Don't call imap_atom() when no mailbox specified in LIST command
    imap: Fixed double quote in LIST command when mailbox contains spaces
    imap: Don't check for continuation when executing a CUSTOMREQUEST
    acinclude: Remove check for 16-bit curl_off_t
    BoringSSL: Work with stricter BIO_get_mem_data()
    cmake: Add missing feature macros in config header
    sasl_sspi: fixed unicode build for digest authentication
    sasl_sspi: fix identity memory leak in digest authentication
    unit1602: Fixed failure in torture test
    unit1603: Added unit tests for hash functions
    vtls/openssl: remove unused traces of yassl ifdefs
    openssl: remove #ifdefs for < 0.9.7 support
    typecheck-gcc.h: add some missing options
    curl: mark two more options strings for --libcurl output
    openssl: Free modules on cleanup
    CURLMOPT_PUSHFUNCTION.3: *_byname() returns only the first header
    getconnectinfo: Don't call recv(2) if socket == -1
    http2: http_done: don't free already-freed push headers
    zsh completion: Preserve single quotes in output
    os400: Provide options for libssh2 use in compile scripts.
    build: Fix theoretical infinite loops
    pop3: Differentiate between success and continuation responses
    examples: Fixed compilation warnings
    schannel: Use GetVersionEx() when VerifyVersionInfo() isn't available
    CURLOPT_HEADERFUNCTION.3: fix typo
    curl: expanded the -XHEAD warning text
    done: make sure the final progress update is made
    build: Install zsh completion
    RTSP: do not add if-modified-since without timecondition
    curl: Fixed display of URL index in password prompt for --next
    nonblock: fix setting non-blocking mode for Amiga
    http2 push: add missing inits of new stream
    http2: convert some verbose output into debug-only output
    Curl_read_plain: clean up ifdefs that break statements
2015-12-06 11:31:13 +00:00
wiz
f66cd9761e Update curl to 7.45.0:
Fixed in 7.45.0 - October 7 2015

Changes:

    added CURLOPT_DEFAULT_PROTOCOL
    added new tool option --proto-default
    getinfo: added CURLINFO_ACTIVESOCKET
    turned CURLINFO_* option docs as stand-alone man pages
    curl: point out unnecessary uses of -X in verbose mode

Bugfixes:

    curl_global_init_mem.3: Stronger thread safety warning
    buildconf.bat: Fixed issues when ran in directories with special chars
    cmake: Fix CurlTests check for gethostbyname_r with 5 arguments
    generate.bat: Fixed issues when ran in directories with special chars
    generate.bat: Only call buildconf.bat if it exists
    generate.bat: Added support for generating only the prerequisite files
    curl.1: Document weaknesses in SSLv2 and SSLv3
    CURLOPT_HTTP_VERSION.3: connection re-use goes before version
    docs: Update the redirect protocols disabled by default
    inet_pton.c: Fix MSVC run-time check failure
    CURLMOPT_PUSHFUNCTION.3: fix argument types
    rtsp: support basic/digest authentication
    rtsp: stop reading empty DESCRIBE responses
    travis: Upgrading to container based build
    travis.yml: Add OS X testbot
    FTP: make state machine not get stuck in state
    openssl: handle lack of server cert when strict checking disabled
    configure: change functions to detect openssl (clones)
    configure: detect latest boringssl
    runtests: Allow for spaces in server-verify curl custom path
    http2: on_frame_recv: get a proper 'conn' for the debug logging
    ntlm: mark deliberate switch case fall-through
    http2: remove dead code
    curl_easy_{escape,unescape}.3: "char *" vs. "const char *"
    curl: point out the conflicting HTTP methods if used
    cmake: added Windows SSL support
    curl_easy_{escape,setopt}.3: fix example
    curl_easy_escape.3: escape '\n'
    libcurl.m4: Put braces around empty if body
    buildconf.bat: Fixed double blank line in 'curl manual' warning output
    sasl: Only define Curl_sasl_digest_get_pair() when CRYPTO_AUTH enabled
    inet_pton.c: Fix MSVC run-time check failure
    CURLOPT_FOLLOWLOCATION.3: mention methods for redirects
    http2: don't pass on Connection: headers
    nss: do not directly access SSL_ImplementedCiphers
    docs: numerous cleanups and spelling fixes
    FTP: do_more: add check for wait_data_conn in upload case
    parse_proxy: reject illegal port numbers
    cmake: IPv6 : disable Unix header check on Windows platform
    winbuild: run buildconf.bat if necessary
    buildconf.bat: fix syntax error
    curl_sspi: fix possibly undefined CRYPT_E_REVOKED
    nss: prevent NSS from incorrectly re-using a session
    libcurl-errors.3: add two missing error codes
    openssl: fix build with < 0.9.8
    openssl: refactor certificate parsing to use OpenSSL memory BIO
    openldap: only part of LDAP query results received
    ssl: add server cert's "sha256//" hash to verbose
    NTLM: Reset auth-done when using a fresh connection
    curl: generate easysrc only on --libcurl
    tests: disable 1801 until fixed
    CURLINFO_TLS_SESSION: always return backend info
    gnutls: Support CURLOPT_KEYPASSWD
    gnutls: Report actual GnuTLS error message for certificate errors
    tests: disable 1510 due to CI-problems on github
    cmake: Put "winsock2.h" before "windows.h" during configure checks
    cmake: Ensure discovered include dirs are considered
    configure: Add missing ')' for CURL_CHECK_OPTION_RT
    build: fix failures with -Wcast-align and -Werror
    FTP: fix uploading ASCII with unknown size
    readwrite_data: set a max number of loops
    http2: avoid superfluous Curl_expire() calls
    http2: set TCP_NODELAY unconditionally
    docs: fix unescaped '\n' in man pages
    openssl: Fix algorithm init to make (gost) engines work
    win32: make recent Borland compilers use long long
    runtests: Fix pid check in checkdied
    gopher: don't send NUL byte
    tool_setopt: fix c_escape truncated octal
    hiperfifo: fix the pointer passed to WRITEDATA
    getinfo: Fix return code for unknown CURLINFO options
2015-10-15 10:59:52 +00:00
wiz
39ade3e909 Update to 7.44.0:
Curl and libcurl 7.44.0

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

This release includes the following changes:

 o http2: added CURLMOPT_PUSHFUNCTION and CURLMOPT_PUSHDATA [6]
 o examples: added http2-serverpush.c [7]
 o http2: added curl_pushheader_byname() and curl_pushheader_bynum()
 o docs: added CODE_OF_CONDUCT.md [8]
 o curl: Add --ssl-no-revoke to disable certificate revocation checks [5]
 o libcurl: New value CURLSSLOPT_NO_REVOKE for CURLOPT_SSL_OPTIONS [9]
 o makefile: Added support for VC14
 o build: Added Visual Studio 2015 (VC14) project files
 o build: Added wolfSSL configurations to VC10+ project files [18]

This release includes the following bugfixes:

 o FTP: fix HTTP CONNECT logic regression [1]
 o openssl: Fix build with openssl < ~ 0.9.8f
 o openssl: fix build with BoringSSL
 o curl_easy_setopt.3: option order doesn't matter
 o openssl: fix use of uninitialized buffer [2]
 o RTSP: removed dead code
 o Makefile.m32: add support for CURL_LDFLAG_EXTRAS
 o curl: always provide negotiate/kerberos options
 o cookie: Fix bug in export if any-domain cookie is present
 o curl_easy_setopt.3: mention CURLOPT_PIPEWAIT
 o INSTALL: Advise use of non-native SSL for Windows <= XP
 o tool_help: fix --tlsv1 help text to use >= for TLSv1
 o HTTP: POSTFIELDSIZE set after added to multi handle [3]
 o SSL-PROBLEMS: mention WinSSL problems in WinXP
 o setup-vms.h: Symbol case fixups
 o SSL: Pinned public key hash support
 o libtest: call PR_Cleanup() on exit if NSPR is used
 o ntlm_wb: Fix theoretical memory leak
 o runtests: Allow for spaces in curl custom path
 o http2: add stream != NULL checks for reliability
 o schannel: Replace deprecated GetVersion with VerifyVersionInfo
 o http2: verify success of strchr() in http2_send()
 o configure: add --disable-rt option
 o openssl: work around MSVC warning
 o HTTP: ignore "Content-Encoding: compress"
 o configure: check if OpenSSL linking wants -ldl
 o build-openssl.bat: Show syntax if required args are missing
 o test1902: attempt to make the test more reliable
 o libcurl-thread.3: Consolidate thread safety info
 o maketgz: Fixed some VC makefiles missing from the release tarball
 o libcurl-multi.3: mention curl_multi_wait [10]
 o ABI doc: use secure URL
 o http: move HTTP/2 cleanup code off http_disconnect() [11]
 o libcurl-thread.3: Warn memory functions must be thread safe [12]
 o curl_global_init_mem.3: Warn threaded resolver needs thread safe funcs [13]
 o docs: formpost needs the full size at start of upload [14]
 o curl_gssapi: remove 'const' to fix compiler warnings
 o SSH: three state machine fixups [15]
 o libcurl.3: fix a single typo [16]
 o generate.bat: Only clean prerequisite files when in ALL mode
 o curl_slist_append.3: add error checking to the example
 o buildconf.bat: Added support for file clean-up via -clean
 o generate.bat: Use buildconf.bat for prerequisite file clean-up
 o NTLM: handle auth for only a single request [17]
 o curl_multi_remove_handle.3: fix formatting [19]
 o checksrc.bat: Fixed error when [directory] isn't a curl source directory
 o checksrc.bat: Fixed error when missing *.c and *.h files
 o CURLOPT_RESOLVE.3: Note removal support was added in 7.42 [20]
 o test46: update cookie expire time
 o SFTP: fix range request off-by-one in size check [21]
 o CMake: fix GSSAPI builds [22]
 o build: refer to fixed libidn versions [4]
 o http2: discard frames with no SessionHandle [23]
 o curl_easy_recv.3: fix formatting
 o libcurl-tutorial.3: fix formatting [24]
 o curl_formget.3: correct return code [25]
2015-08-17 15:43:27 +00:00
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
wiz
f0d764047f Update to 7.42.1:
Version 7.42.1 (28 Apr 2015)

Daniel Stenberg (28 Apr 2015)
- RELEASE-NOTES: 7.42.1 ready

- CURLOPT_HEADEROPT: default to separate

  Make the HTTP headers separated by default for improved security and
  reduced risk for information leakage.

  Bug: http://curl.haxx.se/docs/adv_20150429.html
  Reported-by: Yehezkel Horowitz, Oren Souroujon

- RELEASE-NOTES: synced with a6e0270e

- sws: init http2 state properly

  It would otherwise cause problems when running tests after 1801 etc.

- curl_easy_getinfo.3: document 'internals' in CURLINFO_TLS_SESSION

  ... as it was previouly undocumented what the pointer was.

- openssl: fix serial number output

  The code extracting the cert serial number was broken and didn't display
  it properly.

  Bug: https://github.com/bagder/curl/issues/235
  Reported-by: dkjjr89

- [Alessandro Ghedini brought this change]

  curl.1: fix typo

- RELEASE-NOTES: toward 7.42.1, synced with 097460a

- [Kamil Dudka brought this change]

  curl -z: do not write empty file on unmet condition

  This commit fixes a regression introduced in curl-7_41_0-186-g261a0fe.
  It also introduces a regression test 1424 based on tests 78 and 1423.

  Reported-by: Viktor Szakats
  Bug: https://github.com/bagder/curl/issues/237

- [Kamil Dudka brought this change]

  docs: distribute the CURLOPT_PINNEDPUBLICKEY(3) man page, too

- connectionexists: follow-up to fd9d3a1ef1f

  PROTOPT_CREDSPERREQUEST still needs to be checked even when NTLM is not
  enabled.

  Mistake-caught-by: Kamil Dudka

- connectionexists: fix build without NTLM

  Do not access NTLM-specific struct fields when built without NTLM
  enabled!

  bug: http://curl.haxx.se/?i=231
  Reported-by: Patrick Rapin

- dist: include {src,lib}/checksrc.whitelist
2015-05-03 10:11:55 +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
9bc49fed6b Update to 7.40.0. Disable gssapi by default on NetBSD, since it doesn't
compile any longer, see
https://sourceforge.net/p/curl/bugs/1469/

Changes:

Curl and libcurl 7.40.0

 Public curl releases:         143
 Command line options:         162
 curl_easy_setopt() options:   208
 Public functions in libcurl:  58
 Contributors:                 1219

This release includes the following changes:

 o http_digest: Added support for Windows SSPI based authentication
 o version info: Added Kerberos V5 to the supported features
 o Makefile: Added VC targets for WinIDN
 o config-win32: Introduce build targets for VS2012+
 o SSL: Add PEM format support for public key pinning
 o smtp: Added support for the conversion of Unix newlines during mail send [8]
 o smb: Added initial support for the SMB/CIFS protocol
 o Added support for HTTP over unix domain sockets, via
   CURLOPT_UNIX_SOCKET_PATH and --unix-socket
 o sasl: Added support for GSS-API based Kerberos V5 authentication

This release includes the following bugfixes:

 o darwinssl: fix session ID keys to only reuse identical sessions [18]
 o url-parsing: reject CRLFs within URLs [19]
 o OS400: Adjust specific support to last release
 o THANKS: Remove duplicate names
 o url.c: Fixed compilation warning
 o ssh: Fixed build on platforms where R_OK is not defined [1]
 o tool_strdup.c: include the tool strdup.h
 o build: Fixed Visual Studio project file generation of strdup.[c|h]
 o curl_easy_setopt.3: add CURLOPT_PINNEDPUBLICKEY [2]
 o curl.1: show zone index use in a URL
 o mk-ca-bundle.vbs: switch to new certdata.txt url
 o Makefile.dist: Added some missing SSPI configurations
 o build: Fixed no NTLM support for email when CURL_DISABLE_HTTP is defined
 o SSH: use the port number as well for known_known checks [3]
 o libssh2: detect features based on version, not configure checks
 o http2: Deal with HTTP/2 data inside Upgrade response header buffer [4]
 o multi: removed Curl_multi_set_easy_connection
 o symbol-scan.pl: do not require autotools
 o cmake: add ENABLE_THREADED_RESOLVER, rename ARES
 o cmake: build libhostname for test suite
 o cmake: fix HAVE_GETHOSTNAME definition
 o tests: fix libhostname visibility
 o tests: fix memleak in server/resolve.c
 o vtls.h: Fixed compiler warning when compiled without SSL
 o CMake: Restore order-dependent header checks
 o CMake: Restore order-dependent library checks
 o tool: Removed krb4 from the supported features
 o http2: Don't send Upgrade headers when we already do HTTP/2
 o examples: Don't call select() to sleep on windows [6]
 o win32: Updated some legacy APIs to use the newer extended versions [5]
 o easy.c: Fixed compilation warning when no verbose string support
 o connect.c: Fixed compilation warning when no verbose string support
 o build: in Makefile.m32 pass -F flag to windres
 o build: in Makefile.m32 add -m32 flag for 32bit
 o multi: when leaving for timeout, close accordingly
 o CMake: Simplify if() conditions on check result variables
 o build: in Makefile.m32 try to detect 64bit target
 o multi: inform about closed sockets before they are closed
 o multi-uv.c: close the file handle after download
 o examples: Wait recommended 100ms when no file descriptors are ready
 o ntlm: Split the SSPI based messaging code from the native messaging code
 o cmake: fix NTLM detection when CURL_DISABLE_HTTP defined
 o cmake: add Kerberos to the supported feature
 o CURLOPT_POSTFIELDS.3: mention the COPYPOSTFIELDS option
 o http: Disable pipelining for HTTP/2 and upgraded connections
 o ntlm: Fixed static'ness of local decode function
 o sasl: Reduced the need for two sets of NTLM messaging functions
 o multi.c: Fixed compilation warnings when no verbose string support
 o select.c: fix compilation for VxWorks [7]
 o multi-single.c: switch to use curl_multi_wait
 o curl_multi_wait.3: clarify numfds being used if not NULL
 o http.c: Fixed compilation warnings from features being disabled
 o NSS: enable the CAPATH option [9]
 o docs: Fix FAILONERROR typos
 o HTTP: don't abort connections with pending Negotiate authentication
 o HTTP: Free (proxy)userpwd for NTLM/Negotiate after sending a request
 o http_perhapsrewind: don't abort CONNECT requests
 o build: updated dependencies in makefiles
 o multi.c: Fixed compilation warning
 o ftp.c: Fixed compilation warnings when proxy support disabled
 o get_url_file_name: Fixed crash on OOM on debug build
 o cookie.c: Refactored cleanup code to simplify
 o OS400: enable NTLM authentication
 o ntlm: Use Windows Crypt API
 o http2: avoid logging neg "failure" if h2 was not requested
 o schannel_recv: return the correct code [10]
 o VC build: added sspi define for winssl-zlib builds
 o Curl_client_write(): chop long data, convert data only once
 o openldap: do not ignore Curl_client_write() return code
 o ldap: check Curl_client_write() return codes
 o parsedate.c: Fixed compilation warning
 o url.c: Fixed compilation warning when USE_NTLM is not defined
 o ntlm_wb_response: fix "statement not reached" [11]
 o telnet: fix "cast increases required alignment of target type"
 o smtp: Fixed dot stuffing when EOL characters at end of input buffers [12]
 o ntlm: Allow NTLM2Session messages when USE_NTRESPONSES manually defined
 o ntlm: Disable NTLM v2 when 64-bit integers are not supported
 o ntlm: Use short integer when decoding 16-bit values
 o ftp.c: Fixed compilation warning when no verbose string support
 o synctime.c: fixed timeserver URLs
 o mk-ca-bundle.pl: restored forced run again
 o ntlm: Fixed return code for bad type-2 Target Info
 o curl_schannel.c: Data may be available before connection shutdown
 o curl_schannel: Improvements to memory re-allocation strategy [13]
 o darwinssl: aprintf() to allocate the session key
 o tool_util.c: Use GetTickCount64 if it is available
 o lib: Fixed multiple code analysis warnings if SAL are available
 o tool_binmode.c: Explicitly ignore the return code of setmode
 o tool_urlglob.c: Silence warning C6293: Ill-defined for-loop
 o opts: Warn CURLOPT_TIMEOUT overrides when set after CURLOPT_TIMEOUT_MS
 o SFTP: work-around servers that return zero size on STAT [14]
 o connect: singleipconnect(): properly try other address families after failure
 o IPV6: address scope != scope id [15]
 o parseurlandfillconn(): fix improper non-numeric scope_id stripping [16]
 o secureserver.pl: make OpenSSL CApath and cert absolute path values
 o secureserver.pl: update Windows detection and fix path conversion
 o secureserver.pl: clean up formatting of config and fix verbose output
 o tests: Added Windows support using Cygwin-based OpenSSH
 o sockfilt.c: use non-Ex functions that are available before WinXP
 o VMS: Updates for 0740-0D1220
 o openssl: warn for SRP set if SSLv3 is used, not for TLS version
 o openssl: make it compile against openssl 1.1.0-DEV master branch
 o openssl: fix SSL/TLS versions in verbose output
 o curl: show size of inhibited data when using -v
 o build: Removed WIN32 definition from the Visual Studio projects
 o build: Removed WIN64 definition from the libcurl Visual Studio projects
 o vtls: Use bool for Curl_ssl_getsessionid() return type
 o sockfilt.c: Replace 100ms sleep with thread throttle
 o sockfilt.c: Reduce the number of individual memory allocations
 o vtls: Don't set cert info count until memory allocation is successful
 o nss: Don't ignore Curl_ssl_init_certinfo() OOM failure
 o nss: Don't ignore Curl_extract_certinfo() OOM failure
 o vtls: Fixed compilation warning and an ignored return code
 o sockfilt.c: Fixed compilation warnings
 o darwinssl: Fixed compilation warning
 o vtls: Use '(void) arg' for unused parameters
 o sepheaders.c: Fixed resource leak on failure
 o lib1900.c: Fixed cppcheck error [17]
 o ldap: Fixed Unicode connection details in Win32 initialsation / bind calls
 o ldap: Fixed Unicode DN, attributes and filter in Win32 search calls
2015-01-08 17:23:07 +00:00
adam
8764082597 Changes 7.39.0:
* SSLv3 is disabled by default
* CURLOPT_COOKIELIST: Added "RELOAD" command [5]
* build: Added WinIDN build configuration options to Visual Studio projects
* ssh: improve key file search
* SSL: public key pinning. Use CURLOPT_PINNEDPUBLICKEY and --pinnedpubkey
* vtls: remove QsoSSL support, use gskit!
* mk-ca-bundle: added SHA-384 signature algorithm
* docs: added many examples for libcurl opts and other doc improvements
* build: Added VC ssh2 target to main Makefile
* MinGW: Added support to build with nghttp2
* NetWare: Added support to build with nghttp2
* build: added Watcom support to build with WinSSL
* build: Added optional specific version generation of VC project files

Bugfixes:
* curl_easy_duphandle: CURLOPT_COPYPOSTFIELDS read out of bounds [9]
* openssl: build fix for versions < 0.9.8e [1]
* newlines: fix mixed newlines to LF-only [2]
* ntlm: Fixed HTTP proxy authentication when using Windows SSPI [3]
* sasl_sspi: Fixed Unicode build [4]
* file: reject paths using embedded %00
* threaded-resolver: revert Curl_expire_latest() switch [6]
* configure: allow --with-ca-path with PolarSSL too
* HTTP/2: Fix busy loop when EOF is encountered
* CURLOPT_CAPATH: return failure if set without backend support
* nss: do not fail if a CRL is already cached
* smtp: Fixed intermittent "SSL3_WRITE_PENDING: bad write retry" error
* fixed 20+ nits/memory leaks identified by Coverity scans
* curl_schannel.c: Fixed possible memory or handle leak
* multi-uv.c: call curl_multi_info_read() better
* Cmake: Check for OpenSSL before OpenLDAP
* Cmake: Fix library list provided to cURL tests
* Cmake: Avoid cycle directory dependencies
* Cmake: Build with GSS-API libraries (MIT or Heimdal)
* vtls: provide backend defines for internal source code
* nss: fix a connection failure when FTPS handle is reused
* tests/http_pipe.py: Python 3 support
* cmake: build tool_hugehelp (ENABLE_MANUAL)
* cmake: enable IPv6 by default if available
* tests: move TESTCASES to Makefile.inc, add show for cmake
* ntlm: Avoid unnecessary buffer allocation for SSPI based type-2 token
* ntlm: Fixed empty/bad base-64 decoded buffer return codes
* ntlm: Fixed empty type-2 decoded message info text
* cmake: add CMake/Macros.cmake to the release tarball
* cmake: add SUPPORT_FEATURES and SUPPORT_PROTOCOLS
* cmake: use LIBCURL_VERSION from curlver.h
* cmake: generate pkg-config and curl-config
* fixed several superfluous variable assignements identified by cppcheck
* cleanup of 'CURLcode result' return code
* pipelining: only output "is not blacklisted" in debug builds
* SSL: Remove SSLv3 from SSL default due to POODLE attack
* gskit.c: remove SSLv3 from SSL default
* darwinssl: detect possible future removal of SSLv3 from the framework
* ntlm: Only define ntlm data structure when USE_NTLM is defined
* ntlm: Return CURLcode from Curl_ntlm_core_mk_lm_hash()
* ntlm: Return all errors from Curl_ntlm_core_mk_nt_hash()
* sspi: Only call CompleteAuthToken() when complete is needed
* http_negotiate: Fixed missing check for USE_SPNEGO
* HTTP: return larger than 3 digit response codes too [7]
* openssl: Check for NPN / ALPN via OpenSSL version number
* openssl: enable NPN separately from ALPN
* sasl_sspi: Allow DIGEST-MD5 to use current windows credentials
* sspi: Return CURLE_LOGIN_DENIED on AcquireCredentialsHandle() failure
* resume: consider a resume from [content-length] to be OK [8]
* sasl: Fixed Kerberos V5 inclusion when CURL_DISABLE_CRYPTO_AUTH is used
* build-openssl.bat: Fix x64 release build
* cmake: drop _BSD_SOURCE macro usage
* cmake: fix gethostby{addr,name}_r in CurlTests
* cmake: clean OtherTests, fixing -Werror
* cmake: fix struct sockaddr_storage check
* Curl_single_getsock: fix hold/pause sock handling
* SSL: PolarSSL default min SSL version TLS 1.0
* cmake: fix ZLIB_INCLUDE_DIRS use [10]
* buildconf: stop checking for libtool
2014-11-07 14:10:16 +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
adam
1b2c1b0a02 Changes 7.34.0:
SSL: protocol version can be specified more precisely
imap/pop3/smtp: Added graceful cancellation of SASL authentication
Add "Happy Eyeballs" for IPv4/IPv6 dual connect attempts
base64: Added validation of base64 input strings when decoding
curl_easy_setopt: Added the ability to set the login options separately
smtp: Added support for additional SMTP commands
curl_easy_getinfo: Added CURLINFO_TLS_SESSION for accessing TLS internals
nss: allow to use TLS > 1.0 if built against recent NSS
SECURITY: added this document to describe our security processes
parseconfig: warn if unquoted white spaces are detected

Bugfixes:
SECURITY VULNERABILITY: libcurl cert name check ignore with GnuTLS
darwinssl: un-break iOS build after PKCS/12 feature added
tool: use XFERFUNCTION to save some casts
usercertinmem: fix memory leaks
ssh: Handle successful SSH_USERAUTH_NONE
NSS: acknowledge the --no-sessionid/CURLOPT_SSL_SESSIONID_CACHE option
test906: Fixed failing test on some platforms
sasl: initialize NSS before using NTLM crypto
sasl: Fixed memory leak in OAUTH2 message creation
imap/pop3/smtp: Fixed QUIT / LOGOUT being sent when SSL connect fails
cmake: unbreak for non-Windows platforms
ssh: initialize per-handle data in ssh_connect()
glob: fix broken URLs
configure: check for long long when building with cyassl
CURLOPT_RESOLVE: mention they don't time-out
docs/examples/httpput.c: fix build for MSVC
FTP: make the data connection work when going through proxy
NSS: support for CERTINFO feature
curl_multi_wait: accept 0 from multi_timeout() as valid timeout
glob_range: pass the closing bracket for a-z ranges
tool_help: Updated --list-only description to include POP3
Curl_ssl_push_certinfo_len: don't %.*s non-zero-terminated string
cmake: fix Windows build with IPv6 support
ares: Fixed compilation under Visual Studio 2012
curl_easy_setopt.3: clarify CURLOPT_SSL_VERIFYHOST documentation
curl.1: mention that -O does no URL decoding
darwinssl: PKCS/12 import feature now requires Lion or later
darwinssl: check for SSLSetSessionOption() presence when toggling BEAST
configure: Fix test with -Werror=implicit-function-declaration
sigpipe: factor out sigpipe_reset from easy.c
curl_multi_cleanup: ignore SIGPIPE
globbing: curl glob counter mismatch with {} list use
parseconfig: dash options can't specified with colon or equals
digest: fix CURLAUTH_DIGEST_IE
curl.h: for OpenBSD
darwinssl: Fix #if 10.6.0 for SecKeychainSearch
TFTP: fix return codes for connect timeout
login options: remove the ;[options] support from CURLOPT_USERPWD
imap: Fixed incorrect fallback to clear text authentication
parsedate: avoid integer overflow
curl.1: document -J doesn't %-decode
multi: add timer inaccuracy margin to timeout/connecttimeout
2013-12-31 11:48:03 +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
adam
b06478f678 Changes 7.32.0:
curl: allow timeouts to accept decimal values
OS400: add slist and certinfo EBCDIC support
OS400: new SSL backend GSKit
CURLOPT_XFERINFOFUNCTION: introducing a new progress callback
LIBCURL-STRUCTS: new document

Bugfixes:
dotdot: introducing dot file path cleanup
docs: fix typo in curl_easy_getinfo manpage
test1230: avoid using hard-wired port number
test1396: invoke the correct test tool
SIGPIPE: ignored while inside the library
darwinssl: fix crash that started happening in Lion
OpenSSL: check for read errors, don't assume
c-ares: improve error message on failed resolve
printf: make sure %x are treated unsigned
formpost: better random boundaries
url: restore the functionality of 'curl -u :'
curl.1: fix typo in --xattr description
digest: improve nonce generation
configure: automake 1.14 compatibility tweak
curl.1: document the --post303 option in the man page
curl.1: document the --sasl-ir option in the man page
setup-vms.h: sk_pop symbol tweak
tool_paramhlp: try harder to catch negatives
cmake: Fix for MSVC2010 project generation
asyn-ares: Don't blank ares servers if none configured
curl_multi_wait: set revents for extra fds
Reinstate "WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup()
ftp_do_more: consider DO_MORE complete when server connects back
curl_easy_perform: gradually increase the delay time
curl: fix symbolic names for CURLUSESSL_* enum in --libcurl output
curl: fix upload of a zip file in OpenVMS
build: fix linking on Solaris 10
curl_formadd: CURLFORM_FILECONTENT wrongly rejected some option combos
curl_formadd: fix file upload on VMS
curl_easy_pause: on unpause, trigger mulit-socket handling
md5 & metalink: use better build macros on Apple operating systems
darwinssl: fix build error in crypto authentication under Snow Leopard
curl: make --progress-bar update the line less frequently
configure: don't error out on variable confusions (CFLAGS, LDFLAGS etc)
mk-ca-bundle: skip more untrusted certificates
formadd: wrong pointer for file name when CURLFORM_BUFFERPTR used
FTP: when EPSV gets a 229 but fails to connect, retry with PASV
mk-ca-bundle.1: don't install on make install
VMS: lots of updates and fixes of the build procedure
global dns cache: didn't work (regression)
global dns cache: fix memory leak
2013-08-13 17:07:32 +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
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
adam
77251af11b Changes 7.28.1:
This release includes the following changes:
 o metalink/md5: Use CommonCrypto on Apple operating systems
 o href_extractor: new example code extracting href elements
 o NSS can be used for metalink hashing [13]

This release includes the following bugfixes:
 o Fix broken libmetalink-aware OpenSSL build
 o gnutls: fix the error is fatal logic [1]
 o darwinssl: un-broke iOS build, fix error on server disconnect
 o asyn-ares: restore functionality with c-ares < 1.6.1 [2]
 o tlsauthtype: deal with the string case insensitively [3]
 o Fixed MSVC libssh2 static build
 o evhiperfifo: fix the pointer passed to WRITEDATA [6]
 o BUGS: fix the bug tracker URL [4]
 o winbuild: Use machine type of development environment
 o FTP: prevent the multi interface from blocking [5]
 o uniformly use AM_CPPFLAGS, avoid deprecated INCLUDES
 o httpcustomheader.c: free the headers after use
 o fix >2000 bytes POST over NTLM-using proxy [7]
 o redirects to URLs with fragments [8]
 o don't send '#' fragments when using proxy [9]
 o OpenSSL: show full issuer string [10]
 o fix HTTP auth regression [11]
 o CURLOPT_SSL_VERIFYHOST: stop supporting the 1 value [12]
 o ftp: EPSV-disable fix over SOCKS [14]
 o Digest: Add microseconds into nounce calculation [15]
 o SCP/SFTP: improve error code used for send failures
 o SSL: Several SSL-backend related fixes
 o removed the notorious "additional stuff not fine" debug output
 o OpenSSL: Disable SSL/TLS compression - avoid the "CRIME" attack
 o FILE: Make upload-writes unbuffered
 o custom memory callbacks failure with HTTP proxy (and more) [16]
 o TFTP: handle resends
 o autoconf: don't force-disable compiler debug option
 o winbuild: Fix PDB file output [17]
 o test2032: spurious failure caused by premature termination [18]
 o memory leak: CURLOPT_RESOLVE with multi interface [19]
2012-12-06 16:24:29 +00:00
adam
48b244754b Changes 7.28.0:
SSH: added agent based authentication
ftp: active conn, allow application to set sockopt after accept() call with CURLSOCKTYPE_ACCEPT
multi: add curl_multi_wait()
metalink: Added support for Microsoft Windows CryptoAPI
md5: Added support for Microsoft Windows CryptoAPI
parse_proxy: treat "socks://x" as a socks4 proxy
socks: Added support for IPv6 connections through SOCKSv5 proxy
Bugfixes:

WSAPoll disabled on Windows builds due to its bugs
segfault on request retries
curl-config: parentheses fix
VC build: add define for openssl
globbing: fix segfault when >9 globs were used
fixed a few clang-analyzer warnings
metalink: change code order to build with gnutls-nettle
gtls: fix build failure by including nettle-specific headers
change preferred HTTP auth on a handle previously used for another auth
file: use fdopen() to avoid race condition
Added DWANT_IDN_PROTOTYPES define for MSVC too
verbose: fixed (nil) output of hostnames in re-used connections
metalink: Un-broke the build when building --with-darwinssl
curl man page cleanup
Avoid leak of local device string when reusing connection
Curl_socket_check: fix return code for timeout
nss: do not print misleading NSS error codes
configure: remove the --enable/disable-nonblocking options
darwinssl: add TLS 1.1 and 1.2 support, replace deprecated functions
NTLM: re-use existing connection better
schannel crash on multi and easy handle cleanup
SOCKS: truly disable it if CURL_DISABLE_PROXY is defined
mk-ca-bundle: detect start of trust section better
gnutls: do not fail on non-fatal handshake errors
SMTP: only send SIZE if supported
ftpserver: respond with a 250 to SMTP EHLO
ssh: do not crash if MD5 fingerprint is not provided by libssh2
winbuild: Added support for building with SPNEGO enabled
metalink: Fixed validation of binary files containing EOF
setup.h: fixed for MS VC10 build
cmake: use standard findxxx modules for cmake v2.8+
HTTP_ONLY: disable more protocols
Curl_reconnect_request: clear pointer on failure
https.c example: remember to call curl_global_init()
metalink: Filter resource URLs by type
multi interface: CURLOPT_LOW_SPEED_* fix during rate limitation
curl_schannel: Removed buffer limit and optimized buffer strategy
2012-10-12 07:36:11 +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
wiz
8f2d712ebc Update to 7.23.1:
Fixed in 7.23.1 - November 17 2011

Bugfixes:

    Windows: curl would fail if it found no CA cert, unless -k was used. Even if a non-SSL protocol URL was used

Fixed in 7.23.0 - November 15 2011

Changes:

    Empty headers can be sent in HTTP requests by terminating with a semicolon
    SSL session sharing support added to curl_share_setopt()
    Added support to MAIL FROM for the optional SIZE parameter
    smtp: Added support for NTLM authentication
    curl tool: code split into tool_*.[ch] files

Bugfixes:

    handle HTTP redirects to "//hostname/path"
    SMTP without --mail-from caused segfault
    prevent extra progress meter headers between multiple files
    allow Content-Length to be replaced when sending HTTP requests
    curl now always sets postfieldsize to allow --data-binary and --data to be mixed in the same command line
    curl_multi_fdset: avoid FD_SET out of bounds
    lots of MinGW build tweaks
    Curl_gethostname: return un-qualified machine name
    fixed the openssl version number configure check
    nss: certificates from files are no longer looked up by file base names
    returning abort from the progress function when using the multi interface would not properly cancel the transfer and close the connection
    fix libcurl.m4 to not fail with modern gcc versions
    ftp: improved the failed PORT host name resolved error message
    TFTP timeout and unexpected block adjustments
    HTTP and GOPHER test server-side connection closing adjustments
    fix endless loop upon transport connection timeout
    don't clobber errno on failed connect
    typecheck: allow NULL to unset CURLOPT_ERRORBUFFER
    formdata: ack read callback abort
    make --show-error properly position independent
    set the ipv6-connection boolean correctly on connect
    SMTP: fix end-of-body string escaping
    gtls: only call gnutls_transport_set_lowat with HTTP: handle multiple auths in a single WWW-Authenticate line
    curl_multi_fdset: correct fdset with FTP PORT use
    windbuild: fix the static build
    fix builds with GnuTLS version 3
    fix calling of OpenSSL's ERR_remove_state(0)
    HTTP auth: fix proxy Negotiate bug when Negotiate not requested
    ftp PORT: don't hang if bind() fails
    -# would crash on terminals wider than 256 columns

Fixed in 7.22.0 - September 13 2011

Changes:

    Added CURLOPT_GSSAPI_DELEGATION
    Added support for NTLM delegation to Samba's winbind daemon helper ntlm_auth
    Display notes from setup file in testcurl.pl
    BSD-style lwIP TCP/IP stack experimental support on Windows
    OpenSSL: Use SSL_MODE_RELEASE_BUFFERS if available
    --delegation was added to set CURLOPT_GSSAPI_DELEGATION
    nss: start with no database if the selected database is broken
    telnet: allow programatic use on Windows

Bugfixes:

    curl_getdate: detect some illegal dates better
    when sending a request and an error is received before the (entire) request body is sent, stop sending the request and close the connection after having received the entire response. This is equally true if an Expect: 100-continue header was used.
    When using both -J and a single -O with multiple URLs, a missing init could cause a segfault
    -J fixed for escaped quotes
    -J fixed for file names with semicolons
    progress: reset flags at transfer start to avoid wrong CURLINFO_CONTENT_LENGTH_DOWNLOAD
    curl_gssapi: Guard files with HAVE_GSSAPI and rename private header
    silence picky compilers: mark unused parameters
    help output: more gnu like output
    libtests: stop checking for CURLM_CALL_MULTI_PERFORM
    setting a non-HTTP proxy with an environment variable or with CURLOPT_PROXY / --proxy (without specifying CURLOPT_PROXYTYPE) would still make it do proxy-like HTTP requests
    CURLFORM_BUFFER: insert filename as documented (regression)
    SOCKS: fix the connect timeout
    ftp_doing: bail out on error properly while multi interfacing
    improved Content-Encoded decoding error message
    asyn-thread: check for dotted addresses before thread starts
    cmake: find winsock when building on windows
    Curl_retry_request: check return code
    cookies: handle 'secure=' as if it was 'secure'
    tests: break busy loops in tests 502, 555, and 573
    FTP: fix proxy connect race condition with multi interface and SOCKS proxy
    RTSP: GET_PARAMETER requests have a body
    fixed several memory leaks in OOM situations
    bad expire(0) caused multi_socket API to hang
    Avoid ftruncate() static define with mingw64
    mk-ca-bundle.pl: ignore untrusted certs
    builds with PolarSSL 1.0.0
2011-11-30 20:56:08 +00:00
obache
5954124ba2 Update curl 7.21.7.
This release includes the following changes:

 o recognize the [protocol]:// prefix in proxy hosts where the protocol is one
   of socks4, socks4a, socks5 or socks5h.
 o Added CURLOPT_CLOSESOCKETFUNCTION and CURLOPT_CLOSESOCKETDATA

This release includes the following bugfixes:

 o SECURITY ADVISORY: inappropriate GSSAPI delegation. Full details at
   http://curl.haxx.se/docs/adv_20110623.html
 o NTLM: work with unicode
 o fix connect with SOCKS proxy when using the multi interface
 o anyauthput.c: stdint.h must not be included unconditionally
 o CMake: improved build
 o SCP/SFTP enable non-blocking earlier
 o GnuTLS handshake: fix timeout
 o cyassl: build without filesystem
 o HTTPS over HTTP proxy using the multi interface
 o speedcheck: invalid timeout event on a reused handle
 o Force connection close for HTTP 200 OK when time condition matched
 o curl_formget: fix FILE * leak
 o configure: improved OpenSSL detection
 o Android build: support gingerbread
 o CURLFORM_STREAM: acknowledge CURLFORM_FILENAME
 o windows build: use correct MS CRT
 o pop3: remove extra space in LIST command
2011-06-28 10:11:08 +00:00
asau
738755672a Update to curl 7.21.4
This release includes the following changes:

 o CURLINFO_FTP_ENTRY_PATH now supports SFTP
 o introduced new framework for unit-testing
 o IDN: use win32 API if told to
 o ares: ask for both IPv4 and IPv6 addresses
 o HTTP: do Negotiate authentication using SSPI on windows
 o Windows build: alternative makefile
 o TLS-SRP: support added when using GnuTLS

This release includes the following bugfixes:

 o SMTP: add brackets for MAIL FROM
 o ossl_seed: no more RAND_screen (on Windows)
 o multi: connect fail => use next IP address
 o use the timeout when using multiple IP addresses similar to how
   the easy interface does it
 o cookies: tricked dotcounter fixed
 o pubkey_show: allocate buffer to fit any-size result
 o Curl_nss_connect: avoid PATH_MAX
 o Curl_do: avoid using stale conn pointer
 o tftpd test server: avoid buffer overflow report from glibc
 o nss: avoid CURLE_OUT_OF_MEMORY given a file name without any slash
 o nss: fix a bug in handling of CURLOPT_CAPATH
 o CMake: Use upstream CheckTypeSize module
 o OpenSSL get_cert_chain: support larger data sets
 o SCP/SFTP transfers: acknowledge speedcheck
 o GnuTLS builds: fix memory leak
 o connect problem: use UDP correctly
 o Borland C++ makefile tweaks
 o OpenSSL: improved error message on SSL_CTX_new failures
 o HTTP: memory leak on multiple Location:
 o ares_query_completed_cb: don't touch invalid data
 o ares: memory leak fix
 o mk-ca-bundle: use new cacert url
 o Curl_gmtime: added a portable gmtime and check for NULL
 o curl.1: typo in -v description
 o CURLOPT_SOCKOPTFUNCTION: return proper error code
 o --keepalive-time: warn if not supported properly
 o file: add support for CURLOPT_TIMECONDITION
 o nss: avoid memory leaks and failure of NSS shutdown
 o multi: fix CURLM_STATE_TOOFAST for multi_socket
2011-03-09 19:22:24 +00:00
wiz
c037af24e3 Update to 7.21.3:
Changes:

    * Added --noconfigure switch to testcurl.pl
    * Added --xattr option
    * Added CURLOPT_RESOLVE and --resolve
    * Added CURLAUTH_ONLY
    * Added version-check.pl to the examples dir

Bugfixes:

    * check for libcurl features for some command line options
    * Curl_setopt: disallow CURLOPT_USE_SSL without SSL support
    * http_chunks: remove debug output
    * URL-parsing: consider ? a divider
    * SSH: avoid using the libssh2_ prefix
    * SSH: use libssh2_session_handshake() to work on win64
    * ftp: prevent server from hanging on closed data connection
      when stopping a transfer before the end of the full transfer
      (ranges)
    * LDAP: detect non-binary attributes properly
    * ftp: treat server's response 421 as CURLE_OPERATION_TIMEDOUT
    * gnutls->handshake: improved timeout handling
    * security: Pass the right parameter to init
    * krb5: Use GSS_ERROR to check for error
    * TFTP: resend the correct data
    * configure: fix autoconf 2.68 warning: no AC_LANG_SOURCE call detected
    * GnuTLS: now detects socket errors on Windows
    * symbols-in-versions: updated en masse
    * added a couple examples that were missing from the tar ball
    * Curl_send/recv_plain: return errno on failure
    * Curl_wait_for_resolv (for c-ares): correct timeout
    * ossl_connect_common: detect connection re-use
    * configure: Prevent link errors with --librtmp
    * openldap: use remote port in URL passed to ldap_init_fd()
    * url: provide dead_connection flag in Curl_handler::disconnect
    * lots of compiler warning fixes
    * ssh: fix a download resume point calculation
    * fix getinfo CURLINFO_LOCAL* for reused connections
    * multi: the returned running handles conuter could turn negative
    * multi: only ever consider pipelining for connections doing HTTP(S)
2010-12-23 00:23:56 +00:00
drochner
6322fb72cb update to 7.21.1
changes: bugfixes
2010-08-15 11:14:36 +00:00
drochner
e154e93412 update to 7.19.7
changes:
--T. is now for non-blocking uploading from stdin
-SYST handling on FTP for OS/400 FTP server cases
-libcurl refuses to read a single HTTP header longer than 100K
-added the --crlfile option to curl
+bugfices
2009-11-15 20:09:48 +00:00
joerg
e031855e4a Convert @exec/@unexec to @pkgdir or drop it. 2009-06-14 22:00:14 +00:00
wiz
fc919ec705 Update to 7.19.5:
Version 7.19.5 (18 May 2009)

Daniel Stenberg (17 May 2009)
- James Bursa posted a patch to the mailing list that fixed a problem with
  no_proxy which made it not skip the proxy if the URL entered contained a
  user name. I added test case 1101 to verify.

Daniel Stenberg (11 May 2009)
- Balint Szilakszi reported a memory leak when libcurl did gzip decompression
  of streams that had some parts (legitimately) missing. We now provide and use
  a proper cleanup function for the content encoding submodule.
  http://curl.haxx.se/mail/lib-2009-05/0092.html

- Kamil Dudka provided a fix for libcurl-NSS reported by Michael Cronenworth
  at https://bugzilla.redhat.com/show_bug.cgi?id=453612#c12

  If an incorrect password is given while loading a private key, libcurl ends
  up in an infinite loop consuming memory. The bug is critical.

- I fixed the problem with doing NTLM, POST and then following a 302 redirect,
  as reported by Ebenezer Ikonne (on curl-users) and Laurent Rabret (on
  curl-library). The transfer was mistakenly marked to get more data to send
  but since it didn't actually have that, it just hung there...

Daniel Stenberg (10 May 2009)
- Andre Guibert de Bruet correctly pointed out an over-alloc with one wasted
  byte in the digest code.

Yang Tse (9 May 2009)
- Removed DOS and TPF package's subdirectory Makefile.am, it was only used
  to include some files in the distribution tarball serving no other purpose.
  Files from the DOS and TPF subdirectories are now included in the EXTRA_DIST
  of the Makefile in the parent subdirectory.

Yang Tse (8 May 2009)
- Changed host name literal in several tests to one under the haxx.se domain.

- Renamed vc6 workspace and project files to avoid filename clash when used
  for conversion to later VS versions.

Daniel Stenberg (8 May 2009)
- Constantine Sapuntzakis fixed bug report #2784055
  (http://curl.haxx.se/bug/view.cgi?id=2784055) identifying a problem to
  connect to SOCKS proxies when using the multi interface. It turned out to
  almost not work at all previously. We need to wait for the TCP connect to
  be properly verified before doing the SOCKS magic.

  There's still a flaw in the FTP code for this.

Daniel Stenberg (7 May 2009)
- Made the SO_SNDBUF setting for the data connection socket for ftp uploads as
  well. See change 28 Apr 2009.

Yang Tse (7 May 2009)
- Fixed an issue affecting FTP transfers, introduced with the transfer.c
  patch committed May 4.

Daniel Stenberg (7 May 2009)
- Man page *roff problems fixed thanks to input from Colin Watson. Problems
  reported in the Debian package.

- Vijay G filed bug report #2723236
  (http://curl.haxx.se/bug/view.cgi?id=2723236) identifying a problem with
  libcurl's TFTP code and its lack of dealing with the OACK packet.

Yang Tse (5 May 2009)
- Fixed the --ftp-port address of test #251 to the CLIENTIP address, and
  reverted the change affecting test suite harness committed 4 May.

Daniel Stenberg (5 May 2009)
- Inspired by Michael Smith's session id fix for OpenSSL, I did the
  corresponding fix in the GnuTLS code: make sure to store the new session id
  in case the previous re-used one is rejected.

Daniel Stenberg (4 May 2009)
- Michael Smith posted bug report #2786255
  (http://curl.haxx.se/bug/view.cgi?id=2786255) with a patch, identifying how
  libcurl did not deal with SSL session ids properly if the server rejected a
  re-use of one. Starting now, it will forget the rejected one and remember
  the new. This change was for OpenSSL only, it is likely that other SSL lib
  code needs similar fixes.

Yang Tse (4 May 2009)
- Applied David McCreedy's "transfer.c fixes for CURL_DO_LINEEND_CONV and
  non-ASCII platform HTTP requests" patch addressing two HTTP PUT problems:
  1) On non-ASCII platforms not all of the protocol portions of the PUT are
  being translated to ASCII.  2) On all platforms the line endings of part of
  the protocol portions are mangled from CRLF to CRCRLF if data->set.crlf or
  data->set.prefer_ascii are set (depending on CURL_DO_LINEEND_CONV).

- Applied David McCreedy's patch to fix test suite harness to allow test FTP
  server and client on different machines, providing FTP client address when
  running the FTP test server.

Daniel Fandrich (3 May 2009)
- Added and disabled test case 563 which shows KNOWN_BUGS #59.  The bug
  report failed to mention that a proxy must be used to reproduce it.

Yang Tse (2 May 2009)
- Use a build-time configured curl_socklen_t data type instead of socklen_t.

Yang Tse (1 May 2009)
- Applied David McCreedy's patches "TPF-platform specific changes to various
  files" and "http.c fix to Curl_proxyCONNECT for non-ASCII platforms", the
  former with minor edits.

Daniel Stenberg (30 Apr 2009)
- I was going to fix issue #59 in KNOWN_BUGS

  If the CURLOPT_PORT option is used on an FTP URL like
  "ftp://example.com/file;type=A" the ";type=A" is stripped off.

  I added test case 562 to verify, only to find out that I couldn't repeat
  this bug so I hereby consider it not a bug anymore!

Daniel Stenberg (29 Apr 2009)
- Based on bug report #2723219 (http://curl.haxx.se/bug/view.cgi?id=2723219)
  I've now made TFTP "connections" not being kept for re-use within libcurl.
  TFTP is UDP-based so the benefit was really low (if even existing) to begin
  with so instead of tracking down to fix this problem we instead removed the
  re-use. I also enabled test case 1099 that I wrote a few days ago to verify
  that this change fixes the reported problem.

Daniel Stenberg (28 Apr 2009)
- Constantine Sapuntzakis filed bug report #2783090
  (http://curl.haxx.se/bug/view.cgi?id=2783090) pointing out that on windows
  we need to grow the SO_SNDBUF buffer somewhat to get really good upload
  speeds. http://support.microsoft.com/kb/823764 has the details. Friends
  confirmed that simply adding 32 to CURL_MAX_WRITE_SIZE is enough.

- Bug report #2709004 (http://curl.haxx.se/bug/view.cgi?id=2709004) by Tim
  Chen pointed out how curl couldn't upload with resume when reading from a
  pipe.

  This ended up with the introduction of a new return code for the
  CURLOPT_SEEKFUNCTION callback that basically says that the seek failed but
  that libcurl may try to resolve the situation anyway. In our case this means
  libcurl will attempt to instead read that much data from the stream instead
  of seeking and that way curl can now upload with resume when data is read
  from a stream!

Daniel Stenberg (26 Apr 2009)
- Bug report #2779733 (http://curl.haxx.se/bug/view.cgi?id=2779733) by Sven
  Wegener pointed out that CURLINFO_APPCONNECT_TIME didn't work with the multi
  interface and provided a patch that fixed the problem!

Daniel Stenberg (24 Apr 2009)
- Kamil Dudka fixed another NSS-related leak when client certs were used.

- Bug report #2779245 (http://curl.haxx.se/bug/view.cgi?id=2779245) by Rainer
  Koenig pointed out that the man page didn't tell that the *_proxy
  environment variables can be specified lower case or UPPER CASE and the
  lower case takes precedence,

Daniel Fandrich (21 Apr 2009)
- Added new libcurl source files to Amiga, RiscOS and VC6 build files.

Yang Tse (21 Apr 2009)
- Moved potential inclusion of system's malloc.h and memory.h header files to
  setup_once.h.  Inclusion of each header file is based on the definition of
  NEED_MALLOC_H and NEED_MEMORY_H respectively.

  Renamed libcurl's memory.h to curl_memory.h

Daniel Stenberg (20 Apr 2009)
- Leanic Lefever reported a crash and did some detailed research on why and
  how it occurs (http://curl.haxx.se/mail/lib-2009-04/0289.html). The
  conclusion was that if an error is detected and Curl_done() is called for
  the connection, ftp_done() could at times return another error code that
  then would take precedence and that new code confused existing logic that
  works for the first error code (CURLE_SEND_ERROR) only.

- Gisle Vanem noticed that --libtool would produce bogus strings at times for
  OBJECTPOINT options. Now we've introduced a new function - my_setopt_str -
  within the app for setting plain string options to avoid the risk of this
  mistake happening.

Daniel Stenberg (17 Apr 2009)
- Pramod Sharma reported and tracked down a bug when doing FTP over a HTTP
  proxy. libcurl would then wrongly close the connection after each
  request. In his case it had the weird side-effect that it killed NTLM auth
  for the proxy causing an inifinite loop!

  I added test case 1098 to verify this fix. The test case does however not
  properly verify that the transfers are done persistently - as I couldn't
  think of a clever way to achieve it right now - but you need to read the
  stderr output after a test run to see that it truly did the right thing.

Daniel Stenberg (13 Apr 2009)
- bug report #2727981 (http://curl.haxx.se/bug/view.cgi?id=2727981) by Martin
  Storsj
  confusing as it set the method to either GET or HEAD. The example he showed
  looked like:

   curl_easy_setopt(curl, CURLOPT_PUT, 1);
   curl_easy_setopt(curl, CURLOPT_NOBODY, 0);

  The new way doesn't alter the method until the request is about to start. If
  CURLOPT_NOBODY is then 1 the HTTP request will be HEAD. If CURLOPT_NOBODY is
  0 and the request happens to have been set to HEAD, it will then instead be
  set to GET. I believe this will be less surprising to users, and hopefully
  not hit any existing users badly.

- Toshio Kuratomi reported a memory leak problem with libcurl+NSS that turned
  out to be leaking cacerts. Kamil Dudka helped me complete the fix. The issue
  is found in Redhat's bug tracker:
  https://bugzilla.redhat.com/show_bug.cgi?id=453612

  There are still memory leaks present, but they seem to have other reasons.

Daniel Fandrich (11 Apr 2009)
- Added new libcurl source files to Symbian OS build files.
- Improved Symbian support for SSL.

Yang Tse (10 Apr 2009)
- Daniel Johnson improved the MacOSX-Framework shell script to now perform all
  the steps required to build a Mac OS X four way fat ppc/i386/ppc64/x86_64
  libcurl.framework.  Four way fat framework requires OS X 10.5 SDK or later.

Yang Tse (8 Apr 2009)
- Removed Sun compilers preprocessor block from curlbuild.h.dist, this also
  removes it from the curlbuild.h file originally distributed by the cURL
  project as this file is intended for systems not capable of running the
  configure script.  For those who have been building curl out of the source
  code curl distribution tarball provided by curl.haxx.se the change implies
  nothing.  Previous change in this area committed 2 Apr becomes irrelevant.

Daniel Stenberg (6 Apr 2009)
- I clarified in the docs that CURLOPT_SEEKFUNCTION should return 0 on success
  and 1 on fatal errors. Previously it only mentioned non-zero on fatal
  errors. This is a slight change in meaning, but it follows what we've done
  elsewhere before and it opens up for LOTS of more useful return codes
  whenever we can think of them...

Yang Tse (2 Apr 2009)
- Fix curl_off_t definition for builds done using Sun compilers and a
  non-configured libcurl. In this case curl_off_t data type was gated
  to the off_t data type which depends on the _FILE_OFFSET_BITS. This
  configuration is exactly the unwanted configuration for our curl_off_t
  data type which must not depend on such setting. This breaks ABI for
  libcurl libraries built with Sun compilers which were built without
  having run the configure script with _FILE_OFFSET_BITS different than
  64 and using the ILP32 data model.

Daniel Stenberg (1 Apr 2009)
- Andre Guibert de Bruet fixed a NULL pointer use in an infof() call if a
  strdup() call failed.

Daniel Fandrich (31 Mar 2009)
- Properly return an error code in curl_easy_recv (reported by Jim Freeman).

Daniel Stenberg (18 Mar 2009)
- Kamil Dudka brought a patch that enables 6 additional crypto algorithms when
  NSS is used. These ciphers were added in NSS 3.4 and require to be enabled
  explicitly.

Daniel Stenberg (13 Mar 2009)
- Use libssh2_version() to present the libssh2 version in case the libssh2
  library is found to support it.

Yang Tse (12 Mar 2009)
- Added missing Curl_read() return code checking in TELNET transfers.

- Pierre Brico found and fixed TELNET transfers not being aborted upon
  a write callback failure.

Daniel Stenberg (11 Mar 2009)
- Kamil Dudka made the curl tool properly call curl_global_init() before any
  other libcurl function.

Yang Tse (11 Mar 2009)
- Added missing TELNET timeout support for Windows builds. This issue was
  reported by Pierre Brico.

Daniel Stenberg (9 Mar 2009)
- Frank Hempel found out a bug and provided the fix:

  curl_easy_duphandle did not necessarily duplicate the CURLOPT_COOKIEFILE
  option. It only enabled the cookie engine in the destination handle if
  data->cookies is not NULL (where data is the source handle). In case of a
  newly initialized handle which just had the cookie support enabled by a
  curl_easy_setopt(handle, CURL_COOKIEFILE, "")-call, handle->cookies was
  still NULL because the setopt-call only appends the value to
  data->change.cookielist, hence duplicating this handle would not have the
  cookie engine switched on.

  We also concluded that the slist-functionality would be suitable for being
  put in its own module rather than simply hanging out in lib/sendf.c so I
  created lib/slist.[ch] for them.

- Andreas Farber made the 'buildconf' script check for the presence of m4
  scripts to make it detect a bad checkout earlier. People with older
  checkouts who don't do cvs update with the -d option won't get the new dirs
  and then will get funny outputs that can be a bit hard to understand and
  fix.

Daniel Stenberg (8 Mar 2009)
- Andre Guibert de Bruet found and fixed a code segment in ssluse.c where the
  allocation of the memory BIO was not being properly checked.

- Andre Guibert de Bruet fixed the gnutls-using code: There are a few places
  in the gnutls code where we were checking for negative values for errors,
  when the man pages state that GNUTLS_E_SUCCESS is returned on success and
  other values indicate error conditions.

- Bill Egert pointed out (http://curl.haxx.se/bug/view.cgi?id=2671602) that
  curl didn't use sprintf() in a way that is documented to work in POSIX but
  since we use our own printf() code (from libcurl) that shouldn't be a
  problem. Nonetheless I modified the code to not rely on such particular
  features and to not cause further raised eyebrowse with no good reason.

Daniel Fandrich (5 Mar 2009)
- Expanded the security section of the libcurl-tutorial man page to cover
  more issues for authors to consider when writing robust libcurl-using
  applications.

Yang Tse (5 Mar 2009)
- Fixed NTLM authentication memory leak on SSPI enabled Windows builds. This
  issue was noticed by Chris Deidun.

Daniel Fandrich (4 Mar 2009)
- Fixed a problem with m4 quoting in the OpenSSL configure check reported
  by Daniel Johnson.

Daniel Stenberg (3 Mar 2009)
- David James brought a patch that make libcurl close (all) dead connections
  whenever you attempt to open a new connection.

  1. After cleaning up a dead connection, "continue" instead of
     returning FALSE. This ensures that we clean up all dead connections,
     rather than just cleaning up the first dead connection.
  2. Move up the cleanup for dead connections so that it occurs for
     all connections, rather than just the connections which have the same
     preferences as our current new connection.
2009-06-09 18:31:35 +00:00
wiz
ec64ab209b Update to 7.19.3:
This release adds CURLAUTH_DIGEST_IE and vc9 makefiles and has
around 30 bugfixes.
2009-02-21 13:38:37 +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
bjs
ec8b6e8590 Update to version 7.18.0 and add SSHv2 support via the newly imported
security/libssh2 package.

Changes:

 o --data-urlencode
 o CURLOPT_PROXY_TRANSFER_MODE
 o --no-keepalive - now curl does connections with keep-alive enabled by
   default
 o --socks4a added (proxy type CURLPROXY_SOCKS4A for libcurl)
 o --socks5-hostname added (CURLPROXY_SOCKS5_HOSTNAME for libcurl)
 o curl_easy_pause()
 o CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA
 o --keepalive-time
 o curl --help output was re-ordered

This release includes the following bugfixes:

 o curl-config --features and --protocols show the correct output when built
   with NSS, and also when SCP, SFTP and libz are not available
 o free problem in the curl tool for users with empty home dir
 o curl.h version 7.17.1 problem when building C++ apps with MSVC
 o SFTP and SCP use persistent connections
 o segfault on bad URL
 o variable wrapping when using absolutely huge send buffer sizes
 o variable wrapping when using debug callback and the HTTP request wasn't sent
   in one go
 o SSL connections with NSS done with the multi-interface
 o setting a share no longer activates cookies
 o Negotiate now works on auth and proxy simultanouesly
 o support HTTP Digest nonces up to 1023 letters
 o resumed ftp upload no longer requires the read callback to return full
   buffers
 o no longer default-appends ;type= on FTP URLs thru proxies
 o SSL session id caching
 o POST with callback over proxy requiring NTLM or Digest
 o Expect: 100-continue flaw on re-used connection with POSTs
 o build fix for MSVC 9.0 (VS2008)
 o Windows curl builds failed file truncation when retry downloading
 o SSL session ID cache memory leak
 o bad connection re-use check with environment variable-activated proxy use
 o --libcurl now generates a return statement as well
 o socklen_t is no longer used in the public includes
 o time zone offsets from -1400 to +1400 are now accepted by the date parser
 o allows more spaces in WWW/Proxy-Authenticate: headers
 o curl-config --libs skips /usr/lib64
 o range support for file:// transfers
 o libcurl hang with huge POST request and request-body read from callback
 o removed extra newlines from many error messages
 o improved pipelining
 o improved OOM handling for data url encoded HTTP POSTs when read from a file
 o test suite could pick wrong tool(s) if more than one existed in the PATH
 o curl_multi_fdset() failed to return socket while doing CONNECT over proxy
 o curl_multi_remove_handle() on a handle that is in used for a pipeline now
   break that pipeline
 o CURLOPT_COOKIELIST memory leaks
 o progress meter/callback during http proxy CONNECT requests
 o auth for http proxy when the proxy closes connection after first response
2008-03-02 14:40:26 +00:00
wiz
45b964423e Update to 7.17.0:
Changes:

    * support for OS/400 Secure Sockets Layer library
    * curl_easy_setopt() now allocates strings passed to it
    * SCP and SFTP support now requires libssh2 0.16 or later
    * LDAP libraries are now linked "regularly" and not with dlopen
    * HTTP transfers have the download size info "available" earlier
    * FTP transfers have the download size info "available" earlier
    * builds and runs on OS/400
    * several error codes and options were marked as obsolete and subject to future removal (set CURL_NO_OLDIES to see if your application is using them)
    * SFTP errors can return more specific error codes

Bugfixes:

    * test cases 31, 46, 61, 506, 517 now work in time zones that use leap seconds
    * problem with closed proxy connection during HTTP CONNECT auth negotiation
    * transfer-encoding skipping didn't ignore the 407 response bodies properly
    * CURLOPT_SSL_VERIFYHOST set to 1
    * CONNECT endless loop
    * krb5 support builds with Heimdal
    * added returned error string for connection refused case
    * re-use of dead FTP control connections
    * login to FTP servers that don't require (nor understand) PASS after the USER command
    * bad free of memory from libssh2
    * the SFTP PWD command works
    * HTTP Digest auth on a re-used connection
    * FTPS data connection close
    * AIX 4 and 5 get to use non-blocking sockets
    * small POST with NTLM
    * resumed file:// transfers
    * CURLOPT_DNS_CACHE_TIMEOUT and CURLOPT_DNS_USE_GLOBAL_CACHE are 64 bit "clean"
    * memory leak when handling compressed data streams from broken servers
    * no NTLM unicode response
    * resume HTTP PUT using Digest authentication
    * FTP NOBODY requests on directories sent "SIZE (null)"
    * FTP NOBODY request on file crash
    * excessively long FTP server responses and response lines
    * file:// upload then FTP:// upload crash
    * TFTP error 0 is no longer treated as success
    * uploading empty file over FTP on re-used connection
    * superfluous CWD command on re-used FTP connections without subdirs used
2007-09-15 09:29:11 +00:00
wiz
db7dfe6a83 Update to 7.16.0:
Version 7.16.0 (30 October 2006)

Daniel (25 October 2006)
- Fixed CURLOPT_FAILONERROR to return CURLE_HTTP_RETURNED_ERROR even for the
  case when 401 or 407 are returned, *IF* no auth credentials have been given.
  The CURLOPT_FAILONERROR option is not possible to make fool-proof for 401
  and 407 cases when auth credentials is given, but we've now covered this
  somewhat more.

  You might get some amounts of headers transferred before this situation is
  detected, like for when a "100-continue" is received as a response to a
  POST/PUT and a 401 or 407 is received immediately afterwards.

  Added test 281 to verify this change.

Daniel (23 October 2006)
- Ravi Pratap provided a major update with pipelining fixes. We also no longer
  re-use connections (for pipelining) before the name resolving is done.

Daniel (21 October 2006)
- Nir Soffer made the tests/libtest/Makefile.am use a proper variable for all
  the single test applications' link and dependences, so that you easier can
  override those from the command line when using make.

- Armel Asselin separated CA cert verification problems from problems with
  reading the (local) CA cert file to let users easier pinpoint the actual
  problem. CURLE_SSL_CACERT_BADFILE (77) is the new libcurl error code.

Daniel (18 October 2006)
- Removed the "protocol-guessing" for URLs with host names starting with FTPS
  or TELNET since they are practically non-existant. This leaves us with only
  three different prefixes that would assume the protocol is anything but
  HTTP, and they are host names starting with "ftp.", "dict." or "ldap.".

Daniel (17 October 2006)
- Bug report #1579171 pointed out code flaws detected with "prefast", and they
  were 1 - a too small memory clear with memset() in the threaded resolver and
  2 - a range of potentially bad uses of the ctype family of is*() functions
  such as isdigit(), isalnum(), isprint() and more. The latter made me switch
  to using our own set of these functions/macros using uppercase letters, and
  with some extra set of crazy typecasts to avoid mistakingly passing in
  negative numbers to the underlying is*() functions.

- With Jeff Pohlmeyer's help, I fixed the expire timer when using
  curl_multi_socket() during name resolves with c-ares and the LOW_SPEED
  options now work fine with curl_multi_socket() as well.

Daniel (16 October 2006)
- Added a check in configure that simply tries to run a program (not when
  cross-compiling) in order to detect problems with run-time libraries that
  otherwise would occur when the sizeof tests for curl_off_t would run and
  thus be much more confusing to users. The check of course should run after
  all lib-checks are done and before any other test is used that would run an
  executable built for testing-purposes.

Dan F (13 October 2006)
- The tagging of application/x-www-form-urlencoded POST body data sent
  to the CURLOPT_DEBUGFUNCTION callback has been fixed (it was erroneously
  included as part of the header).  A message was also added to the
  command line tool to show when data is being sent, enabled when
  --verbose is used.

Daniel (12 October 2006)
- Starting now, adding an easy handle to a multi stack that was already added
  to a multi stack will cause CURLM_BAD_EASY_HANDLE to get returned.

- Jeff Pohlmeyer has been working with the hiperfifo.c example source code,
  and while doing so it became apparent that the current timeout system for
  the socket API really was a bit awkward since it become quite some work to
  be sure we have the correct timeout set.

  Jeff then provided the new CURLMOPT_TIMERFUNCTION that is yet another
  callback the app can set to get to know when the general timeout time
  changes and thus for an application like hiperfifo.c it makes everything a
  lot easier and nicer. There's a CURLMOPT_TIMERDATA option too of course in
  good old libcurl tradition.

  Jeff has also updated the hiperfifo.c example code to use this news.

Daniel (9 October 2006)
- Bogdan Nicula's second test case (posted Sun, 08 Oct 2006) converted to test
  case 535 and it now runs fine. Again a problem with the pipelining code not
  taking all possible (error) conditions into account.

Daniel (6 October 2006)
- Bogdan Nicula's hanging test case (posted Wed, 04 Oct 2006) was converted to
  test case 533 and the test now runs fine.

Daniel (4 October 2006)
- Dmitriy Sergeyev provided an example source code that crashed CVS libcurl
  but that worked nicely in 7.15.5. I converted it into test case 532 and
  fixed the problem.

Daniel (29 September 2006)
- Removed a few other no-longer present options from the header file.

- Support for FTP third party transfers was removed. Here's why:

  o The recent multi interface changes broke it and the design of the 3rd party
    transfers made it very hard to fix the problems
  o It was still blocking and thus nasty for the multi interface
  o It was a lot of extra code for a very rarely used feature
  o It didn't use the same code as for "plain" FTP transfers, so it didn't work
    fine for IPv6 and it didn't properly re-use connections and more
  o There's nobody around who's willing to work on and improve the existing
    code

  This does not mean that third party transfers are banned forever, only that
  they need to be done better if they are to be re-added in the future.

  The CURLOPT_SOURCE_* options are removed from the lib and so are the --3p*
  options from the command line tool. For this reason, I also bumped the
  version info for the lib.

Daniel (28 September 2006)
- Reported in #1561470 (http://curl.haxx.se/bug/view.cgi?id=1561470), libcurl
  would crash if a bad function sequence was used when shutting down after
  using the multi interface (i.e using easy_cleanup after multi_cleanup) so
  precautions have been added to make sure it doesn't any more - test case 529
  was added to verify.

Daniel (27 September 2006)
- The URL in the cookie jar file is now changed since it was giving a 404.
  Reported by Timothy Stone. The new URL will take the visitor to a curl web
  site mirror with the document.

Daniel (24 September 2006)
- Bernard Leak fixed configure --with-gssapi-libs.

- Cory Nelson made libcurl use the WSAPoll() function if built for Windows
  Vista (_WIN32_WINNT >= 0x0600)

Daniel (23 September 2006)
- Mike Protts added --ftp-ssl-control to make curl use FTP-SSL, but only
  encrypt the control connection and use the data connection "plain".

- Dmitriy Sergeyev provided a patch that made the SOCKS[45] code work better
  as it now will read the full data sent from servers. The SOCKS-related code
  was also moved to the new lib/socks.c source file.

Daniel (21 September 2006)
- Added test case 531 in an attempt to repeat bug report #1561470
  (http://curl.haxx.se/bug/view.cgi?id=1561470) that is said to crash when an
  FTP upload fails with the multi interface. It did not, but I made a failed
  upload still assume the control connection to be fine.

Daniel (20 September 2006)
- Armel Asselin fixed problems when you gave a proxy URL with user name and
  empty password or no password at all. Test case 278 and 279 were added to
  verify.

Daniel (12 September 2006)
- Added docs/examples/10-at-a-time.c by Michael Wallner

- Added docs/examples/hiperfifo.c by Jeff Pohlmeyer

Daniel (11 September 2006)
- Fixed my breakage from earlier today so that doing curl_easy_cleanup() on a
  handle that is part of a multi handle first removes the handle from the
  stack.

- Added CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid to disable SSL
  session-ID re-use on demand since there obviously are broken servers out
  there that misbehave with session-IDs used.

- Jeff Pohlmeyer presented a *multi_socket()-using program that exposed a
  problem with it (SIGSEGV-style). It clearly showed that the existing
  socket-state and state-difference function wasn't good enough so I rewrote
  it and could then re-run Jeff's program without any crash. The previous
  version clearly could miss to tell the application when a handle changed
  from using one socket to using another.

  While I was at it (as I could use this as a means to track this problem
  down), I've now added a 'magic' number to the easy handle struct that is
  inited at curl_easy_init() time and cleared at curl_easy_cleanup() time that
  we can use internally to detect that an easy handle seems to be fine, or at
  least not closed or freed (freeing in debug builds fill the area with 0x13
  bytes but in normal builds we can of course not assume any particular data
  in the freed areas).

Daniel (9 September 2006)
- Michele Bini fixed how the hostname is put in NTLM packages. As servers
  don't expect fully qualified names we need to cut them off at the first dot.

- Peter Sylvester cleaned up and fixed the getsockname() uses in ftp.c. Some
  of them can be completetly removed though...

Daniel (6 September 2006)
- Ravi Pratap and I have implemented HTTP Pipelining support. Enable it for a
  multi handle using CURLMOPT_PIPELINING and all HTTP connections done on that
  handle will be attempted to get pipelined instead of done in parallell as
  they are performed otherwise.

  As a side-effect from this work, connections are now shared between all easy
  handles within a multi handle, so if you use N easy handles for transfers,
  each of them can pick up and re-use a connection that was previously used by
  any of the handles, be it the same or one of the others.

  This separation of the tight relationship between connections and easy
  handles is most noticable when you close easy handles that have been used in
  a multi handle and check amount of used memory or watch the debug output, as
  there are times when libcurl will keep the easy handle around for a while
  longer to be able to close it properly. Like for sending QUIT to close down
  an FTP connection.

  This is a major change.

Daniel (4 September 2006)
- Dmitry Rechkin (http://curl.haxx.se/bug/view.cgi?id=1551412) provided a
  patch that while not fixing things very nicely, it does make the SOCKS5
  proxy connection slightly better as it now acknowledges the timeout for
  connection and it no longer segfaults in the case when SOCKS requires
  authentication and you did not specify username:password.

Daniel (31 August 2006)
- Dmitriy Sergeyev found and fixed a multi interface flaw when using asynch
  name resolves. It could get stuck in the wrong state.

Gisle (29 August 2006)
- Added support for other MS-DOS compilers (desides djgpp). All MS-DOS
  compiler now uses the same config.dos file (renamed to config.h by
  make). libcurl now builds fine using Watcom and Metaware's High-C
  using the Watt-32 tcp/ip-stack.

Daniel (29 August 2006)
- David McCreedy added CURLOPT_SOCKOPTFUNCTION and CURLOPT_SOCKOPTDATA to
  allow applications to set their own socket options.

Daniel (25 August 2006)
- Armel Asselin reported that the 'running_handles' counter wasn't updated
  properly if you removed a "live" handle from a multi handle with
  curl_multi_remove_handle().

Daniel (22 August 2006)
- David McCreedy fixed a remaining mistake from the August 19 TYPE change.

- Peter Sylvester pointed out a flaw in the AllowServerConnect() in the FTP
  code when doing pure ipv6 EPRT connections.

Daniel (19 August 2006)
- Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPE
  command on subsequent requests on a re-used connection unless it has to.

- Armel Asselin fixed a crash in the FTP code when using SINGLECWD mode and
  files in the root directory.

- Andrew Biggs pointed out a "Expect: 100-continue" flaw where libcurl didn't
  send the whole request at once, even though the Expect: header was disabled
  by the application. An effect of this change is also that small (< 1024
  bytes) POSTs are now always sent without Expect: header since we deem it
  more costly to bother about that than the risk that we send the data in
  vain.

Daniel (9 August 2006)
- Armel Asselin made the CURLOPT_PREQUOTE option work fine even when
  CURLOPT_NOBODY is set true. PREQUOTE is then run roughly at the same place
  in the command sequence as it would have run if there would've been a
  transfer.

Daniel (8 August 2006)
- Fixed a flaw in the "Expect: 100-continue" treatment. If you did two POSTs
  on a persistent connection and allowed the first to use that header, you
  could not disable it for the second request.

Daniel (7 August 2006)
- Domenico Andreolfound a quick build error which happened because
  src/config.h.in was not a proper duplcate of lib/config.h.in which it
  should've been and this was due to the maketgz script not doing the cp
  properly.
2006-10-31 23:04:22 +00:00
wiz
d4bc7667c0 Update to 7.15.5, convert to options.mk.
Version 7.15.5 (7 August 2006)

Daniel (2 August 2006)
- Mark Lentczner fixed how libcurl was not properly doing chunked encoding
  if the header "Transfer-Encoding: chunked" was set by the application.
  http://curl.haxx.se/bug/view.cgi?id=1531838

Daniel (1 August 2006)
- Maciej Karpiuk fixed a crash that would occur if we passed Curl_strerror()
  an unknown error number on glibc systems.
  http://curl.haxx.se/bug/view.cgi?id=1532289

Daniel (31 July 2006)
- *ALERT* curl_multi_socket() and curl_multi_socket_all() got modified
  prototypes: they both now provide the number of running handles back to the
  calling function. It makes the functions resemble the good old
  curl_multi_perform() more and provides a nice way to know when the multi
  handle goes empty.

  ALERT2: don't use the curl_multi_socket*() functionality in anything
  production-like until I say it's somewhat settled, as I suspect there might
  be some further API changes before I'm done...

Daniel (28 July 2006)
- Yves Lejeune fixed so that replacing Content-Type: when doing multipart
  formposts work exactly the way you want it (and the way you'd assume it
  works).

Daniel (27 July 2006)
- David McCreedy added --ftp-ssl-reqd which makes curl *require* SSL for both
  control and data connection, as the existing --ftp-ssl option only requests
  it.

- [Hiper-related work] Added a function called curl_multi_assign() that will
  set a private pointer added to the internal libcurl hash table for the
  particular socket passed in to this function:

  CURLMcode curl_multi_assign(CURLM *multi_handle,
                              curl_socket_t sockfd,
                              void *sockp);

  'sockp' being a custom pointer set by the application to be associated with
  this socket. The socket has to be already existing and in-use by libcurl,
  like having already called the callback telling about its existance.

  The set hashp pointer will then be passed on to the callback in upcoming
  calls when this same socket is used (in the brand new 'socketp' argument).

Daniel (26 July 2006)
- Dan Nelson added the CURLOPT_FTP_ALTERNATIVE_TO_USER libcurl option and curl
  tool option named --ftp-alternative-to-user. It provides a mean to send a
  particular command if the normal USER/PASS approach fails.

- Michael Jerris added magic that builds lib/curllib.vcproj automatically for
  newer MSVC.

Daniel (25 July 2006)
- Georg Horn made the transfer timeout error message include more details.

Daniel (20 July 2006)
- David McCreedy fixed a build error when building libcurl with HTTP disabled,
  problem added with the curl_formget() patch.

Daniel (17 July 2006)
- Jari Sundell did some excellent research and bug tracking, figured out that
  we did wrong and patched it: When nodes were removed from the splay tree,
  and we didn't properly remove it from the splay tree when an easy handle was
  removed from a multi stack and thus we could wrongly leave a node in the
  splay tree pointing to (bad) memory.

Daniel (14 July 2006)
- David McCreedy fixed a flaw where the CRLF counter wasn't properly cleared
  for FTP ASCII transfers.

Daniel (8 July 2006)
- Ates Goral pointed out that libcurl's cookie parser did case insensitive
  string comparisons on the path which is incorrect and provided a patch that
  fixes this. I edited test case 8 to include details that test for this.

- Ingmar Runge provided a source snippet that caused a crash. The reason for
  the crash was that libcurl internally was a bit confused about who owned the
  DNS cache at all times so if you created an easy handle that uses a shared
  DNS cache and added that to a multi handle it would crash. Now we keep more
  careful internal track of exactly what kind of DNS cache each easy handle
  uses: None, Private (allocated for and used only by this single handle),
  Shared (points to a cache held by a shared object), Global (points to the
  global cache) or Multi (points to the cache within the multi handle that is
  automatically shared between all easy handles that are added with private
  caches).

Daniel (4 July 2006)
- Toshiyuki Maezawa fixed a problem where you couldn't override the
  Proxy-Connection: header when using a proxy and not doing CONNECT.

Daniel (24 June 2006)
- Michael Wallner added curl_formget(), which allows an application to extract
  (serialise) a previously built formpost (as with curl_formadd()).

Daniel (23 June 2006)
- Arve Knudsen found a flaw in curl_multi_fdset() for systems where
  curl_socket_t is unsigned (like Windows) that could cause it to wrongly
  return a max fd of -1.

Daniel (20 June 2006)
- Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE and
  CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate libcurl is allowed
  to send or receive data. This kind of adds the the command line tool's
  option --limit-rate to the library.

  The rate limiting logic in the curl app is now removed and is instead
  provided by libcurl itself. Transfer rate limiting will now also work for -d
  and -F, which it didn't before.

Daniel (19 June 2006)
- Made -K on a file that couldn't be read cause a warning to be displayed.

Daniel (13 June 2006)
- Dan Fandrich implemented --enable-hidden-symbols configure option to enable
  -fvisibility=hidden on gcc >= 4.0.  This reduces the size of the libcurl
  binary and speeds up dynamic linking by hiding all the internal symbols from
  the symbol table.
2006-08-10 14:18:14 +00:00
wiz
cc29447843 Update to 7.15.4:
Version 7.15.4 (12 June 2006)

Daniel (8 June 2006)
- Brian Dessent fixed the code for cygwin in three distinct ways:

  The first modifies {lib,src}/setup.h to not include the winsock headers
  under Cygwin.  This fixes the reported build problem.  Cygwin attempts as
  much as possible to emulate a posix environment under Windows.  This means
  that WIN32 is *not* #defined and (to the extent possible) everything is done
  as it would be on a *ix type system.  Thus <sys/socket.h> is the proper
  include, and even though winsock2.h is present, including it just introduces
  a whole bunch of incompatible socket API stuff.

  The second is a patch I've included in the Cygwin binary packages for a
  while.  It skips two unnecessary library checks (-lwinmm and -lgdi32).  The
  checks are innocuous and they do succeed, but they pollute LIBS with
  unnecessary stuff which gets recorded as such in the libcurl.la file, which
  brings them into the build of any libcurl-downstream.  As far as I know
  these libs are really only necessary for mingw, so alternatively they could
  be designed to only run if $host matches *-*-mingw* but I took the safer
  route of skipping them for *-*-cygwin*.

  The third patch replaces all uses of the ancient and obsolete __CYGWIN32__
  with __CYGWIN__. Ref: <http://cygwin.com/ml/cygwin/2003-09/msg01520.html>.

Daniel (7 June 2006)
- Mikael Sennerholm provided a patch that added NTLM2 session response support
  to libcurl. The 21 NTLM test cases were again modified to comply...

Daniel (27 May 2006)
- Óscar Morales Vivó updated the libcurl.framework.make file.

Daniel (26 May 2006)
- Olaf Stüben fixed a bug that caused Digest authentication with md5-sess to
  fail. When using the md5-sess, the result was not Md5 encoded and Base64
  transformed.

Daniel (25 May 2006)
- Michael Wallner provided a patch that allows "SESS" to be set with
  CURLOPT_COOKIELIST, which then makes all session cookies get cleared.

Daniel (24 May 2006)
- Tor Arntsen made test 271 run fine again since the TFTP path fix.

Daniel (23 May 2006)
- Martin Michlmayr filed debian bug report #367954, but the same error also
  showed up in the autobuilds. It seems a rather long-since introduced shell
  script flaw in the configure script suddenly was detected by the bash
  version in Debian Unstable. It had previously passed undetected by all
  shells used so far...

- David McCreedy updated lib/config-tpf.h

Daniel (11 May 2006)
- Fixed the configure's check for old-style SSLeay headers since I fell over a
  case with a duplicate file name (a krb4 implementation with an err.h
  file). I converted the check to manually make sure three of the headers are
  present before considering them fine.

- David McCreedy provided a fix for CURLINFO_LASTSOCKET that does extended
  checks on the to-be-returned socket to make sure it truly seems to be alive
  and well. For SSL connection it (only) uses OpenSSL functions.

Daniel (10 May 2006)
- Fixed DICT in two aspects:

  1 - allow properly URL-escaped words, like using %20 for spaces

  2 - properly escape certain letters within a word to comply to the RFC2229

Daniel (9 May 2006)
- Andreas Ntaflos reported a bug in libcurl.m4: When configuring my GNU
  autotools project, which optionally (default=yes) uses libcurl on a system
  without a (usable) libcurl installation, but not specifying
  `--without-libcurl', configure determines correctly that no libcurl is
  available, however, the LIBCURL variable gets expanded to `LIBCURL = -lcurl'
  in the resulting Makefiles.

  David Shaw fixed the flaw.

- Robson Braga Araujo fixed two problems in the recently added non-blocking SSL
  connects. The state machine was not reset properly so that subsequent
  connects using the same handle would fail, and there were two memory leaks.

- Robson Braga Araujo fixed a memory leak when you added an easy handle to a
  multi stack and that easy handle had already been used to do one or more
  easy interface transfers, as then the code threw away the previously used
  DNS cache without properly freeing it.

Daniel (8 May 2006)
- Dan Fandrich went over the TFTP code and he pointed out and fixed numerous
  problems:

  * The received file is corrupted when a packet is lost and retransmitted
    (this is a serious problem!)

  * Transmitting a file aborts if a block is lost and retransmitted

  * Data is stored in the wrong location in the buffer for uploads, so uploads
    always fail (I don't see how it could have ever worked, but it did on x86
    at least)

  * A number of calls are made to strerror instead of Curl_strerror, making
    the code not thread safe

  * There are references to errno instead of Curl_sockerrno(), causing
    incorrect error messages on Windows

  * The file name includes a leading / which violates RFC3617. Doing something
    similar to ftp, where two slashes after the host name means an absolute
    reference seems a reasonable extension to fix this.

  * Failures in EBCDIC conversion are not propagated up to the caller but are
    silently ignored

- Fixed known bug #28. The TFTP code no longer assumes a packed struct and
  thus works reliably on more platforms.

Daniel (5 May 2006)
- Roland Blom filed bug report #1481217
  (http://curl.haxx.se/bug/view.cgi?id=1481217), with follow-ups by Michele
  Bini and David Byron. libcurl previously wrongly used GetLastError() on
  windows to get error details after socket-related function calls, when it
  really should use WSAGetLastError() instead.

  When changing to this, the former function Curl_ourerrno() is now instead
  called Curl_sockerrno() as it is necessary to only use it to get errno from
  socket-related functions as otherwise it won't work as intended on Windows.

Daniel (4 May 2006)
- Mark Eichin submitted bug report #1480821
  (http://curl.haxx.se/bug/view.cgi?id=1480821) He found and identified a
  problem with how libcurl dealt with GnuTLS and a case where gnutls returned
  GNUTLS_E_AGAIN indicating it would block. It would then return an unexpected
  return code, making Curl_ssl_send() confuse the upper layer - causing random
  28 bytes trash data to get inserted in the transfered stream.

  The proper fix was to make the Curl_gtls_send() function return the proper
  return codes that the callers would expect. The Curl_ossl_send() function
  already did this.

Daniel (2 May 2006)
- Added a --checkfor option to curl-config to allow users to easier
  write for example shell scripts that test for the presence of a
  new-enough libcurl version. If --checkfor is given a version string
  newer than what is currently installed, curl-config will return a
  non-zero exit code and output a string about the unfulfilled
  requirement.

Daniel (26 April 2006)
- David McCreedy brought initial line end conversions when doing FTP ASCII
  transfers. They are done on non-windows systems and translate CRLF to LF.

  I modified the 15 LIST-using test cases accordingly. The downside is that now
  we'll have even more trouble to get the tests to run on Windows since they
  should get CRLF newlines left intact which the *nix versions don't. I figure
  the only sane thing to do is to add some kind of [newline] macro for the test
  case files and have them expanded to the proper native line ending when the
  test cases are run. This is however left to implement.

Daniel (25 April 2006)
- Paul Querna fixed libcurl to better deal with deflate content encoding
  when the stream (wrongly) lacks a proper zlib header. This seems to be the
  case on too many actual server implementations.

Daniel (21 April 2006)
- Ale Vesely fixed CURLOPT_INTERFACE when using a hostname.

Daniel (19 April 2006)
- Based on previous info from Tor Arntsen, I made configure detect the Intel
  ICC compiler to add a compiler option for it, in order for configure to
  properly be able to detect function prototypes.

- Robson Braga Araujo provided a patch that makes libcurl less eager to close
  the control connection when using FTP, for example when you remove an easy
  handle from a multi stack.

- Applied a patch by Ates Goral and Katie Wang that corrected my bad fix
  attempt from April 10.

Daniel (11 April 2006)
- #1468330 (http://curl.haxx.se/bug/view.cgi?id=1468330) pointed out a bad
  typecast in the curl tool leading to a crash with (64bit?) VS2005 (at least)
  since the struct timeval field tv_sec is an int while time_t is 64bit.

Daniel (10 April 2006)
- Ates Goral found out that if you specified both CURLOPT_CONNECTTIMEOUT and
  CURLOPT_TIMEOUT, the _longer_ time would wrongly be used for the SSL
  connection time-out!

- I merged my hiper patch (http://curl.haxx.se/libcurl/hiper/) into the main
  sources. See the lib/README.multi_socket for implementation story with
  details. Don't expect it to work fully yet. I don't intend to blow any
  whistles or ring any bells about it until I'm more convinced it works at
  least somewhat reliably.

Daniel (7 April 2006)
- David McCreedy's EBCDIC and TPF changes. Three new curl_easy_setopt()
  options (callbacks) were added:

  CONV_FROM_NETWORK_FUNCTION
  CONV_TO_NETWORK_FUNCTION
  CONV_FROM_UTF8_FUNCTION

Daniel (5 April 2006)
- Michele Bini modified the NTLM code to work for his "weird IIS case"
  (http://curl.haxx.se/mail/lib-2006-02/0154.html) by adding the NTLM hash
  function in addition to the LM one and making some other adjustments in the
  order the different parts of the data block are sent in the Type-2 reply.
  Inspiration for this work was taken from the Firefox NTLM implementation.

  I edited the existing 21(!) NTLM test cases to run fine with these news. Due
  to the fact that we now properly include the host name in the Type-2 message
  the test cases now only compare parts of that chunk.

Daniel (28 March 2006)
- #1451929 (http://curl.haxx.se/bug/view.cgi?id=1451929) detailed a bug that
  occurred when asking libcurl to follow HTTP redirects and the original URL
  had more than one question mark (?). Added test case 276 to verify.

Daniel (27 March 2006)
- David Byron found a problem multiple -d options when libcurl was built with
  --enable-debug, as then curl used free() on memory allocated both with
  normal malloc() and with libcurl-provided functions, when the latter MUST be
  freed with curl_free() in debug builds.

Daniel (26 March 2006)
- Tor Arntsen figured out that TFTP was broken on a lot of systems since we
  called bind() with a too big argument in the 3rd parameter and at least
  Tru64, AIX and IRIX seem to be very picky about it.

Daniel (21 March 2006)
- David McCreedy added CURLINFO_FTP_ENTRY_PATH.

- Xavier Bouchoux made the SSL connection non-blocking for the multi interface
  (when using OpenSSL).

- Tor Arntsen fixed the AIX Toolbox RPM spec

Daniel (20 March 2006)
- David McCreedy fixed libcurl to no longer ignore AUTH failures and now it
  reacts properly according to the CURLOPT_FTP_SSL setting.

- Dan Fandrich fixed two TFTP problems: Fixed a bug whereby a received file
  whose length was a multiple of 512 bytes could have random garbage
  appended. Also, stop processing TFTP packets which are too short to be
  legal.

- Ilja van Sprundel reported a possible crash in the curl tool when using
  "curl hostwithoutslash -d data -G"
2006-07-03 21:32:09 +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
adam
b0fc62efc1 Changes 7.14.1:
* GNU GSS support
* --ignore-content-length and CURLOPT_IGNORE_CONTENT_LENGTH added
* negotiates data connection SSL earlier when doing FTPS with PASV
* CURLOPT_COOKIELIST and CURLINFO_COOKIELIST
* trailer support for chunked encoded data streams
* -x/CURL_PROXY strings may now contain user+password
* --trace-time now outputs the full microsecond, all 6 digits
* Bugfixes
2005-09-02 08:13:29 +00:00