Patch level : 12.0

Files correlati     : 
omento            : Aggiornata cUrl alla ultima versione su Github: 7.56.1

git-svn-id: svn://10.65.10.50/branches/R_10_00@24202 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-11-27 14:17:52 +00:00
parent 99049dded0
commit 9fdb0030c4
474 changed files with 5004 additions and 12352 deletions

View File

@ -3,3 +3,5 @@ buildconf eol=lf
configure.ac eol=lf configure.ac eol=lf
*.m4 eol=lf *.m4 eol=lf
*.in eol=lf *.in eol=lf
*.am eol=lf
*.sh eol=lf

View File

@ -1,51 +1,58 @@
.deps *.asc
.libs
*.lib
*.pdb
*.dll *.dll
*.exe *.exe
*.obj
*.asc
.*.swp
Debug
Release
*.exp *.exp
*.la
*.lib
*.lo
*.o
*.obj
*.pdb
*.pyc
*~
.*.sw?
.cproject
.deps
.dirstamp
.libs
.project
.settings
/.vs
/build/
/builds/
__pycache__
CHANGES.dist
Debug
INSTALL
Makefile Makefile
Makefile.in Makefile.in
Release
TAGS
aclocal.m4 aclocal.m4
aclocal.m4.bak
autom4te.cache autom4te.cache
compile
config.cache config.cache
config.guess config.guess
config.log config.log
config.status config.status
config.sub config.sub
configure configure
curl-*.tar.bz2
curl-*.tar.gz
curl-*.tar.xz
curl-*.zip
curl-config
depcomp depcomp
install-sh
libcurl.pc
libtool libtool
ltmain.sh ltmain.sh
compile
curl-config
libcurl.pc
missing missing
curl-*.tar.gz
curl-*.tar.bz2
curl-*.tar.lzma
curl-*.zip
INSTALL
install-sh
*.o
*.lo
*.la
mkinstalldirs mkinstalldirs
tags tags
TAGS
*~
aclocal.m4.bak
CHANGES.dist
.project
.cproject
.settings
.dirstamp
test-driver test-driver
/build/ scripts/_curl
/builds/ curl_fuzzer
curl_fuzzer_seed_corpus.zip
libstandaloneengine.a

View File

@ -1,13 +1,201 @@
language: c language: c
sudo: required
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
packages:
- cmake
- gcc-4.8
- lcov
- clang-3.7
- valgrind
- libev-dev
- libc-ares-dev
- g++-4.8
- libstdc++-4.8-dev
- stunnel4
- libidn2-0-dev
- libssh2-1-dev
- krb5-user
matrix:
include:
- os: linux
compiler: gcc
dist: trusty
env: T=normal C=--with-gssapi
- os: linux
compiler: gcc
dist: trusty
env: T=normal C="--disable-http --disable-smtp --disable-imap"
- os: linux
compiler: gcc
dist: trusty
env: T=normal C=--enable-ares
- os: linux
compiler: gcc
dist: trusty
env: T=normal BROTLI=yes
- os: linux
compiler: clang
dist: trusty
env: T=debug
- os: osx
compiler: gcc
env: T=debug
- os: osx
compiler: gcc
env: T=debug C=--enable-ares
- os: osx
compiler: gcc
env: T=debug C="--with-ssl=/usr/local/opt/openssl --with-libmetalink"
- os: osx
compiler: gcc
env: T=debug C="--with-ssl=/usr/local/opt/libressl --with-libmetalink"
- os: osx
compiler: clang
env: T=debug C="--without-ssl --with-darwinssl --with-libmetalink"
- os: osx
compiler: clang
env: T=normal
- os: linux
compiler: gcc
dist: trusty
env: T=cmake
- os: linux
compiler: clang
dist: trusty
env: T=cmake
- os: linux
compiler: gcc
dist: precise
env: T=coverage
- os: linux
compiler: gcc
dist: trusty
env: T=distcheck
- os: linux
compiler: clang
dist: trusty
env: T=fuzzer
install:
- pip install --user cpp-coveralls
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install rtmpdump libssh2 c-ares libmetalink libressl nghttp2 libmetalink; fi
- if [ $TRAVIS_OS_NAME = linux ]; then
curl -L https://github.com/nghttp2/nghttp2/releases/download/v1.24.0/nghttp2-1.24.0.tar.gz |
tar xzf - &&
(cd nghttp2-1.24.0 && CXX="g++-4.8" ./configure --prefix=/usr --disable-threads --enable-app && make && sudo make install);
fi
before_script: before_script:
- ./buildconf - ./buildconf
- |
# No brotli package available for Trusty. Download & compile from source.
# Cannot be done in the install script because cmake is needed.
if [ "$TRAVIS_OS_NAME" = linux -a "$BROTLI" ]; then
curl -L https://github.com/google/brotli/archive/v1.0.1.tar.gz |
tar xzf - &&
(
cd brotli-1.0.1 &&
cmake . -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib &&
make &&
sudo make install
)
fi
script: ./configure --enable-debug && make && make test-full script:
- |
# Uncomment this when `coverage` runs on Trusty.
# set -eo pipefail
if [ "$T" = "coverage" ]; then
export CC="gcc-4.8"
./configure --enable-debug --disable-shared --enable-code-coverage
make
make TFLAGS=-n test-nonflaky
tests="1 2 3 4 5 6 7 8 9 10 200 201 202 300 301 302 500 501 502 503 504 506 507 508 509 510 511 512 513 514 515 516 517 518 519 600 601 800 801 802 803 900 901 902 903 1000 1001 1002 1004 1302 1303 1304 1305 1306 1308 1400 1401 1402 1404 1450 1451 1452 1502 1507 1508 1600 1602 1603 1605"
make "TFLAGS=-n -e $tests" test-nonflaky
make "TFLAGS=-n -t $tests" test-nonflaky
coveralls --gcov /usr/bin/gcov-4.8 --gcov-options '\-lp' -i src -e lib -e tests -e docs -b $PWD/src
coveralls --gcov /usr/bin/gcov-4.8 --gcov-options '\-lp' -e src -i lib -e tests -e docs -b $PWD/lib
fi
- |
set -eo pipefail
if [ "$T" = "debug" ]; then
./configure --enable-debug --enable-werror $C
make && make examples
make TFLAGS=-n test-nonflaky
fi
- |
set -eo pipefail
if [ "$T" = "normal" ]; then
./configure --enable-warnings --enable-werror $C
make && make examples
make test-nonflaky
fi
- |
set -eo pipefail
if [ "$T" = "cmake" ]; then
mkdir build
cd build
cmake ..
make
fi
- |
set -eo pipefail
if [ "$T" = "distcheck" ]; then
./configure
make
./maketgz 99.98.97
# verify in-tree build - and install it
(tar xf curl-99.98.97.tar.gz && \
cd curl-99.98.97 && \
./configure --prefix=$HOME/temp && \
make && \
make TFLAGS=1 test && \
make install)
# basic check of the installed files
bash scripts/installcheck.sh $HOME/temp
rm -rf curl-99.98.97
# verify out-of-tree build
(tar xf curl-99.98.97.tar.gz && \
mkdir build && \
cd build && \
../curl-99.98.97/configure && \
make && \
make TFLAGS=1 test)
# verify cmake build
rm -rf curl-99.98.97
(tar xf curl-99.98.97.tar.gz && \
cd curl-99.98.97 && \
mkdir build && \
cd build && \
cmake .. && \
make)
fi
- |
set -eo pipefail
if [ "$T" = "fuzzer" ]; then
# Download the fuzzer to a temporary folder
./tests/fuzz/download_fuzzer.sh /tmp/curl_fuzzer
compiler: export CURLSRC=$PWD
- clang
- gcc # Run the mainline fuzzer test
pushd /tmp/curl_fuzzer
./mainline.sh ${CURLSRC}
popd
fi
# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
branches:
only:
- master
notifications: notifications:
email: false email: false

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@
# To check: # To check:
# (From Daniel Stenberg) The cmake build selected to run gcc with -fPIC on my box while the plain configure script did not. # (From Daniel Stenberg) The cmake build selected to run gcc with -fPIC on my box while the plain configure script did not.
# (From Daniel Stenberg) The gcc command line use neither -g nor any -O options. As a developer, I also treasure our configure scripts's --enable-debug option that sets a long range of "picky" compiler options. # (From Daniel Stenberg) The gcc command line use neither -g nor any -O options. As a developer, I also treasure our configure scripts's --enable-debug option that sets a long range of "picky" compiler options.
cmake_minimum_required(VERSION 2.8 FATAL_ERROR) cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}") set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
include(Utilities) include(Utilities)
include(Macros) include(Macros)
@ -366,7 +366,6 @@ if(CMAKE_USE_OPENSSL)
check_include_file("openssl/engine.h" HAVE_OPENSSL_ENGINE_H) check_include_file("openssl/engine.h" HAVE_OPENSSL_ENGINE_H)
check_include_file("openssl/err.h" HAVE_OPENSSL_ERR_H) check_include_file("openssl/err.h" HAVE_OPENSSL_ERR_H)
check_include_file("openssl/pem.h" HAVE_OPENSSL_PEM_H) check_include_file("openssl/pem.h" HAVE_OPENSSL_PEM_H)
check_include_file("openssl/pkcs12.h" HAVE_OPENSSL_PKCS12_H)
check_include_file("openssl/rsa.h" HAVE_OPENSSL_RSA_H) check_include_file("openssl/rsa.h" HAVE_OPENSSL_RSA_H)
check_include_file("openssl/ssl.h" HAVE_OPENSSL_SSL_H) check_include_file("openssl/ssl.h" HAVE_OPENSSL_SSL_H)
check_include_file("openssl/x509.h" HAVE_OPENSSL_X509_H) check_include_file("openssl/x509.h" HAVE_OPENSSL_X509_H)
@ -875,10 +874,12 @@ check_symbol_exists(ftruncate "${CURL_INCLUDES}" HAVE_FTRUNCATE)
check_symbol_exists(getprotobyname "${CURL_INCLUDES}" HAVE_GETPROTOBYNAME) check_symbol_exists(getprotobyname "${CURL_INCLUDES}" HAVE_GETPROTOBYNAME)
check_symbol_exists(getrlimit "${CURL_INCLUDES}" HAVE_GETRLIMIT) check_symbol_exists(getrlimit "${CURL_INCLUDES}" HAVE_GETRLIMIT)
check_symbol_exists(setlocale "${CURL_INCLUDES}" HAVE_SETLOCALE) check_symbol_exists(setlocale "${CURL_INCLUDES}" HAVE_SETLOCALE)
check_symbol_exists(setmode "${CURL_INCLUDES}" HAVE_SETMODE)
check_symbol_exists(setrlimit "${CURL_INCLUDES}" HAVE_SETRLIMIT) check_symbol_exists(setrlimit "${CURL_INCLUDES}" HAVE_SETRLIMIT)
check_symbol_exists(fcntl "${CURL_INCLUDES}" HAVE_FCNTL) check_symbol_exists(fcntl "${CURL_INCLUDES}" HAVE_FCNTL)
check_symbol_exists(ioctl "${CURL_INCLUDES}" HAVE_IOCTL) check_symbol_exists(ioctl "${CURL_INCLUDES}" HAVE_IOCTL)
check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT)
check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME)
# symbol exists in win32, but function does not. # symbol exists in win32, but function does not.
if(WIN32) if(WIN32)
@ -1131,6 +1132,12 @@ function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE)
endfunction() endfunction()
if(WIN32 AND NOT CYGWIN)
set(CURL_INSTALL_CMAKE_DIR CMake)
else()
set(CURL_INSTALL_CMAKE_DIR lib/cmake/curl)
endif()
if(USE_MANUAL) if(USE_MANUAL)
add_subdirectory(docs) add_subdirectory(docs)
endif() endif()
@ -1281,6 +1288,25 @@ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/curl"
DESTINATION include DESTINATION include
FILES_MATCHING PATTERN "*.h") FILES_MATCHING PATTERN "*.h")
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"${PROJECT_BINARY_DIR}/curl-config-version.cmake"
VERSION ${CURL_VERSION}
COMPATIBILITY SameMajorVersion
)
configure_file(CMake/curl-config.cmake
"${PROJECT_BINARY_DIR}/curl-config.cmake"
COPYONLY
)
install(
FILES ${PROJECT_BINARY_DIR}/curl-config.cmake
${PROJECT_BINARY_DIR}/curl-config-version.cmake
DESTINATION ${CURL_INSTALL_CMAKE_DIR}
)
# Workaround for MSVS10 to avoid the Dialog Hell # Workaround for MSVS10 to avoid the Dialog Hell
# FIXME: This could be removed with future version of CMake. # FIXME: This could be removed with future version of CMake.
if(MSVC_VERSION EQUAL 1600) if(MSVC_VERSION EQUAL 1600)

View File

@ -10,15 +10,6 @@ This file is only present in git - never in release archives. It contains
information about other files and things that the git repository keeps in its information about other files and things that the git repository keeps in its
inner sanctum. inner sanctum.
Compile and build instructions follow below.
CHANGES.0 contains ancient changes
CHANGES contains the most recent changes
Makefile.dist is included as the root Makefile in distribution archives
perl/ is a subdirectory with various perl scripts
To build in environments that support configure, after having extracted To build in environments that support configure, after having extracted
everything from git, do this: everything from git, do this:
@ -51,17 +42,3 @@ installed:
install them, you can rename the source file src/tool_hugehelp.c.cvs to install them, you can rename the source file src/tool_hugehelp.c.cvs to
src/tool_hugehelp.c and avoid having to generate this file. This will src/tool_hugehelp.c and avoid having to generate this file. This will
give you a stubbed version of the file that doesn't contain actual content. give you a stubbed version of the file that doesn't contain actual content.
MAC OS X
With Mac OS X 10.2 and the associated Developer Tools, the installed versions
of the build tools are adequate. For Mac OS X 10.1 users, Guido Neitzer
wrote the following step-by-step guide:
1. Install fink (http://fink.sourceforge.net)
2. Update fink to the newest version (with the installed fink)
3. Install the latest version of autoconf, automake and m4 with fink
4. Install version 1.4.1 of libtool - you find it in the "unstable" section
(read the manual to see how to get unstable versions)
5. Get cURL from git
6. Build cURL with "./buildconf", "./configure", "make", "sudo make install"

View File

@ -30,7 +30,8 @@ CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in \
CMake/Macros.cmake \ CMake/Macros.cmake \
CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake \ CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake \
CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake \ CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake \
CMake/FindMbedTLS.cmake CMake/cmake_uninstall.cmake.in CMake/FindMbedTLS.cmake CMake/cmake_uninstall.cmake.in \
CMake/curl-config.cmake
VC6_LIBTMPL = projects/Windows/VC6/lib/libcurl.tmpl VC6_LIBTMPL = projects/Windows/VC6/lib/libcurl.tmpl
VC6_LIBDSP = projects/Windows/VC6/lib/libcurl.dsp.dist VC6_LIBDSP = projects/Windows/VC6/lib/libcurl.dsp.dist
@ -210,9 +211,6 @@ test-am:
endif endif
fuzzer:
@(cd tests/fuzz; $(MAKE) all)
examples: examples:
@(cd docs/examples; $(MAKE) check) @(cd docs/examples; $(MAKE) check)

View File

@ -5,11 +5,11 @@
# | (__| |_| | _ <| |___ # | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____| # \___|\___/|_| \_\_____|
# #
# Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. # Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
# #
# This software is licensed as described in the file COPYING, which # This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms # you should have received as part of this distribution. The terms
# are also available at http://curl.haxx.se/docs/copyright.html. # are also available at https://curl.haxx.se/docs/copyright.html.
# #
# You may opt to use, copy, modify, merge, publish, distribute and/or sell # You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is # copies of the Software, and permit persons to whom the Software is
@ -20,8 +20,6 @@
# #
########################################################################### ###########################################################################
VC=vc6
all: all:
./configure ./configure
make make
@ -87,366 +85,13 @@ mingw32%:
$(MAKE) -C lib -f Makefile.m32 CFG=$@ $(MAKE) -C lib -f Makefile.m32 CFG=$@
$(MAKE) -C src -f Makefile.m32 CFG=$@ $(MAKE) -C src -f Makefile.m32 CFG=$@
vc-clean: $(VC) vc:
cd lib cd winbuild
nmake -f Makefile.$(VC) clean nmake /f Makefile.vc MACHINE=x86
cd ..\src
nmake -f Makefile.$(VC) clean
vc-all: $(VC) vc-x64:
cd lib cd winbuild
nmake -f Makefile.$(VC) cfg=release nmake /f Makefile.vc MACHINE=x64
nmake -f Makefile.$(VC) cfg=release-ssl
nmake -f Makefile.$(VC) cfg=release-zlib
nmake -f Makefile.$(VC) cfg=release-ssl-zlib
nmake -f Makefile.$(VC) cfg=release-ssl-dll
nmake -f Makefile.$(VC) cfg=release-zlib-dll
nmake -f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
nmake -f Makefile.$(VC) cfg=release-dll
nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll
nmake -f Makefile.$(VC) cfg=release-dll-zlib-dll
nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
nmake -f Makefile.$(VC) cfg=debug
nmake -f Makefile.$(VC) cfg=debug-ssl
nmake -f Makefile.$(VC) cfg=debug-zlib
nmake -f Makefile.$(VC) cfg=debug-ssl-zlib
nmake -f Makefile.$(VC) cfg=debug-ssl-dll
nmake -f Makefile.$(VC) cfg=debug-zlib-dll
nmake -f Makefile.$(VC) cfg=debug-ssl-dll-zlib-dll
nmake -f Makefile.$(VC) cfg=debug-dll
nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll
nmake -f Makefile.$(VC) cfg=debug-dll-zlib-dll
nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll-zlib-dll
vc: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release
cd ..\src
nmake /f Makefile.$(VC)
vc-x64: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release
vc-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
vc-x64-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release WINDOWS_SSPI=1
vc-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release USE_IDN=1
vc-x64-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release USE_IDN=1
vc-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release USE_IDN=1 WINDOWS_SSPI=1
vc-x64-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release USE_IDN=1 WINDOWS_SSPI=1
vc-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-zlib
cd ..\src
nmake /f Makefile.$(VC) cfg=release-zlib
vc-x64-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib
vc-zlib-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-zlib WINDOWS_SSPI=1
vc-x64-zlib-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib WINDOWS_SSPI=1
vc-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-zlib USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-zlib USE_IDN=1
vc-x64-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib USE_IDN=1
vc-zlib-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-x64-zlib-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-ssl: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl
vc-x64-ssl: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl
vc-ssl-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl WINDOWS_SSPI=1
vc-x64-ssl-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl WINDOWS_SSPI=1
vc-ssl-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl USE_IDN=1
vc-x64-ssl-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl USE_IDN=1
vc-ssl-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl USE_IDN=1 WINDOWS_SSPI=1
vc-x64-ssl-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl USE_IDN=1 WINDOWS_SSPI=1
vc-ssl-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-zlib
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-zlib
vc-x64-ssl-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib
vc-ssl-zlib-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-zlib WINDOWS_SSPI=1
vc-x64-ssl-zlib-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib WINDOWS_SSPI=1
vc-ssl-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-zlib USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-zlib USE_IDN=1
vc-x64-ssl-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib USE_IDN=1
vc-ssl-zlib-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-x64-ssl-zlib-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-ssl-ssh2-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib
vc-x64-ssl-ssh2-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib
vc-ssl-ssh2-zlib-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib WINDOWS_SSPI=1
vc-x64-ssl-ssh2-zlib-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib WINDOWS_SSPI=1
vc-ssl-ssh2-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib USE_IDN=1
vc-x64-ssl-ssh2-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib USE_IDN=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib USE_IDN=1
vc-ssl-ssh2-zlib-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-ssh2-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-x64-ssl-ssh2-zlib-idn-sspi: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-ssh2-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-winssl: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-winssl WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-winssl WINDOWS_SSPI=1
vc-x64-winssl: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl WINDOWS_SSPI=1
vc-winssl-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-winssl USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-winssl USE_IDN=1 WINDOWS_SSPI=1
vc-x64-winssl-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl USE_IDN=1 WINDOWS_SSPI=1
vc-winssl-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-winssl-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-winssl-zlib WINDOWS_SSPI=1
vc-x64-winssl-zlib: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl-zlib WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl-zlib WINDOWS_SSPI=1
vc-winssl-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-winssl-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) cfg=release-winssl-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-x64-winssl-zlib-idn: $(VC)
cd lib
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl-zlib USE_IDN=1 WINDOWS_SSPI=1
cd ..\src
nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl-zlib USE_IDN=1 WINDOWS_SSPI=1
vc-ssl-dll: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-dll
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-dll
vc-dll-ssl-dll: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
cd ..\src
nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
vc-dll: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-dll
cd ..\src
nmake /f Makefile.$(VC) cfg=release-dll
vc-dll-zlib-dll: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
cd ..\src
nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
vc-dll-ssl-dll-zlib-dll: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
cd ..\src
nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
vc-ssl-dll-zlib-dll: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
cd ..\src
nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
vc-zlib-dll: $(VC)
cd lib
nmake /f Makefile.$(VC) cfg=release-zlib-dll
cd ..\src
nmake /f Makefile.$(VC) cfg=release-zlib-dll
djgpp: djgpp:
$(MAKE) -C lib -f Makefile.dj $(MAKE) -C lib -f Makefile.dj
@ -497,75 +142,6 @@ linux: all
linux-ssl: ssl linux-ssl: ssl
# We don't need to do anything for vc6.
vc6:
# VC7 makefiles are for use with VS.NET and VS.NET 2003
vc7: lib/Makefile.vc7 src/Makefile.vc7
lib/Makefile.vc7: lib/Makefile.vc6
@echo "generate $@"
@sed -e "s/VC6/VC7/g" lib/Makefile.vc6 > lib/Makefile.vc7
src/Makefile.vc7: src/Makefile.vc6
@echo "generate $@"
@sed -e "s/VC6/VC7/g" src/Makefile.vc6 > src/Makefile.vc7
# VC8 makefiles are for use with VS2005
vc8: lib/Makefile.vc8 src/Makefile.vc8
lib/Makefile.vc8: lib/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" lib/Makefile.vc6 > lib/Makefile.vc8
src/Makefile.vc8: src/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" src/Makefile.vc6 > src/Makefile.vc8
# VC9 makefiles are for use with VS2008
vc9: lib/Makefile.vc9 src/Makefile.vc9
lib/Makefile.vc9: lib/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc9/g" -e "s/VC6/VC9/g" lib/Makefile.vc6 > lib/Makefile.vc9
src/Makefile.vc9: src/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc9/g" -e "s/VC6/VC9/g" src/Makefile.vc6 > src/Makefile.vc9
# VC10 makefiles are for use with VS2010
vc10: lib/Makefile.vc10 src/Makefile.vc10
lib/Makefile.vc10: lib/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc10/g" -e "s/VC6/VC10/g" lib/Makefile.vc6 > lib/Makefile.vc10
src/Makefile.vc10: src/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc10/g" -e "s/VC6/VC10/g" src/Makefile.vc6 > src/Makefile.vc10
# VC11 makefiles are for use with VS2012
vc11: lib/Makefile.vc11 src/Makefile.vc11
lib/Makefile.vc11: lib/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc11/g" -e "s/VC6/VC11/g" lib/Makefile.vc6 > lib/Makefile.vc11
src/Makefile.vc11: src/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc11/g" -e "s/VC6/VC11/g" src/Makefile.vc6 > src/Makefile.vc11
# VC12 makefiles are for use with VS2013
vc12: lib/Makefile.vc12 src/Makefile.vc12
lib/Makefile.vc12: lib/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc12/g" -e "s/VC6/VC12/g" lib/Makefile.vc6 > lib/Makefile.vc12
src/Makefile.vc12: src/Makefile.vc6
@echo "generate $@"
@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc12/g" -e "s/VC6/VC12/g" src/Makefile.vc6 > src/Makefile.vc12
ca-bundle: lib/mk-ca-bundle.pl ca-bundle: lib/mk-ca-bundle.pl
@echo "generate a fresh ca-bundle.crt" @echo "generate a fresh ca-bundle.crt"
@perl $< -b -l -u lib/ca-bundle.crt @perl $< -b -l -u lib/ca-bundle.crt

View File

@ -1,110 +1,79 @@
Curl and libcurl 7.56.0 Curl and libcurl 7.57.0
Public curl releases: 169 Public curl releases: 171
Command line options: 211 Command line options: 211
curl_easy_setopt() options: 249 curl_easy_setopt() options: 249
Public functions in libcurl: 74 Public functions in libcurl: 74
Contributors: 1618 Contributors: 1626
This release includes the following changes: This release includes the following changes:
o curl: enable compression for SCP/SFTP with --compressed-ssh [11] o auth: add support for RFC7616 - HTTP Digest access authentication [12]
o libcurl: enable compression for SCP/SFTP with CURLOPT_SSH_COMPRESSION [11] o share: add support for sharing the connection cache [31]
o vtls: added dynamic changing SSL backend with curl_global_sslset() [28] o HTTP: implement Brotli content encoding [28]
o new MIME API, curl_mime_init() and friends [32]
o openssl: initial SSLKEYLOGFILE implementation [36]
This release includes the following bugfixes: This release includes the following bugfixes:
o FTP: zero terminate the entry path even on bad input [67] o curl_mime_filedata.3: fix typos [1]
o examples/ftpuploadresume.c: use portable code o libtest: Add required test libraries for lib1552 and lib1553 [2]
o runtests: match keywords case insensitively o fix time diffs for systems using unsigned time_t [3]
o travis: build the examples too [1] o ftplistparser: memory leak fix: free temporary memory always [4]
o strtoofft: reduce integer overflow risks globally [2] o multi: allow table handle sizes to be overridden [5]
o zsh.pl: produce a working completion script again [3] o wildcards: don't use with non-supported protocols [6]
o cmake: remove dead code for CURL_DISABLE_RTMP [4] o curl_fnmatch: return error on illegal wildcard pattern [7]
o progress: Track total times following redirects [5] o transfer: Fix chunked-encoding upload too early exit [8]
o configure: fix --disable-threaded-resolver [6] o curl_setup: Improve detection of CURL_WINDOWS_APP [9]
o cmake: remove dead code for DISABLED_THREADSAFE [7] o resolvers: only include anything if needed [10]
o configure: fix clang version detection o setopt: fix CURLOPT_SSH_AUTH_TYPES option read
o darwinssi: fix error: variable length array used o appveyor: add a win32 build
o travis: add metalink to some osx builds [8] o Curl_timeleft: change return type to timediff_t [11]
o configure: check for __builtin_available() availability [9] o cmake: Export libcurl and curl targets to use by other cmake projects [13]
o http_proxy: fix build error for CURL_DOES_CONVERSIONS [10] o curl: in -F option arg, comma is a delimiter for files only [14]
o examples/ftpuploadresume: checksrc compliance o curl: improved ";type=" handling in -F option arguments
o ftp: fix CWD when doing multicwd then nocwd on same connection [12] o timeval: use mach_absolute_time() on MacOS [15]
o system.h: remove all CURL_SIZEOF_* defines [13] o curlx: the timeval functions are no longer provided as curlx_* [16]
o http: Don't wait on CONNECT when there is no proxy [14] o mkhelp.pl: do not generate comment with current date [17]
o system.h: check for __ppc__ as well [15] o memdebug: use send/recv signature for curl_dosend/curl_dorecv [18]
o http2_recv: return error better on fatal h2 errors [16] o cookie: avoid NULL dereference [19]
o scripts/contri*sh: use "git log --use-mailmap" o url: fix CURLOPT_POSTFIELDSIZE arg value check to allow -1 [20]
o tftp: fix memory leak on too long filename [17] o include: remove conncache.h inclusion from where its not needed
o system.h: fix build for hppa [18] o CURLOPT_MAXREDIRS: allow -1 as a value [21]
o cmake: enable picky compiler options with clang and gcc [19] o tests: Fixed torture tests on tests 556 and 650
o makefile.m32: add support for libidn2 [20] o http2: Fixed OOM handling in upgrade request
o curl: turn off MinGW CRT's globbing [21] o url: fix CURLOPT_DNS_CACHE_TIMEOUT arg value check to allow -1
o request-target.d: mention added in 7.55.0 o CURLOPT_INFILESIZE: accept -1 [22]
o curl: shorten and clean up CA cert verification error message [22] o curl: pass through [] in URLs instead of calling globbing error [23]
o imap: support PREAUTH [23] o curl: speed up handling of many URLs [24]
o CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD o ntlm: avoid malloc(0) for zero length passwords [25]
o examples/threaded-ssl: mention that this is for openssl before 1.1 o url: remove faulty arg value check from CURLOPT_SSH_AUTH_TYPES [26]
o winbuild: fix embedded manifest option [24] o HTTP: support multiple Content-Encodings [27]
o tests: Make sure libtests & unittests call curl_global_cleanup() o travis: add a job with brotli enabled
o system.h: include sys/poll.h for AIX [25] o url: remove unncessary NULL-check
o darwinssl: handle long strings in TLS certs [26] o fnmatch: remove dead code
o strtooff: fix build for systems with long long but no strtoll [27] o connect: store IPv6 connection status after valid connection [29]
o asyn-thread: Improved cleanup after OOM situations o imap: deal with commands case insensitively [30]
o HELP-US.md: "How to get started helping out in the curl project" [29] o --interface: add support for Linux VRF [32]
o curl.h: CURLSSLBACKEND_WOLFSSL used wrong value [30] o content_encoding: fix inflate_stream for no bytes available [33]
o unit1301: fix error message on first test o cmake: Correctly include curl.rc in Windows builds [34]
o ossfuzz: moving towards the ideal integration [31] o cmake: Add missing setmode check [35]
o http: fix a memory leakage in checkrtspprefix() o connect.c: remove executable bit on file [36]
o examples/post-callback: stop returning one byte at a time o SMB: fix uninitialized local variable
o schannel: return CURLE_SSL_CACERT on failed verification [33] o zlib/brotli: only include header files in modules needing them [37]
o MAIL-ETIQUETTE: added "1.9 Your emails are public" o URL: return error on malformed URLs with junk after IPv6 bracket [38]
o http-proxy: treat all 2xx as CONNECT success [34] o openssl: fix too broad use of HAVE_OPAQUE_EVP_PKEY [39]
o openssl: use OpenSSL's default ciphers by default [35] o macOS: Fix missing connectx function with Xcode version older than 9.0 [40]
o runtests.pl: support attribute "nonewline" in part verify/upload o --resolve: allow IP address within [] brackets [41]
o configure: remove --enable-soname-bump and SONAME_BUMP [37] o examples/curlx: Fix code style [42]
o travis: add c-ares enabled builds linux + osx [38] o ntlm: remove unnecessary NULL-check to please scan-build [43]
o vtls: fix WolfSSL 3.12 build problems [39] o Curl_llist_remove: fix potential NULL pointer deref [43]
o http-proxy: when not doing CONNECT, that phase is done immediately [40] o mime: fix "Value stored to 'sz' is never read" scan-build error [43]
o configure: fix curl_off_t check's include order [41] o openssl: fix "Value stored to 'rc' is never read" scan-build error [43]
o configure: use -Wno-varargs on clang 3.9[.X] debug builds o http2: fix "Value stored to 'hdbuf' is never read" scan-build error [43]
o rtsp: do not call fwrite() with NULL pointer FILE * [42] o http2: fix "Value stored to 'end' is never read" scan-build error [43]
o mbedtls: enable CA path processing [43] o Curl_open: fix OOM return error correctly [43]
o travis: add build without HTTP/SMTP/IMAP o url: reject ASCII control characters and space in host names [44]
o checksrc: verify more code style rules [44] o examples/rtsp: clear RANGE again after use [45]
o HTTP proxy: on connection re-use, still use the new remote port [45] o connect: improve the bind error message [46]
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]
This release includes the following known bugs: This release includes the following known bugs:
@ -113,89 +82,63 @@ This release includes the following known bugs:
This release would not have looked like this without help, code, reports and This release would not have looked like this without help, code, reports and
advice from friends like these: advice from friends like these:
Anders Bakken, Andrei Karas, Benbuck Nason, Ben Greear, Benjamin Sergeant, Alessandro Ghedini, Alex Malinovich, Alfonso Martone, Andrew Lambert,
Bill Pyne, Brian Carpenter, Dan Fandrich, Daniel Stenberg, David Benjamin, arainchik on github, Brian Carpenter, cbartl on github, Dan Fandrich,
Dirk Feytons, Even Rouault, Frank Denis, Gergely Nagy, Gisle Vanem, Daniel Bankhead, Daniel Stenberg, Dirk Feytons, Dmitri Tikhonov, Gisle Vanem,
Ian Fette, imilli on github, Isaac Boukris, Jackarain on github, hsiao yi, Jakub Zakrzewski, John Starks, Juro Bystricky, Luca Boccassi,
Jakub Zakrzewski, Jan Alexander Steffens, Johannes Schindelin, Marcel Raad, Martin Storsjö, Max Dymond, Michael Felt, Michael Kaufmann,
John David Anglin, joshhe on github, Kamil Dudka, Kevin Smith, moohoorama on github, omau on github, Orgad Shaneh, Patrick Monnerat,
Lawrence Wagerfield, Maksim Stsepanenka, Marc Aldorasi, Marcel Raad, Paul Howarth, Pavel Gushchin, Pavol Markovic, Per Lundberg, Peter Piekarski,
Max Dymond, Michael Kaufmann, Michael Smith, Nick Zitzmann, Petr Voytsik, Ray Satiro, Rob Cotrone, Viktor Szakáts, youngchopin on github,
Nicolas Morey-Chaisemartin, Oli Kingshott, Patrick Monnerat, Pavel P, (37 contributors)
Peter Lamare, Peter Wu, Ray Satiro, Rich Gray, Ryan Schmidt, Ryan Winograd,
SBKarr on github, Tatsuhiro Tsujikawa, Viktor Szakáts,
(47 contributors)
Thanks! (and sorry if I forgot to mention someone) Thanks! (and sorry if I forgot to mention someone)
References to bug reports and discussions on issues: References to bug reports and discussions on issues:
[1] = https://curl.haxx.se/bug/?i=1777 [1] = https://curl.haxx.se/bug/?i=2008
[2] = https://curl.haxx.se/bug/?i=1758 [2] = https://curl.haxx.se/bug/?i=2006
[3] = https://curl.haxx.se/bug/?i=1779 [3] = https://curl.haxx.se/bug/?i=2004
[4] = https://curl.haxx.se/bug/?i=1785 [4] = https://curl.haxx.se/bug/?i=2013
[5] = https://curl.haxx.se/bug/?i=1602 [5] = https://curl.haxx.se/bug/?i=1982
[6] = https://curl.haxx.se/bug/?i=1784 [6] = https://curl.haxx.se/bug/?i=2016
[7] = https://curl.haxx.se/bug/?i=1786 [7] = https://curl.haxx.se/bug/?i=2015
[8] = https://curl.haxx.se/bug/?i=1790 [8] = https://curl.haxx.se/bug/?i=2001
[9] = https://curl.haxx.se/bug/?i=1788 [9] = https://curl.haxx.se/bug/?i=2025
[10] = https://curl.haxx.se/bug/?i=1793 [10] = https://curl.haxx.se/bug/?i=2023
[11] = https://curl.haxx.se/bug/?i=1735 [11] = https://curl.haxx.se/bug/?i=2021
[12] = https://curl.haxx.se/bug/?i=1782 [12] = https://curl.haxx.se/bug/?i=1934
[13] = https://curl.haxx.se/bug/?i=1767 [13] = https://curl.haxx.se/bug/?i=1879
[14] = https://curl.haxx.se/bug/?i=1803 [14] = https://curl.haxx.se/bug/?i=2022
[15] = https://curl.haxx.se/bug/?i=1797 [15] = https://curl.haxx.se/bug/?i=2033
[16] = https://curl.haxx.se/bug/?i=1021 [16] = https://curl.haxx.se/bug/?i=2034
[17] = https://curl.haxx.se/bug/?i=1808 [17] = https://curl.haxx.se/bug/?i=2026
[18] = https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872502#10 [18] = https://curl.haxx.se/bug/?i=2031
[19] = https://curl.haxx.se/bug/?i=1799 [19] = https://curl.haxx.se/bug/?i=2032
[20] = https://curl.haxx.se/bug/?i=1815 [20] = https://curl.haxx.se/mail/lib-2017-11/0000.html
[21] = https://curl.haxx.se/bug/?i=1751 [21] = https://curl.haxx.se/bug/?i=2038
[22] = https://curl.haxx.se/bug/?i=1810 [22] = https://curl.haxx.se/bug/?i=2047
[23] = https://curl.haxx.se/bug/?i=1818 [23] = https://curl.haxx.se/bug/?i=2044
[24] = https://curl.haxx.se/bug/?i=1832 [24] = https://curl.haxx.se/bug/?i=1959
[25] = https://curl.haxx.se/bug/?i=1828 [25] = https://curl.haxx.se/bug/?i=2054
[26] = https://curl.haxx.se/bug/?i=1823 [26] = https://github.com/curl/curl/commit/f121575#commitcomment-25347120
[27] = https://curl.haxx.se/bug/?i=1829 [27] = https://curl.haxx.se/bug/?i=2002
[28] = https://curl.haxx.se/libcurl/c/curl_global_sslset.html [28] = https://curl.haxx.se/bug/?i=2045
[29] = https://curl.haxx.se/bug/?i=1837 [29] = https://curl.haxx.se/bug/?i=2053
[30] = https://curl.haxx.se/mail/lib-2017-08/0120.html [30] = https://curl.haxx.se/bug/?i=2061
[31] = https://curl.haxx.se/bug/?i=1842 [31] = https://curl.haxx.se/bug/?i=2043
[32] = https://curl.haxx.se/bug/?i=1839 [32] = https://curl.haxx.se/bug/?i=2024
[33] = https://curl.haxx.se/bug/?i=1858 [33] = https://curl.haxx.se/bug/?i=2060
[34] = https://curl.haxx.se/bug/?i=1859 [34] = https://curl.haxx.se/bug/?i=2064
[35] = https://curl.haxx.se/bug/?i=1846 [35] = https://curl.haxx.se/bug/?i=2067
[36] = https://curl.haxx.se/bug/?i=1866 [36] = https://curl.haxx.se/bug/?i=2071
[37] = https://curl.haxx.se/bug/?i=1861 [37] = https://curl.haxx.se/mail/lib-2017-11/0032.html
[38] = https://curl.haxx.se/bug/?i=1868 [38] = https://curl.haxx.se/bug/?i=2072
[39] = https://curl.haxx.se/bug/?i=1865 [39] = https://curl.haxx.se/bug/?i=2079
[40] = https://curl.haxx.se/bug/?i=1853 [40] = https://curl.haxx.se/bug/?i=2080
[41] = https://curl.haxx.se/bug/?i=1870 [41] = https://curl.haxx.se/bug/?i=2087
[42] = https://curl.haxx.se/bug/?i=1874 [42] = https://curl.haxx.se/bug/?i=2096
[43] = https://curl.haxx.se/bug/?i=1877 [43] = https://curl.haxx.se/bug/?i=2098
[44] = https://curl.haxx.se/bug/?i=1878 [44] = https://curl.haxx.se/bug/?i=2073
[45] = https://curl.haxx.se/bug/?i=1887 [45] = https://curl.haxx.se/bug/?i=2106
[46] = https://curl.haxx.se/bug/?i=1687 [46] = https://curl.haxx.se/bug/?i=2104
[47] = https://curl.haxx.se/bug/?i=1880
[48] = https://curl.haxx.se/mail/lib-2017-09/0031.html
[49] = https://curl.haxx.se/bug/?i=1891
[50] = https://curl.haxx.se/bug/?i=1890
[51] = https://curl.haxx.se/bug/?i=1892
[52] = https://curl.haxx.se/bug/?i=1893
[53] = https://curl.haxx.se/bug/?i=1895
[54] = https://curl.haxx.se/bug/?i=1894
[55] = https://curl.haxx.se/bug/?i=1896
[56] = https://curl.haxx.se/bug/?i=1904
[57] = https://curl.haxx.se/bug/?i=1902
[58] = https://curl.haxx.se/bug/?i=1902
[59] = https://curl.haxx.se/bug/?i=1908
[60] = https://curl.haxx.se/bug/?i=1925
[61] = https://curl.haxx.se/bug/?i=1918
[62] = https://curl.haxx.se/bug/?i=1920
[63] = https://curl.haxx.se/bug/?i=1921
[64] = https://curl.haxx.se/bug/?i=1922
[65] = https://curl.haxx.se/bug/?i=1928
[66] = https://curl.haxx.se/bug/?i=1932
[67] = https://curl.haxx.se/docs/adv_20171004.html
[68] = https://curl.haxx.se/bug/?i=1917
[69] = https://curl.haxx.se/bug/?i=1919

View File

@ -124,7 +124,6 @@ AC_SUBST(libext)
dnl figure out the libcurl version dnl figure out the libcurl version
CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)".*/\1/p' ${srcdir}/include/curl/curlver.h` CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)".*/\1/p' ${srcdir}/include/curl/curlver.h`
XC_CHECK_PROG_CC XC_CHECK_PROG_CC
AC_PROG_CXX
XC_AUTOMAKE XC_AUTOMAKE
AC_MSG_CHECKING([curl version]) AC_MSG_CHECKING([curl version])
AC_MSG_RESULT($CURLVERSION) AC_MSG_RESULT($CURLVERSION)
@ -149,6 +148,7 @@ dnl initialize all the info variables
curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )" curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )"
curl_ssh_msg="no (--with-libssh2)" curl_ssh_msg="no (--with-libssh2)"
curl_zlib_msg="no (--with-zlib)" curl_zlib_msg="no (--with-zlib)"
curl_brotli_msg="no (--with-brotli)"
curl_gss_msg="no (--with-gssapi)" curl_gss_msg="no (--with-gssapi)"
curl_tls_srp_msg="no (--enable-tls-srp)" curl_tls_srp_msg="no (--enable-tls-srp)"
curl_res_msg="default (--enable-ares / --enable-threaded-resolver)" curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
@ -976,6 +976,94 @@ dnl set variable for use in automakefile(s)
AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1) AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1)
AC_SUBST(ZLIB_LIBS) AC_SUBST(ZLIB_LIBS)
dnl **********************************************************************
dnl Check for the presence of BROTLI decoder libraries and headers
dnl **********************************************************************
dnl Brotli project home page: https://github.com/google/brotli
dnl Default to compiler & linker defaults for BROTLI files & libraries.
OPT_BROTLI=off
AC_ARG_WITH(brotli,dnl
AC_HELP_STRING([--with-brotli=PATH],[Where to look for brotli, PATH points to the BROTLI installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
AC_HELP_STRING([--without-brotli], [disable BROTLI]),
OPT_BROTLI=$withval)
if test X"$OPT_BROTLI" != Xno; then
dnl backup the pre-brotli variables
CLEANLDFLAGS="$LDFLAGS"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
case "$OPT_BROTLI" in
yes)
dnl --with-brotli (without path) used
CURL_CHECK_PKGCONFIG(libbrotlidec)
if test "$PKGCONFIG" != "no" ; then
LIB_BROTLI=`$PKGCONFIG --libs-only-l libbrotlidec`
LD_BROTLI=`$PKGCONFIG --libs-only-L libbrotlidec`
CPP_BROTLI=`$PKGCONFIG --cflags-only-I libbrotlidec`
version=`$PKGCONFIG --modversion libbrotlidec`
DIR_BROTLI=`echo $LD_BROTLI | $SED -e 's/-L//'`
fi
;;
off)
dnl no --with-brotli option given, just check default places
;;
*)
dnl use the given --with-brotli spot
PREFIX_BROTLI=$OPT_BROTLI
;;
esac
dnl if given with a prefix, we set -L and -I based on that
if test -n "$PREFIX_BROTLI"; then
LIB_BROTLI="-lbrotlidec"
LD_BROTLI=-L${PREFIX_BROTLI}/lib$libsuff
CPP_BROTLI=-I${PREFIX_BROTLI}/include
DIR_BROTLI=${PREFIX_BROTLI}/lib$libsuff
fi
LDFLAGS="$LDFLAGS $LD_BROTLI"
CPPFLAGS="$CPPFLAGS $CPP_BROTLI"
LIBS="$LIB_BROTLI $LIBS"
AC_CHECK_LIB(brotlidec, BrotliDecoderDecompress)
AC_CHECK_HEADERS(brotli/decode.h,
curl_brotli_msg="enabled (libbrotlidec)"
HAVE_BROTLI=1
AC_DEFINE(HAVE_BROTLI, 1, [if BROTLI is in use])
AC_SUBST(HAVE_BROTLI, [1])
)
if test X"$OPT_BROTLI" != Xoff &&
test "$HAVE_BROTLI" != "1"; then
AC_MSG_ERROR([BROTLI libs and/or directories were not found where specified!])
fi
if test "$HAVE_BROTLI" = "1"; then
if test -n "$DIR_BROTLI"; then
dnl when the brotli shared libs were found in a path that the run-time
dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
dnl to prevent further configure tests to fail due to this
if test "x$cross_compiling" != "xyes"; then
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_BROTLI"
export LD_LIBRARY_PATH
AC_MSG_NOTICE([Added $DIR_BROTLI to LD_LIBRARY_PATH])
fi
fi
else
dnl no brotli, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
fi
fi
dnl ********************************************************************** dnl **********************************************************************
dnl Check for LDAP dnl Check for LDAP
dnl ********************************************************************** dnl **********************************************************************
@ -1647,10 +1735,7 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
fi fi
fi fi
if test X"$OPENSSL_ENABLED" = X"1"; then if test X"$OPENSSL_ENABLED" != X"1"; then
dnl is there a pkcs12.h header present?
AC_CHECK_HEADERS(openssl/pkcs12.h)
else
LIBS="$CLEANLIBS" LIBS="$CLEANLIBS"
fi fi
@ -3389,6 +3474,7 @@ AC_CHECK_FUNCS([geteuid \
getrlimit \ getrlimit \
gettimeofday \ gettimeofday \
if_nametoindex \ if_nametoindex \
mach_absolute_time \
pipe \ pipe \
setlocale \ setlocale \
setmode \ setmode \
@ -3789,6 +3875,9 @@ fi
if test "x$HAVE_LIBZ" = "x1"; then if test "x$HAVE_LIBZ" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES libz" SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
fi fi
if test "x$HAVE_BROTLI" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES brotli"
fi
if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1" \ if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1" \
-o "x$USE_THREADS_WIN32" = "x1"; then -o "x$USE_THREADS_WIN32" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS" SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
@ -3974,7 +4063,6 @@ AC_CONFIG_FILES([Makefile \
tests/server/Makefile \ tests/server/Makefile \
tests/libtest/Makefile \ tests/libtest/Makefile \
tests/unit/Makefile \ tests/unit/Makefile \
tests/fuzz/Makefile \
packages/Makefile \ packages/Makefile \
packages/Win32/Makefile \ packages/Win32/Makefile \
packages/Win32/cygwin/Makefile \ packages/Win32/cygwin/Makefile \
@ -4007,6 +4095,7 @@ AC_MSG_NOTICE([Configured to build curl/libcurl:
SSL support: ${curl_ssl_msg} SSL support: ${curl_ssl_msg}
SSH support: ${curl_ssh_msg} SSH support: ${curl_ssh_msg}
zlib support: ${curl_zlib_msg} zlib support: ${curl_zlib_msg}
brotli support: ${curl_brotli_msg}
GSS-API support: ${curl_gss_msg} GSS-API support: ${curl_gss_msg}
TLS-SRP support: ${curl_tls_srp_msg} TLS-SRP support: ${curl_tls_srp_msg}
resolver: ${curl_res_msg} resolver: ${curl_res_msg}

View File

@ -1,2 +1,4 @@
*.html *.html
*.pdf *.pdf
curl.1
*.1.dist

View File

@ -63,7 +63,7 @@ BUGS
Security related bugs or bugs that are suspected to have a security impact, Security related bugs or bugs that are suspected to have a security impact,
should be reported by email to curl-security@haxx.se so that they first can should be reported by email to curl-security@haxx.se so that they first can
be dealt with away from the public to minimize the harm and impact it will be dealt with away from the public to minimize the harm and impact it will
have on existing users out there who might be using the vulernable versions. have on existing users out there who might be using the vulnerable versions.
The curl project's process for handling security related issues is The curl project's process for handling security related issues is
documented here: documented here:
@ -186,7 +186,7 @@ BUGS
include the version number of the curl you're using when you experience the include the version number of the curl you're using when you experience the
issue. If that version number shows us that you're using an out-of-date issue. If that version number shows us that you're using an out-of-date
curl, you should also try out a modern curl version to see if the problem curl, you should also try out a modern curl version to see if the problem
persists or how/if it has changed in apperance. persists or how/if it has changed in appearance.
Even if you cannot immediately upgrade your application/system to run the Even if you cannot immediately upgrade your application/system to run the
latest curl version, you can most often at least run a test version or latest curl version, you can most often at least run a test version or
@ -290,8 +290,8 @@ BUGS
The issue and pull request trackers on https://github.com/curl/curl will The issue and pull request trackers on https://github.com/curl/curl will
only hold "active" entries (using a non-precise definition of what active only hold "active" entries (using a non-precise definition of what active
actually is, but they're at least not completely dead). Those that are actually is, but they're at least not completely dead). Those that are
abandonded or in other ways dormant will be closed and sometimes added to abandoned or in other ways dormant will be closed and sometimes added to
TODO and KNOWN_BUGS instead. TODO and KNOWN_BUGS instead.
This way, we only have "active" issues open on github. Irrelevant issues and This way, we only have "active" issues open on github. Irrelevant issues and
pull requests will not distract developes or casual visitors. pull requests will not distract developers or casual visitors.

View File

@ -1418,7 +1418,7 @@ FAQ
timed out. timed out.
The most flexible way is by writing your own time-out logic and using The most flexible way is by writing your own time-out logic and using
CURLOPT_PROGRESSFUNCTION (perhaps in combination with other callbacks) and CURLOPT_XFERINFOFUNCTION (perhaps in combination with other callbacks) and
use that to figure out exactly when the right condition is met when the use that to figure out exactly when the right condition is met when the
transfer should get stopped. transfer should get stopped.

View File

@ -15,11 +15,11 @@ found yourself or perhaps got annoyed at in the past. It can be a spelling
error in an error text or a weirdly phrased section in a man page. Hunt it error in an error text or a weirdly phrased section in a man page. Hunt it
down and report the bug. Or make your first pull request with a fix for that. down and report the bug. Or make your first pull request with a fix for that.
## PR-welcome ## Help wanted
In the issue tracker we occasionally mark bugs with In the issue tracker we occasionally mark bugs with [help
[PR-welcome](https://github.com/curl/curl/labels/PR-welcome), as a sign that wanted](https://github.com/curl/curl/labels/help%20wanted), as a sign that the
the bug is acknowledged to exist and that there's nobody known to work on this bug is acknowledged to exist and that there's nobody known to work on this
issue for the moment. Those are bugs that are fine to "grab" and provide a issue for the moment. Those are bugs that are fine to "grab" and provide a
pull request for. The complexity level of these will of course vary, so pick pull request for. The complexity level of these will of course vary, so pick
one that piques your interest. one that piques your interest.

View File

@ -82,7 +82,7 @@ Dependencies
- zlib 1.1.4 - zlib 1.1.4
- libssh2 0.16 - libssh2 0.16
- c-ares 1.6.0 - c-ares 1.6.0
- libidn 0.4.1 - libidn2 2.0.0
- cyassl 2.0.0 - cyassl 2.0.0
- openldap 2.0 - openldap 2.0
- MIT Kerberos 1.2.4 - MIT Kerberos 1.2.4
@ -612,20 +612,6 @@ curlx
strtoll() (or equivalent) function exist on your platform. If `curl_off_t` strtoll() (or equivalent) function exist on your platform. If `curl_off_t`
is only a 32 bit number on your platform, this macro uses strtol(). is only a 32 bit number on your platform, this macro uses strtol().
`curlx_tvnow()`
---------------
returns a struct timeval for the current time.
`curlx_tvdiff()`
--------------
returns the difference between two timeval structs, in number of
milliseconds.
`curlx_tvdiff_secs()`
---------------------
returns the same as `curlx_tvdiff` but with full usec resolution (as a
double)
Future Future
------ ------
@ -656,29 +642,29 @@ Content Encoding
## About content encodings ## About content encodings
[HTTP/1.1][4] specifies that a client may request that a server encode its [HTTP/1.1][4] specifies that a client may request that a server encode its
response. This is usually used to compress a response using one of a set of response. This is usually used to compress a response using one (or more)
commonly available compression techniques. These schemes are 'deflate' (the encodings from a set of commonly available compression techniques. These
zlib algorithm), 'gzip' and 'compress'. A client requests that the server schemes include 'deflate' (the zlib algorithm), 'gzip' 'br' (brotli) and
perform an encoding by including an Accept-Encoding header in the request 'compress'. A client requests that the server perform an encoding by including
document. The value of the header should be one of the recognized tokens an Accept-Encoding header in the request document. The value of the header
'deflate', ... (there's a way to register new schemes/tokens, see sec 3.5 of should be one of the recognized tokens 'deflate', ... (there's a way to
the spec). A server MAY honor the client's encoding request. When a response register new schemes/tokens, see sec 3.5 of the spec). A server MAY honor
is encoded, the server includes a Content-Encoding header in the the client's encoding request. When a response is encoded, the server
response. The value of the Content-Encoding header indicates which scheme was includes a Content-Encoding header in the response. The value of the
used to encode the data. Content-Encoding header indicates which encodings were used to encode the
data, in the order in which they were applied.
A client may tell a server that it can understand several different encoding
schemes. In this case the server may choose any one of those and use it to
encode the response (indicating which one using the Content-Encoding header).
It's also possible for a client to attach priorities to different schemes so It's also possible for a client to attach priorities to different schemes so
that the server knows which it prefers. See sec 14.3 of RFC 2616 for more that the server knows which it prefers. See sec 14.3 of RFC 2616 for more
information on the Accept-Encoding header. information on the Accept-Encoding header. See sec [3.1.2.2 of RFC 7231][15]
for more information on the Content-Encoding header.
## Supported content encodings ## Supported content encodings
The 'deflate' and 'gzip' content encoding are supported by libcurl. Both The 'deflate', 'gzip' and 'br' content encodings are supported by libcurl.
regular and chunked transfers work fine. The zlib library is required for Both regular and chunked transfers work fine. The zlib library is required
this feature. for the 'deflate' and 'gzip' encodings, while the brotli decoding library is
for the 'br' encoding.
## The libcurl interface ## The libcurl interface
@ -688,14 +674,15 @@ Content Encoding
where string is the intended value of the Accept-Encoding header. where string is the intended value of the Accept-Encoding header.
Currently, libcurl only understands how to process responses that use the Currently, libcurl does support multiple encodings but only
"deflate" or "gzip" Content-Encoding, so the only values for understands how to process responses that use the "deflate", "gzip" and/or
[`CURLOPT_ACCEPT_ENCODING`][5] that will work (besides "identity," which does "br" content encodings, so the only values for [`CURLOPT_ACCEPT_ENCODING`][5]
nothing) are "deflate" and "gzip" If a response is encoded using the that will work (besides "identity," which does nothing) are "deflate",
"compress" or methods, libcurl will return an error indicating that the "gzip" and "br". If a response is encoded using the "compress" or methods,
response could not be decoded. If <string> is NULL no Accept-Encoding header libcurl will return an error indicating that the response could
is generated. If <string> is a zero-length string, then an Accept-Encoding not be decoded. If <string> is NULL no Accept-Encoding header is generated.
header containing all supported encodings will be generated. If <string> is a zero-length string, then an Accept-Encoding header
containing all supported encodings will be generated.
The [`CURLOPT_ACCEPT_ENCODING`][5] must be set to any non-NULL value for The [`CURLOPT_ACCEPT_ENCODING`][5] must be set to any non-NULL value for
content to be automatically decoded. If it is not set and the server still content to be automatically decoded. If it is not set and the server still
@ -1091,3 +1078,4 @@ for older and later versions as things don't change drastically that often.
[12]: https://curl.haxx.se/libcurl/c/curl_multi_fdset.html [12]: https://curl.haxx.se/libcurl/c/curl_multi_fdset.html
[13]: https://curl.haxx.se/libcurl/c/curl_multi_add_handle.html [13]: https://curl.haxx.se/libcurl/c/curl_multi_add_handle.html
[14]: https://curl.haxx.se/libcurl/c/curl_multi_info_read.html [14]: https://curl.haxx.se/libcurl/c/curl_multi_info_read.html
[15]: https://tools.ietf.org/html/rfc7231#section-3.1.2.2

View File

@ -83,10 +83,13 @@ Coming dates
Based on the description above, here are some planned release dates (at the Based on the description above, here are some planned release dates (at the
time of this writing): time of this writing):
- June 14, 2017 (version 7.54.1)
- August 9, 2017
- October 4, 2017
- November 29, 2017 - November 29, 2017
- January 24, 2018 - January 24, 2018
- March 21, 2018 - March 21, 2018
- May 16, 2018 - May 16, 2018
- July 11, 2018
- September 5, 2018
- October 31, 2018
- December 26, 2018
- February 20, 2019
- April 17, 2019

View File

@ -81,3 +81,5 @@ This document lists documents and standards used by curl.
RFC 4616 - PLAIN authentication RFC 4616 - PLAIN authentication
RFC 4954 - SMTP Authentication RFC 4954 - SMTP Authentication
RFC 7932 - Brotli Compressed Data Format

View File

@ -1,20 +1,14 @@
curl the next few years - perhaps curl the next few years - perhaps
================================= =================================
Roadmap of things Daniel Stenberg and Steve Holme want to work on next. It is Roadmap of things Daniel Stenberg wants to work on next. It is intended to
intended to serve as a guideline for others for information, feedback and serve as a guideline for others for information, feedback and possible
possible participation. participation.
QUIC QUIC
---- ----
The standardization process of QUIC has been taken to the IETF and can be See the [QUIC wiki page](https://github.com/curl/curl/wiki/QUIC).
followed on the [IETF QUIC Mailing
list](https://www.ietf.org/mailman/listinfo/quic). I'd like us to get on the
bandwagon. Ideally, this would be done with a separate library/project to
handle the binary/framing layer in a similar fashion to how HTTP/2 is
implemented. This, to allow other projects to benefit from the work and to
thus broaden the interest and chance of others to participate.
HTTP cookies HTTP cookies
------------ ------------
@ -34,85 +28,15 @@ SRV records
How to find services for specific domains/hosts. How to find services for specific domains/hosts.
curl_formadd()
--------------
make sure there's an easy handle passed in to `curl_formadd()`,
`curl_formget()` and `curl_formfree()` by adding replacement functions and
deprecating the old ones to allow custom mallocs and more.
Or perhaps even better: revamp the formpost API completely while we're at it
and making something that is easier to use and understand:
https://github.com/curl/curl/wiki/formpost-API-redesigned
Third-party SASL
----------------
Add support for third-party SASL libraries such as Cyrus SASL.
SASL authentication in LDAP
---------------------------
...
Simplify the SMTP email
-----------------------
Simplify the SMTP email interface so that programmers don't have to
construct the body of an email that contains all the headers, alternative
content, images and attachments - maintain raw interface so that
programmers that want to do this can
email capabilities
------------------
Allow the email protocols to return the capabilities before
authenticating. This will allow an application to decide on the best
authentication mechanism
Win32 pthreads
--------------
Allow Windows threading model to be replaced by Win32 pthreads port
dynamic buffer size
-------------------
Implement a dynamic buffer size to allow SFTP to use much larger buffers and
possibly allow the size to be customizable by applications. Use less memory
when handles are not in use?
New stuff - curl
----------------
1. Embed a language interpreter (lua?). For that middle ground where curl
isnt enough and a libcurl binding feels “too much”. Build-time conditional
of course.
2. Simplify the SMTP command line so that the headers and multi-part content
don't have to be constructed before calling curl
Improve Improve
------- -------
1. build for windows (considered hard by many users) 1. curl -h output (considered overwhelming to users).
2. curl -h output (considered overwhelming to users) 2. We have > 200 command line options, is there a way to redo things to
3. we have > 200 command line options, is there a way to redo things to
simplify or improve the situation as we are likely to keep adding simplify or improve the situation as we are likely to keep adding
features/options in the future too features/options in the future too.
4. authentication framework (consider merging HTTP and SASL authentication to 3. Perform some of the clean up from the TODO document, removing old
give one API for protocols to call)
5. Perform some of the clean up from the TODO document, removing old
definitions and such like that are currently earmarked to be removed years definitions and such like that are currently earmarked to be removed years
ago ago.
Remove
------
1. makefile.vc files as there is no point in maintaining two sets of Windows
makefiles. Note: These are currently being used by the Windows autobuilds

View File

@ -60,6 +60,7 @@ Alexander Sinditskiy
Alexander Traud Alexander Traud
Alexander Zhuravlev Alexander Zhuravlev
Alexey Borzov Alexey Borzov
Alexey Melnichuk
Alexey Pesternikov Alexey Pesternikov
Alexey Simak Alexey Simak
Alexey Zakhlestin Alexey Zakhlestin
@ -131,6 +132,7 @@ Arkadiusz Miskiewicz
Armel Asselin Armel Asselin
Arnaud Compan Arnaud Compan
Arnaud Ebalard Arnaud Ebalard
Artak Galoyan
Arthur Murray Arthur Murray
Arve Knudsen Arve Knudsen
Arvid Norberg Arvid Norberg
@ -481,6 +483,7 @@ Fabrizio Ammollo
Fahim Chandurwala Fahim Chandurwala
Fedor Karpelevitch Fedor Karpelevitch
Feist Josselin Feist Josselin
Felix Kaiser
Felix Yan Felix Yan
Felix von Leitner Felix von Leitner
Feng Tu Feng Tu
@ -664,6 +667,7 @@ Jason McDonald
Jason S. Priebe Jason S. Priebe
Javier Barroso Javier Barroso
Javier G. Sogo Javier G. Sogo
Javier Sixto
Jay Austin Jay Austin
Jayesh A Shah Jayesh A Shah
Jaz Fresh Jaz Fresh
@ -750,6 +754,7 @@ John Wanghui
John Wilkinson John Wilkinson
John-Mark Bell John-Mark Bell
Johnny Luong Johnny Luong
Jon DeVree
Jon Grubbs Jon Grubbs
Jon Nelson Jon Nelson
Jon Sargeant Jon Sargeant
@ -842,6 +847,7 @@ Krishnendu Majumdar
Krister Johansen Krister Johansen
Kristian Gunstone Kristian Gunstone
Kristian Köhntopp Kristian Köhntopp
Kristiyan Tsaklev
Kurt Fankhauser Kurt Fankhauser
Kyle J. McKay Kyle J. McKay
Kyle L. Huff Kyle L. Huff
@ -1561,6 +1567,7 @@ William Ahern
Wojciech Zwiefka Wojciech Zwiefka
Wouter Van Rooy Wouter Van Rooy
Wu Yongzheng Wu Yongzheng
Wyatt O'Day
Xavier Bouchoux Xavier Bouchoux
Xiangbin Li Xiangbin Li
Yaakov Selkowitz Yaakov Selkowitz
@ -1581,6 +1588,7 @@ Yves Arrouye
Yves Lejeune Yves Lejeune
Zdenek Pavlas Zdenek Pavlas
Zekun Ni Zekun Ni
Zenju on github
Zmey Petroff Zmey Petroff
Zvi Har'El Zvi Har'El
afrind on github afrind on github

View File

@ -48,4 +48,32 @@ s/Rodrigo Silva (MestreLion)/Rodrigo Silva/
s/tetetest tetetest// s/tetetest tetetest//
s/Jiří Hruška/Jiri Hruska/ s/Jiří Hruška/Jiri Hruska/
s/Viktor Szakats/Viktor Szakáts/ s/Viktor Szakats/Viktor Szakáts/
s/Jonathan Cardoso/Jonathan Cardoso Machado/ s/Jonathan Cardoso$/Jonathan Cardoso Machado/
s/Linus Nielsen$/Linus Nielsen Feltzing/
s/Todd Ouska$/Todd A Ouska/
s/Tim Ruehsen/Tim Rühsen/
s/Michael Koenig/Michael König/
s/moparisthebest/Travis Burtrum/
s/Jan-E/Jan Ehrhardt/
s/Paras S$/Paras Sethia/
s/Cristian Rodr\xEDguez$/Cristian Rodríguez/
s/Sidney San Mart\xEDn$/Sidney San Martín/
s/Sidney San Martin$/Sidney San Martín/
s/Taneli V\xE4h\xE4kangas$/Taneli Vähäkangas/
s/Taneli Vahakangas$/Taneli Vähäkangas/
s/Никита Дорохин./Никита Дорохин/
s/upstream tests 305//
s/ (edited)//
s/Jean-Philippe Barette-LaPierre$/Jean-Philippe Barrette-LaPierre/
s/Joern Hartroth$/Jörn Hartroth/
s/Hongli Lai (Phusion)$/Hongli Lai/
s/github user 'kreshano'$/kreshano on github/
s/Marc Hoersken$/Marc Hörsken/
s/Martin Storsjo$/Martin Storsjö/
s/Jiri Malak$/Jiří Malák/
s/JDepooter$/Joel Depooter/
s/ERAMOTO Masaya$/Eramoto Masaya/
s/shachaf on github$/Shachaf Ben-Kiki/
s/CarloCannas on github$/Carlo Cannas/
s/Henrik S. Gaßmann$/Henrik Gaßmann/
s/moteus on github/Alexey Melnichuk/

View File

@ -56,6 +56,7 @@
4.5 ASCII support 4.5 ASCII support
4.6 GSSAPI via Windows SSPI 4.6 GSSAPI via Windows SSPI
4.7 STAT for LIST without data connection 4.7 STAT for LIST without data connection
4.8 Option to ignore private IP addresses in PASV response
5. HTTP 5. HTTP
5.1 Better persistency for HTTP 1.0 5.1 Better persistency for HTTP 1.0
@ -64,9 +65,8 @@
5.4 HTTP Digest using SHA-256 5.4 HTTP Digest using SHA-256
5.5 auth= in URLs 5.5 auth= in URLs
5.6 Refuse "downgrade" redirects 5.6 Refuse "downgrade" redirects
5.7 Brotli compression 5.7 QUIC
5.8 QUIC 5.8 Leave secure cookies alone
5.10 Leave secure cookies alone
6. TELNET 6. TELNET
6.1 ditch stdin 6.1 ditch stdin
@ -449,17 +449,23 @@
4.6 GSSAPI via Windows SSPI 4.6 GSSAPI via Windows SSPI
In addition to currently supporting the SASL GSSAPI mechanism (Kerberos V5) In addition to currently supporting the SASL GSSAPI mechanism (Kerberos V5)
via third-party GSS-API libraries, such as Heimdal or MIT Kerberos, also add via third-party GSS-API libraries, such as Heimdal or MIT Kerberos, also add
support for GSSAPI authentication via Windows SSPI. support for GSSAPI authentication via Windows SSPI.
4.7 STAT for LIST without data connection 4.7 STAT for LIST without data connection
Some FTP servers allow STAT for listing directories instead of using LIST, and Some FTP servers allow STAT for listing directories instead of using LIST,
the response is then sent over the control connection instead of as the and the response is then sent over the control connection instead of as the
otherwise usedw data connection: http://www.nsftools.com/tips/RawFTP.htm#STAT otherwise usedw data connection: http://www.nsftools.com/tips/RawFTP.htm#STAT
This is not detailed in any FTP specification. This is not detailed in any FTP specification.
4.8 Option to ignore private IP addresses in PASV response
Some servers respond with and some other FTP client implementations can
ignore private (RFC 1918 style) IP addresses when received in PASV responses.
To consider for libcurl as well. See https://github.com/curl/curl/issues/1455
5. HTTP 5. HTTP
@ -514,13 +520,7 @@ This is not detailed in any FTP specification.
Consider a way to tell curl to refuse to "downgrade" protocol with a redirect Consider a way to tell curl to refuse to "downgrade" protocol with a redirect
and/or possibly a bit that refuses redirect to change protocol completely. and/or possibly a bit that refuses redirect to change protocol completely.
5.7 Brotli compression 5.7 QUIC
Brotli compression performs better than gzip and is being implemented by
browsers and servers widely. The algorithm: https://github.com/google/brotli
The Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=366559
5.8 QUIC
The standardization process of QUIC has been taken to the IETF and can be The standardization process of QUIC has been taken to the IETF and can be
followed on the [IETF QUIC Mailing followed on the [IETF QUIC Mailing
@ -530,7 +530,7 @@ This is not detailed in any FTP specification.
implemented. This, to allow other projects to benefit from the work and to implemented. This, to allow other projects to benefit from the work and to
thus broaden the interest and chance of others to participate. thus broaden the interest and chance of others to participate.
5.10 Leave secure cookies alone 5.8 Leave secure cookies alone
Non-secure origins (HTTP sites) should not be allowed to set or modify Non-secure origins (HTTP sites) should not be allowed to set or modify
cookies with the 'secure' property: cookies with the 'secure' property:

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl-config 1 "February 03, 2016" "Curl 7.56.0" "curl-config manual" .TH curl-config 1 "25 Oct 2007" "Curl 7.17.1" "curl-config manual"
.SH NAME .SH NAME
curl-config \- Get information about a libcurl installation curl-config \- Get information about a libcurl installation
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -70,6 +70,11 @@ smtp-multi
smtp-ssl smtp-ssl
smtp-tls smtp-tls
smtp-vrfy smtp-vrfy
sslbackend
url2file url2file
usercertinmem usercertinmem
xmlstream xmlstream
http2-download
http2-serverpush
http2-upload
imap-lsub

View File

@ -33,7 +33,8 @@ check_PROGRAMS = 10-at-a-time anyauthput cookie_interface debug fileupload \
imap-search imap-create imap-delete imap-copy imap-noop imap-ssl \ imap-search imap-create imap-delete imap-copy imap-noop imap-ssl \
imap-tls imap-multi url2file sftpget ftpsget postinmemory http2-download \ imap-tls imap-multi url2file sftpget ftpsget postinmemory http2-download \
http2-upload http2-serverpush getredirect ftpuploadfrommem \ http2-upload http2-serverpush getredirect ftpuploadfrommem \
ftpuploadresume sslbackend postit2-formadd multi-formadd ftpuploadresume sslbackend postit2-formadd multi-formadd \
shared-connection-cache
# These examples require external dependencies that may not be commonly # These examples require external dependencies that may not be commonly
# available on POSIX systems, so don't bother attempting to compile them here. # available on POSIX systems, so don't bother attempting to compile them here.

View File

@ -2,7 +2,7 @@
# pass files as argument(s) # pass files as argument(s)
my $docroot="http://curl.haxx.se/libcurl/c"; my $docroot="https://curl.haxx.se/libcurl/c";
for $f (@ARGV) { for $f (@ARGV) {
open(NEW, ">$f.new"); open(NEW, ">$f.new");

View File

@ -537,7 +537,7 @@ int main(int argc, char **argv)
res = curl_easy_perform(p.curl)); res = curl_easy_perform(p.curl));
{ {
int result = curl_easy_getinfo(p.curl, CURLINFO_CONTENT_TYPE, &response); int result = curl_easy_getinfo(p.curl, CURLINFO_CONTENT_TYPE, &response);
if(mimetypeaccept && p.verbose) if(mimetypeaccept && p.verbose) {
if(!strcmp(mimetypeaccept, response)) if(!strcmp(mimetypeaccept, response))
BIO_printf(p.errorbio, "the response has a correct mimetype : %s\n", BIO_printf(p.errorbio, "the response has a correct mimetype : %s\n",
response); response);
@ -545,6 +545,7 @@ int main(int argc, char **argv)
BIO_printf(p.errorbio, "the response doesn\'t have an acceptable " BIO_printf(p.errorbio, "the response doesn\'t have an acceptable "
"mime type, it is %s instead of %s\n", "mime type, it is %s instead of %s\n",
response, mimetypeaccept); response, mimetypeaccept);
}
} }
/*** code d'erreur si accept mime ***, egalement code return HTTP != 200 ***/ /*** code d'erreur si accept mime ***, egalement code return HTTP != 200 ***/

View File

@ -129,6 +129,9 @@ static void rtsp_play(CURL *curl, const char *uri, const char *range)
my_curl_easy_setopt(curl, CURLOPT_RANGE, range); my_curl_easy_setopt(curl, CURLOPT_RANGE, range);
my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_PLAY); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_PLAY);
my_curl_easy_perform(curl); my_curl_easy_perform(curl);
/* switch off using range again */
my_curl_easy_setopt(curl, CURLOPT_RANGE, NULL);
} }

View File

@ -1,3 +1,4 @@
*.html *.html
*.pdf *.pdf
*.3.dist
libcurl-symbols.3 libcurl-symbols.3

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_easy_cleanup 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_cleanup 3 "22 aug 2007" "libcurl 7.17.0" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_cleanup - End a libcurl easy handle curl_easy_cleanup - End a libcurl easy handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_easy_duphandle 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_duphandle 3 "19 Sep 2014" "libcurl" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_duphandle - Clone a libcurl session handle curl_easy_duphandle - Clone a libcurl session handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_escape 3 "7 April 2006" "libcurl 7.15.4" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_escape - URL encodes the given string curl_easy_escape - URL encodes the given string
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_easy_getinfo 3 "June 15, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_getinfo 3 "11 Feb 2009" "libcurl 7.19.4" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_getinfo - extract information from a curl handle curl_easy_getinfo - extract information from a curl handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_init 3 "4 March 2002" "libcurl 7.8.1" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_init - Start a libcurl easy session curl_easy_init - Start a libcurl easy session
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_pause 3 "17 Dec 2007" "libcurl 7.18.0" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_pause - pause and unpause a connection curl_easy_pause - pause and unpause a connection
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_easy_perform 3 "May 02, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_perform 3 "5 Mar 2001" "libcurl 7.7" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_perform - perform a blocking file transfer curl_easy_perform - perform a blocking file transfer
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_recv 3 "29 April 2008" "libcurl 7.18.2" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_recv - receives raw data on an "easy" connection curl_easy_recv - receives raw data on an "easy" connection
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_easy_reset 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_reset 3 "31 July 2004" "libcurl 7.12.1" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_reset - reset all options of a libcurl session handle curl_easy_reset - reset all options of a libcurl session handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_send 3 "29 April 2008" "libcurl 7.18.2" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_send - sends raw data over an "easy" connection curl_easy_send - sends raw data over an "easy" connection
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_easy_setopt 3 "September 02, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_setopt 3 "25 Jun 2014" "libcurl 7.38.0" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_setopt \- set options for a curl easy handle curl_easy_setopt \- set options for a curl easy handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_strerror - return string describing error code curl_easy_strerror - return string describing error code
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_easy_unescape 3 "7 April 2006" "libcurl 7.15.4" "libcurl Manual"
.SH NAME .SH NAME
curl_easy_unescape - URL decodes the given string curl_easy_unescape - URL decodes the given string
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_escape 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_escape 3 "6 March 2002" "libcurl 7.9" "libcurl Manual"
.SH NAME .SH NAME
curl_escape - URL encodes the given string curl_escape - URL encodes the given string
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_formadd 3 "September 22, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_formadd 3 "24 June 2002" "libcurl 7.9.8" "libcurl Manual"
.SH NAME .SH NAME
curl_formadd - add a section to a multipart/formdata HTTP POST curl_formadd - add a section to a multipart/formdata HTTP POST
.SH SYNOPSIS .SH SYNOPSIS
@ -173,7 +172,10 @@ you've called \fIcurl_easy_cleanup(3)\fP for the curl handle.
See example below. See example below.
.SH AVAILABILITY .SH AVAILABILITY
Deprecated in 7.56.0. Before this release, field names were allowed to Deprecated in 7.56.0. Before this release, field names were allowed to
contain zero-valued bytes. contain zero-valued bytes. The pseudo-filename "-" to read stdin is
discouraged although still supported, but data is not read before being
actually sent: the effective data size can then not be automatically
determined, resulting in a chunked encoding transfer.
.SH RETURN VALUE .SH RETURN VALUE
0 means everything was ok, non-zero means an error occurred corresponding 0 means everything was ok, non-zero means an error occurred corresponding
to a CURL_FORMADD_* constant defined in to a CURL_FORMADD_* constant defined in

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_formfree 3 "September 02, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_formfree 3 "6 April 2001" "libcurl 7.7.1" "libcurl Manual"
.SH NAME .SH NAME
curl_formfree - free a previously build multipart/formdata HTTP POST chain curl_formfree - free a previously build multipart/formdata HTTP POST chain
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_formget 3 "September 02, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_formget 3 "20 June 2006" "libcurl 7.15.5" "libcurl Manual"
.SH NAME .SH NAME
curl_formget - serialize a previously built multipart/formdata HTTP POST chain curl_formget - serialize a previously built multipart/formdata HTTP POST chain
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_free 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_free 3 "12 Aug 2003" "libcurl 7.10" "libcurl Manual"
.SH NAME .SH NAME
curl_free - reclaim memory that has been obtained through a libcurl call curl_free - reclaim memory that has been obtained through a libcurl call
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_getdate 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_getdate 3 "12 Aug 2005" "libcurl 7.0" "libcurl Manual"
.SH NAME .SH NAME
curl_getdate - Convert a date string to number of seconds curl_getdate - Convert a date string to number of seconds
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_getenv 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_getenv 3 "30 April 2004" "libcurl 7.12" "libcurl Manual"
.SH NAME .SH NAME
curl_getenv - return value for environment name curl_getenv - return value for environment name
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_global_cleanup 3 "17 Feb 2006" "libcurl 7.8" "libcurl Manual"
.SH NAME .SH NAME
curl_global_cleanup - global libcurl cleanup curl_global_cleanup - global libcurl cleanup
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_global_init 3 "August 28, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_global_init 3 "11 May 2004" "libcurl 7.12" "libcurl Manual"
.SH NAME .SH NAME
curl_global_init - Global libcurl initialisation curl_global_init - Global libcurl initialisation
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_global_init_mem 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_global_init_mem 3 "10 May 2004" "libcurl 7.12.0" "libcurl Manual"
.SH NAME .SH NAME
curl_global_init_mem - Global libcurl initialisation with memory callbacks curl_global_init_mem - Global libcurl initialisation with memory callbacks
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_printf 3 "April 01, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_printf 3 "30 April 2004" "libcurl 7.12" "libcurl Manual"
.SH NAME .SH NAME
curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf
curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf,

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_add_handle 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_add_handle 3 "4 March 2002" "libcurl 7.9.5" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_add_handle - add an easy handle to a multi session curl_multi_add_handle - add an easy handle to a multi session
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_assign 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_assign \- set data to associate with an internal socket curl_multi_assign \- set data to associate with an internal socket
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_cleanup 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_cleanup 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_cleanup - close down a multi session curl_multi_cleanup - close down a multi session
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___ .\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____| .\" * \___|\___/|_| \_\_____|
.\" * .\" *
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" * .\" *
.\" * This software is licensed as described in the file COPYING, which .\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms .\" * you should have received as part of this distribution. The terms
@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_fdset 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_fdset 3 "2 Jan 2006" "libcurl 7.16.0" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_fdset - extracts file descriptor information from a multi handle curl_multi_fdset - extracts file descriptor information from a multi handle
.SH SYNOPSIS .SH SYNOPSIS
@ -59,9 +58,10 @@ libcurl set. When libcurl returns -1 in \fImax_fd\fP, it is because libcurl
currently does something that isn't possible for your application to monitor currently does something that isn't possible for your application to monitor
with a socket and unfortunately you can then not know exactly when the current with a socket and unfortunately you can then not know exactly when the current
action is completed using select(). You then need to wait a while before you action is completed using select(). You then need to wait a while before you
proceed and call \fIcurl_multi_perform(3)\fP anyway. How long to wait? We proceed and call \fIcurl_multi_perform(3)\fP anyway. How long to wait? Unless
suggest 100 milliseconds at least, but you may want to test it out in your own \fIcurl_multi_timeout(3)\fP gives you a lower number, we suggest 100
particular conditions to find a suitable value. milliseconds or so, but you may want to test it out in your own particular
conditions to find a suitable value.
When doing select(), you should use \fIcurl_multi_timeout(3)\fP to figure out When doing select(), you should use \fIcurl_multi_timeout(3)\fP to figure out
how long to wait for action. Call \fIcurl_multi_perform(3)\fP even if no how long to wait for action. Call \fIcurl_multi_perform(3)\fP even if no

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_info_read 3 "18 Dec 2004" "libcurl 7.10.3" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_info_read - read multi stack informationals curl_multi_info_read - read multi stack informationals
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_init 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_init 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_init - create a multi handle curl_multi_init - create a multi handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_perform 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_perform - reads/writes available data from each easy handle curl_multi_perform - reads/writes available data from each easy handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_remove_handle 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_remove_handle 3 "6 March 2002" "libcurl 7.9.5" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_remove_handle - remove an easy handle from a multi session curl_multi_remove_handle - remove an easy handle from a multi session
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_setopt 3 "4 Nov 2014" "libcurl 7.39.0" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_setopt \- set options for a curl multi handle curl_multi_setopt \- set options for a curl multi handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_socket 3 "December 15, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_socket 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_socket \- reads/writes available data curl_multi_socket \- reads/writes available data
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_socket_action 3 "June 07, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_socket_action 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_socket_action \- reads/writes available data given an action curl_multi_socket_action \- reads/writes available data given an action
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_strerror - return string describing error code curl_multi_strerror - return string describing error code
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_timeout 3 "May 02, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_timeout 3 "2 Jan 2006" "libcurl 7.16.0" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_timeout \- how long to wait for action before proceeding curl_multi_timeout \- how long to wait for action before proceeding
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_multi_wait 3 "12 Jul 2012" "libcurl 7.28.0" "libcurl Manual"
.SH NAME .SH NAME
curl_multi_wait - polls on all easy handles in a multi handle curl_multi_wait - polls on all easy handles in a multi handle
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_share_cleanup 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_share_cleanup 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
.SH NAME .SH NAME
curl_share_cleanup - Clean up a shared object curl_share_cleanup - Clean up a shared object
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_share_init 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_share_init 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
.SH NAME .SH NAME
curl_share_init - Create a shared object curl_share_init - Create a shared object
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___ .\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____| .\" * \___|\___/|_| \_\_____|
.\" * .\" *
.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" * .\" *
.\" * This software is licensed as described in the file COPYING, which .\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms .\" * you should have received as part of this distribution. The terms
@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_share_setopt 3 "May 29, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_share_setopt 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
.SH NAME .SH NAME
curl_share_setopt - Set options for a shared object curl_share_setopt - Set options for a shared object
.SH SYNOPSIS .SH SYNOPSIS
@ -71,6 +70,13 @@ object. This will reduce the time spent in the SSL handshake when reconnecting
to the same server. Note SSL session IDs are reused within the same easy handle to the same server. Note SSL session IDs are reused within the same easy handle
by default. Note this symbol was added in 7.10.3 but was not implemented until by default. Note this symbol was added in 7.10.3 but was not implemented until
7.23.0. 7.23.0.
.IP CURL_LOCK_DATA_CONNECT
Put the connection cache in the share object and make all easy handles using
this share object share the connection cache. Using this, you can for example
do multi-threaded libcurl use with one handle in each thread, and yet have a
shared pool of unused connections and this way get way better connection
re-use than if you use one separate pool in each thread. Support for this was
added in 7.57.0, but the symbol existed long before this.
.RE .RE
.IP CURLSHOPT_UNSHARE .IP CURLSHOPT_UNSHARE
This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_share_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual"
.SH NAME .SH NAME
curl_share_strerror - return string describing error code curl_share_strerror - return string describing error code
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_slist_append 3 "May 05, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_slist_append 3 "19 Jun 2003" "libcurl 7.10.4" "libcurl Manual"
.SH NAME .SH NAME
curl_slist_append - add a string to an slist curl_slist_append - add a string to an slist
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_slist_free_all 3 "May 05, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_slist_free_all 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
.SH NAME .SH NAME
curl_slist_free_all - free an entire curl_slist list curl_slist_free_all - free an entire curl_slist list
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_strequal 3 "June 29, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_strequal 3 "30 April 2004" "libcurl 7.12" "libcurl Manual"
.SH NAME .SH NAME
curl_strequal, curl_strnequal - case insensitive string comparisons curl_strequal, curl_strnequal - case insensitive string comparisons
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_unescape 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_unescape 3 "22 March 2001" "libcurl 7.7" "libcurl Manual"
.SH NAME .SH NAME
curl_unescape - URL decodes the given string curl_unescape - URL decodes the given string
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH curl_version 3 "February 03, 2016" "libcurl 7.56.0" "libcurl Manual" .TH curl_version 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
.SH NAME .SH NAME
curl_version - returns the libcurl version string curl_version - returns the libcurl version string
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH curl_version_info 3 "August 18, 2017" "libcurl 7.56.0" "libcurl Manual" .TH curl_version_info 3 "2 Nov 2014" "libcurl 7.40.0" "libcurl Manual"
.SH NAME .SH NAME
curl_version_info - returns run-time libcurl version info curl_version_info - returns run-time libcurl version info
.SH SYNOPSIS .SH SYNOPSIS
@ -73,6 +72,12 @@ typedef struct {
const char *libssh_version; /* human readable string */ const char *libssh_version; /* human readable string */
/* when 'age' is 4 or higher (7.57.0 or later), the members below also
exist */
unsigned int brotli_ver_num; /* Numeric Brotli version
(MAJOR << 24) | (MINOR << 12) | PATCH */
const char *brotli_version; /* human readable string. */
} curl_version_info_data; } curl_version_info_data;
.fi .fi
@ -161,6 +166,8 @@ libcurl was built with support for HTTPS-proxy.
libcurl was built with multiple SSL backends. For details, see libcurl was built with multiple SSL backends. For details, see
\fIcurl_global_sslset(3)\fP. \fIcurl_global_sslset(3)\fP.
(Added in 7.56.0) (Added in 7.56.0)
.IP CURL_VERSION_BROTLI
supports HTTP Brotli content encoding using libbrotlidec (Added in 7.57.0)
.RE .RE
\fIssl_version\fP is an ASCII string for the OpenSSL version used. If libcurl \fIssl_version\fP is an ASCII string for the OpenSSL version used. If libcurl
has no SSL support, this is NULL. has no SSL support, this is NULL.

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH libcurl 3 "February 03, 2016" "libcurl 7.56.0" "libcurl easy interface" .TH libcurl 3 "19 Sep 2014" "libcurl" "libcurl easy interface"
.SH NAME .SH NAME
libcurl-easy \- easy interface overview libcurl-easy \- easy interface overview
.SH DESCRIPTION .SH DESCRIPTION

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH libcurl-errors 3 "August 22, 2016" "libcurl 7.56.0" "libcurl errors" .TH libcurl-errors 3 "1 Jan 2010" "libcurl 7.20.0" "libcurl errors"
.SH NAME .SH NAME
libcurl-errors \- error codes in libcurl libcurl-errors \- error codes in libcurl
.SH DESCRIPTION .SH DESCRIPTION

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH libcurl-multi 3 "June 07, 2017" "libcurl 7.56.0" "libcurl multi interface" .TH libcurl-multi 3 "19 Sep 2014" "libcurl" "libcurl multi interface"
.SH NAME .SH NAME
libcurl-multi \- how to use the multi interface libcurl-multi \- how to use the multi interface
.SH DESCRIPTION .SH DESCRIPTION

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH libcurl-share 3 "February 03, 2016" "libcurl 7.56.0" "libcurl share interface" .TH libcurl-share 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl share interface"
.SH NAME .SH NAME
libcurl-share \- how to use the share interface libcurl-share \- how to use the share interface
.SH DESCRIPTION .SH DESCRIPTION

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH libcurl-tutorial 3 "October 03, 2017" "libcurl 7.56.0" "libcurl programming" .TH libcurl-tutorial 3 "19 Sep 2014" "libcurl" "libcurl programming"
.SH NAME .SH NAME
libcurl-tutorial \- libcurl programming tutorial libcurl-tutorial \- libcurl programming tutorial
.SH "Objective" .SH "Objective"
@ -1223,7 +1222,7 @@ alternative and a file attachment encoded in base64:
.nf .nf
curl_mime *message = curl_mime_init(easyhandle); curl_mime *message = curl_mime_init(easyhandle);
/* The inline part is an alterative proposing the html and the text /* The inline part is an alternative proposing the html and the text
versions of the e-mail. */ versions of the e-mail. */
curl_mime *alt = curl_mime_init(easyhandle); curl_mime *alt = curl_mime_init(easyhandle);

View File

@ -19,8 +19,7 @@
.\" * KIND, either express or implied. .\" * KIND, either express or implied.
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.TH libcurl 3 "July 15, 2017" "libcurl 7.56.0" "libcurl overview" .TH libcurl 3 "19 March 2002" "libcurl 7.9.6" "libcurl overview"
.SH NAME .SH NAME
libcurl \- client-side URL transfers libcurl \- client-side URL transfers
.SH DESCRIPTION .SH DESCRIPTION

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_MAXCONNECTS 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_MAXCONNECTS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_MAXCONNECTS \- set size of connection cache CURLMOPT_MAXCONNECTS \- set size of connection cache
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_PIPELINING 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_PIPELINING 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_PIPELINING_SERVER_BL 3 "February 03, 2016" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_PIPELINING_SERVER_BL 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_PIPELINING_SITE_BL 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_SOCKETDATA 3 "3 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_SOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_SOCKETFUNCTION 3 "3 Nov 2016" "libcurl 7.39.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_TIMERDATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLMOPT_TIMERFUNCTION 3 "May 27, 2017" "libcurl 7.56.0" "curl_multi_setopt options" .TH CURLMOPT_TIMERFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options"
.SH NAME .SH NAME
CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.56.0" "curl_easy_setopt options" .TH CURLOPT_ACCEPTTIMEOUT_MS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
.SH NAME .SH NAME
CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLOPT_ACCEPT_ENCODING 3 "December 21, 2016" "libcurl 7.56.0" "curl_easy_setopt options" .TH CURLOPT_ACCEPT_ENCODING 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
.SH NAME .SH NAME
CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLOPT_ADDRESS_SCOPE 3 "May 31, 2017" "libcurl 7.56.0" "curl_easy_setopt options" .TH CURLOPT_ADDRESS_SCOPE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
.SH NAME .SH NAME
CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.56.0" "curl_easy_setopt options" .TH CURLOPT_APPEND 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
.SH NAME .SH NAME
CURLOPT_APPEND \- enable appending to the remote file CURLOPT_APPEND \- enable appending to the remote file
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -20,8 +20,7 @@
.\" * .\" *
.\" ************************************************************************** .\" **************************************************************************
.\" .\"
.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.56.0" "curl_easy_setopt options" .TH CURLOPT_AUTOREFERER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
.SH NAME .SH NAME
CURLOPT_AUTOREFERER \- automatically update the referer header CURLOPT_AUTOREFERER \- automatically update the referer header
.SH SYNOPSIS .SH SYNOPSIS

Some files were not shown because too many files have changed in this diff Show More