aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2011-12-20FTP: perform active connections non-blockingGokhan Sengun
1- Two new error codes are introduced. CURLE_FTP_ACCEPT_FAILED to be set whenever ACCEPTing fails because of FTP server connected. CURLE_FTP_ACCEPT_TIMEOUT to be set whenever ACCEPTing timeouts. Neither of these errors are considered fatal and control connection remains OK because it could just be a firewall blocking server to connect to the client. 2- One new setopt option was introduced. CURLOPT_ACCEPTTIMEOUT_MS It sets the maximum amount of time FTP client is going to wait for a server to connect. Internal default accept timeout is 60 seconds.
2011-12-20lib500: verify timers relative each otherDaniel Stenberg
As commit ce896875f8 fixed a timer that accidentally had been moved in code and then returned a bad timer, the lib500.c code (used in test 500 and some others) now verifies 5 timers against each other to verify that they have the correct relative values. We cannot compare against absolute values as the timings will vary a lot.
2011-12-16curl -F: fix multiple file upload with custom typeDaniel Stenberg
Test case 1315 was added to verify this functionality. When passing in multiple files to a single -F, the parser would get all confused if one of the specified files had a custom type= assigned. Reported by: Colin Hogben
2011-12-16New test for multiple file uploadColin Hogben
test 1315 checks correct behaviour when uploading multiple files. Buggy behaviour has been seen where only two attachments are sent.
2011-12-15Correct substitution var namesColin Hogben
Two variable names were wrong in the documentation.
2011-12-07multi interface: fix block when CONNECT_ONLY option is usedGokhan Sengun
2011-12-05FTP: close callback fixDaniel Stenberg
Keep track of which sockets that are the result of accept() calls and refuse to call the closesocket callback for those sockets. Test case 596 now verifies that the open socket callback is called the same number of times as the closed socket callback for active FTP connections. Bug: http://curl.haxx.se/mail/lib-2011-12/0018.html Reported by: Gokhan Sengun
2011-12-05FTP: call opensocket callback properlyDaniel Stenberg
When the new socket is created for an active connection, it is now done using the open socket callback. Test case 596 was modified to run fine, although it hides the fact that the close callback is still called too many times, as it also gets called for closing sockets that were created with accept().
2011-12-04test: verify the opensocket callback for FTPDaniel Stenberg
test 595: for passive FTP test 596: for active FTP
2011-12-01test 815: verify POP3 dot-first-on-line unescapingDaniel Stenberg
2011-11-29POP3: detect when LIST returns no mailsDaniel Stenberg
By making sure the function can detect an "end of body" sequence immediately on the first line, test 811 is now enabled.
2011-11-29ftpserver: output CRLF in logsDaniel Stenberg
Previously the log function would just filter out all CR and LF occurances from the log to make it more readable. This had the downside that it made it very hard to see CR LFs when they actually matters. Now, they're instead converted to "[CR]" and "[LR]" in the log to become apparent to readers.
2011-11-29POP3: fix end of body detectionDaniel Stenberg
Curl_pop3_write() now has a state machine that scans for the end of a POP3 body so that the CR LF '.' CR LF sequence can come in everything from one up to five subsequent packets. Test case 810 is modified to use SLOWDOWN which makes the server pause between each single byte and thus makes the POP3 body get sent to curl basically one byte at a time.
2011-11-28test: added POP3 test with dot-prefixed lineDaniel Stenberg
Test 815 is disabled for now since libcurl currently doesn't unescape such lines the way it should. See mail: http://curl.haxx.se/mail/lib-2011-11/0324.html
2011-11-25test 1211: FTP test to repeat bug #3429299Daniel Stenberg
"Active FTP hangs if server does not open data connection" The server first sends a 150 and then when libcurl waits for the data transfer, the server sends a 425.
2011-11-25FTP tests 1206 - 1209: don't expect QUITDaniel Stenberg
The protocol parts for these tests do not include QUIT simply because the error is CURLE_OPERATION_TIMEDOUT (28) which is a generic timeout error without specificly saying for which connection it concerns, and for timeouts libcurl marks the control channel as "invalid". As this test case times out for the data connection it could still use the control channel.
2011-11-25tvdiff_secs(): sub-zero time difference adjustmentYang Tse
Skip a floating point addition operation when integral part of time difference is zero. This avoids potential floating point addition rounding problems while preserving decimal part value.
2011-11-24query-part: ignore the URI part for given protocolsJonas Schnelli
By setting PROTOPT_NOURLQUERY in the protocol handler struct, the protocol will get the "query part" of the URL cut off before the data is handled by the protocol-specific code. This makes libcurl adhere to RFC3986 section 2.2. Test 1220 is added to verify a file:// URL with query-part.
2011-11-24lib573.c: fix double data type variable comparison with zeroYang Tse
2011-11-20-J -O: use -O name if no Content-Disposition header comes!Daniel Stenberg
A regression between 7.22.0 and 7.23.0 -- downloading a file with the flags -O and -J results in the content being written to stdout if and only if there was no Content-Disposition header in the http response. If there is a C-D header with a filename attribute, the output is correctly written. Reported by: Dave Reisner Bug: http://curl.haxx.se/mail/archive-2011-11/0030.html
2011-11-18test: SFTP quote commands with * prefixJonas Schnelli
Related to the f64812ca63 commit
2011-11-18SFTP: support '*' prefix for quote operationsJonas Schnelli
prefixing a command with '*' means it is allowed to fail without aborting the chain actions
2011-11-17libtest build: add the missing lib586Alejandro Alvarez Ayllon
2011-11-11Active mode FTP test cases with server not establishing data connectionYang Tse
591 -> FTP multi PORT and 425 on upload 592 -> FTP multi PORT and 421 on upload 593 -> FTP multi PORT upload, no data conn and no transient neg. reply 594 -> FTP multi PORT upload, no data conn and no positive prelim. reply 1206 -> FTP PORT and 425 on download 1207 -> FTP PORT and 421 on download 1208 -> FTP PORT download, no data conn and no transient negative reply 1209 -> FTP PORT download, no data conn and no positive preliminary reply
2011-11-06test 590: verify the bug fix in 4851dafcf1Daniel Stenberg
This test is created to verify Rene Bernhardt's patch which makes sure libcurl properly _not_ deals with Negotiate if not asked to even if the proxy says it can serve it.
2011-11-02FTP test server: NODATACONN commands follow-upYang Tse
Make NODATACONN425 and NODATACONN421 return a 150 positive preliminary reply before 425 or 421. New NODATACONN150 returns 150 without further positive nor negative reply Now NODATACONN doesn't reply anything at all.
2011-11-01FTP test server: NODATACONN commands follow-upYang Tse
Make NODATACONN custom commands apply to both active and passive FTP, and ensure 425 and 421 are not returned unless data channel usage is attempted.
2011-10-31FTP test server: NODATACONN commands commit c761fcb0 follow-upYang Tse
Adjustments that make NODATACONN custom commands fully usable.
2011-10-30FTP test server: fix server unresponsivenessYang Tse
Some torture tests left FTP test server in an unresponsive state, resulting in torture tests that actually completed following unexpected code paths. Changes in this commit solely address this issue and some adjustments for ftpserver.pl logging relative to data channel establishment and tear down. Pending NODATACONN relative adjustments reserved for a further commit.
2011-10-30runtests.pl: running server checks - commit 4464583a follow-upYang Tse
Ensure verification takes place with no server commands file. Ignore verbose setting for running server precheck. Tweak unresponsive server message, to allow detection by haxx.se scripts.
2011-10-28runtests.pl: running server checks - commit 3676ec96 follow-upYang Tse
Fix called sub when checking TFTP server, and adjust message.
2011-10-28runtests.pl: running server checks - commit 4464583a follow-upYang Tse
Extended server checks to others in addition to pingpong when torture testing.
2011-10-27lib589.c: add CURLOPT_READDATA missing stuffYang Tse
2011-10-27ftpserver.pl: three new custom FTP server commands to disable data channelYang Tse
NODATACONN421: applies only to active FTP mode, instructs server to not establish data connection back to client and reply with FTP 421. NODATACONN425: applies only to active FTP mode, instructs server to not establish data connection back to client and reply with FTP 425. NODATACONN: applies to both active and passive FTP modes, instructs server to not establish nor accept a data channel and fool client into believing that the data channel connection is possible. Some polishing probably required.
2011-10-26test 589: active FTP upload using multi timeout and EPRT disabled serverYang Tse
2011-10-26multi tests: OOM handling fixes - commit 629d2e34 follow-upYang Tse
2011-10-25runtests.pl: running server checksYang Tse
When running torture tests, verify before each test case that required pingpong servers which are supposed to be alive are actually responsive. If found not responsive then restart them.
2011-10-24dist: add test 587Daniel Stenberg
I created test 587 in commit 840eff44f2b but forgot to add the file to the tarball. Added now.
2011-10-24test 588: verify active FTP with multi interface without EPRTDaniel Stenberg
This is using the verbatim 525 test code but it disables EPRT in the server and this should work just as well anyway.
2011-10-24FTP server: allow EPRT by defaultDaniel Stenberg
EPRT is now supported by default by the server. To disable it, use the generic REPLY instruction in the <servercmd> tag. Test 116 now has it disabled. All other existing active FTP port tests strip out the port commands from the logs already so the change of the server isn't that noticable.
2011-10-24ftpserver.pl: ensure integral number usage for passive mode stringYang Tse
2011-10-24large headers: have curl accept >16K headersDaniel Stenberg
As commit 5850cc4808ab clarifies, libcurl can deliver header lines that are longer than CURL_MAX_WRITE_SIZE, only body data is limited to that size. The curl tool has check (when built debug-enabled) that made the wrong checks and this new test 1205 verifies that larger headers work.
2011-10-21Added some missing test case XML tags and keywordsDan Fandrich
2011-10-21runtests.pl: fix printing of multivalued error codesYang Tse
2011-10-21multi tests: OOM handling fixesYang Tse
Additionally, improved error checking and logging.
2011-10-20Curl_http_input_auth: handle multiple auths in WWW-AuthenticateDaniel Stenberg
The fix is pretty much the one Nick Zitzmann provided, just edited to do the right indent levels and with test case 1204 added to verify the fix. Bug: http://curl.haxx.se/mail/lib-2011-10/0190.html Reported by: Nick Zitzmann
2011-10-19Silenced a compiler warning about an unused variableDan Fandrich
2011-10-16formdata: ack read callback abortDaniel Stenberg
When doing a multipart formpost with a read callback, and that callback returns CURL_READFUNC_ABORT, that return code must be properly propagated back and handled accordingly. Previously it would be handled as a zero byte read which would cause a hang! Added test case 587 to verify. It uses the lib554.c source code with a small ifdef. Reported by: Anton Bychkov Bug: http://curl.haxx.se/mail/lib-2011-10/0097.html
2011-10-14sws.c: HTTP and GOPHER test server-side connection closing adjustmentYang Tse
When, for a given test, server is instructed to close connection after server reply we now wait a very small amount of time (50ms) before doing so. This is done to allow client to, at least partially, read server reply before getting an ECONNRESET. The above is required to make test cases 1070, 1200, 1201 and 1202 pass with Cygwin 1.5.X on W2K. GOPHER test server closes connection after _every_ server-reply, as such, at some point it could require a bigger time or using shutdown() before a server-side initiated disconnection.
2011-10-10lib540.c: OOM handling fixes making test 540 pass torture testingYang Tse