summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* test1519: use lib1518 and test CURLINFO_REDIRECT_URL moreDaniel Stenberg2018-12-122-3/+63
|
* Curl_follow: extract the Location: header field unvalidatedDaniel Stenberg2018-12-125-7/+156
| | | | | | | | | | | ... when not actually following the redirect. Otherwise we return error for this and an application can't extract the value. Test 1518 added to verify. Reported-by: Pavel Pavlov Fixes #3340 Closes #3364
* multi: convert two timeout variables to timediff_tDaniel Stenberg2018-12-111-2/+2
| | | | | | | | The time_t type is unsigned on some systems and these variables are used to hold return values from functions that return timediff_t already. timediff_t is always a signed type. Closes #3363
* delta: use --diff-filter on the git diff-tree invokesDaniel Stenberg2018-12-111-2/+2
| | | | Suggested-by: Dave Reisner
* documentation: curl_formadd field and file names are now escapedPatrick Monnerat2018-12-111-1/+2
| | | | | | | | | | | Prior to 7.56.0, fieldnames and filenames were set in Content-Disposition header without special processing: this may lead to invalid RFC 822 quoted-strings. 7.56.0 introduces escaping of backslashes and double quotes in these names: mention it in the documentation. Reported-by: daboul on github Closes #3361
* scripts/delta: show repo delta info from last releaseDaniel Stenberg2018-12-111-0/+137
| | | | ... where "last release" should be the git tag in the repo.
* tests: add urlapi unittestDaniel Gustafsson2018-12-116-4/+170
| | | | | | | | | | This adds a new unittest intended to cover the internal functions in the urlapi code, starting with parse_port(). In order to avoid name collisions in debug builds, parse_port() is renamed Curl_parse_port() since it will be exported. Reviewed-by: Daniel Stenberg <daniel@haxx.se> Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
* urlapi: fix portnumber parsing for ipv6 zone indexDaniel Gustafsson2018-12-111-6/+20
| | | | | | | | | | | | | | An IPv6 URL which contains a zone index includes a '%%25<zode id>' string before the ending ']' bracket. The parsing logic wasn't set up to cope with the zone index however, resulting in a malformed url error being returned. Fix by breaking the parsing into two stages to correctly handle the zone index. Closes #3355 Closes #3319 Reported-by: tonystz on Github Reviewed-by: Daniel Stenberg <daniel@haxx.se> Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
* http: fix HTTP auth to include query in URIJay Satiro2018-12-113-5/+89
| | | | | | | | | | - Include query in the path passed to generate HTTP auth. Recent changes to use the URL API internally (46e1640, 7.62.0) inadvertently broke authentication URIs by omitting the query. Fixes https://github.com/curl/curl/issues/3353 Closes #3356
* http: don't set CURLINFO_CONDITION_UNMET for http status code 204Michael Kaufmann2018-12-111-7/+7
| | | | | | | | The http status code 204 (No Content) should not change the "condition unmet" flag. Only the http status code 304 (Not Modified) should do this. Closes #359
* ldap: fix LDAP URL parsing regressionsSamuel Surtees2018-12-111-5/+10
| | | | | | | | | - Match URL scheme with LDAP and LDAPS - Retrieve attributes, scope and filter from URL query instead Regression brought in 46e164069d1a5230 (7.62.0) Closes #3362
* RELEASE-NOTES: syncedDaniel Stenberg2018-12-101-8/+21
|
* (lib)curl.rc: fixup for minor bugsStefan Kanthak2018-12-102-11/+11
| | | | | | | | | | | | | | | All resources defined in lib/libcurl.rc and curl.rc are language neutral. winbuild/MakefileBuild.vc ALWAYS defines the macro DEBUGBUILD, so the ifdef's in line 33 of lib/libcurl.rc and src/curl.rc are wrong. Replace the hard-coded constants in both *.rc files with #define'd values. Thumbs-uped-by: Rod Widdowson, Johannes Schindelin URL: https://curl.haxx.se/mail/lib-2018-11/0000.html Closes #3348
* test329: verify cookie max-age=0 immediate expiryDaniel Stenberg2018-12-092-1/+71
|
* cookies: expire "Max-Age=0" immediatelyDaniel Stenberg2018-12-091-1/+4
| | | | | | Reported-by: Jeroen Ooms Fixes #3351 Closes #3352
* Upon HTTP_1_1_REQUIRED, retry the request with HTTP/1.1Johannes Schindelin2018-12-083-0/+32
| | | | | | | | | | | | | | | | | | | This is a companion patch to cbea2fd2c (NTLM: force the connection to HTTP/1.1, 2018-12-06): with NTLM, we can switch to HTTP/1.1 preemptively. However, with other (Negotiate) authentication it is not clear to this developer whether there is a way to make it work with HTTP/2, so let's try HTTP/2 first and fall back in case we encounter the error HTTP_1_1_REQUIRED. Note: we will still keep the NTLM workaround, as it avoids an extra round trip. Daniel Stenberg helped a lot with this patch, in particular by suggesting to introduce the Curl_h2_http_1_1_error() function. Closes #3349 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* openssl: fix unused variable compiler warning with old opensslBen Greear2018-12-071-0/+1
| | | | | | URL: https://curl.haxx.se/mail/lib-2018-11/0055.html Closes #3347
* NTLM: force the connection to HTTP/1.1Johannes Schindelin2018-12-071-0/+6
| | | | | | | | | | | | | | | | Since v7.62.0, cURL tries to use HTTP/2 whenever the server announces the capability. However, NTLM authentication only works with HTTP/1.1, and will likely remain in that boat (for details, see https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/http2-on-iis#when-is-http2-not-supported). When we just found out that we want to use NTLM, and when the current connection runs in HTTP/2 mode, let's force the connection to be closed and to be re-opened using HTTP/1.1. Fixes https://github.com/curl/curl/issues/3341. Closes #3345 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* curl_global_sslset(): id == -1 is not necessarily an errorJohannes Schindelin2018-12-071-1/+8
| | | | | | | | | | It is allowed to call that function with id set to -1, specifying the backend by the name instead. We should imitate what is done further down in that function to allow for that. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Closes #3346
* .gitattributes: make tabs in indentation a visible errorJohannes Schindelin2018-12-061-0/+1
| | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* RELEASE-NOTES: syncedDaniel Stenberg2018-12-061-7/+22
|
* doh: fix memory leak in OOM situationDaniel Stenberg2018-12-061-3/+4
| | | | | Reviewed-by: Daniel Gustafsson Closes #3342
* doh: make it work for h2-disabled builds tooDaniel Stenberg2018-12-051-26/+2
| | | | | | Reported-by: dtmsecurity at github Fixes #3325 Closes #3336
* packages: remove old leftover files and dirsDaniel Stenberg2018-12-0521-806/+1
| | | | | | | This subdir has mostly become an attic of never-used cruft from the past. Closes #3331
* openssl: do not use file BIOs if not requestedGergely Nagy2018-12-051-15/+13
| | | | | | | Moves the file handling BIO calls to the branch of the code where they are actually used. Closes #3339
* nss: Fix compatibility with nss versions 3.14 to 3.15Paul Howarth2018-12-051-1/+5
|
* nss: Improve info message when falling back SSL protocolPaul Howarth2018-12-051-2/+34
| | | | Use descriptive text strings rather than decimal numbers.
* nss: Fall back to latest supported SSL versionPaul Howarth2018-12-051-0/+9
| | | | | | | | | | | | | NSS may be built without support for the latest SSL/TLS versions, leading to "SSL version range is not valid" errors when the library code supports a recent version (e.g. TLS v1.3) but it has explicitly been disabled. This change adjusts the maximum SSL version requested by libcurl to be the maximum supported version at runtime, as long as that version is at least as high as the minimum version required by libcurl. Fixes #3261
* travis: enable COPYRIGHTYEAR extended warningDaniel Gustafsson2018-12-031-0/+3
| | | | | | The extended warning for checking incorrect COPYRIGHTYEAR is quite expensive to run, so rather than expecting every developer to do it we ensure it's turned on locally for Travis.
* checksrc: add COPYRIGHTYEAR checkDaniel Gustafsson2018-12-034-5/+101
| | | | | | | | | | | | | | | | | | | | Forgetting to bump the year in the copyright clause when hacking has been quite common among curl developers, but a traditional checksrc check isn't a good fit as it would penalize anyone hacking on January 1st (among other things). This adds a more selective COPYRIGHTYEAR check which intends to only cover the currently hacked on changeset. The check for updated copyright year is currently not enforced on all files but only on files edited and/or committed locally. This is due to the amount of files which aren't updated with their correct copyright year at the time of their respective commit. To further avoid running this expensive check for every developer, it adds a new local override mode for checksrc where a .checksrc file can be used to turn on extended warnings locally. Closes #3303 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* CHECKSRC.md: document more warningsDaniel Stenberg2018-12-031-2/+27
| | | | | Closes #3335 [ci skip]
* RELEASE-NOTES: syncedDaniel Stenberg2018-11-301-6/+18
|
* SECURITY-PROCESS: bountygraph shuts downDaniel Stenberg2018-11-302-89/+9
| | | | | | This backpedals back the documents to the state before bountygraph. Closes #3311
* curl: fix memory leak reading --writeout from fileDaniel Stenberg2018-11-301-0/+1
| | | | | | | | | If another string had been set first, the writout function for reading the syntax from file would leak the previously allocated memory. Reported-by: Brian Carpenter Fixes #3322 Closes #3330
* tool_main: rename function to make it unique and betterDaniel Stenberg2018-11-301-2/+2
| | | | | ... there's already another function in the curl tool named free_config_fields!
* TODO: remove CURLOPT_DNS_USE_GLOBAL_CACHE entryDaniel Gustafsson2018-11-291-7/+0
| | | | | | | | | | Commit 7c5837e79280e6abb3ae143dfc49bca5e74cdd11 deprecated the option making it a manual code-edit operation to turn it back on. The removal process has thus started and is now documented in docs/DEPRECATE.md so remove from the TODO to avoid anyone looking for something to pick up spend cycles on an already in-progress entry. Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* connect: fix building for recent versions of MinixSevan Janiyan2018-11-291-1/+1
| | | | | | | | EBADIOCTL doesn't exist on more recent Minix. There have also been substantial changes to the network stack. Fixes build on Minix 3.4rc Closes https://github.com/curl/curl/pull/3323
* CMake: fix MIT/Heimdal Kerberos detectionKonstantin Kushnir2018-11-292-4/+4
| | | | | | | | - fix syntax error in FindGSS.cmake - correct krb5 include directory. FindGSS exports "GSS_INCLUDE_DIR" variable. Closes https://github.com/curl/curl/pull/3316
* test328: verify Content-Encoding: noneDaniel Stenberg2018-11-282-1/+56
| | | | | | Because of issue #3315 Closes #3317
* configure: include all libraries in ssl-libs fetchJames Knight2018-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling a collection of SSL libraries to link against (SSL_LIBS), ensure all libraries are included. The call `--libs-only-l` can produce only a subset of found in a `--libs` call (e.x. pthread may be excluded). Adding `--libs-only-other` ensures other libraries are also included in the list. This corrects select build environments compiling against a static version of OpenSSL. Before the change, the following could be observed: checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lz -ldl -lcrypto -lz -ldl " configure: pkg-config: SSL_LDFLAGS: "-L/home/jdknight/<workdir>/staging/usr/lib -L/home/jdknight/<workdir>/staging/usr/lib " configure: pkg-config: SSL_CPPFLAGS: "-I/home/jdknight/<workdir>/staging/usr/include " checking for HMAC_Update in -lcrypto... no checking for HMAC_Init_ex in -lcrypto... no checking OpenSSL linking with -ldl... no checking OpenSSL linking with -ldl and -lpthread... no configure: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more. configure: WARNING: Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this. ... SSL support: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} ) ... And include the other libraries when compiling SSL_LIBS succeeds with: checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lz -ldl -pthread -lcrypto -lz -ldl -pthread " configure: pkg-config: SSL_LDFLAGS: "-L/home/jdknight/<workdir>/staging/usr/lib -L/home/jdknight/<workdir>/staging/usr/lib " configure: pkg-config: SSL_CPPFLAGS: "-I/home/jdknight/<workdir>/staging/usr/include " checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes ... SSL support: enabled (OpenSSL) ... Signed-off-by: James Knight <james.d.knight@live.com> Closes #3193
* doh: fix typo in infof callDaniel Gustafsson2018-11-261-1/+1
| | | | Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* cmdline-opts/gen.pl: define the correct varnameDaniel Gustafsson2018-11-261-1/+1
| | | | | | | | The variable definition had a small typo making it declare another variable then the intended. Closes #3304 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* RELEASE-NOTES: syncedDaniel Stenberg2018-11-251-6/+34
|
* curl_easy_perform: fix timeout handlingDaniel Stenberg2018-11-253-5/+30
| | | | | | | | | | | | | curl_multi_wait() was erroneously used from within curl_easy_perform(). It could lead to it believing there was no socket to wait for and then instead sleep for a while instead of monitoring the socket and then miss acting on that activity as swiftly as it should (causing an up to 1000 ms delay). Reported-by: Antoni Villalonga Fixes #3305 Closes #3306 Closes #3308
* CURLOPT_WRITEFUNCTION.3: spell out that it gets called many timesDaniel Stenberg2018-11-231-3/+5
|
* cookies: create the cookiejar even if no cookies to saveDaniel Stenberg2018-11-234-36/+107
| | | | | | | | | | | Important for when the file is going to be read again and thus must not contain old contents! Adds test 327 to verify. Reported-by: daboul on github Fixes #3299 Closes #3300
* checksrc: ban snprintf use, add command line flag to override warnsDaniel Stenberg2018-11-231-0/+27
|
* snprintf: renamed and we now only use msnprintf()Daniel Stenberg2018-11-2392-646/+647
| | | | | | | | | | | The function does not return the same value as snprintf() normally does, so readers may be mislead into thinking the code works differently than it actually does. A different function name makes this easier to detect. Reported-by: Tomas Hoger Assisted-by: Daniel Gustafsson Fixes #3296 Closes #3297
* test: update test20/1322 for eglibc bug workaroundTobias Hintze2018-11-222-2/+2
| | | | | | | | | | | | The tests 20 and 1322 are using getaddrinfo of libc for resolving. In eglibc-2.19 there is a memory leakage and invalid free bug which surfaces in some special circumstances (PF_UNSPEC hint with invalid or non-existent names). The valgrind runs in testing fail in these situations. As the tests 20/1322 are not specific on either protocol (IPv4/IPv6) this commit changes the hints to IPv4 protocol by passing `--ipv4` flag on the tests' command line. This prevents the valgrind failures.
* host names: allow trailing dot in name resolve, then strip itTobias Hintze2018-11-223-33/+61
| | | | | | | Delays stripping of trailing dots to after resolving the hostname. Fixes #3022 Closes #3222