aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2014-12-04tests: add two HTTP over UNIX socket testsPeter Wu
test1435: a simple test that checks whether a HTTP request can be performed over the UNIX socket. The hostname/port are interpreted by sws and should be ignored by cURL. test1436: test for the ability to do two requests to the same host, interleaved with one to a different hostname. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-04tests: add HTTP UNIX socket server testing supportPeter Wu
The variable `$ipvnum` can now contain "unix" besides the integers 4 and 6 since the variable. Functions which receive this parameter have their `$port` parameter renamed to `$port_or_path` to support a path to the UNIX domain socket (as a "port" is only meaningful for TCP). Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-04sws: try to remove socket and retry bindPeter Wu
If sws is killed it might leave a stale socket file on the filesystem which would cause an EADDRINUSE error. After this patch, it is checked whether the socket is really stale and if so, the socket file gets removed and another bind is executed. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-04sws: add UNIX domain socket supportPeter Wu
This extends sws with a --unix-socket option which causes the port to be ignored (as the server now listens on the path specified by --unix-socket). This feature will be available in the following patch that enables checking for UNIX domain socket support. Proxy support (CONNECT) is not considered nor tested. It does not make sense anyway, first connecting through a TCP proxy, then let that TCP proxy connect to a UNIX socket. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-04sws: restrict TCP_NODELAY to IP socketsPeter Wu
TCP_NODELAY does not make sense for Unix sockets, so enable it only if the socket is using IP. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-12-03sws.c: Fixed compilation warning when IPv6 is disabledSteve Holme
sws.c:69: warning: comma at end of enumerator list
2014-11-30sws: move away from IPv4/IPv4-only assumptionPeter Wu
Instead of depending the socket domain type on use_ipv6, specify the domain type (AF_INET / AF_INET6) as variable. An enum is used here with switch to avoid compiler warnings in connect_to, complaining that rc is possibly undefined (which is not possible as socket_domain is always set). Besides abstracting the socket type, make the debugging messages be independent on IP (introduce location_str which points to "port XXXXX"). Rename "ipv_inuse" to "socket_type" and tighten the scope (main). Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-30curl tool: Enable support for the SMB protocolBill Nagel
This patch enables SMB/CIFS support in the curl command-line tool.
2014-11-29tests: Disable test 1013 until SMB is fully addedSteve Holme
2014-11-28runtests.pl: fix startup of IPv6 serversPeter Wu
Commit curl-7_23_1-143-g8218064 changed the parameter of responsive_http_server to accept types other than IPv6 (converting from a boolean to a string), but only considered the lower-case "ipv6" and not the "IPv6" variant. This caused all servers to start in IPv4 mode instead. This patch converts the remaining cases to "ipv6". While not strictly necessary for the run*server variants, these got also converted for consistency and to prevent future errors. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-28runtests.pl: fix warning message, remove duplicate valuePeter Wu
Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-26tests: Added SMTP with --crlf test caseSteve Holme
2014-11-25testcurl: bump the version of this script!Daniel Stenberg
2014-11-25testcurl: skip reading the setup file if given enough cmdline infoDaniel Stenberg
This makes it much easier to run multiple tests in the same directory, just altering the command lines used.
2014-11-24SSL: Add PEM format support for public key pinningmoparisthebest
2014-11-22runtests.pl: Re-aligned feature support commentsSteve Holme
2014-11-22runtests.pl: Use Kerberos and SPNEGO as proxies for the crypto featureSteve Holme
In addition to NTLM, use Kerberos and SPNEGO as proxies to the crypto feature. ...and converted tab characters, from commit 4b4e8a5853, to spaces.
2014-11-22runtests.pl: Added support for SPNEGOSteve Holme
2014-11-22runtests.pl: Added Kerberos detectionSteve Holme
2014-11-22runtests.pl: Added GSS-API detectionSteve Holme
2014-11-21FILEFORMAT: Added SSPI, GSS-API and Kerberos to the features listSteve Holme
2014-11-21FILEFORMAT: Added test requires feature not present informationSteve Holme
Such as !SSPI as we do for the NTLM and Digest tests.
2014-11-20test1801: first real http2 test caseDaniel Stenberg
2014-11-20sws: initial tiny steps toward http2 supportDaniel Stenberg
2014-11-20FILEFORMAT: mention the new upgrade supportDaniel Stenberg
2014-11-20test1800: first plain-text http2 test caseDaniel Stenberg
Verifies the upgrade request, but gets a plain 1.1 response
2014-11-13test22: expand a backtick commandPeter Wu
This is the only user of the backtick operator in the command. As the commands will soon not be executed by a shell anymore (but by perl), replace the command with its output. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-10symbol-scan.pl: do not require autotoolsPeter Wu
Makes test1119 pass when building with cmake. configurehelp.pm is generated by configure (autotools). As cmake does not provide a separate variable for the C preprocessor, default to cpp. Before commit ef24ecde68a5f577a7f0f423a767620f09a0ab16 ("symbol-scan: use configure script knowledge about how to run the C preprocessor"), this tool would also use 'cpp'. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-10cmake: add ENABLE_THREADED_RESOLVER, rename ARESPeter Wu
Fix detection of the AsynchDNS feature which not just depends on pthreads support, but also on whether USE_POSIX_THREADS is set or not. Caught by test 1014. This patch adds a new ENABLE_THREADED_RESOLVER option (corresponding to --enable-threaded-resolver of autotools) which also needs a check for HAVE_PTHREAD_H. For symmetry with autotools, CURL_USE_ARES is renamed to ENABLE_ARES (--enable-ares). Checks that test for the availability actually use USE_ARES instead as that is the result of whether a-res is available or not (in practice this does not matter as CARES is marked as required package, but nevertheless it is better to write the intent). Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-10cmake: build libhostname for test suitePeter Wu
Used by some test cases via LD_PRELOAD in order to fake the host name. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-10tests: fix libhostname visibilityPeter Wu
I noticed that a patched cmake build would pass tests with a fake local hostname, but the autotools build skips them: got unexpected host name back, LD_PRELOAD failed It turns out that -fvisibility=hidden hides the symbol, and since the tests are not part of libcurl, it fails too. Just remove the LIBCURL guard. Broken since cURL 7.30 (commit 83a42ee20ea7fc25abb61c0b7ef56ebe712d7093, "curl.h: stricter CURL_EXTERN linkage decorations logic"). Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-10tests: fix memleak in server/resolve.cPeter Wu
This makes LeakSanitizer happy. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-06test552: Don't run HTTP digest tests for SSPI based buildsDan Fandrich
Technical difficulties prevented this from going into the previous commit.
2014-11-06tests: Don't run HTTP digest tests for SSPI based buildsSteve Holme
Added !SSPI to the features list of the HTTP digest tests, as SSPI based builds now use the Windows SSPI messaging API rather than the internal functions, and we can't control the random numbers that get used as part of the digest.
2014-11-05lib544.c: use duphandle for test 545Daniel Stenberg
To verify that curl_easy_duphandle() works fine on a handle that has gotten data stored with *_COPYPOSTFIELDS.
2014-11-04tests: add new feature 'SSLpinning'Daniel Stenberg
... and make test 2034 and 2035 require it, and have it set when built with OpenSSL or GnuTLS.
2014-11-01resume: consider a resume from [content-length] to be OKDaniel Stenberg
Basically since servers often then don't respond well to this and instead send the full contents and then libcurl would instead error out with the assumption that the server doesn't support resume. As the data is then already transfered, this is now considered fine. Test case 1434 added to verify this. Test case 1042 slightly modified. Reported-by: hugo Bug: http://curl.haxx.se/bug/view.cgi?id=1443
2014-10-27HTTP: return larger than 3 digit response codes tooDaniel Stenberg
HTTP 1.1 is clearly specified to only allow three digit response codes, and libcurl used sscanf("%3d") for that purpose. This made libcurl support smaller numbers but not larger. It does now, but we will not make any specific promises nor document this further since it is going outside of what HTTP is. Bug: http://curl.haxx.se/bug/view.cgi?id=1441 Reported-by: Balaji
2014-10-26Added the "flaky" keyword to a number of testsDan Fandrich
Each shows evidence of flakiness on at least one platform on the autobuilds. Users can use this keyword to skip these tests if desired.
2014-10-16test545: make it not use a trailing zeroDaniel Stenberg
CURLOPT_COPYPOSTFIELDS with a given CURLOPT_POSTFIELDSIZE does not require a trailing zero of the data and by making sure this test doesn't use one we know it works (combined with valgrind).
2014-10-13vtls: remove QsoSSLPatrick Monnerat
2014-10-13tests: move TESTCASES to Makefile.inc, add show for cmakePeter Wu
This change allows runtests.pl to be run from the CMake builddir: export srcdir=/tmp/curl/tests; perl -I$srcdir $srcdir/runtests.pl -l In order to make this possible, all test cases have been moved from Makefile.am to Makefile.inc. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-10-10tests/http_pipe.py: Python 3 supportPeter Wu
The 2to3 tool converted socketserver (which I manually fixed up with an import fallback) and the print(e) line. The xrange option was converted to range, but it seems better to use the '*' operator here for simplicity. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-10-09test2036: verify -O with no slash at all in the URLDaniel Stenberg
Similar to test 76 but that test's URL has a slash just no file name part.
2014-10-09Cmake: Got rid of setup_curl_dependenciesJakub Zakrzewski
There is no need for such function. Include_directories propagate by themselves and having a function with one simple link statement makes little sense.
2014-10-07SSL: implement public key pinningmoparisthebest
Option --pinnedpubkey takes a path to a public key in DER format and only connect if it matches (currently only implemented with OpenSSL). Provides CURLOPT_PINNEDPUBLICKEY for curl_easy_setopt(). Extract a public RSA key from a website like so: openssl s_client -connect google.com:443 2>&1 < /dev/null | \ sed -n '/-----BEGIN/,/-----END/p' | openssl x509 -noout -pubkey \ | openssl rsa -pubin -outform DER > google.com.der
2014-09-26test506: Fixed a couple of memory leaks in testDan Fandrich
2014-09-25CURLOPT_COOKIELIST: Added "RELOAD" commandYousuke Kimoto
2014-09-10cookies: reject incoming cookies set for TLDsDaniel Stenberg
Test 61 was modified to verify this. CVE-2014-3620 Reported-by: Tim Ruehsen URL: http://curl.haxx.se/docs/adv_20140910B.html
2014-09-10cookies: only use full host matches for hosts used as IP addressTim Ruehsen
By not detecting and rejecting domain names for partial literal IP addresses properly when parsing received HTTP cookies, libcurl can be fooled to both send cookies to wrong sites and to allow arbitrary sites to set cookies for others. CVE-2014-3613 Bug: http://curl.haxx.se/docs/adv_20140910A.html