aboutsummaryrefslogtreecommitdiff
path: root/tests/server
AgeCommit message (Collapse)Author
2012-08-07Use cross-platform curlx_nonblock instead of fcntl in swsJoe Mason
2012-08-02Add a polling loop in main to read from more than one socket at once. Add ↵Joe Mason
the O_NONBLOCK and SO_KEEPALIVE flag to all sockets. Note that several loops which used to continue on a return value of 0 (theoretical since 0 would never be returned without O_NONBLOCK) now break on 0 so that they won't continue reading until after poll is called again.
2012-08-02Change return values of get_request, accept_connection and ↵Joe Mason
service_connection to add a return code for non-blocking sockets: now -1 means error or connection finished, 1 means data was read, and 0 means there is no data available now so need to wait for poll (new return value)
2012-08-02Hoist the loop out of get_request, and make sure that it can be reentered ↵Joe Mason
when a request is half-finished. Note the the req struct used to be re-initialized AFTER reading pipeline data, so now that we initialize it from the caller we must be careful not to overwrite the pipeline data. Also we now need to handle the case where the buffer is already full when get_request is called - previously this never happened as it was always called with an empty buffer and looped until done. Now get_request is called in a loop, so the next step is to run the loop on a socket only when poll signals it is readable.
2012-08-02Move blocks of code from the sws main loop into their own functions for ↵Joe Mason
easier refactoring later. The next step will be to call the correct function after a poll, rather than looping unconditionally
2012-08-02Remove the --fork option of sws, since it makes refactoring to use poll more ↵Joe Mason
complicated and should be redundant once we poll
2012-07-12SWS: use of uninitialized memory fixDaniel Stenberg
I made "connmon" not get initialized properly before use, and I use the big hammer and make sure we always clear the entire struct to avoid any problem like this in the future.
2012-07-12connection-monitor: always log disconnect when enabledDaniel Stenberg
This makes verifying easier and makes us more sure curl closes the connection only at the correct point in time. Adjusted test 206 and 1008 accordingly and updated the docs for it.
2012-07-05sws: support <servercmd> for CONNECT requestsDaniel Stenberg
I moved out the servercmd parsing into a its own function called parse_servercmd() and made sure it gets used also when the test number is extracted from CONNECT requests. It turned out sws didn't do that previously!
2012-07-05sws: add 'connection-monitor' command supportDaniel Stenberg
Using this, the server will output in the protocol log when the connection gets disconnected and thus we will verify correctly in the test cases that the connection doesn't get closed prematurely. This is important for example NTLM to work. Documentation added to FILEFORMAT, test 503 updated to use this.
2012-04-14headers: require GCC 2.7 or newer in order to allow attribute GCC'isms usageYang Tse
Usage in other code paths already protected and requiring even newer versions.
2012-04-12configure: NATIVE_WINDOWS no longer defined in config filesYang Tse
2012-04-11build adjustments: functionally revert commits 4d3fb91f and bbfe1182Yang Tse
Undefining CURL_HIDDEN_SYMBOLS in source files isn't the proper fix.
2012-04-10test servers: build adjustmentYang Tse
Undefine CURL_HIDDEN_SYMBOLS libcurl private preprocessor macro that might leak from lib/setup.h into source files where this should not be defined.
2012-03-22SWS: refuse to serve CONNECT unless running as proxyDaniel Stenberg
2012-01-17sws.c: fix proxy mode secondary connection monitoring conditionYang Tse
2012-01-16sws.c: improve proxy mode torture testing support - followup to 18c6c8a5Yang Tse
2012-01-16sws.c: improve proxy mode torture testing support - followup to c731fc58Yang Tse
2012-01-15sws.c: improve proxy mode torture testing support - followup to d4bf87dcYang Tse
2012-01-13sws.c: improve proxy mode torture testing supportYang Tse
2012-01-09sws.c: replace sleep() usage with wait_ms()Yang Tse
2012-01-08sws.c: some compiler warning fixesYang Tse
2012-01-06sws.c: 812fa73057 follow-upYang Tse
2012-01-05sws.c: some IPv6 proxy mode peparatory adjustmentsYang Tse
2012-01-04sws.c: fix proxy mode segfaultYang Tse
2012-01-03test proxy supports CONNECTDaniel Stenberg
There's a new 'http-proxy' server for tests that runs on a separate port and lets clients do HTTP CONNECT to other ports on the same host to allow us to test HTTP "tunneling" properly. Test cases now have a <proxy> section in <verify> to check that the proxy protocol part matches correctly. Test case 80, 83, 95, 275, 503 and 1078 have been converted. Test 1316 was added.
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-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-09-05fix bool variables checking and assignmentYang Tse
2011-09-03fix a bunch of MSVC compiler warningsYang Tse
2011-08-24base64: fix Curl_base64_encode and Curl_base64_decode interfacesYang Tse
Previous interfaces for these libcurl internal functions did not allow to tell apart a legitimate zero size result from an error condition. These functions now return a CURLcode indicating function success or otherwise specific error. Output size is returned using a pointer argument. All usage of these two functions, and others closely related, has been adapted to the new interfaces. Relative error and OOM handling adapted or added where missing. Unit test 1302 also adapted.
2011-07-31NTLM single-sign on adjustments (VIII)Yang Tse
Use preprocessor symbols WINBIND_NTLM_AUTH_ENABLED and WINBIND_NTLM_AUTH_FILE for Samba's winbind daemon ntlm_auth helper code implementation and filename. Retain preprocessor symbol USE_NTLM_SSO for NTLM single-sign-on feature availability implementation independent. For test harness, prefix NTLM_AUTH environment vars with CURL_ Refactor and rename configure option --with-ntlm-auth to --enable-wb-ntlm-auth[=FILE]
2011-07-29fix compiler warningYang Tse
2011-07-28NTLM single-sign on adjustments (VI)Yang Tse
Fix compiler warning
2011-07-28Removed an extraneous \n that violated the SSO daemon protocolDan Fandrich
This caused fake_ntlm to abort due to an invalid command causing sporadic test 2005 failures.
2011-07-28NTLM single-sign on adjustments (V)Yang Tse
Enhance test harness fake_ntlm logging upon invalid input.
2011-07-27NTLM single-sign on adjustments (IV)Yang Tse
Fix compiler warning
2011-07-27NTLM single-sign on adjustments (II)Yang Tse
Ensure test harness fake_ntlm main function can properly handle arguments.
2011-07-26Fixed test 2005 to work in out-of-tree buildsDan Fandrich
Also, set the test number in the test data file so fake_ntlm can be reused in future tests.
2011-07-26fix compiler warningYang Tse
2011-07-18gitignore: ignore fake_ntlmDaniel Stenberg
2011-07-18test2005: verify ntlm single-signonMandy Wu
2011-07-17sws: don't enable pipelining for requests with content-lengthDaniel Stenberg
Log texts also modified and some white space edits
2011-07-03sws: allow multiple commands in <servercmd>Daniel Stenberg
2011-06-11write: add return code checks when usedDaniel Stenberg
These were just warnings in test code but it still makes it nicer to not generate them.
2011-05-27distribution: Fix EXTRA_DIST letter caseYang Tse
2011-04-05Changed some nonportable typesDan Fandrich
2010-12-17tftpd: avoid buffer overflow report from glibcPaul Howarth
2010-12-06sws: fix compier warning: external definition with no prior declarationYang Tse