Go to file
Daniel Stenberg f5700ea88b
rate-limit: use three second window to better handle high speeds
Due to very frequent updates of the rate limit "window", it could
attempt to rate limit within the same milliseconds and that then made
the calculations wrong, leading to it not behaving correctly on very
fast transfers.

This new logic updates the rate limit "window" to be no shorter than the
last three seconds and only updating the timestamps for this when
switching between the states TOOFAST/PERFORM.

Reported-by: 刘佩东
Fixes #2386
Closes #2388
2018-03-16 11:10:06 +01:00
.github ISSUE_TEMPLATE: Add a comment not to file security issues on github 2017-07-11 11:48:37 -04:00
CMake spelling fixes 2018-02-23 23:29:01 +00:00
docs cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
include RELEASE-NOTES: toward 7.60.0 2018-03-16 08:28:20 +01:00
lib rate-limit: use three second window to better handle high speeds 2018-03-16 11:10:06 +01:00
m4 curl-openssl.m4: fix spelling [ci skip] 2018-03-12 18:18:39 +00:00
packages cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
projects projects/README: remove reference to dead IDN link/package 2018-02-24 00:01:03 +01:00
scripts scripts: allow all perl scripts to be run directly 2018-01-07 15:42:11 -05:00
src cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
tests cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
winbuild winbuild: prefer documented zlib library names 2018-03-04 23:02:51 +01:00
.dir-locals.el Add .dir-locals and set c-basic-offset to 2. 2015-12-23 10:16:14 +01:00
.gitattributes .gitattributes: force shell scripts to LF 2017-04-17 08:32:13 +02:00
.gitignore ossfuzz: Move to C++ for curl_fuzzer. 2017-09-02 11:07:55 +02:00
.mailmap credits: Viktor prefers without accent 2018-03-12 07:55:58 +01:00
.travis-iconv-env.sh travis: add build with iconv enabled 2018-02-15 14:18:34 +01:00
.travis.yml travis: update compiler versions 2018-02-28 07:36:31 +01:00
CHANGES CHANGES: spell fix, use correct path to script 2017-02-07 08:22:37 +01:00
CMakeLists.txt build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
COPYING COPYING: it's 2018! 2018-01-09 17:08:14 +13:00
GIT-INFO CHANGES.0: removed 2017-02-07 08:20:10 +01:00
MacOSX-Framework includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
Makefile.am build: Fixed incorrect script termination from commit ad1dc10e61 2017-12-22 20:21:40 +00:00
Makefile.dist VC: remove the makefile.vc6 build infra 2017-01-23 14:27:32 +01:00
README URLs: follow GitHub project rename (also Travis CI) 2016-02-04 23:01:38 +01:00
README.md README: language fix 2018-02-12 08:19:34 +01:00
RELEASE-NOTES RELEASE-NOTES: toward 7.60.0 2018-03-16 08:28:20 +01:00
acinclude.m4 CURL_SIZEOF_LONG: removed, use only SIZEOF_LONG 2017-08-17 10:27:00 +02:00
appveyor.yml appveyor: add a win32 build 2017-10-27 23:40:04 +02:00
buildconf includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
buildconf.bat includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
configure.ac nss: use PK11_CreateManagedGenericObject() if available 2018-02-15 10:18:34 +01:00
curl-config.in curl-config: add --ssl-backends 2017-12-06 00:12:48 +01:00
libcurl.pc.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
maketgz maketgz: remove old *.dist files before making the tarball 2017-08-10 22:56:49 +02:00

README.md

curl logo

CII Best Practices Coverity passed Build Status Coverage Status

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms and similar. If you distribute curl binaries or other binaries that involve libcurl, you might enjoy the LICENSE-MIXING document.

Contact

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

Website

Visit the curl web site for the latest news and downloads.

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.