summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* memdebug: make debug-specific functions use curl_dbg_ prefixDaniel Stenberg2019-03-081-3/+3
| | | | | | | To not "collide" or use up the regular curl_ name space. Also makes them easier to detect in helper scripts. Closes #3656
* tests: fix multiple may be used uninitialized warningsDaniel Stenberg2019-03-056-12/+14
|
* multi: support verbose conncache closure handleJay Satiro2019-03-051-0/+4
| | | | | | | | | | | | | | | | | - Change closure handle to receive verbose setting from the easy handle most recently added via curl_multi_add_handle. The closure handle is a special easy handle used for closing cached connections. It receives limited settings from the easy handle most recently added to the multi handle. Prior to this change that did not include verbose which was a problem because on connection shutdown verbose mode was not acknowledged. Ref: https://github.com/curl/curl/pull/3598 Co-authored-by: Daniel Stenberg Closes https://github.com/curl/curl/pull/3618
* CURLU: fix NULL dereference when used over proxyDaniel Stenberg2019-03-045-2/+137
| | | | | | | | Test 659 verifies Also fixed the test 658 name Closes #3641
* alt-svc: add test 355 and 356 to verify with command line curlDaniel Stenberg2019-03-033-1/+127
|
* alt-svc: the libcurl bitsDaniel Stenberg2019-03-036-2/+197
|
* test578: make it read data from the correct testDaniel Stenberg2019-02-281-1/+1
|
* cookies: only save the cookie file if the engine is enabledDaniel Stenberg2019-02-274-2/+159
| | | | | | | | | | | | | | | | | | | Follow-up to 8eddb8f4259. If the cookieinfo pointer is NULL there really is nothing to save. Without this fix, we got a problem when a handle was using shared object with cookies and is told to "FLUSH" it to file (which worked) and then the share object was removed and when the easy handle was closed just afterwards it has no cookieinfo and no cookies so it decided to save an empty jar (overwriting the file just flushed). Test 1905 now verifies that this works. Assisted-by: Michael Wallner Assisted-by: Marcel Raad Closes #3621
* runtests: detect "schannel" as an alias for "winssl"Daniel Stenberg2019-02-261-15/+3
| | | | | | | | Follow-up to 180501cb02 Reported-by: Marcel Raad Fixes #3609 Closes #3620
* tests: Fixed XML validation errors in some test files.Dan Fandrich2019-02-2115-11/+13
|
* curl: remove MANUAL from -M outputDaniel Stenberg2019-02-201-1/+1
| | | | | | | | | | | | | | | ... and remove it from the dist tarball. It has served its time, it barely gets updated anymore and "everything curl" is now convering all this document once tried to include, and does it more and better. In the compressed scenario, this removes ~15K data from the binary, which is 25% of the -M output. It remains in the git repo for now for as long as the web site builds a page using that as source. It renders poorly on the site (especially for mobile users) so its not even good there. Closes #3587
* connection: never reuse CONNECT_ONLY conectionsDaniel Stenberg2019-02-192-63/+42
| | | | | | | | and make CONNECT_ONLY conections never reuse any existing ones either. Reported-by: Pavel Löbl Bug: https://curl.haxx.se/mail/lib-2019-02/0064.html Closes #3586
* unit1651: survive curl_easy_init() failsDaniel Stenberg2019-02-191-1/+3
|
* cookie: Add support for cookie prefixesDaniel Gustafsson2019-02-171-0/+20
| | | | | | | | | | | The draft-ietf-httpbis-rfc6265bis-02 draft, specify a set of prefixes and how they should affect cookie initialization, which has been adopted by the major browsers. This adds support for the two prefixes defined, __Host- and __Secure, and updates the testcase with the supplied examples from the draft. Closes #3554 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* unit1307: just fail without FTP supportMarcel Raad2019-02-151-9/+22
| | | | | | | | I missed to check this in with commit 71786c0505926aaf7e9b2477b2fb7ee16a915ec6, which only disabled the test. This fixes the actual linker error. Closes https://github.com/curl/curl/pull/3568
* gssapi: fix deprecated header warningsDaniel Stenberg2019-02-141-9/+9
| | | | | | Heimdal includes on FreeBSD spewed out lots of them. Less so now. Closes #3566
* unit1307: require FTP supportMarcel Raad2019-02-131-0/+1
| | | | | | | | This test doesn't link without FTP support after fc7ab4835b5fd09d0a6f57000633bb6bb6edfda1, which made Curl_fnmatch unavailable without FTP support. Closes https://github.com/curl/curl/pull/3565
* tests: add stderr comparison to the test suiteFrank Gevaerts2019-02-113-5/+54
| | | | | | | | | | The code is more or less copied from the stdout comparison code, maybe some better reuse is possible. test 1457 is adjusted to make the output actually match (by using --silent) test 506 used <stderr> without actually needing it, so that <stderr> block is removed Closes #3536
* cli tool: do not use mime.h private structures.Patrick Monnerat2019-02-111-0/+2
| | | | | | | | | | Option -F generates an intermediate representation of the mime structure that is used later to create the libcurl mime structure and generate the --libcurl statements. Reported-by: Daniel Stenberg Fixes #3532 Closes #3546
* cleanup: make local functions staticDaniel Stenberg2019-02-103-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | urlapi: turn three local-only functions into statics conncache: make conncache_find_first_connection static multi: make detach_connnection static connect: make getaddressinfo static curl_ntlm_core: make hmac_md5 static http2: make two functions static http: make http_setup_conn static connect: make tcpnodelay static tests: make UNITTEST a thing to mark functions with, so they can be static for normal builds and non-static for unit test builds ... and mark Curl_shuffle_addr accordingly. url: make up_free static setopt: make vsetopt static curl_endian: make write32_le static rtsp: make rtsp_connisdead static warnless: remove unused functions memdebug: remove one unused function, made another static
* runtests.pl: Fix perl call to include srcdirLadar Levison2019-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | - Use explicit include opt for perl calls. Prior to this change some scripts couldn't find their dependencies. At the top, perl is called using with the "-Isrcdir" option, and it works: https://github.com/curl/curl/blob/curl-7_63_0/tests/runtests.pl#L183 But on line 3868, that option is omitted. This caused problems for me, as the symbol-scan.pl script in particular couldn't find its dependencies properly: https://github.com/curl/curl/blob/curl-7_63_0/tests/runtests.pl#L3868 This patch fixes that oversight by making calls to perl sub-shells uniform. Closes https://github.com/curl/curl/pull/3496
* unit1653: make it survive torture testsDaniel Stenberg2019-01-281-16/+63
|
* tests: move objnames-* from lib into testsDaniel Stenberg2019-01-156-10/+552
| | | | | | | Since they're used purely for testing purposes, I think they should rather be stored there. Closes #3470
* urldata: rename easy_conn to just connDaniel Stenberg2019-01-111-4/+4
| | | | | | | | | | | | | | | We use "conn" everywhere to be a pointer to the connection. Introduces two functions that "attaches" and "detaches" the connection to and from the transfer. Going forward, we should favour using "data->conn" (since a transfer always only has a single connection or none at all) to "conn->data" (since a connection can have none, one or many transfers associated with it and updating conn->data to be correct is error prone and a frequent reason for internal issues). Closes #3442
* test1558: verify CURLINFO_PROTOCOL on file:// transferDaniel Stenberg2019-01-104-2/+120
| | | | | | Attempt to reproduce issue #3444. Closes #3447
* xattr: strip credentials from any URL that is storedDaniel Stenberg2019-01-104-2/+122
| | | | | | | | | Both user and password are cleared uncondtitionally. Added unit test 1621 to verify. Fixes #3423 Closes #3433
* cookies: allow secure override when done over HTTPSDaniel Stenberg2019-01-102-1/+73
| | | | | | | | Added test 1562 to verify. Reported-by: Jeroen Ooms Fixes #3445 Closes #3450
* test1561: improve test nameDaniel Stenberg2019-01-091-1/+1
| | | | [skip ci]
* cookies: skip custom cookies when redirecting cross-siteKatsuhiko YOSHIDA2019-01-092-1/+91
| | | | Closes #3417
* tests: allow tests to pass by 2037-02-12Bernhard M. Wiedemann2019-01-088-23/+23
| | | | | | similar to commit f508d29f3902104018 Closes #3443
* curl_multi_remove_handle() don't block terminating c-ares requestsBrad Spencer2019-01-074-4/+164
| | | | | | | | | Added Curl_resolver_kill() for all three resolver modes, which only blocks when necessary, along with test 1592 to confirm curl_multi_remove_handle() doesn't block unless it must. Closes #3428 Fixes #3371
* printf: fix format specifiersRikard Falkeborn2019-01-042-8/+8
| | | | Closes #3426
* libtest/stub_gssapi: use "real" snprintfDaniel Stenberg2019-01-031-7/+6
| | | | | | | | | | | | | ... since it doesn't link with libcurl. Reverts the commit dcd6f81025 changes from this file. Bug: https://curl.haxx.se/mail/lib-2019-01/0000.html Reported-by: Shlomi Fish Reviewed-by: Daniel Gustafsson Reviewed-by: Kamil Dudka Closes #3434
* tvnow: silence conversion warningsMarcel Raad2019-01-011-1/+1
| | | | | | MinGW-w64 defaults to targeting Windows 7 now, so GetTickCount64 is used and the milliseconds are represented as unsigned long long, leading to a compiler warning when implicitly converting them to long.
* ntlm: update selection of type 3 responseMarkus Moeller2019-01-0137-145/+145
| | | | | | | | | | | NTLM2 did not work i.e. no NTLMv2 response was created. Changing the check seems to work. Ref: https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-NLMP/[MS-NLMP].pdf Fixes https://github.com/curl/curl/issues/3286 Closes https://github.com/curl/curl/pull/3287 Closes https://github.com/curl/curl/pull/3415
* urlapi: fix parsing ipv6 with zone indexDaniel Gustafsson2018-12-301-0/+8
| | | | | | | | | | | | | | The previous fix for parsing IPv6 URLs with a zone index was a paddle short for URLs without an explicit port. This patch fixes that case and adds a unit test case. This bug was highlighted by issue #3408, and while it's not the full fix for the problem there it is an isolated bug that should be fixed regardless. Closes #3411 Reported-by: GitYuanQu on github Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* hostip: support wildcard hostsClaes Jakobsson2018-12-272-1/+57
| | | | | | | | | | | | | | | | | This adds support for wildcard hosts in CURLOPT_RESOLVE. These are try-last so any non-wildcard entry is resolved first. If specified, any host not matched by another CURLOPT_RESOLVE config will use this as fallback. Example send a.com to 10.0.0.1 and everything else to 10.0.0.2: curl --resolve *:443:10.0.0.2 --resolve a.com:443:10.0.0.1 \ https://a.com https://b.com This is probably quite similar to using: --connect-to a.com:443:10.0.0.1:443 --connect-to :443:10.0.0.2:443 Closes #3406 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* http: added options for allowing HTTP/0.9 responsesDaniel Stenberg2018-12-2118-8/+71
| | | | | | | | | | | | Added CURLOPT_HTTP09_ALLOWED and --http0.9 for this purpose. For now, both the tool and library allow HTTP/0.9 by default. docs/DEPRECATE.md lays out the plan for when to reverse that default: 6 months after the 7.64.0 release. The options are added already now so that applications/scripts can start using them already now. Fixes #2873 Closes #3383
* cookies: extend domain checks to non psl buildsDaniel Gustafsson2018-12-191-0/+1
| | | | | | | | | Ensure to perform the checks we have to enforce a sane domain in the cookie request. The check for non-PSL enabled builds is quite basic but it's better than nothing. Closes #2964 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* http: minor whitespace cleanup from f464535bDaniel Stenberg2018-12-141-1/+0
|
* http: Implement trailing headers for chunked transfersAyoub Boudhar2018-12-146-1/+197
| | | | | | | | | | | | | This adds the CURLOPT_TRAILERDATA and CURLOPT_TRAILERFUNCTION options that allow a callback based approach to sending trailing headers with chunked transfers. The test server (sws) was updated to take into account the detection of the end of transfer in the case of trailing headers presence. Test 1591 checks that trailing headers can be sent using libcurl. Closes #3350
* test1201: Add a trailing `?' to the selectorLeonardo Taccari2018-12-131-2/+2
| | | | | | This verify that the `?' in the selector is kept as is. Verifies the fix in #3370
* cookies: leave secure cookies aloneDaniel Gustafsson2018-12-135-22/+89
| | | | | | | | | | | Only allow secure origins to be able to write cookies with the 'secure' flag set. This reduces the risk of non-secure origins to influence the state of secure origins. This implements IETF Internet-Draft draft-ietf-httpbis-cookie-alone-01 which updates RFC6265. Closes #2956 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* urlapi: Fix port parsing of eol colonDaniel Gustafsson2018-12-121-0/+8
| | | | | | | | | A URL with a single colon without a portnumber should use the default port, discarding the colon. Fix, add a testcase and also do little bit of comment wordsmithing. Closes #3365 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* test1519: use lib1518 and test CURLINFO_REDIRECT_URL moreDaniel Stenberg2018-12-122-3/+63
|
* Curl_follow: extract the Location: header field unvalidatedDaniel Stenberg2018-12-124-2/+141
| | | | | | | | | | | ... 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
* tests: add urlapi unittestDaniel Gustafsson2018-12-114-2/+157
| | | | | | | | | | 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>
* http: fix HTTP auth to include query in URIJay Satiro2018-12-112-1/+76
| | | | | | | | | | - 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
* test329: verify cookie max-age=0 immediate expiryDaniel Stenberg2018-12-092-1/+71
|
* test328: verify Content-Encoding: noneDaniel Stenberg2018-11-282-1/+56
| | | | | | Because of issue #3315 Closes #3317