Commit a466b315 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Daniel Black's test suite fixes and initial test cases for SOCKS4/5 using

openssh
parent 48064f8d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5,8 +5,11 @@ log
*.pid
*.pdf
*.html
curl_client_knownhosts
curl_client_key
curl_client_key.pub
curl_host_dsa_key
curl_host_dsa_key.pub
curl_sshd_config
curl_ssh_config
stunnel.conf
+3 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ https
none
scp
sftp
socks4
socks5

Give only one per line.  This subsection is mandatory.
</server>
@@ -227,6 +229,7 @@ Available substitute variables include:
%TFTPPORT  - Port number of the TFTP server
%TFTP6PORT - IPv6 port number of the TFTP server
%SSHPORT   - Port number of the SCP/SFTP server
%SOCKSPORT - Port number of the SOCKS4/5 server
%SRCDIR    - Full path to the source dir
%PWD       - Current directory
%CURL      - Path to the curl executable
+9 −2
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ Requires:
  diff (when a test fail, a diff is shown)
  stunnel (for HTTPS and FTPS tests)
  sshd (for SCP and SFTP tests; OpenSSH ver. 3.8 is known to work)
  ssh (for SOCKS4 and SOCK5 tests; OpenSSH ver. 4.5 is known to work.
       OpenSSH version 3.7 or greater is needed for SOCKS5)

TCP ports used by default:

@@ -23,11 +25,13 @@ TCP ports used by default:
  - 8996 on localhost for FTP IPv6 tests
  - 8997 on localhost for TFTP tests
  - 8999 on localhost for SCP/SFTP tests
  - 9000 on localhost for SOCKS tests

  The test suite runs simple FTP, HTTP and TFTP servers on these ports to
  which it makes requests.  For SSL tests, it runs stunnel to handle
  encryption to the regular servers. For SSH, it runs a standard OpenSSH
  server.  
  server. For SOCKS4/5 tests SSH is used to perform the SOCKS functionality
  and requires a SSH client and server.

  The base port number shown above can be changed using runtests' -b option
  to allow running more than one instance of the test suite simultaneously
@@ -92,7 +96,8 @@ TEST CASE NUMBERS
 400 - 499   FTPS
 500 - 599   libcurl source code tests, not using the curl command tool
 600 - 699   SCP/SFTP
 700 - 799   miscellanous*
 700 - 799   SOCKS4 (even numbers) and SOCK5 (odd numbers)
 1000 - x    miscellanous*

 Since 30-apr-2003, there's nothing in the system that requires us to keep
 within these number series, and those sections marked with * actually
@@ -102,3 +107,5 @@ TEST CASE NUMBERS
TODO:

  * Add tests for TELNET, LDAP, DICT...
  * SOCKS4/5 test deficiencies - no proxy authentication tests as SSH (the 
    test mechanism) doesn't support them
+3 −3
Original line number Diff line number Diff line
@@ -41,4 +41,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
 test603 test401 test402 test290 test291 test292 test293 test403 test404   \
 test405 test604 test605 test606 test607 test608 test609 test294 test295   \
 test296 test297 test298 test610 test611 test612 test406 test407 test408   \
 test409 test613 test614
 test409 test613 test614 test700 test701 test702 test704 test705

tests/data/test700

0 → 100644
+57 −0
Original line number Diff line number Diff line
<testcase>
<info>
<keywords>
HTTP
HTTP GET
SOCKS4
</keywords>
</info>

#
# Server-side
<reply name="1">
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes

-foo-
</data>
</reply>

#
# Client-side
<client>
<server>
http
socks4
</server>
 <name>
HTTP GET via SOCK4 proxy
 </name>
 <command>
--socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/700
</command>
</client>

#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /700 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*

</protocol>
</verify>
</testcase>
Loading