## `<reply>`
-### `<data [nocheck="yes"] [sendzero="yes"] [hex="yes"] [nonewline="yes"] [crlf="yes"]>`
+### `<data [nocheck="yes"] [sendzero="yes"] [hex="yes"] [nonewline="yes"] [crlf="yes|headers"]>`
data to be sent to the client on its request and later verified that it
arrived safely. Set `nocheck="yes"` to prevent the test script from verifying
`nonewline=yes` means that the last byte (the trailing newline character)
should be cut off from the data before sending or comparing it.
-`crlf=yes` forces *header* newlines to become CRLF even if not written so in
-the source file. Note that this makes runtests.pl parse and "guess" what is a
-header and what is not in order to apply the CRLF line endings appropriately.
+`crlf=yes` forces the newlines to become CRLF even if not written so in the
+test.
+
+`crlf=headers` forces *header* newlines to become CRLF even if not written so
+in the source file. Note that this makes runtests.pl parse and "guess" what is
+a header and what is not in order to apply the CRLF line endings appropriately.
For FTP file listings, the `<data>` section is be used *only* if you make sure
that there has been a CWD done first to a directory named `test-[NUM]` where
`NUM` is the test case number. Otherwise the ftp server cannot know from which
test file to load the list content.
-### `<dataNUM [crlf="yes"]>`
+### `<dataNUM [crlf="yes|headers"]>`
Send back this contents instead of the `<data>` one. The `NUM` is set by:
section. Validating the entire negotiation sequence can be done by specifying
a `datacheck` section.
-### `<connect>`
+### `<connect [crlf="yes|headers"]>`
The connect section is used instead of the 'data' for all CONNECT
requests. The remainder of the rules for the data section then apply but with
a connect prefix.
+`crlf=yes` forces the newlines to become CRLF even if not written so in the
+test.
+
+`crlf=headers` forces *header* newlines to become CRLF even if not written so
+in the source file. Note that this makes runtests.pl parse and "guess" what is
+a header and what is not in order to apply the CRLF line endings appropriately.
+
### `<socks>`
Address type and address details as logged by the SOCKS proxy.
-### `<datacheck [mode="text"] [nonewline="yes"] [crlf="yes"]>`
+### `<datacheck [mode="text"] [nonewline="yes"] [crlf="yes|headers"]>`
if the data is sent but this is what should be checked afterwards. If
`nonewline=yes` is set, runtests cuts off the trailing newline from the data
before comparing with the one actually received by the client.
Use the `mode="text"` attribute if the output is in text mode on platforms
that have a text/binary difference.
-### `<datacheckNUM [nonewline="yes"] [mode="text"] [crlf="yes"]>`
+### `<datacheckNUM [nonewline="yes"] [mode="text"] [crlf="yes|headers"]>`
The contents of numbered `datacheck` sections are appended to the non-numbered
one.
'delay' attribute is intended for specific test cases, and normally not
needed.
-### `<file name="%LOGDIR/filename" [nonewline="yes"]>`
+### `<file name="%LOGDIR/filename" [nonewline="yes"][crlf="yes"]>`
This creates the named file with this content before the test case is run,
which is useful if the test case needs a file to act on.
If `nonewline="yes"` is used, the created file gets the final newline stripped
off.
+`crlf=yes` forces the newlines to become CRLF even if not written so in the
+test.
+
### `<file1>`
1 to 4 can be appended to 'file' to create more files.
### `<file4>`
-### `<stdin [nonewline="yes"]>`
+### `<stdin [nonewline="yes"][crlf="yes"]>`
Pass this given data on stdin to the tool.
If `nonewline` is set, we cut off the trailing newline of this given data
before comparing with the one actually received by the client
+`crlf=yes` forces the newlines to become CRLF even if not written so in the
+test.
+
## `<disable>`
If `test-duphandle` is a listed item here, this is not run when
in the source file. Note that this makes runtests.pl parse and "guess" what is
a header and what is not in order to apply the CRLF line endings appropriately.
-### `<proxy [nonewline="yes"][crlf="yes"]>`
+### `<proxy [nonewline="yes"][crlf="yes|headers"]>`
The protocol dump curl should transmit to an HTTP proxy (when the http-proxy
server is used), if `nonewline` is set, we cut off the trailing newline of
this given data before comparing with the one actually sent by the client The
`<strip>` and `<strippart>` rules are applied before comparisons are made.
-### `<stderr [mode="text"] [nonewline="yes"] [crlf="yes"]>`
+### `<stderr [mode="text"] [nonewline="yes"] [crlf="yes|headers"]>`
This verifies that this data was passed to stderr.
Use the mode="text" attribute if the output is in text mode on platforms that
`crlf=yes` forces the newlines to become CRLF even if not written so in the
test.
+`crlf=headers` forces *header* newlines to become CRLF even if not written so
+in the source file. Note that this makes runtests.pl parse and "guess" what is
+a header and what is not in order to apply the CRLF line endings appropriately.
+
If `nonewline` is set, we cut off the trailing newline of this given data
before comparing with the one actually received by the client
-### `<stdout [mode="text"] [nonewline="yes"] [crlf="yes"] [loadfile="filename"]>`
+### `<stdout [mode="text"] [nonewline="yes"] [crlf="yes|headers"] [loadfile="filename"]>`
This verifies that this data was passed to stdout.
Use the mode="text" attribute if the output is in text mode on platforms that
`crlf=yes` forces the newlines to become CRLF even if not written so in the
test.
+`crlf=headers` forces *header* newlines to become CRLF even if not written so
+in the source file. Note that this makes runtests.pl parse and "guess" what is
+a header and what is not in order to apply the CRLF line endings appropriately.
+
`loadfile="filename"` makes loading the data from an external file.
### `<limit>`
Allocations: [number of allocation calls]
Maximum allocated: [maximum concurrent memory allocated]
-### `<file name="%LOGDIR/filename" [mode="text"]>`
+### `<file name="%LOGDIR/filename" [mode="text"] [crlf="yes|headers"]>`
The file's contents must be identical to this after the test is complete. Use
the mode="text" attribute if the output is in text mode on platforms that have
a text/binary difference.
+`crlf=yes` forces the newlines to become CRLF even if not written so in the
+test.
+
+`crlf=headers` forces *header* newlines to become CRLF even if not written so
+in the source file. Note that this makes runtests.pl parse and "guess" what is
+a header and what is not in order to apply the CRLF line endings appropriately.
+
### `<file1>`
1 to 4 can be appended to 'file' to compare more files.
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
</info>
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</servercmd>
# this is returned first since we get no proxy-auth
-<connect1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Transfer-Encoding: chunked\r
-\r
-20\r
-And you should ignore this data.\r
-FA0\r
-%repeat[4000 x X]%\r
-0\r
-\r
+<connect1001 crlf="yes">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Transfer-Encoding: chunked
+
+20
+And you should ignore this data.
+FA0
+%repeat[4000 x X]%
+0
+
</connect1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<connect1002>
-HTTP/1.1 200 Things are fine in proxy land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<connect1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
</connect1002>
# this is returned when we get a GET!
#
# Server-side
<reply>
-<data>
-HTTP/1.1 301 OK\r
-Location: moo.html&testcase=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 OK
+Location: moo.html&testcase=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 301 OK\r
-Location: moo.html&testcase=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 OK
+Location: moo.html&testcase=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 301 OK swsclose\r
-Location: moo.html&testcase=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 OK swsclose
+Location: moo.html&testcase=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 301 OK swsclose\r
-Location: moo.html&testcase=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 OK swsclose
+Location: moo.html&testcase=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 I am cool swsclose\r
-Server: Cool server/10.0\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 I am cool swsclose
+Server: Cool server/10.0
+Content-Length: 0
+
</data>
</reply>
# Server-side
<reply>
-<connect>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose\r
-Proxy-Authenticate: NTLM\r
-Content-Length: 16\r
-Connection: close\r
-\r
+<connect crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: NTLM
+Content-Length: 16
+Connection: close
+
data to discard
</connect>
# this is returned first since we get no proxy-auth
-<connect1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 28\r
-\r
+<connect1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 28
+
27 bytes and newline to ign
</connect1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<connect1002>
-HTTP/1.1 200 Things are fine in proxy land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<connect1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
</connect1002>
# this is returned when we get a GET!
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../data/%TESTNUMBER0002.txt\r
-Set-Cookie: firstcookie=want; path=/want/\r
-Content-Length: 69\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/%TESTNUMBER0002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
This server reply is for testing a Location: following with cookies
</data>
-<data2>
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../want/%TESTNUMBER0003.txt\r
-Set-Cookie: nextcookie=data; path=/data/\r
-Content-Length: 69\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/%TESTNUMBER0003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
This server reply is for testing a Location: following with cookies
</data2>
-<data3>
-HTTP/1.1 200 Followed here fine\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 52\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 Followed here fine
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
If this is received, the location following worked
</data3>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../data/%TESTNUMBER0002.txt\r
-Set-Cookie: firstcookie=want; path=/want/\r
-Content-Length: 69\r
-\r
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../want/%TESTNUMBER0003.txt\r
-Set-Cookie: nextcookie=data; path=/data/\r
-Content-Length: 69\r
-\r
-HTTP/1.1 200 Followed here fine\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 52\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/%TESTNUMBER0002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/%TESTNUMBER0003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
+HTTP/1.1 200 Followed here fine
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
If this is received, the location following worked
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../data/%TESTNUMBER0002.txt\r
-Set-Cookie: firstcookie=want; path=/want/\r
-Content-Length: 69\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/%TESTNUMBER0002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
This server reply is for testing a Location: following with cookies
</data>
-<data2>
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../want/%TESTNUMBER0003.txt\r
-Set-Cookie: nextcookie=data; path=/data/\r
-Content-Length: 69\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/%TESTNUMBER0003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
This server reply is for testing a Location: following with cookies
</data2>
-<data3>
-HTTP/1.1 200 Followed here fine\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 52\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 Followed here fine
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
If this is received, the location following worked
</data3>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../data/%TESTNUMBER0002.txt\r
-Set-Cookie: firstcookie=want; path=/want/\r
-Content-Length: 69\r
-\r
-HTTP/1.1 301 This is a weirdo text message\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: ../want/%TESTNUMBER0003.txt\r
-Set-Cookie: nextcookie=data; path=/data/\r
-Content-Length: 69\r
-\r
-HTTP/1.1 200 Followed here fine\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 52\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/%TESTNUMBER0002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/%TESTNUMBER0003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
+HTTP/1.1 200 Followed here fine
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
If this is received, the location following worked
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data1>
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002
+Content-Length: 0
+Connection: close
+
</data1>
<data2>
data
RETR %TESTNUMBER0002
QUIT
</protocol>
-<stdout>
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002
+Content-Length: 0
+Connection: close
+
data
to
see
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER 0%spc%
</stdout>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Length: 26\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Length: 26
+Content-Type: text/html; charset=iso-8859-1
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Length: 26\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Length: 26
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/this/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
HEAD /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=1-3
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 416 Invalid range\r
-Connection: close\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 416 Invalid range
+Connection: close
+Content-Length: 0
+
</data>
# The file data that exists at the start of the test must be included in
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=100-
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Accept-Ranges: bytes\r
-Content-Length: 0\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Accept-Ranges: bytes
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+
</data>
</reply>
# Server-side
<reply>
# Some servers (e.g. Apache 1.2) respond this way to an invalid byte range
-<data>
-HTTP/1.1 200 OK\r
-Connection: close\r
-Content-Length: 100\r
-Content-Type: text/plain\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 100
+Content-Type: text/plain
+
012345678
012345678
012345678
<errorcode>
33
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=200-
# Server-side
<reply>
-<data>
-HTTP/1.1 206 Partial Content\r
-Date: Mon, 13 Nov 2007 13:41:09 GMT\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-Accept-Ranges: bytes\r
-Content-Length: 60\r
-Content-Range: bytes 40-99/100\r
-\r
+<data crlf="headers">
+HTTP/1.1 206 Partial Content
+Date: Mon, 13 Nov 2007 13:41:09 GMT
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Accept-Ranges: bytes
+Content-Length: 60
+Content-Range: bytes 40-99/100
+
012345678
012345678
012345678
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=40-
REST 0
QUIT
</protocol>
-<stdout>
-Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT\r
-Content-Length: 9999999999\r
-Accept-ranges: bytes\r
+<stdout crlf="headers">
+Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT
+Content-Length: 9999999999
+Accept-ranges: bytes
</stdout>
</verify>
</testcase>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 28 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/plain\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 28 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/plain\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOST6IP:%HTTP6PORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 301 Redirect swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 100 Continue\r
-\r
-HTTP/1.1 200 Followed here fine swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 51\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 100 Continue
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
If this is received, the location following worked
</data2>
-<datacheck>
-HTTP/1.1 301 Redirect swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 0\r
-Connection: close\r
-\r
-HTTP/1.1 100 Continue\r
-\r
-HTTP/1.1 200 Followed here fine swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 51\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 100 Continue
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
If this is received, the location following worked
</datacheck>
</reply>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.0 301 Redirect swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.0 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
</data>
-<data2>
-HTTP/1.0 200 Followed here fine swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 51\r
-\r
+<data2 crlf="headers">
+HTTP/1.0 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
If this is received, the location following worked
</data2>
-<datacheck>
-HTTP/1.0 301 Redirect swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 0\r
-Connection: close\r
-\r
-HTTP/1.0 200 Followed here fine swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 51\r
-\r
+<datacheck crlf="headers">
+HTTP/1.0 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+HTTP/1.0 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
If this is received, the location following worked
</datacheck>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 307 Redirect swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 307 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 11\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+Connection: close
+
blablabla
</data2>
-<datacheck>
-HTTP/1.1 307 Redirect swsclose\r
-Date: Thu, 29 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 0\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 11\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 307 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+Connection: close
+
blablabla
</datacheck>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 301 OK swsclose\r
-Location: moo/testcase/%TESTNUMBER0002\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 OK swsclose
+Location: moo/testcase/%TESTNUMBER0002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 301 OK swsclose\r
-Location: moo/testcase/%TESTNUMBER0002\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 OK swsclose
+Location: moo/testcase/%TESTNUMBER0002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 307 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/html\r
-Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 307 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
+Content-Length: 0
+Connection: close
+
</data>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK swsclose\r
-Location: http://[::1%259999]:%HTTP6PORT/moo/%TESTNUMBER0002\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: http://[::1%259999]:%HTTP6PORT/moo/%TESTNUMBER0002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose\r
-Location: http://[::1%259999]:%HTTP6PORT/moo/%TESTNUMBER0002\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Date: Thu, 31 Jul 2008 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: http://[::1%259999]:%HTTP6PORT/moo/%TESTNUMBER0002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 206 Partial Content\r
-Date: Thu, 31 Jul 2008 13:41:09 GMT\r
-Accept-Ranges: bytes\r
-Content-Length: 101\r
-Content-Range: bytes 100-200/201\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 206 Partial Content
+Date: Thu, 31 Jul 2008 13:41:09 GMT
+Accept-Ranges: bytes
+Content-Length: 101
+Content-Range: bytes 100-200/201
+Connection: close
+Content-Type: text/html
+
..partial data returned from the
server as a result of setting an explicit byte range
in the request
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=-101
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 501 Method not implemented swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-Content-Length: 0\r
-\r
+<connect crlf="headers">
+HTTP/1.1 501 Method not implemented swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+Content-Length: 0
+
</connect>
</reply>
<errorcode>
56
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test-number:%TESTNUMBER HTTP/1.1
Host: test-number:%TESTNUMBER
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<connect>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-Content-Length: 35701\r
-X-tra-long-header: %repeat[16080 x a]%\r
-\r
+<connect crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 35701
+X-tra-long-header: %repeat[16080 x a]%
+
%repeat[700 x And you should ignore this data. aaaaaaaaaaaaaaaa %0a]%
</connect>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.remote.haxx.se.%TESTNUMBER:8990 HTTP/1.1
Host: test.remote.haxx.se.%TESTNUMBER:8990
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.remote.haxx.se.%TESTNUMBER:8990 HTTP/1.1
Host: test.remote.haxx.se.%TESTNUMBER:8990
User-Agent: curl/%VERSION
</info>
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data>
-<data2 nocheck="yes">
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 9\r
-\r
+<data2 crlf="headers" nocheck="yes">
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
still ok
</data2>
</reply>
test
</protocol>
-<stdout>
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 9\r
-\r
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
still ok
</stdout>
</verify>
</info>
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data>
-<data2 nocheck="yes">
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 9\r
-\r
+<data2 crlf="headers" nocheck="yes">
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
still ok
</data2>
</reply>
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
-HTTP/1.1 200 A OK\r
-Server: curl test\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 9\r
-\r
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
still ok
</stdout>
</verify>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Server: thebest/1.0\r
-Content-Type: text/plain\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Server: thebest/1.0
+Content-Type: text/plain
+Content-Length: 6
+
first
</data>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Server: thebest/1.0\r
-Content-Type: text/plain\r
-Content-Length: 7\r
-\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Server: thebest/1.0
+Content-Type: text/plain
+Content-Length: 7
+
second
</data1>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
blablabla
</data>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 403 Go away and swsclose\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 55\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 403 Go away and swsclose
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 55
+Connection: close
+
you are not supposed to be allowed to send things here
</data>
<servercmd>
# Server-side
<reply>
-<data>
-HTTP/1.0 401 Authorization Required swsclose\r
-Server: testcurl\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/plain\r
-Content-Length: 35\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.0 401 Authorization Required swsclose
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/plain
+Content-Length: 35
+Connection: close
+
Try again on this HTTP 1.0 server!
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.0 200 OK swsclose\r
-Server: testcurl\r
-Content-Type: text/plain\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<data1000 crlf="headers">
+HTTP/1.0 200 OK swsclose
+Server: testcurl
+Content-Type: text/plain
+Content-Length: 23
+Connection: close
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.0 401 Authorization Required swsclose\r
-Server: testcurl\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/plain\r
-Content-Length: 35\r
-Connection: close\r
-\r
-HTTP/1.0 200 OK swsclose\r
-Server: testcurl\r
-Content-Type: text/plain\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.0 401 Authorization Required swsclose
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/plain
+Content-Length: 35
+Connection: close
+
+HTTP/1.0 200 OK swsclose
+Server: testcurl
+Content-Type: text/plain
+Content-Length: 23
+Connection: close
+
This IS the real page!
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.0 401 Authorization Required swsclose\r
-Server: testcurl\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.0 401 Authorization Required swsclose
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/plain
+Content-Length: 0
+Connection: close
+
</data>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.0 301 Redirect swsclose\r
-Server: testcurl\r
-Content-Type: text/plain\r
-Location: /newlocation/%TESTNUMBER0002\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.0 301 Redirect swsclose
+Server: testcurl
+Content-Type: text/plain
+Location: /newlocation/%TESTNUMBER0002
+Content-Length: 0
+Connection: close
+
</data>
</reply>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.0 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 9\r
-Connection: Keep-Alive\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.0 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+Connection: Keep-Alive
+
surprise
</data>
-<data1>
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data1 crlf="headers">
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
surprise2
</data1>
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.0 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 9\r
-Connection: Keep-Alive\r
-\r
+<stdout crlf="headers">
+HTTP/1.0 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+Connection: Keep-Alive
+
surprise
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
surprise2
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# The test server provides no way to respond differently to a subsequent
# Basic authenticated request (we really want to respond with 200 for
# the second), so just respond with 401 for both and let curl deal with it.
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: testcurl\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
+Content-Type: text/plain
+Content-Length: 0
+
</data>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: testcurl\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-\r
-HTTP/1.1 401 Authorization Required\r
-Server: testcurl\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
+Content-Type: text/plain
+Content-Length: 0
+
+HTTP/1.1 401 Authorization Required
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
+Content-Type: text/plain
+Content-Length: 0
+
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/plain\r
-Content-Length: 9\r
-Funny-head: yesyes\r
-Proxy-Connection: Keep-Alive\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/plain
+Content-Length: 9
+Funny-head: yesyes
+Proxy-Connection: Keep-Alive
+
contents
</data>
-<data2>
-HTTP/1.0 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/plain\r
-Content-Length: 9\r
-Funny-head: yesyes\r
-Proxy-Connection: Keep-Alive\r
-\r
+<data2 crlf="headers">
+HTTP/1.0 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/plain
+Content-Length: 9
+Funny-head: yesyes
+Proxy-Connection: Keep-Alive
+
contents
</data2>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: test tunnel 2000\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
</connect>
-<data nocheck="yes">
-HTTP/1.0 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-Connection: keep-alive\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.0 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: keep-alive
+
contents
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT %HOSTIP:%HTTPPORT HTTP/1.0\r
-Host: %HOSTIP:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT %HOSTIP:%HTTPPORT HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: test tunnel 2000\r
-\r
-HTTP/1.0 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-Connection: keep-alive\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+HTTP/1.0 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: keep-alive
+
contents
-HTTP/1.0 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-Connection: keep-alive\r
-\r
+HTTP/1.0 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: keep-alive
+
contents
</stdout>
</verify>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/plain; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/plain; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
<data1000>
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/plain; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/plain; charset=iso-8859-1
+Content-Length: 26
+
</datacheck>
</reply>
<errorcode>
52
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes
</stdout>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0099.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0099.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
</data>
-<data2 nocheck="yes">
-HTTP/1.1 200 Followed here fine swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 41\r
-\r
+<data2 crlf="headers" nocheck="yes">
+HTTP/1.1 200 Followed here fine swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 41
+
This second URL does not have a location
</data2>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0099.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0099.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0099.txt?coolsite=yes
-HTTP/1.1 200 Followed here fine swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 41\r
-\r
+HTTP/1.1 200 Followed here fine swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 41
+
This second URL does not have a location
</stdout>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 28 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/plain\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 28 Jul 2008 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/plain\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOST6IP:%HTTP6PORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data1000 nocheck="yes">
-HTTP/1.1 401 Authorization Required\r
-WWW-Authenticate: Basic\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-\r
+<data1000 crlf="headers" nocheck="yes">
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
</data1000>
-<data1001 nocheck="yes">
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Location: http://goto.second.host.now/%TESTNUMBER1002\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data1001 crlf="headers" nocheck="yes">
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/%TESTNUMBER1002
+Content-Length: 0
+Connection: close
+
</data1001>
-<data1002 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-\r
+<data1002 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
contents
</data1002>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-WWW-Authenticate: Basic\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-\r
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Location: http://goto.second.host.now/%TESTNUMBER1002\r
-Content-Length: 0\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/%TESTNUMBER1002
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
contents
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://first.host.it.is/we/want/that/page/%TESTNUMBER1000 HTTP/1.1
Host: first.host.it.is
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data1000 nocheck="yes">
-HTTP/1.1 401 Authorization Required\r
-WWW-Authenticate: Basic\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-\r
+<data1000 crlf="headers" nocheck="yes">
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
</data1000>
-<data1001 nocheck="yes">
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Location: http://goto.second.host.now/%TESTNUMBER1002\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data1001 crlf="headers" nocheck="yes">
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/%TESTNUMBER1002
+Content-Length: 0
+Connection: close
+
</data1001>
-<data1003 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-\r
+<data1003 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
contents
</data1003>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-WWW-Authenticate: Basic\r
-Content-Type: text/plain\r
-Content-Length: 0\r
-\r
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Location: http://goto.second.host.now/%TESTNUMBER1002\r
-Content-Length: 0\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/plain\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/%TESTNUMBER1002
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
contents
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://first.host.it.is/we/want/that/page/%TESTNUMBER1000 HTTP/1.1
Host: first.host.it.is
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 302 OK swsbounce swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 8\r
-Connection: close\r
-Content-Type: text/plain\r
-Location: ./%TESTNUMBER0001\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
monster
</data>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 15\r
-Connection: close\r
-Content-Type: text/plain; charset=us-ascii\r
-\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
bigger monster
</data1>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<stdout>
-HTTP/1.1 302 OK swsbounce swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 8\r
-Connection: close\r
-Content-Type: text/plain\r
-Location: ./%TESTNUMBER0001\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 15\r
-Connection: close\r
-Content-Type: text/plain; charset=us-ascii\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
bigger monster
2
1
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 302 OK swsbounce swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 8\r
-Connection: close\r
-Content-Type: text/plain\r
-Location: ./%TESTNUMBER0001\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
monster
</data>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Transfer-Encoding: chunked\r
-Connection: close\r
-Content-Type: text/plain; charset=us-ascii\r
-\r
-0007\r
-bigger \r
-0008\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Transfer-Encoding: chunked
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
+0007
+bigger%spc%
+0008
monster
-\r
-0\r
-\r
+
+0
+
</data1>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<stdout>
-HTTP/1.1 302 OK swsbounce swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 8\r
-Connection: close\r
-Content-Type: text/plain\r
-Location: ./%TESTNUMBER0001\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Transfer-Encoding: chunked\r
-Connection: close\r
-Content-Type: text/plain; charset=us-ascii\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Transfer-Encoding: chunked
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
bigger monster
2
1
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER;type=i HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
returned
to client
</data>
-<datacheck>
-a chunk of\r
-data\r
-returned\r
- to client\r
+<datacheck crlf="yes">
+a chunk of
+data
+returned
+ to client
</datacheck>
</reply>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="test \"this\" realm!!", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="test \"this\" realm!!", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="test \"this\" realm!!", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="test \"this\" realm!!", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 We are fine and cool\r
-Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2\r
-Content-Length: 27\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+Content-Length: 27
+
This is all fine and dandy
</data>
# This is the CONNECT response
-<connect1001>
-HTTP/1.1 200 We are fine and cool\r
-Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2\r
-\r
+<connect1001 crlf="headers">
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+
</connect1001>
-<datacheck>
-HTTP/1.1 200 We are fine and cool\r
-Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2\r
-\r
-HTTP/1.1 200 We are fine and cool\r
-Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2\r
-Content-Length: 27\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+Content-Length: 27
+
This is all fine and dandy
</datacheck>
</reply>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+
hello
</data>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://ftp-site/moo/%TESTNUMBER HTTP/1.1
Host: ftp-site:21
User-Agent: curl/%VERSION
Proxy-Connection: Keep-Alive
</protocol>
-<stdout>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+
hello
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+
hello
</stdout>
</verify>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 Thanks for this! swsclose\r
-Content-Length: 25\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 Thanks for this! swsclose
+Content-Length: 25
+
This is the final page !
</data>
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 302 Thanks for this, but we want to redir you!\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Location: /%TESTNUMBER\r
-Content-Length: 34\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 302 Thanks for this, but we want to redir you!
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Location: /%TESTNUMBER
+Content-Length: 34
+
This is not the real page either!
</data1002>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 302 Thanks for this, but we want to redir you!\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Location: /%TESTNUMBER\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Thanks for this! swsclose\r
-Content-Length: 25\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 302 Thanks for this, but we want to redir you!
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Location: /%TESTNUMBER
+Content-Length: 34
+
+HTTP/1.1 200 Thanks for this! swsclose
+Content-Length: 25
+
This is the final page !
</datacheck>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 4\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /gimme/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:secret]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes swsclose\r
-Set-Cookie: foobar=name;\r
-Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";\r
-Set-Cookie: partmatch=present; domain=.0.0.1; path=/;\r
-Set-Cookie: foo%tab%bar=barfoo\r
-Set-Cookie: bar%tab%foo=\r
-Set-Cookie: bar=foo%tab%bar\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes swsclose
+Set-Cookie: foobar=name;
+Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
+Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
+Set-Cookie: foo%tab%bar=barfoo
+Set-Cookie: bar%tab%foo=
+Set-Cookie: bar=foo%tab%bar
+
</data>
</reply>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Accept-Ranges: bytes
+Content-Length: 6
+
hello
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://%HOSTIP:23456/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:23456
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER?q=foobar HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER?q=foobar HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 104 Experiment\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 200 OK swsbounce\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 104 Experiment
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 200 OK swsbounce
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked\r
-Connection: mooo\r
-\r
-40\r
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
-30\r
-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\r
-21;heresatest=moooo\r
+<data crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+40
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+30
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+21;heresatest=moooo
cccccccccccccccccccccccccccccccc
-\r
-0\r
-chunky-trailer: header data\r
-another-header: yes\r
-\r
+
+0
+chunky-trailer: header data
+another-header: yes
+
</data>
-<datacheck>
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked\r
-Connection: mooo\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
-chunky-trailer: header data\r
-another-header: yes\r
+chunky-trailer: header data
+another-header: yes
</datacheck>
<servercmd>
writedelay: 10
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked\r
-Connection: mooo\r
-\r
-chunky-trailer: header data\r
-another-header: yes\r
+<file name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+chunky-trailer: header data
+another-header: yes
</file>
</verify>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 416 Requested Range Not Satisfiable\r
-Date: Tue, 09 Sep 2010 14:49:00 GMT\r
-Accept-Ranges: bytes\r
-Content-Length: 115\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 416 Requested Range Not Satisfiable
+Date: Tue, 09 Sep 2010 14:49:00 GMT
+Accept-Ranges: bytes
+Content-Length: 115
+
This is a long error message that is large enough that the test server is
guaranteed to split it into two packets.
</data>
-<data1>
-HTTP/1.1 206 Partial Content\r
-Date: Tue, 09 Sep 2010 14:49:01 GMT\r
-Accept-Ranges: bytes\r
-Content-Range: bytes 10-18/155\r
-Content-Length: 13\r
-Content-Type: text/plain\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 206 Partial Content
+Date: Tue, 09 Sep 2010 14:49:01 GMT
+Accept-Ranges: bytes
+Content-Range: bytes 10-18/155
+Content-Length: 13
+Content-Type: text/plain
+
partial body
</data1>
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.1 416 Requested Range Not Satisfiable\r
-Date: Tue, 09 Sep 2010 14:49:00 GMT\r
-Accept-Ranges: bytes\r
-Content-Length: 115\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 416 Requested Range Not Satisfiable
+Date: Tue, 09 Sep 2010 14:49:00 GMT
+Accept-Ranges: bytes
+Content-Length: 115
+
This is a long error message that is large enough that the test server is
guaranteed to split it into two packets.
-HTTP/1.1 206 Partial Content\r
-Date: Tue, 09 Sep 2010 14:49:01 GMT\r
-Accept-Ranges: bytes\r
-Content-Range: bytes 10-18/155\r
-Content-Length: 13\r
-Content-Type: text/plain\r
-\r
+HTTP/1.1 206 Partial Content
+Date: Tue, 09 Sep 2010 14:49:01 GMT
+Accept-Ranges: bytes
+Content-Range: bytes 10-18/155
+Content-Length: 13
+Content-Type: text/plain
+
partial body
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=10-22
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /?email=name@example.com/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
blaha
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: host1
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nonewline="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip\r
-Content-Length: 44\r
-\r
+<data crlf="headers" nonewline="yes">
+HTTP/1.1 200 OK swsclose
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip
+Content-Length: 44
+
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c]hex%
%hex[%10%86%31%17%00]hex%
%hex[%02%71%60%18%00%00%00]hex%
</data>
# This ignore Content-Length
-<datacheck>
-HTTP/1.1 200 OK swsclose\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip\r
-Content-Length: 44\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip
+Content-Length: 44
+
line 1
line 2
line 3
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2024 21:56:53 GMT\r
-Server: Something-TE-friendly/0.1\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
-2c\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2024 21:56:53 GMT
+Server: Something-TE-friendly/0.1
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+2c
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c]hex%
%hex[%10%86%31%17%00]hex%
-%hex[%02%71%60%18%00%00%00]hex%\r
-0\r
-\r
+%hex[%02%71%60%18%00%00%00]hex%
+0
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2024 21:56:53 GMT\r
-Server: Something-TE-friendly/0.1\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2024 21:56:53 GMT
+Server: Something-TE-friendly/0.1
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
line 1
line 2
line 3
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
-2c\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+2c
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c]hex%
%hex[%10%86%31%17%00]hex%
-%hex[%02%71%60%18%00%00%00]hex%\r
-0\r
-\r
+%hex[%02%71%60%18%00%00%00]hex%
+0
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
line 1
line 2
line 3
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
-foo-
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
-foo-
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
FAILURE2
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
PUT /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 10\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
blablabla
</data>
</reply>
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK swsclose
Location: ../moo.html/?name=%hex[%d8%a2%d8%ba%d8%a7%d8%b2%2d%d8%b3%d9%85%2d%d8%b2%d8%af%d8%a7%db%8c%db%8c%2d%d8%a7%d8%b2%2d%d8%a8%d8%a7%d8%b2%d8%a7%d8%b1%2d%d9%be%d9%88%d9%84]hex%&testcase=/%TESTNUMBER0002
Date: Tue, 09 Nov 2010 14:49:00 GMT
Connection: close
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK swsclose
Location: this should be ignored
Date: Tue, 09 Nov 2010 14:49:00 GMT
body
</data2>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK swsclose
Location: ../moo.html/?name=%hex[%d8%a2%d8%ba%d8%a7%d8%b2%2d%d8%b3%d9%85%2d%d8%b2%d8%af%d8%a7%db%8c%db%8c%2d%d8%a7%d8%b2%2d%d8%a8%d8%a7%d8%b2%d8%a7%d8%b1%2d%d9%be%d9%88%d9%84]hex%&testcase=/%TESTNUMBER0002
Date: Tue, 09 Nov 2010 14:49:00 GMT
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
HEAD /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://test.remote.example.com.%TESTNUMBER:150/path HTTP/1.1
Host: test.remote.example.com.%TESTNUMBER:150
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-Set-Cookie: domain=value;path=/\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+Set-Cookie: domain=value;path=/
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Content-Type: text/html\r
-Content-Length: 5\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 5
+
body
</data>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Content-Type: text/html\r
-Content-Length: 5\r
-Content-Range: bytes 3/7\r
-\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 5
+Content-Range: bytes 3/7
+
body
</data1>
-<data2 nocheck="yes">
-HTTP/1.1 416 Requested Range Not Satisfiable\r
-Content-Type: text/html\r
-Content-Length: 5\r
-\r
+<data2 crlf="headers" nocheck="yes">
+HTTP/1.1 416 Requested Range Not Satisfiable
+Content-Type: text/html
+Content-Length: 5
+
body
</data2>
-<data3 nocheck="yes">
-HTTP/1.1 416 Requested Range Not Satisfiable\r
-Content-Type: text/html\r
-Content-Length: 5\r
-Content-Range: bytes */2\r
-\r
+<data3 crlf="headers" nocheck="yes">
+HTTP/1.1 416 Requested Range Not Satisfiable
+Content-Type: text/html
+Content-Length: 5
+Content-Range: bytes */2
+
body
</data3>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 10\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
blablabla
</data>
</reply>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: ht3p://localhost/\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: ht3p://localhost/
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: ht3p://localhost/\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: ht3p://localhost/
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
ht3p://localhost/
</stdout>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-Set-Cookie: ____________%hex[%ff]hex%= ;%repeat[117 x %20]%%hex[%ff]hex%%repeat[2602 x %20]%%repeat[434 x z]%%hex[%86%85%85%80]hex%%repeat[49 x z]%%hex[%fa]hex%%repeat[540 x z]%%hex[%f3%a0%81%96]hex%zzzzzzzzzzzz~%repeat[82 x z]%%hex[%b6]hex%%repeat[364 x z]%\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+Set-Cookie: ____________%hex[%ff]hex%= ;%repeat[117 x %20]%%hex[%ff]hex%%repeat[2602 x %20]%%repeat[434 x z]%%hex[%86%85%85%80]hex%%repeat[49 x z]%%hex[%fa]hex%%repeat[540 x z]%%hex[%f3%a0%81%96]hex%zzzzzzzzzzzz~%repeat[82 x z]%%hex[%b6]hex%%repeat[364 x z]%
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-Set-Cookie: ckyPersistent=permanent;path=;path=/\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+Set-Cookie: ckyPersistent=permanent;path=;path=/
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Set-Cookie: trackyou=want; path=/\r
-Content-Length: 68\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Set-Cookie: trackyou=want; path=/
+Content-Length: 68
+
This server reply is for testing a Location: following with cookies
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[catmai#d:#DZaRJYrixKE*gFY]b64%
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
-2c\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+2c
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c]hex%
%hex[%10%86%31%17%00]hex%
-%hex[%02%71%60%18%00%00%00]hex%\r
-0\r
-\r
+%hex[%02%71%60%18%00%00%00]hex%
+0
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
line 1
line 2
line 3
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
-2c\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+2c
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c]hex%
%hex[%10%86%31%17%00]hex%
-%hex[%02%71%60%18%00%00%00]hex%\r
-0\r
-\r
+%hex[%02%71%60%18%00%00%00]hex%
+0
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
line 1
line 2
line 3
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/base-#0">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<file name="%LOGDIR/base-#0" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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-
</file>
</verify>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Proxy-Authorization: Basic %b64[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB]b64%
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Server: Blafasel/5.0\r
-Date: Sat, 16 Jan 2021 14:48:30 GMT\r
-Content-Length: 12\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Server: Blafasel/5.0
+Date: Sat, 16 Jan 2021 14:48:30 GMT
+Content-Length: 12
+
Bla bla bla
</data>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Server: Blafasel/5.0\r
-Date: Sat, 16 Jan 2021 14:48:30 GMT\r
-Content-Length: 12\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Server: Blafasel/5.0
+Date: Sat, 16 Jan 2021 14:48:30 GMT
+Content-Length: 12
+
Bla bla bla
</data>
# Verify that the %TESTNUMBER has been resolved to %TESTNUMBER
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: test tunnel 2000\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
</connect>
-<data nocheck="yes">
-HTTP/1.1 302 OK\r
-Location: http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 302 OK
+Location: http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: close
+
contents
</data>
-<data2 nocheck="yes">
-HTTP/1.1 200 OK\r
-Content-Length: 7\r
-\r
+<data2 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Content-Length: 7
+
second
</data2>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT %HOSTIP.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: %HOSTIP.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
-CONNECT %HOSTIP.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: %HOSTIP.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT %HOSTIP.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: %HOSTIP.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
+CONNECT %HOSTIP.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: %HOSTIP.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP.%TESTNUMBER:%HTTPPORT
Accept: */*
User-Agent: %TESTNUMBER-agent
</protocol>
-<stdout>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: test tunnel 2000\r
-\r
-HTTP/1.1 302 OK\r
-Location: http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-Connection: close\r
-\r
-HTTP/1.1 200 Mighty fine indeed\r
-Server: test tunnel 2000\r
-\r
-HTTP/1.1 200 OK\r
-Content-Length: 7\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+HTTP/1.1 302 OK
+Location: http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: close
+
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+HTTP/1.1 200 OK
+Content-Length: 7
+
second
</stdout>
</verify>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 10\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
blablabla
</data>
</reply>
<name>
SMTP multipart with file name escaping
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"'
# Server-side
<reply>
-<data>
-HTTP/1.1 404 Not Found\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 404 Not Found
+Content-Length: 0
+Connection: close
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 10\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
blablabla
</data>
</reply>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 302 OK swsbounce swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 8\r
-Connection: close\r
-Content-Type: text/plain\r
-Location: ./%TESTNUMBER0001\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
monster
</data>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 15\r
-Connection: close\r
-Content-Type: text/plain; charset=us-ascii\r
-\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
bigger monster
</data1>
</protocol>
-<stdout>
-HTTP/1.1 302 OK swsbounce swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 8\r
-Connection: close\r
-Content-Type: text/plain\r
-Location: ./%TESTNUMBER0001\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 15\r
-Connection: close\r
-Content-Type: text/plain; charset=us-ascii\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
bigger monster
GET
</stdout>
# Server-side
<reply>
-<data>
-HTTP/1.1 206 Partial Content\r
-Date: Mon, 13 Nov 2000 13:41:09 GMT\r
-Server: Apache/1.3.11 (Unix) PHP/3.0.14\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 101\r
-Content-Range: bytes 100-200/3527\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 206 Partial Content
+Date: Mon, 13 Nov 2000 13:41:09 GMT
+Server: Apache/1.3.11 (Unix) PHP/3.0.14
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 101
+Content-Range: bytes 100-200/3527
+Connection: close
+Content-Type: text/html
+
..partial data returned from the
server as a result of setting an explicit byte range
in the request
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=100-200
#
# Server-side
<reply>
-<data>
-iMenu results error.host 1\r
-0Selector /bar bar.foo.invalid 70\r
-.\r
+<data crlf="yes">
+iMenu results error.host 1
+0Selector /bar bar.foo.invalid 70
+.
</data>
</reply>
#
# Server-side
<reply>
-<data>
-iMenu results error.host 1\r
-0Selector /selector/SELECTOR /bar bar.foo.invalid 70\r
-.\r
+<data crlf="yes">
+iMenu results error.host 1
+0Selector /selector/SELECTOR /bar bar.foo.invalid 70
+.
</data>
</reply>
#
# Server-side
<reply>
-<data>
-iSearch results error.host 1\r
-0Query query succeeded /foo foo.bar.invalid 70\r
-0Selector /the/search/engine /bar bar.foo.invalid 70\r
-.\r
+<data crlf="yes">
+iSearch results error.host 1
+0Query query succeeded /foo foo.bar.invalid 70
+0Selector /the/search/engine /bar bar.foo.invalid 70
+.
</data>
</reply>
#
# Server-side
<reply>
-<data>
-iMenu results error.host 1\r
-0Selector /bar bar.foo.invalid 70\r
-.\r
+<data crlf="yes">
+iMenu results error.host 1
+0Selector /bar bar.foo.invalid 70
+.
</data>
</reply>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets the second request
-<data1>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER?junk HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ulion/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:secret]b64%
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 22\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
the content goes here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://we.want.that.site.com.%TESTNUMBER/ HTTP/1.1
Host: we.want.that.site.com.%TESTNUMBER
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 22\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
the content goes here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://we.want.that.site.com.%TESTNUMBER/?moo=foo HTTP/1.1
Host: we.want.that.site.com.%TESTNUMBER
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
# Server-side
<reply>
-<data>
+<data crlf="headers">
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Tue, 25 Sep 2001 19:37:44 GMT
Content-Type: text/html
Connection: close
-Content-Length: 21\r
-\r
+Content-Length: 21
+
This server says moo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://example.fake/c/%TESTNUMBER HTTP/1.1
Host: example.fake
User-Agent: curl/%VERSION
# This test is very similar to 1216, only that it sets the cookies from the
# first site instead of reading from a file
<reply>
-<data>
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 25 Sep 2001 19:37:44 GMT
Set-Cookie: bug=fixed; domain=.example.fake;
-Content-Length: 21\r
-\r
+Content-Length: 21
+
This server says moo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://example.fake/c/%TESTNUMBER HTTP/1.1
Host: example.fake
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 I am cool swsclose\r
-Server: Cool server/10.0\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 I am cool swsclose
+Server: Cool server/10.0
+Content-Length: 0
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://example.fake/hoge/%TESTNUMBER HTTP/1.1
Host: example.fake
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 9\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
mooooooo
</data>
-<connect>
-HTTP/1.1 200 welcome dear\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 welcome dear
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+
</connect>
-<datacheck>
-HTTP/1.1 200 welcome dear\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 9\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 welcome dear
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
mooooooo
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT [1234:1234:1234::4ce]:%HTTPPORT HTTP/1.1
Host: [1234:1234:1234::4ce]:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /hej/but/%TESTNUMBER?stupid=me/../%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://test.remote.haxx.se.%TESTNUMBER:8990/hej/but/%TESTNUMBER?stupid=me/../%TESTNUMBER HTTP/1.1
Host: test.remote.haxx.se.%TESTNUMBER:8990
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data1>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 15\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
the number one
</data1>
-<data2>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 16\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
two is nice too
</data2>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 15\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
the number one
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 16\r
-\r
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
two is nice too
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 15\r
-\r
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
the number one
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 16\r
-\r
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
two is nice too
</stdout>
</verify>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /00/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://test.remote.haxx.se.%TESTNUMBER:8990/../../hej/but/who/../%TESTNUMBER?stupid=me/../%TESTNUMBER HTTP/1.1
Host: test.remote.haxx.se.%TESTNUMBER:8990
User-Agent: curl/%VERSION
<errorcode>
56
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 301 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 0\r
-Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Location: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
+Connection: close
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://test.remote.haxx.se.%TESTNUMBER:%HTTPPORT/ HTTP/1.1
Host: test.remote.haxx.se.%TESTNUMBER:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:secret]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:secret]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:secret]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:secret]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://somewhere.example.com/%TESTNUMBER HTTP/1.1
Host: somewhere.example.com
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://somewhere.example.com/%TESTNUMBER HTTP/1.1
Host: somewhere.example.com
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://somewhere.example.com/%TESTNUMBER HTTP/1.1
Host: somewhere.example.com
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://somewhere.example.com/%TESTNUMBER HTTP/1.1
Host: somewhere.example.com
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-Set-Cookie: I-am=here; domain=localhost;\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Set-Cookie: I-am=here; domain=localhost;
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: localhost
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-Set-Cookie: I-am=here; domain=localhost;\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Set-Cookie: I-am=here; domain=localhost;
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:pass]b64%O3dvcmQ=
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/10290002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10290002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
47
</errorcode>
-<stdout>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/10290002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10290002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
http://%HOSTIP:%HTTPPORT/we/want/our/data/10290002.txt?coolsite=yes
</stdout>
</verify>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOST6IP:%HTTP6PORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 302 Captive Portal\r
-Server: ohlala/2000\r
-Date: Tue, 17 Dec 2019 13:08:30 GMT\r
-Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0\r
-Location: https://moo.moo.moo\r
-Content-Type: text/html; charset=utf-8\r
-X-Frame-Options: SAMEORIGIN\r
-Strict-Transport-Security: max-age=604800\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 302 Captive Portal
+Server: ohlala/2000
+Date: Tue, 17 Dec 2019 13:08:30 GMT
+Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0
+Location: https://moo.moo.moo
+Content-Type: text/html; charset=utf-8
+X-Frame-Options: SAMEORIGIN
+Strict-Transport-Security: max-age=604800
+Content-Length: 0
+Connection: close
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<stdout>
-HTTP/1.1 302 Captive Portal\r
-Server: ohlala/2000\r
-Date: Tue, 17 Dec 2019 13:08:30 GMT\r
-Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0\r
-Location: https://moo.moo.moo\r
-Content-Type: text/html; charset=utf-8\r
-X-Frame-Options: SAMEORIGIN\r
-Strict-Transport-Security: max-age=604800\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 302 Captive Portal
+Server: ohlala/2000
+Date: Tue, 17 Dec 2019 13:08:30 GMT
+Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0
+Location: https://moo.moo.moo
+Content-Type: text/html; charset=utf-8
+X-Frame-Options: SAMEORIGIN
+Strict-Transport-Security: max-age=604800
+Content-Length: 0
+Connection: close
+
https://moo.moo.moo/
</stdout>
</verify>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 This is a weirdo text message swsclose\r
-Content-Length: 4\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 This is a weirdo text message swsclose
+Content-Length: 4
+Connection: close
+
Moo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 416 Invalid range\r
-Connection: close\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 416 Invalid range
+Connection: close
+Content-Length: 0
+
</data>
# The file data that exists at the start of the test must be included in
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=100-
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/out%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/\r
- fake\r
- folded\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Content-Length: 6\r
-Connection: \r
- close\r
-\r
+<file name="%LOGDIR/out%TESTNUMBER" crlf="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/
+ fake
+ folded
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Content-Length: 6
+Connection:%repeat[46 x ]%
+ close
+
</file>
</verify>
</testcase>
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+
bytes
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+
bytes
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a1b2/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/outfile%TESTNUMBER_a1b2.dump">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-\r
+<file name="%LOGDIR/outfile%TESTNUMBER_a1b2.dump" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+
bytes
</file>
</verify>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", qop="auth"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", qop="auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 302 Thanks for this, but we want to redir you!\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Location: /%TESTNUMBER0001\r
-Content-Length: 0\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 302 Thanks for this, but we want to redir you!
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Location: /%TESTNUMBER0001
+Content-Length: 0
+
</data1000>
-<data1001>
-HTTP/1.1 404 Not Found\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 404 Not Found
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data1001>
-<datacheck>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", qop="auth"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 302 Thanks for this, but we want to redir you!\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Location: /%TESTNUMBER0001\r
-Content-Length: 0\r
-\r
-HTTP/1.1 404 Not Found\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", qop="auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 302 Thanks for this, but we want to redir you!
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Location: /%TESTNUMBER0001
+Content-Length: 0
+
+HTTP/1.1 404 Not Found
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</datacheck>
</reply>
<strippart>
if(s/^(Authorization: Digest )([^\r\n]+)(\r?\n)$//) { $_ = $1 . join(', ', map { s/^(cnonce=)"[a-zA-Z0-9+\/=]+"$/$1REMOVED/; s/^(response=)"[a-f0-9]{32}"$/$1REMOVED/; s/^qop="auth"$/qop=auth/; $_ } sort split(/, */, $2)) . $3; }
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
contents
</data>
# The purpose of this test is to make sure curl ignores headers
# Content-Length and Transfer-Encoding in a successful CONNECT 2xx reply.
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-Content-Length: 123\r
-Transfer-Encoding: chunked\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Content-Length: 123
+Transfer-Encoding: chunked
+
</connect>
-<datacheck>
-HTTP/1.1 200 Mighty fine indeed\r
-Content-Length: 123\r
-Transfer-Encoding: chunked\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Content-Length: 123
+Transfer-Encoding: chunked
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
contents
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: test.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: test.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: test.%TESTNUMBER:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: test tunnel 2000\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
</connect>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 9\r
-Connection: keep-alive\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: keep-alive
+
contents
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT %HOSTIP:%HTTPPORT HTTP/1.1\r
-Host: %HOSTIP:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT %HOSTIP:%HTTPPORT HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/[]/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user%0aname:password]b64%
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: test tunnel 2000\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
</connect>
<data nocheck="yes">
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT %HOSTIP:%HTTPPORT HTTP/1.1\r
-Host: %HOSTIP:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT %HOSTIP:%HTTPPORT HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET XXX HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 Read you\r
-Content-Length: 29\r
-Deleted: suppose we got a header like this! ;-)\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 Read you
+Content-Length: 29
+Deleted: suppose we got a header like this! ;-)
+
blabla custom request result
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
DELETE /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /junk HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://firstplace.example.com/want/%TESTNUMBER HTTP/1.1
Host: firstplace.example.com
User-Agent: curl/%VERSION
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-Magic: sure you can FTP me\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Magic: sure you can FTP me
+
</connect>
<data mode="text">
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: example.com:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: MiXeDcAsE.cOm:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-pop3: sure hit me\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+pop3: sure hit me
+
</connect>
# When doing LIST, we get the default list output hard-coded in the test
RETR %TESTNUMBER
QUIT
</protocol>
-<proxy>
-CONNECT pop.%TESTNUMBER:%POP3PORT HTTP/1.1\r
-Host: pop.%TESTNUMBER:%POP3PORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT pop.%TESTNUMBER:%POP3PORT HTTP/1.1
+Host: pop.%TESTNUMBER:%POP3PORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
</verify>
</testcase>
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-smtp: sure hit me\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+smtp: sure hit me
+
</connect>
</reply>
<name>
SMTP send tunneled through HTTP proxy
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://smtp.%TESTNUMBER:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x %HOSTIP:%PROXYPORT
body
.
</upload>
-<proxy>
-CONNECT smtp.%TESTNUMBER:%SMTPPORT HTTP/1.1\r
-Host: smtp.%TESTNUMBER:%SMTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT smtp.%TESTNUMBER:%SMTPPORT HTTP/1.1
+Host: smtp.%TESTNUMBER:%SMTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
</verify>
</testcase>
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-imap: sure hit me\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+imap: sure hit me
+
</connect>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
-<datacheck>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<datacheck crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</datacheck>
</reply>
A004 FETCH 1 BODY[]
A005 LOGOUT
</protocol>
-<proxy>
-CONNECT imap.%TESTNUMBER:%IMAPPORT HTTP/1.1\r
-Host: imap.%TESTNUMBER:%IMAPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT imap.%TESTNUMBER:%IMAPPORT HTTP/1.1
+Host: imap.%TESTNUMBER:%IMAPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
</verify>
</testcase>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: example.com.:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: example.com:%HTTP6PORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 308 OK swsclose\r
-Location: %TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 308 OK swsclose
+Location: %TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 308 OK swsclose\r
-Location: %TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 308 OK swsclose
+Location: %TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
<name>
TELNET to HTTP server
</name>
-<stdin>
-GET /we/want/%TESTNUMBER HTTP/1.0\r
-\r
+<stdin crlf="headers">
+GET /we/want/%TESTNUMBER HTTP/1.0
+
</stdin>
<command>
telnet://%HOSTIP:%HTTPPORT --upload-file -
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.0
</protocol>
<name>
TELNET check of upload with stdout redirected
</name>
-<stdin>
-GET /ignore/for/%TESTNUMBER HTTP/1.0\r
-\r
+<stdin crlf="headers">
+GET /ignore/for/%TESTNUMBER HTTP/1.0
+
</stdin>
-<file name="%LOGDIR/%TESTNUMBER.txt">
-GET /we/want/%TESTNUMBER HTTP/1.0\r
-\r
+<file name="%LOGDIR/%TESTNUMBER.txt" crlf="headers">
+GET /we/want/%TESTNUMBER HTTP/1.0
+
</file>
<command option="no-output">
telnet://%HOSTIP:%HTTPPORT -T %LOGDIR/%TESTNUMBER.txt
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.0
</protocol>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0000 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 407 Me not know you swsbounce\r
-Date: Tue, 25 Sep 2001 19:37:44 GMT\r
-Content-Type: text/html\r
-Set-Cookie: proxycookie=weirdo; Path=/\r
-Cache-control: private\r
-Content-Length: 62\r
-Proxy-Authenticate: Basic realm="moo on you"\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Me not know you swsbounce
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Set-Cookie: proxycookie=weirdo; Path=/
+Cache-control: private
+Content-Length: 62
+Proxy-Authenticate: Basic realm="moo on you"
+
This server reply is for testing a simple cookie test case...
</data>
-<data1>
-HTTP/1.1 200 Fine!\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 Fine!
+Content-Type: text/html
+Content-Length: 6
+
hello
</data1>
-<datacheck>
-HTTP/1.1 407 Me not know you swsbounce\r
-Date: Tue, 25 Sep 2001 19:37:44 GMT\r
-Content-Type: text/html\r
-Set-Cookie: proxycookie=weirdo; Path=/\r
-Cache-control: private\r
-Content-Length: 62\r
-Proxy-Authenticate: Basic realm="moo on you"\r
-\r
-HTTP/1.1 200 Fine!\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Me not know you swsbounce
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Set-Cookie: proxycookie=weirdo; Path=/
+Cache-control: private
+Content-Length: 62
+Proxy-Authenticate: Basic realm="moo on you"
+
+HTTP/1.1 200 Fine!
+Content-Type: text/html
+Content-Length: 6
+
hello
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://z.x.com/%TESTNUMBER HTTP/1.1
Host: z.x.com
User-Agent: curl/%VERSION
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
</verify>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<notexists>>
%LOGDIR/name%TESTNUMBER
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
</verify>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER" mode="text">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
curl saved to filename %LOGDIR/name%TESTNUMBER
</file2>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file1 name="%LOGDIR/%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file1 name="%LOGDIR/%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
</verify>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<notexists>
%LOGDIR/name%TESTNUMBER
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file1 name="%LOGDIR/%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</file1>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</file1>
# The final "221 bye bye baby" response to QUIT will not be recorded
# since that is not considered part of this particular transfer!
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# The final "221 bye bye baby" response to QUIT will not be recorded
# since that is not considered part of this particular transfer!
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# The final "221 bye bye baby" response to QUIT will not be recorded
# since that is not considered part of this particular transfer!
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# The final "221 bye bye baby" response to QUIT will not be recorded
# since that is not considered part of this particular transfer!
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# The final "221 bye bye baby" response to QUIT will not be recorded
# since that is not considered part of this particular transfer!
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
mooo
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/file%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/file%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
MOOOO
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 214\r
-150 Binary data connection for %TESTNUMBER () (214 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for %TESTNUMBER () (214 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
MOOOO
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 214\r
-150 Binary data connection for %TESTNUMBER () (214 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for %TESTNUMBER () (214 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
MOOOO
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 214\r
-150 Binary data connection for %TESTNUMBER () (214 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for %TESTNUMBER () (214 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
MOOOO
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 214\r
-150 Binary data connection for %TESTNUMBER () (214 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for %TESTNUMBER () (214 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
MOOOO
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 214\r
-150 Binary data connection for %TESTNUMBER () (214 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for %TESTNUMBER () (214 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
MOOOO
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 214\r
-150 Binary data connection for %TESTNUMBER () (214 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for %TESTNUMBER () (214 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/file%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/file%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<notexists>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<notexists>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<notexists>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<notexists>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/outfile%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file1 name="%LOGDIR/outfile%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/outfile%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file1 name="%LOGDIR/outfile%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
</file2>
<notexists>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/outfile%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/outfile%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/outfile%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/outfile%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
</file2>
<notexists>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/outfile%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<file1 name="%LOGDIR/outfile%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
12345
</file1>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</protocol>
-<file1 name="%LOGDIR/outfile%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/outfile%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
12345
</file1>
mooo
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
mooo
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
mooo
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
mooo
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
mooo
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
mooo
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 10\r
-150 Binary data connection for %TESTNUMBER () (10 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for %TESTNUMBER () (10 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 222\r
-150 Binary data connection for %TESTNUMBER () (222 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for %TESTNUMBER () (222 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 222\r
-150 Binary data connection for %TESTNUMBER () (222 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for %TESTNUMBER () (222 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 222\r
-150 Binary data connection for %TESTNUMBER () (222 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for %TESTNUMBER () (222 bytes).
+226 File transfer complete
</file2>
<stripfile2>
-s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+s/^(229 Entering Passive Mode \().*(\)\S*)/${1}stripped${2}/
</stripfile2>
<file3 name="%LOGDIR/stdout%TESTNUMBER">
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 222\r
-150 Binary data connection for %TESTNUMBER () (222 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for %TESTNUMBER () (222 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
-<file2 name="%LOGDIR/heads%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 222\r
-150 Binary data connection for %TESTNUMBER () (222 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/heads%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for %TESTNUMBER () (222 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
-<file2 name="%LOGDIR/stdout%TESTNUMBER">
-220- _ _ ____ _ \r
-220- ___| | | | _ \| | \r
-220- / __| | | | |_) | | \r
-220- | (__| |_| | _ {| |___ \r
-220 \___|\___/|_| \_\_____|\r
-331 We are happy you popped in!\r
-230 Welcome you silly person\r
-257 "/" is current directory\r
-250 CWD command successful.\r
-229 Entering Passive Mode (stripped)\r
-200 I modify TYPE as you wanted\r
-213 222\r
-150 Binary data connection for %TESTNUMBER () (222 bytes).\r
-226 File transfer complete\r
+<file2 name="%LOGDIR/stdout%TESTNUMBER" crlf="yes">
+220- _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+220- ___| | | | _ \| |%spc%%spc%%spc%%spc%
+220- / __| | | | |_) | |%spc%%spc%%spc%%spc%
+220- | (__| |_| | _ {| |___%spc%
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for %TESTNUMBER () (222 bytes).
+226 File transfer complete
</file2>
<stripfile2>
s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
# Server-side
<reply>
# file%TESTNUMBER contents...
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</data>
</reply>
QUIT
</protocol>
-<file1 name="%LOGDIR/download%TESTNUMBER">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange\r
-\r
+<file1 name="%LOGDIR/download%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange
+
MOOOO
</file1>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
HEAD /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[fake:user]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER?foo=bar&baz=quux HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
<servercmd>
-CAPA SIZE\r
+CAPA SIZE
</servercmd>
</reply>
<setenv>
SSL_CERT_FILE
</setenv>
-<file name="%LOGDIR/test%TESTNUMBER.eml">
-From: different\r
-To: another\r
-\r
-body\r
+<file name="%LOGDIR/test%TESTNUMBER.eml" crlf="yes">
+From: different
+To: another
+
+body
</file>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml --libcurl %LOGDIR/test%TESTNUMBER.c
<info>
<keywords>
POP3
-Clear Text\r
+Clear Text
LIST
--libcurl
</keywords>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/%TESTNUMBER0001 HTTP/1.1
Host: %HOST6IP:%HTTP6PORT
User-Agent: curl/%VERSION
REST 0
QUIT
</protocol>
-<stdout>
-Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT\r
-Content-Length: 42\r
-Accept-ranges: bytes\r
+<stdout crlf="headers">
+Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT
+Content-Length: 42
+Accept-ranges: bytes
</stdout>
</verify>
</testcase>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
PUT /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<servercmd>
auth_required
</servercmd>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# The second URL will get this response
-<data1>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data1>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</data1000>
# This is the second request
-<data1001>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the second real page!
</data1001>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK swsclose\r
-Location: moo.html/%TESTNUMBER0002#fragmentpart\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: moo.html/%TESTNUMBER0002#fragmentpart
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose\r
-Location: moo.html/%TESTNUMBER0002#fragmentpart\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: moo.html/%TESTNUMBER0002#fragmentpart
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /this/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://example.com/we/want/%TESTNUMBER HTTP/1.1
Host: example.com
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked\r
-Trailer: chunky-trailer\r
-Connection: mooo\r
-\r
-chunky-trailer: header data\r
+<file name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+chunky-trailer: header data
</file>
</verify>
connection-monitor
</servercmd>
-<data>
-HTTP/1.1 401 Authentication please!\r
-Content-Length: 20\r
-WWW-Authenticate: Digest realm="loonie", nonce="314156592"\r
-WWW-Authenticate: Basic\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authentication please!
+Content-Length: 20
+WWW-Authenticate: Digest realm="loonie", nonce="314156592"
+WWW-Authenticate: Basic
+
Please auth with me
</data>
-<data3>
-HTTP/1.1 401 Authentication please!\r
-Content-Length: 20\r
-WWW-Authenticate: Digest realm="loonie", nonce="314156592"\r
-WWW-Authenticate: Basic\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 401 Authentication please!
+Content-Length: 20
+WWW-Authenticate: Digest realm="loonie", nonce="314156592"
+WWW-Authenticate: Basic
+
Please auth with me
</data3>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1000>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 4\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Length: 4
+
moo
</data1000>
-<data1003>
-HTTP/1.1 200 OK\r
-Server: Another one/1.0\r
-Content-Length: 4\r
-\r
+<data1003 crlf="headers">
+HTTP/1.1 200 OK
+Server: Another one/1.0
+Content-Length: 4
+
boo
</data1003>
# This is the first reply after the redirection
-<data1011>
-HTTP/1.1 200 OK\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
+<data1011 crlf="headers">
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
This is not the real page either!
</data1011>
-<datacheck>
-HTTP/1.1 401 Authentication please!\r
-Content-Length: 20\r
-WWW-Authenticate: Digest realm="loonie", nonce="314156592"\r
-WWW-Authenticate: Basic\r
-\r
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 4\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authentication please!
+Content-Length: 20
+WWW-Authenticate: Digest realm="loonie", nonce="314156592"
+WWW-Authenticate: Basic
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Length: 4
+
moo
</datacheck>
connection-monitor
</servercmd>
-<data>
-HTTP/1.1 200 fine!\r
-Content-Length: 20\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 fine!
+Content-Length: 20
+
Feel free to get it
</data>
-<data3>
-HTTP/1.1 200 OK\r
-Server: Another one/1.0\r
-Content-Length: 4\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 OK
+Server: Another one/1.0
+Content-Length: 4
+
boo
</data3>
-<datacheck>
-HTTP/1.1 200 fine!\r
-Content-Length: 20\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 fine!
+Content-Length: 20
+
Feel free to get it
</datacheck>
</reply>
<info>
<keywords>
IMAP
-Clear Text\r
+Clear Text
FETCH
--libcurl
</keywords>
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 0\r
-Connection: close\r
-Content-Type: text/html\r
-Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=str//nge\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=str//nge
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 0\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
contents
</data>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+
</connect>
<datacheck>
HTTP/1.1 200 Mighty fine indeed\r
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: test.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-header-type: proxy\r
-\r
+<proxy crlf="headers">
+CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: test.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+header-type: proxy
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: test.%TESTNUMBER:%HTTPPORT
Authorization: Basic %b64[iam:my:;self]b64%
#
# Verify data after the test has been "shot"
<verify>
-<stdout nonewline="yes">
-HTTP/1.1 999 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<stdout crlf="headers" nonewline="yes">
+HTTP/1.1 999 OK
+Date: Tue, 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-
999
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=100-
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: server-interpreted.example.com
User-Agent: curl/%VERSION
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: one.example.com
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, algorithm=MD5, nonce=1, nonce=2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, algorithm=MD5, nonce=1, nonce=2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, algorithm=MD5, nonce=1, nonce=2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, algorithm=MD5, nonce=1, nonce=2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
testdata
http
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
testdata
1.1
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: xn--4cab6c.se:%HTTPPORT
User-Agent: curl/%VERSION
<stderr nonewline="yes">
line2
</stderr>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: example.com:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: this.is.a.host.name:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: this.is.a.host.name:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
- Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+ Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Content-Length: 6
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=100-
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 0
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://curl.co.UK/ HTTP/1.1
Host: curl.co.UK
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Content-Length: 5\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Content-Length: 5
+
Data
</data>
-<data2>
-Data\r
-Data\r
-Data\r
+<data2 crlf="yes">
+Data
+Data
+Data
</data2>
<datacheck>
</datacheck>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Foo: Bar\r
-\r
-Data\r
-Data\r
-Data\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Foo: Bar
+
+Data
+Data
+Data
</data>
<datacheck>
</datacheck>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://moo/ HTTP/1.1
Host: moo
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked, chunked\r
-Connection: mooo\r
-\r
-chunky-trailer: header data\r
-another-header: yes\r
+<file name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked, chunked
+Connection: mooo
+
+chunky-trailer: header data
+another-header: yes
</file>
</verify>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked\r
-Transfer-Encoding: chunked\r
-Connection: mooo\r
-\r
-chunky-trailer: header data\r
-another-header: yes\r
+<file name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Transfer-Encoding: chunked
+Connection: mooo
+
+chunky-trailer: header data
+another-header: yes
</file>
</verify>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Transfer-Encoding: chunked\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Transfer-Encoding: chunked
+
HEAD response with content
</data>
# make sure no data is written
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Transfer-Encoding: chunked\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Transfer-Encoding: chunked
+
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
HEAD /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Server: Someone\r
-Content-Length: 7\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Server: Someone
+Content-Length: 7
+
123456
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Server: Someone\r
-Content-Length: 7\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Server: Someone
+Content-Length: 7
+
123456
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stderr crlf="yes">
+<stderr crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /junk%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: identity, chunked\r
-Connection: mooo\r
-\r
-chunky-trailer: header data\r
-another-header: yes\r
+<file name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: identity, chunked
+Connection: mooo
+
+chunky-trailer: header data
+another-header: yes
</file>
</verify>
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 funky chunky!
Server: fakeit/0.9 fakeitbad/1.0
Transfer-Encoding: identity, identity
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 funky chunky!
Server: fakeit/0.9 fakeitbad/1.0
Transfer-Encoding: chunked, identity
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 funky chunky!
Server: fakeit/0.9 fakeitbad/1.0
Transfer-Encoding: gzip, chunked
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
blablabla
</data>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Fake: yes\r
-Fake: yes\r
-Fake: yes\r
-Content-Length: 26\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Fake: yes
+Fake: yes
+Fake: yes
+Content-Length: 26
+
Repeated nonsense-headers
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.1 200 OK\r
-Fake: yes\r
-Fake: yes\r
-Fake: yes\r
-Content-Length: 26\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK
+Fake: yes
+Fake: yes
+Fake: yes
+Content-Length: 26
+
Repeated nonsense-headers
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER 200 26
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
This is supposed to be returned when the server gets a first
Authorization: NTLM line passed-in from the client -->
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1002>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
# Server-side
<reply>
-<data>
-HTTP/1.1 200 all good!\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 12\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 all good!
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
Hello World
</data>
</reply>
</info>
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: google.com:%HTTPPORT
Accept: */*
</info>
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: google.com:%HTTPPORT
Accept: */*
</info>
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: google.com:%HTTPPORT
Accept: */*
</info>
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: google.com:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
file contents should appear once for each file
</data1>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
file contents should appear once for each file
</data2>
-<data3 crlf="yes">
+<data3 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
file contents should appear once for each file
</data3>
-<data4 crlf="yes">
+<data4 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
<servercmd>
connection-monitor
</servercmd>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: the beast that eats naughty clients\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: the beast that eats naughty clients
+
</connect>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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"
+
</data>
-<datacheck>
-HTTP/1.1 200 Mighty fine indeed\r
-Server: the beast that eats naughty clients\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+Server: the beast that eats naughty clients
+
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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"
+
header length is ........: 245
header length should be..: 245
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: the.old.moo.%TESTNUMBER:%HTTPPORT\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: the.old.moo.%TESTNUMBER:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
[DISCONNECT]
</proxy>
<protocol crlf="headers">
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data1>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data1>
-<data2>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data2>
-<data3>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data3>
-<data4>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data4 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data4>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fakem\r
-Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT\r
-Content-Type: text/html\r
-Content-Length: 12\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fakem
+Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
Hello World
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fakem\r
-Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT\r
-Content-Type: text/html\r
-Content-Length: 12\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fakem\r
-Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT\r
-Content-Type: text/html\r
-Content-Length: 12\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fakem
+Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fakem
+Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
Hello World
</datacheck>
# Server-side
<reply>
-<data1>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data1>
-<data2>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data2>
-<data3>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data3>
-<data4>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data4 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data4>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 204 PARTIAL\r
-X-Comment: partial response to keep the client waiting\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 204 PARTIAL
+X-Comment: partial response to keep the client waiting
</data>
<postcmd>
wait 10
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Sun, 19 Jan 2014 18:50:58 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Sun, 19 Jan 2014 18:50:58 GMT
+Server: test-server/fake swsclose
+Connection: close
+
</data>
</reply>
<strippart>
s/^(this is what we post to the silly web server)(\r)?\n//
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<name>
SMTP with CRLF-dot-CRLF in data
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-\r
-.\r
-.\r
-\r
-.\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+
+.
+.
+
+.
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 OK\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+
</connect>
<data>
HTTP/1.1 200 OK swsclose
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: the.old.moo.%TESTNUMBER:%HTTPPORT\r
-Proxy-Connection: Keep-Alive\r
-User-Agent: Http Agent\r
-\r
+<proxy crlf="headers">
+CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: the.old.moo.%TESTNUMBER:%HTTPPORT
+Proxy-Connection: Keep-Alive
+User-Agent: Http Agent
+
</proxy>
<protocol crlf="headers">
PUT /%TESTNUMBER HTTP/1.1
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 OK\r
-Server: present\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+Server: present
+
</connect>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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"
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Server: present\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Server: present
+
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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"
+
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: the.old.moo.%TESTNUMBER:%HTTPPORT\r
-Proxy-Connection: Keep-Alive\r
-User-Agent: Proxy Agent\r
-\r
+<proxy crlf="headers">
+CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: the.old.moo.%TESTNUMBER:%HTTPPORT
+Proxy-Connection: Keep-Alive
+User-Agent: Proxy Agent
+
</proxy>
<protocol crlf="headers">
PUT /%TESTNUMBER HTTP/1.1
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 OK\r
-We-are: good\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+We-are: good
+
</connect>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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"
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-We-are: good\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+We-are: good
+
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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"
+
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: the.old.moo.%TESTNUMBER:%HTTPPORT\r
-Proxy-Connection: Keep-Alive\r
-User-Agent: Http Agent\r
-Expect: 100-continue\r
-\r
+<proxy crlf="headers">
+CONNECT the.old.moo.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: the.old.moo.%TESTNUMBER:%HTTPPORT
+Proxy-Connection: Keep-Alive
+User-Agent: Http Agent
+Expect: 100-continue
+
</proxy>
<protocol crlf="headers">
PUT /%TESTNUMBER HTTP/1.1
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 OK\r
-We-are: good\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+We-are: good
+
</connect>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Content-Length: 5\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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"
+Content-Length: 5
+
stop
</data>
# Verify data after the test has been "shot"
<verify>
-<proxy>
-GET http://the.old.moo:%HTTPPORT/%TESTNUMBER HTTP/1.1\r
-Host: the.old.moo:%HTTPPORT\r
-Accept: */*\r
-Proxy-Connection: Keep-Alive\r
-User-Agent: Http Agent\r
-Proxy-User-Agent: Http Agent2\r
-\r
+<proxy crlf="headers">
+GET http://the.old.moo:%HTTPPORT/%TESTNUMBER HTTP/1.1
+Host: the.old.moo:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+User-Agent: Http Agent
+Proxy-User-Agent: Http Agent2
+
</proxy>
</verify>
</testcase>
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 OK\r
-We-are: good\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+We-are: good
+
</connect>
</reply>
# Server-side
<reply>
# First reply back and ask for Digest auth
-<data1>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data1>
# second reply back
-<data2>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data2>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1001>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1001>
# This is the second request, and this sends back a response saying that
# the request contained stale data. We want an update. Set swsbounce to
# bounce on to data1003 on the second request.
-<data1002>
-HTTP/1.1 401 Authorization re-negotiation please swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 401 Authorization re-negotiation please swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data1002>
# The second request to the 1002 section will bounce this one back instead
# thanks to the swsbounce keyword up there
-<data1003>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 30\r
-\r
+<data1003 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 30
+
This IS the second real page!
</data1003>
</reply>
<strip>
^Authorization.*cnonce
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Authorization re-negotiation please swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 30\r
-\r
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Authorization re-negotiation please swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 30
+
This IS the second real page!
</stdout>
</verify>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.0 200 OK swsclose\r
-Content-Length: 0\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.0 200 OK swsclose
+Content-Length: 0
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
<servercmd>
auth_required
</servercmd>
-<data nocheck="yes">
-HTTP/1.1 401 Authorization Required\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 15\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 401 Authorization Required
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 15
Early Response
</data>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.0 200 OK swsclose\r
-Last-Modified: Thu, 01 Jan 1970 00:00:30 GMT\r
-Content-Length: 0\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.0 200 OK swsclose
+Last-Modified: Thu, 01 Jan 1970 00:00:30 GMT
+Content-Length: 0
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Sun, 19 Jan 2014 18:50:58 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Sun, 19 Jan 2014 18:50:58 GMT
+Server: test-server/fake swsclose
+Connection: close
</data>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Content-Length: 0\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Content-Length: 0
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%20/with/%20space/%20/file HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache\r
-Transfer-Encoding: chunked, gzip\r
-\r
-0\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache
+Transfer-Encoding: chunked, gzip
+
+0
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Content-Type: text/plain
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data>
-HTTP/1.1 401 NTLM Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 NTLM Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
moo
</data>
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Type-1 received, send back type-2\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Type-1 received, send back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Type-3 Received and all Things are fine swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Type-3 Received and all Things are fine swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1002>
-<datacheck>
-HTTP/1.1 401 NTLM Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 401 Type-1 received, send back type-2\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Type-3 Received and all Things are fine swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 NTLM Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 401 Type-1 received, send back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Type-3 Received and all Things are fine swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
<datacheck>
</datacheck>
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
<datacheck>
</datacheck>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 204 PARTIAL\r
-X-Comment: partial response to keep the client waiting\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 204 PARTIAL
+X-Comment: partial response to keep the client waiting
</data>
<postcmd>
wait 10
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Long: %repeat[100001 x A]%\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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
+Long: %repeat[100001 x A]%
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data>
-HTTP/1.1 200 No Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 No Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
PUT received fine. Thank you very much
</data>
</reply>
</command>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: www.example.com
User-Agent: curl/%VERSION
</command>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: www.example.com
User-Agent: curl/%VERSION
<errorcode>
1
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: www.example.com
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</info>
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: lib%TESTNUMBER
# Server-side
<reply>
-<data>
-HTTP/1.1 200 No Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 No Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
GET received and served just fine. Thank you very much
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 303 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 303 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue swsclose\r
-Silly-header: yeeeees\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue swsclose
+Silly-header: yeeeees
+
</data>
</reply>
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 301 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 301 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 401 OK
Date: Tue, 09 Nov 2030 14:49:00 GMT
Server: test-server/fake
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
Accept: */*
This is supposed to be returned when the server gets a first
Authorization: NTLM line passed-in from the client -->
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Connection: close\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Connection: close
+
This is not the real page either!
</data1001>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Connection: close
+
This is not the real page either!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.0
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
<datacheck>
</datacheck>
<verify>
# Note here the lack of If-Modified-Since
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 22\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
the content goes here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://we.want.that.site.com/%TESTNUMBER HTTP/1.1
Host: we.want.that.site.com
Proxy-Authorization: Basic %b64[fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong]b64%
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 9\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
surprise
</data>
-<data1>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
surprise2
</data1>
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 9\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
surprise
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
surprise2
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Sat, 29 Feb 2020 16:10:44 GMT\r
-Server: Blafasel/1.1\r
-Last-Modified: Sat, 29 Feb 2020 16:10:44 GMT\r
-Content-Length: 0\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Sat, 29 Feb 2020 16:10:44 GMT
+Server: Blafasel/1.1
+Last-Modified: Sat, 29 Feb 2020 16:10:44 GMT
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+
</data>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
-2c\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+2c
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c]hex%
%hex[%10%86%31%17%00]hex%
-%hex[%02%71%60%18%00%00%00]hex%\r
-0\r
-\r
+%hex[%02%71%60%18%00%00%00]hex%
+0
+
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gzip, chunked\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
line 1
line 2
line 3
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 22\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
the content goes here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<proxy>
-GET http://we.want.that.site.com/%TESTNUMBER HTTP/1.1\r
-Host: we.want.that.site.com\r
-Proxy-Authorization: Basic %b64[fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong]b64%\r
-User-Agent: curl/%VERSION\r
-Accept: */*\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+GET http://we.want.that.site.com/%TESTNUMBER HTTP/1.1
+Host: we.want.that.site.com
+Proxy-Authorization: Basic %b64[fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong]b64%
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
</proxy>
</verify>
</testcase>
<reply>
# This is the HTTPS proxy response
-<connect>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 0\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 0
+
</connect>
# This is the FTP server response. The Life and Adventures of Robinson Crusoe
s/((https.proxy):(\d+))/$2:12345/
s/^(User-Agent: curl).*/$1/
</strippart>
-<proxy>
-CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1\r
-Host: ftp.site.thru.https.proxy:12345\r
+<proxy crlf="headers">
+CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
+Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
-Proxy-Connection: Keep-Alive\r
-\r
-CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1\r
-Host: ftp.site.thru.https.proxy:12345\r
+Proxy-Connection: Keep-Alive
+
+CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
+Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
-Proxy-Connection: Keep-Alive\r
-\r
+Proxy-Connection: Keep-Alive
+
</proxy>
<protocol crlf="yes">
USER anonymous
<reply>
# This is the HTTPS proxy response
-<connect>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Content-Length: 0\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 0
+
</connect>
# This is the FTP server response. The Life and Adventures of Robinson Crusoe
s/((https.proxy):(\d+))/$2:12345/
s/^(User-Agent: curl).*/$1/
</strippart>
-<proxy>
-CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1\r
-Host: ftp.site.thru.https.proxy:12345\r
+<proxy crlf="headers">
+CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
+Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
-Proxy-Connection: Keep-Alive\r
-\r
-CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1\r
-Host: ftp.site.thru.https.proxy:12345\r
+Proxy-Connection: Keep-Alive
+
+CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
+Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
-Proxy-Connection: Keep-Alive\r
-\r
-CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1\r
-Host: ftp.site.thru.https.proxy:12345\r
+Proxy-Connection: Keep-Alive
+
+CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
+Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
-Proxy-Connection: Keep-Alive\r
-\r
+Proxy-Connection: Keep-Alive
+
</proxy>
<protocol crlf="yes">
USER anonymous
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=0-10,12-15
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://www.xn--4cab6c.se/page/%TESTNUMBER HTTP/1.1
Host: www.xn--4cab6c.se
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
</data>
-<data1000>
-HTTP/1.1 200 OK swsclose\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
Server: no
Content-Length: 15
-\r
+
Nice auth sir!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-\r
-HTTP/1.1 200 OK swsclose\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+HTTP/1.1 200 OK swsclose
Server: no
Content-Length: 15
-\r
+
Nice auth sir!
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
Proxy-Authorization: Basic %b64[foo:bar]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
And you should ignore this data.
</data>
# then this is returned since we get no server-auth
-<data1000>
-HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose\r
-WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
+WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
+
you should ignore this data too
</data1000>
-<data1001>
-HTTP/1.1 200 OK swsclose\r
+<data1001 crlf="headers">
+HTTP/1.1 200 OK swsclose
Server: no
Content-Length: 15
-\r
+
Nice auth sir!
</data1001>
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-\r
-HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose\r
-WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"\r
-\r
-HTTP/1.1 200 OK swsclose\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
+WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
+
+HTTP/1.1 200 OK swsclose
Server: no
Content-Length: 15
-\r
+
Nice auth sir!
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose\r
-Proxy-Authenticate: NTLM\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: NTLM
+
And you should ignore this data.
</data>
# then this is returned since we get no server-auth
-<data1000>
-HTTP/1.1 200 Authorizated fine\r
-Content-Length: 27\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 Authorizated fine
+Content-Length: 27
+
Welcome to the end station
</data1000>
-<data1001>
-HTTP/1.1 407 NTLM type-1 received sending back type-2\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 NTLM type-1 received sending back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 401 You now need to authenticate with the host\r
-Server: Microsoft-IIS/5.0\r
-WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"\r
-Content-Length: 46\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 401 You now need to authenticate with the host
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
We have not authenticated with the server yet
</data1002>
-<datacheck>
-HTTP/1.1 407 NTLM type-1 received sending back type-2\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 401 You now need to authenticate with the host\r
-Server: Microsoft-IIS/5.0\r
-WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"\r
-Content-Length: 46\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
-HTTP/1.1 200 Authorizated fine\r
-Content-Length: 27\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 NTLM type-1 received sending back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 401 You now need to authenticate with the host
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 Authorizated fine
+Content-Length: 27
+
Welcome to the end station
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST http://a.galaxy.far.far.away/%TESTNUMBER HTTP/1.1
Host: a.galaxy.far.far.away
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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>
-<data1>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-maa-
</data1>
</reply>
^X-Forwarded-Proto:.*
^Via:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTP2PORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 101 Switching Protocols\r
-Connection: Upgrade\r
-Upgrade: h2c\r
-\r
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-last-modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-etag: "21025-dc7-39462498"\r
-accept-ranges: bytes\r
-content-length: 6\r
-content-type: text/html\r
-funny-head: yesyes\r
-via: 1.1 nghttpx\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 101 Switching Protocols
+Connection: Upgrade
+Upgrade: h2c
+
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+last-modified: Tue, 13 Jun 2000 12:10:00 GMT
+etag: "21025-dc7-39462498"
+accept-ranges: bytes
+content-length: 6
+content-type: text/html
+funny-head: yesyes
+via: 1.1 nghttpx
+
-foo-
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-content-length: 6\r
-content-type: text/html\r
-via: 1.1 nghttpx\r
-\r
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+content-length: 6
+content-type: text/html
+via: 1.1 nghttpx
+
-maa-
</stdout>
<stripfile>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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>
datatosend
</protocol>
-<stdout>
-HTTP/1.1 101 Switching Protocols\r
-Connection: Upgrade\r
-Upgrade: h2c\r
-\r
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-last-modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-etag: "21025-dc7-39462498"\r
-accept-ranges: bytes\r
-content-length: 6\r
-content-type: text/html\r
-funny-head: yesyes\r
-via: 1.1 nghttpx\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 101 Switching Protocols
+Connection: Upgrade
+Upgrade: h2c
+
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+last-modified: Tue, 13 Jun 2000 12:10:00 GMT
+etag: "21025-dc7-39462498"
+accept-ranges: bytes
+content-length: 6
+content-type: text/html
+funny-head: yesyes
+via: 1.1 nghttpx
+
-foo-
</stdout>
<stripfile>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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
+
</data>
</reply>
^X-Forwarded-Proto:.*
^Via:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
HEAD /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTP2PORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 101 Switching Protocols\r
-Connection: Upgrade\r
-Upgrade: h2c\r
-\r
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-last-modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-etag: "21025-dc7-39462498"\r
-accept-ranges: bytes\r
-content-length: 6\r
-content-type: text/html\r
-funny-head: yesyes\r
-via: 1.1 nghttpx\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 101 Switching Protocols
+Connection: Upgrade
+Upgrade: h2c
+
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+last-modified: Tue, 13 Jun 2000 12:10:00 GMT
+etag: "21025-dc7-39462498"
+accept-ranges: bytes
+content-length: 6
+content-type: text/html
+funny-head: yesyes
+via: 1.1 nghttpx
+
</stdout>
<stripfile>
s/^server: nghttpx.*\r?\n//
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/2 101 OK\r
+<data crlf="headers" nocheck="yes">
+HTTP/2 101 OK
HTTP/1.1 200 OK
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-maa-
</data>
</reply>
^X-Forwarded-Proto:.*
^Via:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 25 Sep 2001 19:37:44 GMT\r
-Content-Type: text/html\r
-Set-Cookie: XToken=xt;Domain=.z.x.com;Path=/\r
-Cache-control: private\r
-Content-Length: 62\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Set-Cookie: XToken=xt;Domain=.z.x.com;Path=/
+Cache-control: private
+Content-Length: 62
+
This server reply is for testing a simple cookie test case...
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://z.x.com/%TESTNUMBER HTTP/1.1
Host: z.x.com
User-Agent: curl/%VERSION
<name>
Send >64K over SMTP
</name>
-<file name="%LOGDIR/email%TESTNUMBER">
-From: different\r
-To: another\r
-\r
-%repeat[5000 x test in body... ]%\r
+<file name="%LOGDIR/email%TESTNUMBER" crlf="yes">
+From: different
+To: another
+
+%repeat[5000 x test in body... ]%
</file>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/email%TESTNUMBER
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Content-Length: 4\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Content-Length: 4
+Connection: close
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 foobar swsclose\r
-Server: Microsoft-IIS/6.0\r
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 foobar swsclose
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 foobar swsclose swsbounce\r
-Server: Microsoft-IIS/6.0\r
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 foobar swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
This is not the real page
</data>
-<data1>
-HTTP/1.1 200 moo swsclose\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 16\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
content for you
</data1>
-<datacheck>
-HTTP/1.1 200 foobar swsclose swsbounce\r
-Server: Microsoft-IIS/6.0\r
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
-HTTP/1.1 200 moo swsclose\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 16\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 foobar swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
content for you
</datacheck>
# Server-side
<reply>
# the first request has NTLM type-1 included, and then the 1001 is returned
-<data1001>
-HTTP/1.1 200 foobar swsclose\r
-Server: Microsoft-IIS/6.0\r
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 200 foobar swsclose
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
</data1001>
# the second request should be auth-less and then this is returned.
-<data>
-HTTP/1.1 200 moo swsclose\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 16\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
content for you
</data>
-<datacheck>
-HTTP/1.1 200 foobar swsclose\r
-Server: Microsoft-IIS/6.0\r
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
-HTTP/1.1 200 moo swsclose\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 16\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 foobar swsclose
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
content for you
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.1 302 *MOVED* swsclose swsbounce\r
-Server: Microsoft-IIS/6.0\r
-Location: /mooooo/%TESTNUMBER\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 *MOVED* swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Location: /mooooo/%TESTNUMBER
+Content-Type: text/html; charset=iso-8859-1
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://supertrooper.fake/c/%TESTNUMBER HTTP/1.1
Host: supertrooper.fake
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 4\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
moo
</data>
-<data2>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 4\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
foo
</data2>
-<data3>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 4\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
hoo
</data3>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 4\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
moo
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 4\r
-\r
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
foo
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 4\r
-\r
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
hoo
</stdout>
</verify>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Accept-Ranges: bytes
-foo-
</data>
-<connect crlf="yes">
+<connect crlf="headers">
HTTP/1.1 200 fine
Connection: close
Content-Length: 0
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT hello:80 HTTP/1.1
Proxy-Connection: Keep-Alive
User-Agent: Benjamin/2
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
moo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://deathstar.another.galaxy/%TESTNUMBER HTTP/1.1
Host: deathstar.another.galaxy
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 301 OK swsbounce\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
+<data crlf="headers">
+HTTP/1.1 301 OK swsbounce
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
Location: http://yet.another.host/%TESTNUMBER
-\r
+
moo
</data>
-<data1>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
moo
</data1>
-<datacheck>
-HTTP/1.1 301 OK swsbounce\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
+<datacheck crlf="headers">
+HTTP/1.1 301 OK swsbounce
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
Location: http://yet.another.host/%TESTNUMBER
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
-\r
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
moo
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://deathstar.another.galaxy/%TESTNUMBER HTTP/1.1
Host: another.visitor.stay.a.while.stay.foreeeeeever
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 301 OK swsbounce\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
-Location: go/west/%TESTNUMBER\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 OK swsbounce
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Location: go/west/%TESTNUMBER
+
moo
</data>
-<data1>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
moo
</data1>
-<datacheck>
-HTTP/1.1 301 OK swsbounce\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
-Location: go/west/%TESTNUMBER\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 4\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 OK swsbounce
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Location: go/west/%TESTNUMBER
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
moo
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://deathstar.another.galaxy/%TESTNUMBER HTTP/1.1
Host: another.visitor.stay.a.while.stay.foreeeeeever
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /?oh=what-weird=test/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=50-
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=50-
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Content-Length: 6
Content-Type: text/html
# Server-side
<reply>
-<data nocheck="yes" crlf="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
contents
</data>
-<connect>
-HTTP/1.1 204 Sure go ahead\r
-\r
+<connect crlf="headers">
+HTTP/1.1 204 Sure go ahead
+
</connect>
<datacheck>
HTTP/1.1 204 Sure go ahead\r
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: test.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: test.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: test.%TESTNUMBER:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user%0aname:pass%0aword]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Bearer c4e448d652a961fda0ab64f882c8c161d5985f805d45d80c9ddca1
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER/testapi/test HTTP/1.1
Host: 127.0.0.1:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/0/127/xxx4_request, SignedHeaders=content-type;host;x-xxx-date, Signature=3d8e00a02e437211a596143dcd590fcc805b731365c68f7f48951ea6eda39c4f
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER/testapi/test HTTP/1.1
Host: 127.0.0.1:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/0/127/xxx4_request, SignedHeaders=content-type;host;x-yyy-date, Signature=cf8dc9a4af903a1a9bb1385d8e2366d780afb501e266436598438395e502d58c
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER/testapi/test HTTP/1.1
Host: 127.0.0.1:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/rrr/127/xxx4_request, SignedHeaders=content-type;host;x-yyy-date, Signature=a0b11b97b54689428d4188b788ed32865d607822d85d3e91cf06141f479dac0b
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER/testapi/test HTTP/1.1
Host: 127.0.0.1:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/rrr/sss/xxx4_request, SignedHeaders=content-type;host;x-yyy-date, Signature=026b713d76b0789bd224c5e41322f74eed088f8a22fd15183ca68376c575c5b0
# Server-side
<reply>
-<data>
-HTTP/1.1 416 Requested Range Not Satisfiable swsclose\r
-Date: Fri, 24 Oct 2003 21:33:12 GMT\r
-Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1\r
-Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT\r
-ETag: "ab57a-507-3f9968f3"\r
-Accept-Ranges: bytes\r
-Content-Length: 4\r
-Content-Range: bytes */87\r
-Content-Type: image/gif\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 416 Requested Range Not Satisfiable swsclose
+Date: Fri, 24 Oct 2003 21:33:12 GMT
+Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
+Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
+ETag: "ab57a-507-3f9968f3"
+Accept-Ranges: bytes
+Content-Length: 4
+Content-Range: bytes */87
+Content-Type: image/gif
+Connection: close
+
bad
</data>
-<datacheck>
-HTTP/1.1 416 Requested Range Not Satisfiable swsclose\r
-Date: Fri, 24 Oct 2003 21:33:12 GMT\r
-Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1\r
-Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT\r
-ETag: "ab57a-507-3f9968f3"\r
-Accept-Ranges: bytes\r
-Content-Length: 4\r
-Content-Range: bytes */87\r
-Content-Type: image/gif\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 416 Requested Range Not Satisfiable swsclose
+Date: Fri, 24 Oct 2003 21:33:12 GMT
+Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
+Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
+ETag: "ab57a-507-3f9968f3"
+Accept-Ranges: bytes
+Content-Length: 4
+Content-Range: bytes */87
+Content-Type: image/gif
+Connection: close
+
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=87-
Location: /%TESTNUMBER0002
</data>
-<connect>
-HTTP/1.1 200 Sure go ahead\r
-Server: from the connect\r
-Silly-thing: yes yes\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Sure go ahead
+Server: from the connect
+Silly-thing: yes yes
+
</connect>
</reply>
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT hello:%HTTPPORT HTTP/1.1\r
-Host: hello:%HTTPPORT\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT hello:%HTTPPORT HTTP/1.1
+Host: hello:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
</proxy>
<stdout>
Date == Thu, 09 Nov 2010 14:49:00 GMT
Location: /%TESTNUMBER0002
</data>
-<connect>
-HTTP/1.1 200 Sure go ahead\r
-Server: from the connect\r
-Silly-thing: yes yes\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Sure go ahead
+Server: from the connect
+Silly-thing: yes yes
+
</connect>
</reply>
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT hello:%HTTPPORT HTTP/1.1\r
-Host: hello:%HTTPPORT\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT hello:%HTTPPORT HTTP/1.1
+Host: hello:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
</proxy>
<stdout>
Server == from the connect (0/2)
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Thu, 01 Nov 2001 14:49:00 GMT\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Thu, 01 Nov 2001 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 6
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Thu, 01 Nov 2001 14:49:00 GMT\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Thu, 01 Nov 2001 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 6
+
hello
-HTTP/1.1 200 OK\r
-Date: Thu, 01 Nov 2001 14:49:00 GMT\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+HTTP/1.1 200 OK
+Date: Thu, 01 Nov 2001 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 6
+
hello
</datacheck>
</reply>
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /aws_sigv4/testapi/test HTTP/1.1
Host: exam.ple.com:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/ple/exam/xxx4_request, SignedHeaders=content-type;host;x-xxx-content-sha256;x-xxx-date, Signature=dfe78c8846a9b7d65d1eb4c1d6ea7bc886650d03f3568088cb8d5b4c3778287f
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /aws_sigv4/testapi/test HTTP/1.1
Host: exam.ple.com:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/ple/exam/xxx4_request, SignedHeaders=content-type;host;x-xxx-content-sha256;x-xxx-date, Signature=25b4cac711ea8f65010c485d3778885f5f3870d0b8ff0b3ab58a8d7eeab991ff
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /aws_sigv4/testapi/test HTTP/1.1
Host: exam.ple.com:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/ple/exam/xxx4_request, SignedHeaders=content-type;host;x-xxx-content-sha256;x-xxx-date, Signature=25b4cac711ea8f65010c485d3778885f5f3870d0b8ff0b3ab58a8d7eeab991ff
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /aws_sigv4/testapi/test HTTP/1.1
Host: exam.ple.com:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/ple/exam/xxx4_request, SignedHeaders=content-type;host;x-xxx-content-sha256;x-xxx-date, Signature=7b343a4aa55d73ffc05005d84480bc705a3367373ed8cae1a1c0fbd2b3aa0483
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /file HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER/testapi/test HTTP/1.1
Host: 127.0.0.1:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/0/127/xxx4_request, SignedHeaders=content-type;host;x-xxx-date, Signature=35da102c1df68f2ef85ade08ecc212fa663a66e3a973146f6578a5c5426e9669
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
PUT /aws_sigv4/testapi/test HTTP/1.1
Host: exam.ple.com:9000
Authorization: AWS4-HMAC-SHA256 Credential=xxx/19700101/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=a028756f42a859122e9609c1f90cae4b272d6b03bf60d9fd354138176dfa2260
^Content-Type:.*
^Accept:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /aws_sigv4/testapi/test HTTP/1.1
Host: exam.ple.com:9000
Authorization: AWS4-HMAC-SHA256 Credential=xxx/19700101/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=e6270423932feafe9b00ca5d60c9ed566be649f9ca9676144288273945153021
# Strip the actual signature. We only care about header order in this test
s/Signature=[a-f0-9]{64}/Signature=stripped/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
PUT /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: AWS4-HMAC-SHA256 Credential=xxx/19700101/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-meta-test;x-amz-meta-test-two, Signature=stripped
effective URL: http://%HOSTIP:%HTTPPORT/%TESTNUMBER?foo
effective URL: http://%HOSTIP:%HTTPPORT/%TESTNUMBER?foo&bar
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER?foo=moo&moo=poo HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[fake:user]b64%
#
# Server-side
<reply>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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-
</data1>
<data2 nocheck="yes">
#
# Server-side
<reply>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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-
</data1>
<data2 nocheck="yes">
#
# Server-side
<reply>
-<data1 nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data1 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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-
</data1>
<data2 nocheck="yes">
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[:5up3r53cr37]b64%
<reply>
<!-- First request has Basic auth, wrong password -->
-<data100>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data100>
<!-- Second request has Basic auth, right password -->
-<data200>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data200>
<!-- Third request has Basic auth, wrong password -->
-<data300>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data300>
<!-- Fourth request has Basic auth, wrong password -->
-<data400>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data400>
<!-- Fifth request has Basic auth, right password -->
-<data500>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data500 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data500>
-<datacheck>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[testuser:wrongpass]b64%
ensure that the order doesn't matter. -->
<!-- First request has Basic auth, wrong password -->
-<data100>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data100>
<!-- Second request has Digest auth, right password -->
-<data1200>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1200 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1200>
<!-- Third request has Basic auth, wrong password -->
-<data300>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data300>
<!-- Fourth request has Digest auth, wrong password -->
-<data1400>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="3"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data1400 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data1400>
<!-- Fifth request has Digest auth, right password -->
-<data1500>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1500 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1500>
-<datacheck>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="3"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[testuser:wrongpass]b64%
ensure that the order doesn't matter. -->
<!-- First request has Basic auth, wrong password -->
-<data100>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data100>
<!-- Second request has NTLM auth, right password -->
-<data200>
-HTTP/1.1 401 Need Basic or NTLM auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: NTLM\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data200>
-<data1201>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1201 crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1201>
-<data1202>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1202 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1202>
<!-- Third request has Basic auth, wrong password -->
-<data300>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data300>
<!-- Fourth request has NTLM auth, wrong password -->
-<data400>
-HTTP/1.1 401 Need Basic or NTLM auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: NTLM\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Need Basic or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data400>
-<data1401>
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1401 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1401>
-<data1402>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data1402 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data1402>
<!-- Fifth request has NTLM auth, right password -->
-<data500>
-HTTP/1.1 401 Need Basic or NTLM auth (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: NTLM\r
-\r
+<data500 crlf="headers">
+HTTP/1.1 401 Need Basic or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data500>
-<data1501>
-HTTP/1.1 401 NTLM intermediate (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1501 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1501>
-<data1502>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1502 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1502>
-<datacheck>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[testuser:wrongpass]b64%
ensure that the order doesn't matter. -->
<!-- First request has Digest auth, wrong password -->
-<data100>
-HTTP/1.1 401 Need Basic or Digest auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Need Basic or Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
This is not the real page!
</data100>
-<data1100>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-\r
+<data1100 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
This is a bad password page!
</data1100>
<!-- Second request has Basic auth, right password -->
-<data200>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data200>
<!-- Third request has Digest auth, wrong password -->
-<data300>
-HTTP/1.1 401 Need Basic or Digest auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="3"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Need Basic or Digest auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
This is not the real page!
</data300>
-<data1300>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="4"\r
-\r
+<data1300 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
This is a bad password page!
</data1300>
<!-- Fourth request has Basic auth, wrong password -->
-<data400>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data400>
<!-- Fifth request has Basic auth, right password -->
-<data500>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data500 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data500>
-<datacheck>
-HTTP/1.1 401 Need Basic or Digest auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Need Basic or Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 Need Basic or Digest auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="3"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="4"\r
-\r
+HTTP/1.1 401 Need Basic or Digest auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
This is a bad password page!
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
-->
<!-- First request has Digest auth, wrong password -->
-<data100>
-HTTP/1.1 401 Need Digest auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Need Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
This is not the real page!
</data100>
-<data1100>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-\r
+<data1100 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
This is a bad password page!
</data1100>
<!-- Second request has Digest auth, right password -->
-<data200>
-HTTP/1.1 401 Need Digest auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="3"\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 401 Need Digest auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+
This is not the real page!
</data200>
-<data1200>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1200 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1200>
<!-- Third request has Digest auth, wrong password -->
-<data300>
-HTTP/1.1 401 Need Digest auth (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="4"\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Need Digest auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
This is not the real page!
</data300>
-<data1300>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-\r
+<data1300 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
This is a bad password page!
</data1300>
<!-- Fourth request has Digest auth, wrong password -->
-<data400>
-HTTP/1.1 401 Need Digest auth (4)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="6"\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Need Digest auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="6"
+
This is not the real page!
</data400>
-<data1400>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
+<data1400 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
This is a bad password page!
</data1400>
<!-- Fifth request has Digest auth, right password -->
-<data1500>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1500 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1500>
-<datacheck>
-HTTP/1.1 401 Need Digest auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-\r
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Need Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 Need Digest auth (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="4"\r
-\r
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-\r
+HTTP/1.1 401 Need Digest auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
This is a bad password page!
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
ensure that the order doesn't matter. -->
<!-- First request has Digest auth, wrong password -->
-<data100>
-HTTP/1.1 401 Need Digest or NTLM auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
This is not the real page!
</data100>
-<data1100>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-WWW-Authenticate: NTLM\r
-\r
+<data1100 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
This is a bad password page!
</data1100>
<!-- Second request has NTLM auth, right password -->
-<data200>
-HTTP/1.1 401 Need Digest or NTLM auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="3"\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+
This is not the real page!
</data200>
-<data1201>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1201 crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1201>
-<data1202>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1202 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1202>
<!-- Third request has Digest auth, wrong password -->
-<data300>
-HTTP/1.1 401 Need Digest or NTLM auth (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="4"\r
-WWW-Authenticate: NTLM\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data300>
-<data1300>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-\r
+<data1300 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
This is a bad password page!
</data1300>
<!-- Fourth request has NTLM auth, wrong password -->
-<data400>
-HTTP/1.1 401 Need Digest or NTLM auth (4)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="6"\r
-WWW-Authenticate: NTLM\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="6"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data400>
-<data1401>
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1401 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1401>
-<data1402>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
+<data1402 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
This is a bad password page!
</data1402>
<!-- Fifth request has NTLM auth, right password -->
-<data500>
-HTTP/1.1 401 Need Digest or NTLM auth (5)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="8"\r
-WWW-Authenticate: NTLM\r
-\r
+<data500 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="8"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data500>
-<data1501>
-HTTP/1.1 401 NTLM intermediate (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1501 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1501>
-<data1502>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1502 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1502>
-<datacheck>
-HTTP/1.1 401 Need Digest or NTLM auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-\r
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-WWW-Authenticate: NTLM\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 Need Digest or NTLM auth (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="4"\r
-WWW-Authenticate: NTLM\r
-\r
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-\r
+HTTP/1.1 401 Need Digest or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+WWW-Authenticate: NTLM
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
ensure that the order doesn't matter. -->
<!-- First request has NTLM auth, wrong password -->
-<data100>
-HTTP/1.1 401 Need Basic or NTLM auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is not the real page!
</data100>
-<data1101>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1101 crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1101>
-<data1102>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: NTLM\r
-\r
+<data1102 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
This is a bad password page!
</data1102>
<!-- Second request has Basic auth, right password -->
-<data200>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data200>
<!-- Third request has NTLM auth, wrong password -->
-<data300>
-HTTP/1.1 401 Need Basic or NTLM auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Need Basic or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is not the real page!
</data300>
-<data1301>
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1301 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1301>
-<data1302>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: NTLM\r
-\r
+<data1302 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
This is a bad password page!
</data1302>
<!-- Fourth request has Basic auth, wrong password -->
-<data400>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data400>
<!-- Fifth request has Basic auth, right password -->
-<data500>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data500 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data500>
-<datacheck>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: NTLM\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Basic realm="testrealm"\r
-WWW-Authenticate: NTLM\r
-\r
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
This is a bad password page!
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
<!-- First request has NTLM auth, wrong password -->
-<data100>
-HTTP/1.1 401 Need Digest or NTLM auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
This is not the real page!
</data100>
-<data1101>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1101 crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1101>
-<data1102>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-WWW-Authenticate: NTLM\r
-\r
+<data1102 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
This is a bad password page!
</data1102>
<!-- Second request has Digest auth, right password -->
-<data200>
-HTTP/1.1 401 Need Digest or NTLM auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="3"\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+
This is not the real page!
</data200>
-<data1200>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1200 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1200>
<!-- Third request has NTLM auth, wrong password -->
-<data300>
-HTTP/1.1 401 Need Digest or NTLM auth (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="4"\r
-WWW-Authenticate: NTLM\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data300>
-<data1301>
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1301 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1301>
-<data1302>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-\r
+<data1302 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
This is a bad password page!
</data1302>
<!-- Fourth request has Digest auth, wrong password -->
-<data400>
-HTTP/1.1 401 Need Digest or NTLM auth (4)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="6"\r
-WWW-Authenticate: NTLM\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="6"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data400>
-<data1400>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
+<data1400 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
This is a bad password page!
</data1400>
<!-- Fifth request has Digest auth, right password -->
-<data500>
-HTTP/1.1 401 Need Digest or NTLM auth (5)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: Digest realm="testrealm", nonce="8"\r
-WWW-Authenticate: NTLM\r
-\r
+<data500 crlf="headers">
+HTTP/1.1 401 Need Digest or NTLM auth (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="8"
+WWW-Authenticate: NTLM
+
This is not the real page!
</data500>
-<data1500>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1500 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1500>
-<datacheck>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2"\r
-WWW-Authenticate: NTLM\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="5"\r
-\r
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
This is a bad password page!
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Digest realm="testrealm", nonce="7"\r
-\r
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
This is a bad password page!
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
<reply>
<!-- First request has NTLM auth, wrong password -->
-<data100>
-HTTP/1.1 401 Need NTLM auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Need NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
This is not the real page!
</data100>
-<data1101>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1101 crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1101>
-<data1102>
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-\r
+<data1102 crlf="headers">
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
This is a bad password page!
</data1102>
<!-- Second request has NTLM auth, right password -->
-<data200>
-HTTP/1.1 401 Need NTLM auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 401 Need NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
This is not the real page!
</data200>
-<data1201>
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1201 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1201>
-<data1202>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1202 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1202>
<!-- Third request has NTLM auth, wrong password -->
-<data300>
-HTTP/1.1 401 Need NTLM auth (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-\r
+<data300 crlf="headers">
+HTTP/1.1 401 Need NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
This is not the real page!
</data300>
-<data1301>
-HTTP/1.1 401 NTLM intermediate (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1301 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1301>
-<data1302>
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-\r
+<data1302 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
This is a bad password page!
</data1302>
<!-- Fourth request has NTLM auth, wrong password -->
-<data400>
-HTTP/1.1 401 Need NTLM auth (4)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-\r
+<data400 crlf="headers">
+HTTP/1.1 401 Need NTLM auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
This is not the real page!
</data400>
-<data1401>
-HTTP/1.1 401 NTLM intermediate (4)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1401 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1401>
-<data1402>
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-\r
+<data1402 crlf="headers">
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
This is a bad password page!
</data1402>
<!-- Fifth request has NTLM auth, right password -->
-<data500>
-HTTP/1.1 401 Need NTLM auth (5)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-\r
+<data500 crlf="headers">
+HTTP/1.1 401 Need NTLM auth (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
This is not the real page!
</data500>
-<data1501>
-HTTP/1.1 401 NTLM intermediate (5)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1501 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1501>
-<data1502>
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1502 crlf="headers">
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1502>
-<datacheck>
-HTTP/1.1 401 NTLM intermediate\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
-HTTP/1.1 401 NTLM intermediate (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-\r
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate (4)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 401 Sorry wrong password (3)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-\r
+HTTP/1.1 401 NTLM intermediate (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
This is a bad password page!
-HTTP/1.1 401 NTLM intermediate (5)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
-HTTP/1.1 200 Things are fine in server land (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+HTTP/1.1 401 NTLM intermediate (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
<reply>
<!-- Basic auth -->
-<data100>
-HTTP/1.1 401 Need Basic or NTLM auth\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 29\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data100 crlf="headers">
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is a bad password page!
</data100>
<!-- NTLM auth -->
-<data200>
-HTTP/1.1 401 Need Basic or NTLM auth (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 27\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="testrealm"\r
-\r
+<data200 crlf="headers">
+HTTP/1.1 401 Need Basic or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
This is not the real page!
</data200>
-<data1201>
-HTTP/1.1 401 NTLM intermediate (2)\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 33\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=\r
-\r
+<data1201 crlf="headers">
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
This is still not the real page!
</data1201>
-<data1202>
-HTTP/1.1 200 Things are fine in server land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1202 crlf="headers">
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1202>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[testuser:testpass]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0100 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[testuser:testpass]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: xn--4cab6c.se:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://xn--4cab6c.se/%TESTNUMBER HTTP/1.1
Host: xn--4cab6c.se
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: www1.example.com:8081
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT connect.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: connect.example.com.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT connect.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: connect.example.com.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: www.example.com.%TESTNUMBER
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: www.example.com:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: 10.0.0.1:8081
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT connect.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: connect.example.com.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT connect.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: connect.example.com.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: www.example.com.%TESTNUMBER
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Negotiate %b64["KRB5_Alice":HTTP@127.0.0.1:1:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Negotiate %b64["NTLM_Alice":HTTP@127.0.0.1:2:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]b64%
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-256", nonce="1053604144", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
# this is returned first since we get no proxy-auth
-<connect>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-Content-Length: 33\r
-\r
+<connect crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
And you should ignore this data.
</connect>
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-512-256", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-512-256", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-512-256", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", algorithm="SHA-512-256", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-512-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-512-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-512-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-512-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145", algorithm="SHA-256", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="yes">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<data1000 crlf="yes">
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<datacheck crlf="yes">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-512-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-512-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<data1000 crlf="yes">
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-512-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<datacheck crlf="yes">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-512-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<data1000 crlf="yes">
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<datacheck crlf="yes">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145", algorithm="SHA-256", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256", userhash=true\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256", userhash=true
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Bearer mF_9.B5f-4.1JqM
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1"\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER?query HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Content-Length: 23\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Content-Length: 23
+
This IS the real page!
</data>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Content-Length: 23\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Content-Length: 23
+
This IS the real page!
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
This server reply is for testing a simple Location: following
</data>
-<data2>
-HTTP/1.1 200 This is another weirdo text message swsclose\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 This is another weirdo text message swsclose
+Connection: close
+
Thanks for following.
</data2>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/our/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:pass]b64%
Referer: http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER
</protocol>
-<stdout>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Location: data/%TESTNUMBER0002.txt?coolsite=yes\r
-Content-Length: 62\r
-Connection: close\r
-\r
-HTTP/1.1 200 This is another weirdo text message swsclose\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+HTTP/1.1 200 This is another weirdo text message swsclose
+Connection: close
+
Thanks for following.
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER
</stdout>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPS-MTLSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPS-MTLSPORT
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<connect1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 33\r
-\r
+<connect1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 33
+
And you should ignore this data.
</connect1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<connect1002>
-HTTP/1.1 200 Things are fine in proxy land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<connect1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
</connect1002>
# this is returned when we get a GET!
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: examplehost.example:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<connect1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 33\r
-\r
+<connect1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 33
+
And you should ignore this data.
</connect1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<connect1002>
-HTTP/1.1 200 Things are fine in proxy land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<connect1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
</connect1002>
# this is returned when we get a GET!
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /{}\/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<connect nocheck="yes">
-HTTP/1.1 405 Method Not Allowed swsclose\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 405 Method Not Allowed swsclose
+
And you should ignore this data.
</connect>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
56
</errorcode>
-<stdout>
-HTTP/1.1 405 Method Not Allowed swsclose\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 405 Method Not Allowed swsclose
+
000 405
</stdout>
</verify>
#
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
blaha
</data>
</reply>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 27\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 27
+
This is the proof it works
</data>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: GZIP\r
-Content-Length: 44\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: GZIP
+Content-Length: 44
+
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c%0a%10%86%31%17%00]hex%
%hex[%02%71%60%18%00%00%00]hex%
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: GZIP\r
-Content-Length: 44\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: GZIP
+Content-Length: 44
+
line 1
line 2
line 3
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nonewline="yes">
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: gzip\r
-Content-Length: 41\r
-\r
+<data crlf="headers" nonewline="yes">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: gzip
+Content-Length: 41
+
%hex[%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c%0a%10%86%31%17%00]hex%
%hex[%02%71%60%18%00%00%00]hex%
</data>
# I removed the first three bytes of the gzip compressed contents
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: gzip\r
-Content-Length: 41\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: gzip
+Content-Length: 41
+
</datacheck>
</reply>
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: deflate\r
-Content-Length: 1305\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: deflate
+Content-Length: 1305
+
%hex[%78%9c%dc%58%db%6e%e3%36%10%7d%37%90%7f%60%fd%d4%02%b6%6e%b6%13%39%70%b4%28%72%d9%04%cd%36%c1%da%05%ba%4f%06%2d%d1%36%1b%49%14%48%ca%b9%3c%f4%db%3b%94%28%89%b1%1c%af%77%83%be%04%48%62%72%e6%9c%c3%e1%0c%49%93%99%7c%7a%4a%62%b4%21%5c%50%96%9e%75%5d%cb%e9%22%92%86%2c%a2%e9%ea%ac%7b%33%bd%eb%fb%fe%68%dc%77%bb%9f%82%ce%e4%97%8b%bb%f3%d9%b7%fb%4b%94%71%f6%0f%09%65%3f%a6%42%02%10%4d%bf%4d%67%97%5f%50%77%2d%65%76%6a%db%4b%4e%c4%3a%21%58%5a%29%91%f6%02%87%0f%24%8d%ec%65%d2%d7%3c%d1%77%ac%a1%15%c9%a8%0b%a2%5b%5a%41%07%a1%ca%a6%da%4d%6f%4e%a3%c0%3d%76%bd%89%6d%18%4a%44%84%25%99%e3%28%22%80%18%8f%fd%be%e3%f7%3d%17%39%c3%53%c7%3d%f5%c6%13%db%f0%1b%84%3c%53%1f%51%e0%39%ce%b0%ef%3a%7d%d7%47%8e%77%ea%c1%cf%40%53%2a%c4%ab%38%52%9c%90%b9%58%33%2e%83%30%e7%71%1d%8e%61%6f%e3%97%79%1c%17%70%84%d3%08%c5%74%d1%a6%16%10%1d%1e%11%a1%96%3a%67%49%52%52%52%82%24%63%b5%00%c7%fc%19%2d%19%47%61%4c%49%2a%fb%82%46%04%fd%f5%f5%16%49%8e%53%b1%84%8a%5a%30%8b%46%c8%50%de%19%0c%a2%02%e1%72%04%a5%5a%a9%70%55%df%25%8d%89%38%ea%e4%42%75%d4%18%e2%39%95%f8%c9%42%37%12%89%3c%cb%40%5f%a0%eb%d9%ec%be%57%fc%9d%f6%d0%15%b4%8f%3a%57%45%fb%e2%e6%7c%d6%43%b3%cb%db%3f%2f%e1%f3%f6%e2%77%80%5d%dd%dc%5e%f6%8a%e1%3f%df%dd%5f%5f%7e%85%36%0c%f0%48%62%88%a9%94%ea%67%4c%c8%9e%6e%e6%d0]hex%
%hex[%19%7b%a0%44%14%da%28%cf%62%86%23%18%02%96%5a%9e%90%a8%99%75%0f%65%58%88%47%c6%23%d5%84%c8%d2%3c%59%14%f6%e9%f4%f6%a8%13%12%2e%e9%92%86%50%57%30%fd%41%38%f8%98%28%43%81%6a%3c%c1%08%c5%b4%20%1b%19%7b%24%9c%44%47%9d%c5%73%95%a4%1e%92%6b%f2%66%c6%ab%b2%58%47%9d%d9%1a%a8%08%c3%ef%82%a6%6a%33%09%48%6d%9d%6a%95%60%06%9b%0e%79%ce%51%27%c6%e9%2a%c7%2b%22%8a%18%48%ba%a1%9c%a5%09%0c%20%40%47%97%d0%58%1b%1b%2a%71%4c%e5%f3%5c%84%8c%93%60%74%e2%0f%ad%d1%c9%c4%de%b2%6f%81%33%c2%43%90%0c%06%96%7b%6c%60%2b%f3%16%1a%e6%f3%00%7b%6d%6c%20%0b%93%5e%d7%2c%cb%63%cc%9b%b1%8e%47%63%88%61%08%cb%79%db%d3%22%54%03%ba%03%cb%77%5f%11%5e%87%62%38%ca%60%9c%d1%2b%b4%11%0e%c7%c5%b9%e1%5b%23%67%62%eb%8e%e9%99%87%2c%07%5d%cf%ad%bc%da%f0]hex%
%hex[%53%0e%e2%0f%6a%8c%31%80%c8%17%22%e4%34%93%70%44%8a%60%a0%4e%87%d7%a6%12%06%a5%4f%c3%f5%5c%ed%e5%e0%82%2c%71%1e%cb%89%6d%1a%4b%18%d4%7f%5e%1d%60%19%94%3d%d8%79%68%56%27%a5%ad%d6%8b%3d%b1%5b%ac%46%6c%cd%12%f2%b6%10%2c%60%ca%4b%15%75%78%da%26%43%eb%d6%02%8d%a6%5c%bd%1c%2e%07%60%ad%a4%68%8d%c8%e2%c5%3b%5c%04%c0%5a%44%d1%1a%91%17%9a%1d%2e%02%60%2d%a2%68%8d%48%b8%86%3d%46%62%b6%3a%5c%aa%a6%68%c1%46%a2%91%e5%59%72%b8%20%80%b5%94%a2%35%22%11%59%1c%2e%02%60%2d%a2%68%8d%08%13%4f%87%8b%00%58%8b%28%9a%51%2f%11%a9%f3%f2%07%6a%56%12%aa%ba%69%ba%b1%cc%73%0e%69%13%24%d0%eb%b7%ea%1a%85%d9%88%1f%28%c9%46%54%c5%d8%08%43%44%dd%1c%0e%57%51%68%2d%53%10%1b%9d%84%72%ce%f8%e1%4a%25%5e%6b%69%b2%59%d7%84%05%55%ad%a0%59%7a%62]hex%
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# this deflate chunk has three bytes removed from the beginning and is cut
# short
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: deflate\r
-Content-Length: 1305\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: deflate
+Content-Length: 1305
+
%hex[%58%db%6e%e3%36%10%7d%37%90%7f%60%fd%d4%02%b6%6e%b6%13%39%70%b4%28%72%d9%04%cd%36%c1%da%05%ba%4f%06%2d%d1%36%1b%49%14%48%ca%b9%3c%f4%db%3b%94%28%89%b1%1c%af%77%83%be%04%48%62%72%e6%9c%c3%e1%0c%49%93%99%7c%7a%4a%62%b4%21%5c%50%96%9e%75%5d%cb%e9%22%92%86%2c%a2%e9%ea%ac%7b%33%bd%eb%fb%fe%68%dc%77%bb%9f%82%ce%e4%97%8b%bb%f3%d9%b7%fb%4b%94%71%f6%0f%09%65%3f%a6%42%02%10%4d%bf%4d%67%97%5f%50%77%2d%65%76%6a%db%4b%4e%c4%3a%21%58%5a%29%91%f6%02%87%0f%24%8d%ec%65%d2%d7%3c%d1%77%ac%a1%15%c9%a8%0b%a2%5b%5a%41%07%a1%ca%a6%da%4d%6f%4e%a3%c0%3d%76%bd%89%6d%18%4a%44%84%25%99%e3%28%22%80%18%8f%fd%be%e3%f7%3d%17%39%c3%53%c7%3d%f5%c6%13%db%f0%1b%84%3c%53%1f%51%e0%39%ce%b0%ef%3a%7d%d7%47%8e%77%ea%c1%cf%40%53%2a%c4%ab%38%52%9c%90%b9%58%33%2e%83%30%e7%71%1d%8e%61%6f%e3%97%79%1c%17%70%84%d3%08%c5%74%d1%a6%16%10%1d%1e%11%a1%96%3a%67%49%52%52%52%82%24%63%b5%00%c7%fc%19%2d%19%47%61%4c%49%2a%fb%82%46%04%fd%f5%f5%16%49%8e%53%b1%84%8a%5a%30%8b%46%c8%50%de%19%0c%a2%02%e1%72%04%a5%5a%a9%70%55%df%25%8d%89%38%ea%e4%42%75%d4%18%e2%39%95%f8%c9%42%37%12%89%3c%cb%40%5f%a0%eb%d9%ec%be%57%fc%9d%f6%d0%15%b4%8f%3a%57%45%fb%e2%e6%7c%d6%43%b3%cb%db%3f%2f%e1%f3%f6%e2%77%80%5d%dd%dc%5e%f6%8a%e1%3f%df%dd%5f%5f%7e%85%36%0c%f0%48%62%88%a9%94%ea%67%4c%c8%9e%6e%e6%d0]hex%
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: deflate\r
-Content-Length: 1305\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: deflate
+Content-Length: 1305
+
</datacheck>
</reply>
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: gzip\r
-Content-Length: 2186\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: gzip
+Content-Length: 2186
+
%hex[%1f%8b%08%1c%bf%bc%ab%41%02%03%30%00%74%68%69%73%20%69%73%20%61%6e%20%65%78%74%72%61%20%66%69%65%6c%64%20%74%68%61%74%20%6d%75%73%74%20%62%65%20%72%65%6d%6f%76%65%64%5f%5f%5f%5f%5f%6c%6f%6e%67%2d%66%69%6c%65%6e%61%6d%65%2dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%00%74%68%69%73%20%69%73%20%61%20%63%6f%6d%6d%65%6e%74%20%74%68%61%74%20%6d%75%73%74%20%62%65%20%73%6b%69%70%70%65%64%00%2b%cd%4b%ce%cf%2d%28%4a%2d%2e%4e%4d%51%48%af%ca%2c%50%48%49%2c%49%54%28%cf%2c%c9%50%c8%c9%cf%4b%87%88%65%a4%26%a6%a4%16%71%01%00%b8%50%9e%cb%2d%00%00%00]hex%
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: gzip\r
-Content-Length: 2186\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: gzip
+Content-Length: 2186
+
uncompressed gzip data with long gzip header
</datacheck>
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: deflate, identity, gzip\r
-Content-Length: 1328\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: deflate, identity, gzip
+Content-Length: 1328
+
%hex[%1f%8b%08%00%fa%65%fa%59%00%03%01%19%05%e6%fa%78%9c%dc%58%db%6e%e3%36%10%7d%37%90%7f%60%fd%d4%02%b6%6e%b6%13%39%70%b4%28%72%d9%04%cd%36%c1%da%05%ba%4f%06%2d%d1%36%1b%49%14%48%ca%b9%3c%f4%db%3b%94%28%89%b1%1c%af%77%83%be%04%48%62%72%e6%9c%c3%e1%0c%49%93%99%7c%7a%4a%62%b4%21%5c%50%96%9e%75%5d%cb%e9%22%92%86%2c%a2%e9%ea%ac%7b%33%bd%eb%fb%fe%68%dc%77%bb%9f%82%ce%e4%97%8b%bb%f3%d9%b7%fb%4b%94%71%f6%0f%09%65%3f%a6%42%02%10%4d%bf%4d%67%97%5f%50%77%2d%65%76%6a%db%4b%4e%c4%3a%21%58%5a%29%91%f6%02%87%0f%24%8d%ec%65%d2%d7%3c%d1%77%ac%a1%15%c9%a8%0b%a2%5b%5a%41%07%a1%ca%a6%da%4d%6f%4e%a3%c0%3d%76%bd%89%6d%18%4a%44%84%25%99%e3%28%22%80%18%8f%fd%be%e3%f7%3d%17%39%c3%53%c7%3d%f5%c6%13%db%f0%1b%84%3c%53%1f%51%e0%39%ce%b0%ef%3a%7d%d7%47%8e%77%ea%c1%cf%40%53%2a%c4%ab%38%52%9c%90%b9%58%33%2e%83%30%e7%71%1d%8e%61%6f%e3%97%79%1c%17%70%84%d3%08%c5%74%d1%a6%16%10%1d%1e%11%a1%96%3a%67%49%52%52%52%82%24%63%b5%00%c7%fc%19%2d%19%47%61%4c%49%2a%fb%82%46%04%fd%f5%f5%16%49%8e%53%b1%84%8a%5a%30%8b%46%c8%50%de%19%0c%a2%02%e1%72%04%a5%5a%a9%70%55%df%25%8d%89%38%ea%e4%42%75%d4%18%e2%39%95%f8%c9%42%37%12%89%3c%cb%40%5f%a0%eb%d9%ec%be%57%fc%9d%f6%d0%15%b4%8f%3a%57%45%fb%e2%e6%7c%d6%43%b3%cb%db%3f%2f%e1%f3%f6%e2%77%80%5d%dd%dc%5e%f6%8a%e1%3f%df%dd%5f%5f%7e%85%36%0c%f0%48%62%88%a9%94%ea%67%4c%c8%9e%6e%e6%d0]hex%
%hex[%19%7b%a0%44%14%da%28%cf%62%86%23%18%02%96%5a%9e%90%a8%99%75%0f%65%58%88%47%c6%23%d5%84%c8%d2%3c%59%14%f6%e9%f4%f6%a8%13%12%2e%e9%92%86%50%57%30%fd%41%38%f8%98%28%43%81%6a%3c%c1%08%c5%b4%20%1b%19%7b%24%9c%44%47%9d%c5%73%95%a4%1e%92%6b%f2%66%c6%ab%b2%58%47%9d%d9%1a%a8%08%c3%ef%82%a6%6a%33%09%48%6d%9d%6a%95%60%06%9b%0e%79%ce%51%27%c6%e9%2a%c7%2b%22%8a%18%48%ba%a1%9c%a5%09%0c%20%40%47%97%d0%58%1b%1b%2a%71%4c%e5%f3%5c%84%8c%93%60%74%e2%0f%ad%d1%c9%c4%de%b2%6f%81%33%c2%43%90%0c%06%96%7b%6c%60%2b%f3%16%1a%e6%f3%00%7b%6d%6c%20%0b%93%5e%d7%2c%cb%63%cc%9b%b1%8e%47%63%88%61%08%cb%79%db%d3%22%54%03%ba%03%cb%77%5f%11%5e%87%62%38%ca%60%9c%d1%2b%b4%11%0e%c7%c5%b9%e1%5b%23%67%62%eb%8e%e9%99%87%2c%07%5d%cf%ad%bc%da%f0]hex%
%hex[%53%0e%e2%0f%6a%8c%31%80%c8%17%22%e4%34%93%70%44%8a%60%a0%4e%87%d7%a6%12%06%a5%4f%c3%f5%5c%ed%e5%e0%82%2c%71%1e%cb%89%6d%1a%4b%18%d4%7f%5e%1d%60%19%94%3d%d8%79%68%56%27%a5%ad%d6%8b%3d%b1%5b%ac%46%6c%cd%12%f2%b6%10%2c%60%ca%4b%15%75%78%da%26%43%eb%d6%02%8d%a6%5c%bd%1c%2e%07%60%ad%a4%68%8d%c8%e2%c5%3b%5c%04%c0%5a%44%d1%1a%91%17%9a%1d%2e%02%60%2d%a2%68%8d%48%b8%86%3d%46%62%b6%3a%5c%aa%a6%68%c1%46%a2%91%e5%59%72%b8%20%80%b5%94%a2%35%22%11%59%1c%2e%02%60%2d%a2%68%8d%08%13%4f%87%8b%00%58%8b%28%9a%51%2f%11%a9%f3%f2%07%6a%56%12%aa%ba%69%ba%b1%cc%73%0e%69%13%24%d0%eb%b7%ea%1a%85%d9%88%1f%28%c9%46%54%c5%d8%08%43%44%dd%1c%0e%57%51%68%2d%53%10%1b%9d%84%72%ce%f8%e1%4a%25%5e%6b%69%b2%59%d7%84%05%55%ad%a0%59%7a%62]hex%
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 101 Switching to WebSockets swsclose\r
-Server: test-server/fake\r
-Upgrade: websocket\r
-Connection: Upgrade\r
-Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 101 Switching to WebSockets swsclose
+Server: test-server/fake
+Upgrade: websocket
+Connection: Upgrade
+Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
+
</data>
# allow upgrade
<servercmd>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes" nocheck="yes">
+<protocol crlf="headers" nocheck="yes">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes" nonewline="yes">
-HTTP/1.1 101 Switching to WebSockets\r
-Server: test-server/fake\r
-Upgrade: websocket\r
-Connection: Upgrade\r
-Something: else\r
-Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=\r
-\r
+<data crlf="headers" nocheck="yes" nonewline="yes">
+HTTP/1.1 101 Switching to WebSockets
+Server: test-server/fake
+Upgrade: websocket
+Connection: Upgrade
+Something: else
+Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
+
%hex[%89%00]hex%
</data>
# allow upgrade
#
# Sends a PING + a 5 byte hello TEXT
<reply>
-<data nocheck="yes" nonewline="yes">
-HTTP/1.1 101 Switching to WebSockets\r
-Server: test-server/fake\r
-Upgrade: websocket\r
-Connection: Upgrade\r
-Something: else\r
-Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=\r
-\r
+<data crlf="headers" nocheck="yes" nonewline="yes">
+HTTP/1.1 101 Switching to WebSockets
+Server: test-server/fake
+Upgrade: websocket
+Connection: Upgrade
+Something: else
+Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
+
%hex[%89%00%81%05hello]hex%
</data>
# allow upgrade
#
<reply>
-<data nocheck="yes" nonewline="yes">
-HTTP/1.1 200 Oblivious\r
-Server: test-server/fake\r
-Something: else\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes" nonewline="yes">
+HTTP/1.1 200 Oblivious
+Server: test-server/fake
+Something: else
+Content-Length: 6
+
hello
</data>
</reply>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: webbie-sox/3
# PONG with no data and the 32 bit mask
#
<verify>
-<protocol crlf="yes" nocheck="yes">
+<protocol crlf="headers" nocheck="yes">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: websocket/%TESTNUMBER
# This reproduces the #11101 issue, when the second response comes back
# with the first header being "folded"
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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
+Content-Type: text/html
+Funny-head: yesyes
+
-foo-
</data>
<data2 nocheck="yes">
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# This reproduces the #13669 issue
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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
+Content-Type: text/html
+Funny-head: yesyes
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://github.com/ HTTP/1.1
Host: github.com
Authorization: Basic %b64[daniel:$y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1]b64%
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: deflate\r
-Content-Length: 1287\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: deflate
+Content-Length: 1287
+
%hex[%dd%58%db%6e%e3%36%10%7d%37%90%7f%60%fd%d4%02%b6%6e%b6%13%39%70%b4%28%72%d9%04%cd%36%c1%da%05%ba%4f%06%2d%d1%36%1b%49%14%48%ca%b9%3c%f4%db%3b%94%28%89%b1%1c%af%77%83%be%04%48%62%72%e6%9c%c3%e1%0c%49%93%99%7c%7a%4a%62%b4%21%5c%50%96%9e%75%5d%cb%e9%22%92%86%2c%a2%e9%ea%ac%7b%33%bd%eb%fb%fe%68%dc%77%bb%9f%82%ce%e4%97%8b%bb%f3%d9%b7%fb%4b%94%71%f6%0f%09%65%3f%a6%42%02%10%4d%bf%4d%67%97%5f%50%77%2d%65%76%6a%db%4b%4e%c4%3a%21%58%5a%29%91%f6%02%87%0f%24%8d%ec%65%d2%d7%3c%d1%77%ac%a1%15%c9%a8%0b%a2%5b%5a%41%07%a1%ca%a6%da%4d%6f%4e%a3%c0%3d%76%bd%89%6d%18%4a%44%84%25%99%e3%28%22%80%18%8f%fd%be%e3%f7%3d%17%39%c3%53%c7%3d%f5%c6%13%db%f0%1b%84%3c%53%1f%51%e0%39%ce%b0%ef%3a%7d%d7%47%8e%77%ea%c1%cf%40%53%2a%c4%ab%38%52%9c%90%b9%58%33%2e%83%30%e7%71%1d%8e%61%6f%e3%97%79%1c%17%70%84%d3%08%c5%74%d1%a6%16%10%1d%1e%11%a1%96%3a%67%49%52%52%52%82%24%63%b5%00%c7%fc%19%2d%19%47%61%4c%49%2a%fb%82%46%04%fd%f5%f5%16%49%8e%53%b1%84%8a%5a%30%8b%46%c8%50%de%19%0c%a2%02%e1%72%04%a5%5a%a9%70%55%df%25%8d%89%38%ea%e4%42%75%d4%18%e2%39%95%f8%c9%42%37%12%89%3c%cb%40%5f%a0%eb%d9%ec%be%57%fc%9d%f6%d0%15%b4%8f%3a%57%45%fb%e2%e6%7c%d6%43%b3%cb%db%3f%2f%e1%f3%f6%e2%77%80%5d%dd%dc%5e%f6%8a%e1%3f%df%dd%5f%5f%7e%85%36%0c%f0%48%62%88%a9%94%ea%67%4c%c8%9e%6e%e6%d0]hex%
%hex[%19%7b%a0%44%14%da%28%cf%62%86%23%18%02%96%5a%9e%90%a8%99%75%0f%65%58%88%47%c6%23%d5%84%c8%d2%3c%59%14%f6%e9%f4%f6%a8%13%12%2e%e9%92%86%50%57%30%fd%41%38%f8%98%28%43%81%6a%3c%c1%08%c5%b4%20%1b%19%7b%24%9c%44%47%9d%c5%73%95%a4%1e%92%6b%f2%66%c6%ab%b2%58%47%9d%d9%1a%a8%08%c3%ef%82%a6%6a%33%09%48%6d%9d%6a%95%60%06%9b%0e%79%ce%51%27%c6%e9%2a%c7%2b%22%8a%18%48%ba%a1%9c%a5%09%0c%20%40%47%97%d0%58%1b%1b%2a%71%4c%e5%f3%5c%84%8c%93%60%74%e2%0f%ad%d1%c9%c4%de%b2%6f%81%33%c2%43%90%0c%06%96%7b%6c%60%2b%f3%16%1a%e6%f3%00%7b%6d%6c%20%0b%93%5e%d7%2c%cb%63%cc%9b%b1%8e%47%63%88%61%08%cb%79%db%d3%22%54%03%ba%03%cb%77%5f%11%5e%87%62%38%ca%60%9c%d1%2b%b4%11%0e%c7%c5%b9%e1%5b%23%67%62%eb%8e%e9%99%87%2c%07%5d%cf%ad%bc%da%f0]hex%
%hex[%53%0e%e2%0f%6a%8c%31%80%c8%17%22%e4%34%93%70%44%8a%60%a0%4e%87%d7%a6%12%06%a5%4f%c3%f5%5c%ed%e5%e0%82%2c%71%1e%cb%89%6d%1a%4b%18%d4%7f%5e%1d%60%19%94%3d%d8%79%68%56%27%a5%ad%d6%8b%3d%b1%5b%ac%46%6c%cd%12%f2%b6%10%2c%60%ca%4b%15%75%78%da%26%43%eb%d6%02%8d%a6%5c%bd%1c%2e%07%60%ad%a4%68%8d%c8%e2%c5%3b%5c%04%c0%5a%44%d1%1a%91%17%9a%1d%2e%02%60%2d%a2%68%8d%48%b8%86%3d%46%62%b6%3a%5c%aa%a6%68%c1%46%a2%91%e5%59%72%b8%20%80%b5%94%a2%35%22%11%59%1c%2e%02%60%2d%a2%68%8d%08%13%4f%87%8b%00%58%8b%28%9a%51%2f%11%a9%f3%f2%07%6a%56%12%aa%ba%69%ba%b1%cc%73%0e%69%13%24%d0%eb%b7%ea%1a%85%d9%88%1f%28%c9%46%54%c5%d8%08%43%44%dd%1c%0e%57%51%68%2d%53%10%1b%9d%84%72%ce%f8%e1%4a%25%5e%6b%69%b2%59%d7%84%05%55%ad%a0%59%7a%62]hex%
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://first.host.it.is/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: first.host.it.is
Proxy-Authorization: Basic %b64[testing:this]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://first.host.it.is/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: first.host.it.is
Proxy-Authorization: Basic %b64[testing:this]b64%
<reply>
# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
Hey you, authenticate or go away!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1002>
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOST6IP:%HTTP6PORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout crlf="yes">
+<stdout crlf="headers">
HTTP/2 200%spc%
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 201 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-Content-Length: 0\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 201 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+Content-Length: 0
+Funny-head: yesyes
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/2 201 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-content-length: 0\r
-funny-head: yesyes\r
-server: nghttpx\r
-via: 1.1 nghttpx\r
-\r
+<stdout crlf="headers">
+HTTP/2 201%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+content-length: 0
+funny-head: yesyes
+server: nghttpx
+via: 1.1 nghttpx
+
</stdout>
<protocol crlf="yes" nonewline="yes">
POST /%TESTNUMBER HTTP/1.1
# Server-side
<reply>
-<data1 crlf="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: server.example.com\r
-Content-Length: 47\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: server.example.com
+Content-Length: 47
+
file contents should appear once for each file
</data1>
-<data2>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: server.example.com\r
-Content-Length: 47\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: server.example.com
+Content-Length: 47
+
file contents should appear once for each file
</data2>
-<data3>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: server.example.com\r
-Content-Length: 47\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: server.example.com
+Content-Length: 47
+
file contents should appear once for each file
</data3>
-<data4>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: server.example.com\r
-Content-Length: 47\r
-\r
+<data4 crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: server.example.com
+Content-Length: 47
+
file contents should appear once for each file
</data4>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data nocheck="yes" crlf="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 6
#
# Verify data after the test has been "shot"
<verify>
-<stdout crlf="yes">
+<stdout crlf="headers">
HTTP/2 200%spc%
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
# Server-side
<reply>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
file contents should appear once for each file
</data1>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
file contents should appear once for each file
</data2>
-<data3 crlf="yes">
+<data3 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
file contents should appear once for each file
</data3>
-<data4 crlf="yes">
+<data4 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 404 nope\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 404 nope
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout crlf="yes">
+<stdout crlf="headers">
HTTP/2 404%spc%
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: ip6-localhost:%HTTP6PORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOST6IP:%HTTP6PORT
Authorization: Basic %b64[foobar:barfoo]b64%
# Server-side
<reply>
-<data>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
Hey you, authenticate or go away!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1002>
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</datacheck>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes" crlf="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
^X-Forwarded-Proto:.*
^Via:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET https://localhost:%HTTP3PORT/%TESTNUMBER HTTP/1.1
Host: localhost:%HTTP3PORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout crlf="yes">
+<stdout crlf="headers">
HTTP/3 200%spc%
date: Tue, 09 Nov 2010 14:49:00 GMT
last-modified: Tue, 13 Jun 2000 12:10:00 GMT
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 201 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-Content-Length: 0\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 201 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+Content-Length: 0
+Funny-head: yesyes
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/3 201 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-content-length: 0\r
-funny-head: yesyes\r
-via: 1.1 nghttpx\r
-\r
+<stdout crlf="headers">
+HTTP/3 201%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+content-length: 0
+funny-head: yesyes
+via: 1.1 nghttpx
+
</stdout>
<protocol crlf="yes" nonewline="yes">
POST https://%HOSTIP:%HTTP3PORT/2501 HTTP/1.1
# Server-side
<reply>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
file contents should appear once for each file
</data1>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
file contents should appear once for each file
</data2>
-<data3 crlf="yes">
+<data3 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
file contents should appear once for each file
</data3>
-<data4 crlf="yes">
+<data4 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET https://localhost:%HTTP3PORT/path/%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data nocheck="yes" crlf="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 6
#
# Verify data after the test has been "shot"
<verify>
-<stdout crlf="yes">
+<stdout crlf="headers">
HTTP/3 200%spc%
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
<errorcode>
33
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Proxy-Authorization: Basic %b64[daniel:stenberg]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://supersite.com/want/%TESTNUMBER HTTP/1.1
Host: supersite.com
Authorization: Basic %b64[user1:passwd1]b64%
Content-Length: 0
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
<datacheck>
Content-Length: 0
</data>
-<data1000>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1000>
<datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /?%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://veryveryremotesite.com/%TESTNUMBER HTTP/1.1
Host: veryveryremotesite.com
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 26
+
the content would go here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://we.want.that.site.com/%TESTNUMBER HTTP/1.1
Host: we.want.that.site.com
Proxy-Authorization: Basic %b64[fake:user]b64%
<reply>
# this is returned first since we get no proxy-auth
-<connect1001>
-HTTP/1.0 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Connection: Keep-Alive\r
-Content-Length: 1033\r
-\r
+<connect1001 crlf="headers">
+HTTP/1.0 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Connection: Keep-Alive
+Content-Length: 1033
+
And you should ignore this data.
%repeat[999 x Q]%
</connect1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<connect1002>
-HTTP/1.1 200 Things are fine in proxy land\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<connect1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
</connect1002>
# this is returned when we get a GET!
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/heads%TESTNUMBER">
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked\r
-Trailer: chunky-trailer\r
-Connection: mooo\r
-\r
-chunky-trailer: header data\r
+<file name="%LOGDIR/heads%TESTNUMBER" crlf="headers">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+chunky-trailer: header data
</file>
</verify>
This is supposed to be returned when the server gets a first
Authorization: NTLM line passed-in from the client -->
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1002>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<connect>
-HTTP/1.1 200 OK\r
-Connected-fine: sure\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 OK
+Connected-fine: sure
+
</connect>
<data>
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT remotesite.com.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: remotesite.com.%TESTNUMBER:%HTTPPORT\r
-Proxy-Authorization: Basic %b64[youare:yourself]b64%\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT remotesite.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: remotesite.com.%TESTNUMBER:%HTTPPORT
+Proxy-Authorization: Basic %b64[youare:yourself]b64%
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: remotesite.com.%TESTNUMBER:%HTTPPORT
Authorization: Basic %b64[iam:myself]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want?uri=http://anything/%TESTNUMBER?secondq/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-Content-Length: 27\r
-\r
-the content would go here\r
+<data crlf="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 27
+
+the content would go here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://we.want.that.site.com/%TESTNUMBER HTTP/1.1
Host: we.want.that.site.com
Proxy-Authorization: Basic %b64[fake:]b64%
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-Content-Length: 27\r
-\r
-the content would go here\r
+<data crlf="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 27
+
+the content would go here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://we.want.that.site.com/%TESTNUMBER HTTP/1.1
Host: we.want.that.site.com
Proxy-Authorization: Basic %b64[fake:]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<connect nocheck="yes">
-HTTP/1.1 405 Method Not Allowed swsclose\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 405 Method Not Allowed swsclose
+
And you should ignore this data.
</connect>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1
Host: test.remote.example.com.%TESTNUMBER:%HTTPPORT
Proxy-Connection: Keep-Alive
<errorcode>
56
</errorcode>
-<stdout>
-HTTP/1.1 405 Method Not Allowed swsclose\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 405 Method Not Allowed swsclose
+
</stdout>
</verify>
</testcase>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
_data_result_data_
</data>
<postcmd>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
63
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://michal:aybabtu@host.com/we/want/%TESTNUMBER HTTP/1.1
Host: host.com:21
Authorization: Basic %b64[michal:aybabtu]b64%
#
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+
this is data even though Content-Length is set to zero
</data>
-<datacheck>
-HTTP/1.0 200 OK\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 0\r
-\r
+<datacheck crlf="headers">
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
<name>
SMTP multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
<name>
SMTP multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T -
<name>
SMTP multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
<name>
SMTP multiple invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T -
<name>
SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T -
<name>
SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T -
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /this/is/the/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /this/is/the/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
Authorization: Basic %b64[fake:user]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /this/is/the/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /this/is/the/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /this/is/the/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
testdata
4
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /1439 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 302 OK\r
-Date: Sun, 13 Sep 2020 15:00 GMT\r
-Content-Length: 8\r
-Connection: close\r
-Content-Type: text/plain\r
-Location: ./%TESTNUMBER0001\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 302 OK
+Date: Sun, 13 Sep 2020 15:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
monster
</data>
<data1 nocheck="yes">
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<connect nocheck="yes">
-HTTP/1.1 405 Method Not Allowed swsclose\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 405 Method Not Allowed swsclose
+
And you should ignore this data.
</connect>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
s/^PROXY TCP4 %CLIENTIP %HOSTIP (\d*) %PROXYPORT/proxy-line/
</strippart>
-<proxy>
-CONNECT %HOSTIP:%HTTPPORT HTTP/1.1\r
-Host: %HOSTIP:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT %HOSTIP:%HTTPPORT HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
<protocol crlf="yes">
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
_data_result_data_
</data>
<postcmd>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes" crlf="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /this/is/the/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/tmp/out.txt" crlf="yes">
+<file name="%LOGDIR/tmp/out.txt" crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Server-side
<reply>
-<data>
-HTTP/1.1 301 redirect swsbounce\r
-Content-Length: 0\r
-Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER\r
-Part: data\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 redirect swsbounce
+Content-Length: 0
+Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+Part: data
+
</data>
-<data1>
-HTTP/1.1 301 redirect swsbounce\r
-Content-Length: 0\r
-Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER\r
-Part: data1\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 301 redirect swsbounce
+Content-Length: 0
+Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+Part: data1
+
</data1>
-<data2>
-HTTP/1.1 301 redirect swsbounce\r
-Content-Length: 0\r
-Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER\r
-Part: data2\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 301 redirect swsbounce
+Content-Length: 0
+Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+Part: data2
+
</data2>
-<data3>
-HTTP/1.1 200 OK\r
-Content-Type: text/html\r
-Content-Length: 30\r
-Part: data3\r
-\r
+<data3 crlf="headers">
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 30
+Part: data3
+
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</data3>
-<datacheck>
-HTTP/1.1 301 redirect swsbounce\r
-Content-Length: 0\r
-Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER\r
-Part: data\r
-\r
-HTTP/1.1 301 redirect swsbounce\r
-Content-Length: 0\r
-Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER\r
-Part: data1\r
-\r
-HTTP/1.1 301 redirect swsbounce\r
-Content-Length: 0\r
-Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER\r
-Part: data2\r
-\r
-HTTP/1.1 200 OK\r
-Content-Type: text/html\r
-Content-Length: 30\r
-Part: data3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 redirect swsbounce
+Content-Length: 0
+Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+Part: data
+
+HTTP/1.1 301 redirect swsbounce
+Content-Length: 0
+Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+Part: data1
+
+HTTP/1.1 301 redirect swsbounce
+Content-Length: 0
+Location: http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+Part: data2
+
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 30
+Part: data3
+
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# the first chunk
#
-<data nocheck="yes" nonewline="yes">
-HTTP/1.1 200 OK swsbounce swsclose\r
-Accept-Ranges: bytes\r
-Content-Type: text/html\r
-Content-Length: 26\r
-\r
+<data crlf="headers" nocheck="yes" nonewline="yes">
+HTTP/1.1 200 OK swsbounce swsclose
+Accept-Ranges: bytes
+Content-Type: text/html
+Content-Length: 26
+
abcde
</data>
#
# the second chunk
#
-<data1 nocheck="yes" nonewline="yes">
-HTTP/1.1 206 Partial Content swsbounce swsclose\r
-Content-Type: text/html\r
-Content-Length: 21\r
-Content-Range: bytes 5-25/26\r
-\r
+<data1 crlf="headers" nocheck="yes" nonewline="yes">
+HTTP/1.1 206 Partial Content swsbounce swsclose
+Content-Type: text/html
+Content-Length: 21
+Content-Range: bytes 5-25/26
+
fghijk
</data1>
#
# some nonsense that curl should ignore as unresumable
#
-<data2 nocheck="yes">
-HTTP/1.1 404 Not Found swsbounce\r
-Content-Type: text/html\r
-Content-Length: 5\r
-\r
+<data2 crlf="headers" nocheck="yes">
+HTTP/1.1 404 Not Found swsbounce
+Content-Type: text/html
+Content-Length: 5
+
body
</data2>
#
# some more nonsense that curl should ignore as unresumable
#
-<data3 nocheck="yes">
-HTTP/1.1 200 OK swsbounce\r
-Accept-Ranges: bytes\r
-Content-Type: text/html\r
-Content-Length: 30\r
-\r
+<data3 crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsbounce
+Accept-Ranges: bytes
+Content-Type: text/html
+Content-Length: 30
+
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</data3>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: https://%HOSTIP:%HTTPSPORT/data/%TESTNUMBER0002.txt?coolsite=yes\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: https://%HOSTIP:%HTTPSPORT/data/%TESTNUMBER0002.txt?coolsite=yes
+Connection: close
+
This server reply is for testing a simple Location: following to HTTPS URL
</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 52\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 Followed here fine swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
If this is received, the location following worked
</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: https://%HOSTIP:%HTTPSPORT/data/%TESTNUMBER0002.txt?coolsite=yes\r
-Connection: close\r
-\r
-HTTP/1.1 200 Followed here fine swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 52\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: https://%HOSTIP:%HTTPSPORT/data/%TESTNUMBER0002.txt?coolsite=yes
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
If this is received, the location following worked
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: test31.curl:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-RTSP/1.0 401 Unauthorized please swsbounce\r
-Server: RTSPD/libcurl-test\r
-CSeq: 1\r
-WWW-Authenticate: Basic realm="please-auth-me"\r
-\r
+<data crlf="yes">
+RTSP/1.0 401 Unauthorized please swsbounce
+Server: RTSPD/libcurl-test
+CSeq: 1
+WWW-Authenticate: Basic realm="please-auth-me"
+
</data>
-<data1>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-CSeq: 2\r
-Content-Base: rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER\r
-Content-Length: 80\r
-Curl-private: swsclose\r
-\r
-v=0\r
-s=rtspd SDP\r
-i=A fake SDP reply\r
-u=http://www.curl.example.com/fakesdp.ps\r
+<data1 crlf="yes">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 2
+Content-Base: rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER
+Content-Length: 80
+Curl-private: swsclose
+
+v=0
+s=rtspd SDP
+i=A fake SDP reply
+u=http://www.curl.example.com/fakesdp.ps
</data1>
-<datacheck>
-RTSP/1.0 401 Unauthorized please swsbounce\r
-Server: RTSPD/libcurl-test\r
-CSeq: 1\r
-WWW-Authenticate: Basic realm="please-auth-me"\r
-\r
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-CSeq: 2\r
-Content-Base: rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER\r
-Content-Length: 80\r
-Curl-private: swsclose\r
-\r
-v=0\r
-s=rtspd SDP\r
-i=A fake SDP reply\r
-u=http://www.curl.example.com/fakesdp.ps\r
+<datacheck crlf="yes">
+RTSP/1.0 401 Unauthorized please swsbounce
+Server: RTSPD/libcurl-test
+CSeq: 1
+WWW-Authenticate: Basic realm="please-auth-me"
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 2
+Content-Base: rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER
+Content-Length: 80
+Curl-private: swsclose
+
+v=0
+s=rtspd SDP
+i=A fake SDP reply
+u=http://www.curl.example.com/fakesdp.ps
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
DESCRIBE rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER RTSP/1.0
CSeq: 1
Accept: application/sdp
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Content-Length: 26\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Content-Length: 26
+Content-Type: text/html; charset=iso-8859-1
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</data1>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Content-Length: 26\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Content-Length: 26
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
This IS the real page!
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
Accept: */*
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://localhost/ HTTP/1.1
Host: localhost
Accept: */*
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://example.com/ HTTP/1.1
Host: example.com
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: br\r
-Content-Length: 1056\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: br
+Content-Length: 1056
+
%hex[%1b%b0%13%00%9c%05%76%1b%5d%81%a4%3c%8b%e9%99%06%83%bf%97]hex%
%hex[%20%3c%ab%aa%1e%97%8f%df%c8%d5%e5%30%c8%4d%30%7b%fe%82%55%09%2e%bd%14%50%ca%58%35%6d%32%4f%32%e1%27%cc%4a%ef%da%f6%fb%cb%c5%63%f0%78%30%8a%78%f1%ff%db%2f%55%22%46%c5%f8%48%02%61%23%6c%f6%fe%77%27%c4%13%20%74%f8%66%e7%07%08%24%50%89%74%5d%4f%a5%dd%13%ad]hex%
%hex[%4a%56%c8%be%86%eb%e6%b2%50%b1%19%fb%8a%92%23%31%53%2a%dc%6a%3e%fd%45%ed%63%67%74%c8%fd%6a%69%a1%92%c4%29%fc%9d%9b%94%34%68%7b%e0%a3%88%ec%41%24%80%59%75%b6%36%32%b6%4a%5c%f6%62%49%cb%d2%7e%c1%34%c8%f8%7a%e8%51%03%f6%55%1d%83%62%43%68%50%40%aa%82%d3%8b%94%67%15%12%59%f8%f9%e5%73%11%67%2b%6f%c7%cd%ad%ca%d5%c4%b0%2b%24%1a%52%77%c1%57%f1%e6%6c%f1%e6%c9%50%ee%da%05%9e%5e%a4%7c%fa%cd%e9%7b%96%12%e5%7c%7a%10%22%41%a1%df%8a%e2%69%25%6b%ed%54%c6%0e%69%8e%e8%78%d2%0b%32%8e%db%b2%f2%6d%9f%48%dc%2b%4c%48%3d%88%97%89%81%d7%7d%53%95%c6%ee%b7%50%5d%cc%be%17%53%80%d9%60%c2%c1%37%88%f0%55%91%28%1e%98%f3%1d%7f%af%43%7a%6b%9e%b3%70%e2%80%7b%39%63%ab%fd%f0%73%8e%f7%e3%0e%e3%b6%e1%6c%70%cc%fa%8f%a3%e5%7a%54%d7%2d%87%3d%69%7c%5d%7e%b0%c2%b8%c9%66%3b%1d%ed%f7%9b%7d%84%b9%08%10%15%26%77%6b%95%ae%e0%5c%90%70%06%f8%e5%9f%b0%53%13%39%5c%29%97%e7%66%26%75%44%76%61%3b%3e%5b%e6%cd%c3%61%19%49%f3%11%70%fd%c2%8a%7c%89%23%f7%13%4f%e2%6e%6c%bd%d3%e0%23%a4%87%3d%11%7d%f7%a8%87%fd%c4%e1%cf%fa%ba%09%9a%d6%e6%e1%a2%46%1e%71%7a%7c%1c%1c%26%78%32%f8%f1%de%b6%1f%6e%ae%eb%d0%ce%c8%c8%60%d4%f1%63%fa%85%43%5a%72%b8%2b%e2%f9%02%54%6b%d2%6a%49%2e%aa%06%1e%bc%df%94%c2%d0%ea%a2%f6%a0%8a%3d%84%de%aa%09%e6%44%12%a5%cc%fb%f2%ae%9d%56%29%59%57%93%63%e8%6d%84%0d%32%e6%9e%51%2c%b4%d3%4b%87%1e%85%a2%4e%a5%b1%72%01%5c%59%39%aa%dd%22%42%40%57%1d%0d%b2%13%99%63%88%43%6e%db%3d%05%7b%17%cc%51%0e%82%c1%61%ac%84%18%82%1d%38%4a%d6%73%96%52%11%31%50%e9%b5%89%70%1a%6a%59%08%71%e6%54%40%9d%1a%21%48%7c%48%64%43%62%0d%4b%03%02%ba%e2%a9%6b%27%20%48%e3%bd%84%90%3d%50%52%83%05%dc%d3%88%b2%41%3f%da%14%56%42%8b%6c%78%f0%89%c2%02]hex%
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
# this brotli chunk has three bytes removed from the beginning and is cut off
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: br\r
-Content-Length: 1056\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: br
+Content-Length: 1056
+
%hex[%00%9c%05%76%1b%5d%81%a4%3c%8b%e9%99%06%83%bf%97]hex%
%hex[%20%3c%ab%aa%1e%97%8f%df%c8%d5%e5%30%c8%4d%30%7b%fe%82%55%09%2e%bd%14%50%ca%58%35%6d%32%4f%32%e1%27%cc%4a%ef%da%f6%fb%cb%c5%63%f0%78%30%8a%78%f1%ff%db%2f%55%22%46%c5%f8%48%02%61%23%6c%f6%fe%77%27%c4%13%20%74%f8%66%e7%07%08%24%50%89%74%5d%4f%a5%dd%13%ad]hex%
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: br\r
-Content-Length: 1056\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: br
+Content-Length: 1056
+
</datacheck>
</reply>
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# Length of not-encoded content is 16512 what is greater than default value of
# CURL_MAX_WRITE_SIZE (16384)
-<data nonewline="yes">
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: br\r
-Content-Length: 31\r
-\r
+<data crlf="headers" nonewline="yes">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: br
+Content-Length: 31
+
%hex[%1b%7f%40%00%64%f1%98%cf%28%1a%eb%af%c7%12%ac%41%ab%42%62%51%f3%c8%ea%d9%7b%9f%dc%1b%00%48%00%0a]hex%
</data>
-<datacheck nonewline="yes">
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: br\r
-Content-Length: 31\r
-\r
+<datacheck crlf="headers" nonewline="yes">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: br
+Content-Length: 31
+
%repeat[128 x 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF%0a]%
</datacheck>
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://first.host.it.is/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: first.host.it.is
Proxy-Authorization: Basic %b64[testing:this]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://first.host.it.is/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: first.host.it.is
Proxy-Authorization: Basic %b64[testing:this]b64%
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Transfer-Encoding: gobbledigook\r
-Content-Length: 44\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gobbledigook
+Content-Length: 44
+
%hex[%1f%8b%08%08%79%9e%ab%41%00%03%6c%61%6c%61%6c%61%00%cb%c9%cc%4b%55%30%e4%52%c8%01%d1%46%5c]hex%
%hex[%10%86%31%17%00]hex%
%hex[%02%71%60%18%00%00%00]hex%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER?foo=moo&moo=poo HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<file name="%LOGDIR/curl%TESTNUMBER.out">
-HTTP/1.0 200 OK\r
-Content-type: text/html\r
-\r
+<file name="%LOGDIR/curl%TESTNUMBER.out" crlf="headers">
+HTTP/1.0 200 OK
+Content-type: text/html
+
FINE
-User-Agent: curl-test-suite\r
-Accept: */*\r
-\r
+User-Agent: curl-test-suite
+Accept: */*
+
</file>
<stripfile>
s/^<p>Connected as user 'jsmith'.*/FINE/
# Verify that the file still exists with the correct etag value.
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
Accept: */*
<name>
SMTP DSN
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt "<recipient@example.com> NOTIFY=SUCCESS,FAILURE" --mail-from "<sender@example.com> RET=HDRS" -T -
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<strip>
^Accept-Encoding:.*
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /hello/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Set-Cookie: testn1=yes; path=/we/want/; domain=.host.foo.com; Max-Age=-1;\r
-Set-Cookie: test=yes; path=/we/want/; domain=.host.foo.com; Max-Age=0;\r
-Content-Length: 4\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Set-Cookie: testn1=yes; path=/we/want/; domain=.host.foo.com; Max-Age=-1;
+Set-Cookie: test=yes; path=/we/want/; domain=.host.foo.com; Max-Age=0;
+Content-Length: 4
+
boo
</data>
-<data2>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 4\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
moo
</data2>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: host.foo.com
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://first.host.it.is/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: first.host.it.is
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://moo/we/want/%TESTNUMBER HTTP/1.1
Host: moo
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://remote.example/%TESTNUMBER HTTP/1.1
Host: remote.example
Proxy-Authorization: Basic %b64[puser:]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Alt-Svc: h2=":%HTTP2PORT", ma=315360000; persist=0\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+Alt-Svc: h2=":%HTTP2PORT", ma=315360000; persist=0
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.1 101 Switching Protocols\r
-Connection: Upgrade\r
-Upgrade: h2c\r
-\r
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-content-length: 6\r
-content-type: text/html\r
-funny-head: yesyes\r
-alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0\r
-via: 1.1 nghttpx\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 101 Switching Protocols
+Connection: Upgrade
+Upgrade: h2c
+
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+content-length: 6
+content-type: text/html
+funny-head: yesyes
+alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0
+via: 1.1 nghttpx
+
-foo-
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-content-length: 6\r
-content-type: text/html\r
-funny-head: yesyes\r
-alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0\r
-via: 1.1 nghttpx\r
-\r
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+content-length: 6
+content-type: text/html
+funny-head: yesyes
+alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0
+via: 1.1 nghttpx
+
-foo-
</stdout>
<stripfile>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Alt-Svc: h2=":%HTTP2PORT", ma=315360000; persist=0\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+Alt-Svc: h2=":%HTTP2PORT", ma=315360000; persist=0
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.1 101 Switching Protocols\r
-Connection: Upgrade\r
-Upgrade: h2c\r
-\r
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-content-length: 6\r
-content-type: text/html\r
-funny-head: yesyes\r
-alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0\r
-via: 1.1 nghttpx\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 101 Switching Protocols
+Connection: Upgrade
+Upgrade: h2c
+
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+content-length: 6
+content-type: text/html
+funny-head: yesyes
+alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0
+via: 1.1 nghttpx
+
-foo-
-HTTP/2 200 \r
-date: Tue, 09 Nov 2010 14:49:00 GMT\r
-content-length: 6\r
-content-type: text/html\r
-funny-head: yesyes\r
-alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0\r
-via: 1.1 nghttpx\r
-\r
+HTTP/2 200%spc%
+date: Tue, 09 Nov 2010 14:49:00 GMT
+content-length: 6
+content-type: text/html
+funny-head: yesyes
+alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0
+via: 1.1 nghttpx
+
-foo-
</stdout>
<stripfile>
<errorcode>
56
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
contents
</data>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-\r
+<connect crlf="headers"t>
+HTTP/1.1 200 Mighty fine indeed
+
</connect>
<datacheck>
HTTP/1.1 200 Mighty fine indeed\r
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: test.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: test.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
<protocol crlf="yes" nonewline="yes">
POST /we/want/that/page/%TESTNUMBER HTTP/1.1
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[:example]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=4-
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
52
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Thu, 22 Jul 2010 11:22:33 GMT\r
-Connection: close\r
-Content-Type: text/html\r
-X-Control: swsclose\r
-Content-Length: 2\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Thu, 22 Jul 2010 11:22:33 GMT
+Connection: close
+Content-Type: text/html
+X-Control: swsclose
+Content-Length: 2
+
%hex[%00]hex%
</data>
</reply>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /binary-zero-in-data-section/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
\r
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Thu, 22 Jul 2010 11:22:33 GMT\r
-Connection: close\r
-Content-Type: text/html\r
-Transfer-Encoding: chunked\r
-X-Control: swsclose\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Thu, 22 Jul 2010 11:22:33 GMT
+Connection: close
+Content-Type: text/html
+Transfer-Encoding: chunked
+X-Control: swsclose
+
%repeat[255 x %00]%
%repeat[255 x %00]%
%repeat[255 x %00]%
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /chunked-transfer-encoding/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
<reply>
-<data nonewline="yes">
-HTTP/1.1 200 OK\r
-Date: Thu, 22 Jul 2010 11:22:33 GMT\r
-Connection: close\r
-Content-Type: image/gif\r
-X-Control: swsclose\r
-\r
+<data crlf="headers" nonewline="yes">
+HTTP/1.1 200 OK
+Date: Thu, 22 Jul 2010 11:22:33 GMT
+Connection: close
+Content-Type: image/gif
+X-Control: swsclose
+
%hex[%47%49%46%38%39%61%14%00%14%00%a1%04%00%fe%00%00%ff%00%00%1e%42%ee%1f%42%ef%21%ff%0b%4e%45%54%53%43%41%50%45%32%2e%30%03%01%00%00%00%21%fe%24%43%72%65%61%74%65%64%20%62%79%20%46%61%62%69%61%6e%20%4b%65%69%6c%20%77%69%74%68%20%54%68%65%20%47%49%4d%50%00%21%f9%04%00%0a%00%ff%00%2c%00%00%00%00%14%00%14%00%00%02%11%8c%8f%a9%cb%ed%0f%a3%9c%b4%da%8b%b3%de%bc%fb%af%15%00%21%f9%04%01%0a%00%02%00%2c%00%00%00%00%14%00%14%00%00%02%11%9c%8f%a9%cb%ed%0f%a3%9c%b4%da%8b%b3%de%bc%fb%af%15%00%21%f9%04%00%0a%00%ff%00%2c%00%00%00%00%14%00%14%00%00%02%11%94%8f%a9%cb%ed%0f%a3%9c%b4%da%8b%b3%de%bc%fb%af%15%00%21%f9%04%00%0a%00%ff%00%2c%00%00%00%00%14%00%14%00%00%02%11%84%8f%a9%cb%ed%0f%a3%9c%b4%da%8b%b3%de%bc%fb%af%15%00%3b]hex%
</data>
</reply>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /gif/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
18
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
18
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
33
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=78-
#
# Server-side
<reply>
-<data nocheck="yes" crlf="yes">
+<data nocheck="yes" crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Transfer-Encoding: gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip,gzip
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
# First reply back and ask for Digest auth
-<data1>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data1>
# second reply back
-<data2>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data2>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1001>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1001>
# This is the second request, and this sends back a response saying that
# the request contained stale data. We want an update. Set swsbounce to
# bounce on to data1003 on the second request.
-<data1002>
-HTTP/1.1 401 Authorization re-negotiation please swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 401 Authorization re-negotiation please swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data1002>
# The second request to the 1002 section will bounce this one back instead
# thanks to the swsbounce keyword up there
-<data1003>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 30\r
-\r
+<data1003 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 30
+
This IS the second real page!
</data1003>
</reply>
<strip>
^Authorization.*cnonce
</strip>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<stdout>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Authorization re-negotiation please swsbounce\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 30\r
-\r
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Authorization re-negotiation please swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 30
+
This IS the second real page!
</stdout>
</verify>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: curlmachine.localhost:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 10\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
blablabla
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /../../%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 4\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-Set-Cookie: foobar=name; path=/; secure\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+Funny-head: yesyes
+Set-Cookie: foobar=name; path=/; secure
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
63
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<errorcode>
8
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: zstd\r
-Content-Length: 1309\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: zstd
+Content-Length: 1309
+
%hex[%28%b5%2f%fd%64%b1%12%7d%28%00%86%3f%bd%28%e0%d0%ba%01%b0%03%b6%72%a6%27%9f%a8%20%8c%5a%e1%02%85%fd%81%fe%40%32%f0%ef%9a%08%df%c9%f3%9b%10%a3%65%98%a1%8d%c0%cc%0b%b7%00%b3%00%ac%00%f3%21%b7%f6%a4%da%73%bb%79%1a%1e%dd%da%fb%ba%6e%9b%3d%d0%be%b3%49%9f%ac%f1%51%da%6d%18%52%ef%34%ec%ba%ed%bc%a6%b7%58%19%46%aa%81%aa%1a%a8%a6%77%51%90%89%82%58%d3%54%61%92%eb%18%56%aa%01%6a%1a%b0%a6%47%55%90%6b%82%5c%95]hex%
%hex[%85%c9%96%32%6a%fa%46%c9%b0%a2%26%14%26%a7%e6%3d%08%83%10%f6%90%57%4a%96%34%41%1e%b2%6d%58%d6%be%d0%62%c6%b7%ab%74%63%6f%9d%6f%df%30%0f%70%f7%76%1e%cf%c1%92%c1%54%60%1e%a7%ce%fb%93%42%ae%d6%16%d6%b9%67%89%a8%c8%1c%40%20%00%40%08%2b%78%50%90%8a%e4%ba%20%10%18%86%07%01%a7%4e%69%b5%da%ef%31%49%d4%83%a0%da%f9%de%9e%47%b7%8c%02%18%d3%53%fb%9b%13%3b%4e%8d%14%72%4c%d5%f3%f6%58%7b%df%d7%99%bd%f6%f8%da%bb%93%81%1c%52%77%ee%8b%34%32%c8%21%db%1b%c3%72%ef%e7%f7%cc%b0%ce%bd%f5%ce%bc%1b%6e%d4%e6%66%5e%6f%0d%72%5c%30%98%6c%eb%ea%75%2b%dd%62%fc%47%ee%45%b2%b7%ee%db%21%47%24%a3%a5%5c%f7%be%e7%85%b5%da%8b%6e%17%dd%b7%1c%24%3e%4a%1b%03%72%7c%7c%91%84%65%21%02%42%21%b2%5c%18%12%5e%14%61%80%70%79%51%c6%f2%70%b1%64%5e%94%39%60%40%48%80%1c%51%44%26%e1%45%98%28%22%93%59%78%7f%dd%72%5c%f7%ef%32%3c%29%23%de%aa%f1%df%41%8e%6f%3a%37%1e%df%cf%c7%50%7a%ef%cd%d7%e8%f7%5d%24%26%5e%cb%b5%b5%49%ed%06%d9%ad%fb%dc%20%bf%e7%3d%ef%61%88%f5%c7%8e%e6%1d%64%f9%59%c6%db%8c%b7%59%cb%ac%e5%c6%f9%c6%39%64%8e%a5%cd%a9%b1%a3%71%f3%c3%cd%4f%f5%c9%aa%4f%f6%e1%dc%0f%e7%42%66%9f%b2%bd%37%db%61%c8%fc%58%73%22%a7%a1%de%31%bc%b4%8b%9b%46%c0%34%1d%ad%46%cf%22%d8%57%3b%2f%37%5d%fb%ac%7b%86%91%8b%21%55%61%b7%76%56%d3%30%9c%24%d2%15%9d%a1%64%62%48%5d%52%84%62%68%49%24%ab%22%99%78%a4%1d%67%39%86%95%09%85%5d%d4%e8%0c%27%94%14%c1%6e%6d%cd%9b%63%48%91%48%d6%45%91%60%ed%56%7b%8d%c6%9d%34%de%e9%61%08%39%a4%bf%b5%b7%6a%3d%0c%21%8c%e1%b7%47%88%56%45%24%96%45%a3%dc%66%2f%50%ac%a9%8a%64%93%7e%28%49%a4%a2%22%d6%44%a3%65%28%10%f0%2e%18%4c%6d%ee%ce%cb%d0%9a%58%14%4c%4e%86%d3%43%6e%9b%d5%da%1f%04%cd%69%dc%a7%d1%53%ab%2d%6b%73%2d%21%c3%88%84%9a%2a%57%c5%9a%50%d3%34%55%d4%75%51%91%49%55%31%ac%3c%d6%ef%8d%75%6e%d3%19%32%43%ef%8a%01%81%35%b5%ce%90%bd%25%27%66%1b%d4%3b%86%1c%ef%ac%f6%c5%3c%da%b3%c6%77%db%b9%5d%64%88%65%5b%d7%b9%9a%6b%3b%5f%bb%5d%7b%c8%72%4a%ae%69%42%61%58%49%15%25%51%30%4d%d3%76%cd%65%78%79%5b%37%af%db%af%f6%e0%51%70%86%c1%01%eb%0f%80%e8%a0%81%95%73%68%66%40%06%00%20%80%41%01%40%42%c2%20%23%4a%03%21%f3%e7%0c%f9%1a%bf%b7%48%ca]hex%
%hex[%ce%88%93%e0%97%05%94%c4%49%f0%4d%01%55%d0%62%92%5f%16%24%63%8d%05%9e%44%ae%c1%39%87%63%a3%bb%91%d6%0e%76%79%d0%b6%68%7d%bb%9c%a8%a4%7c%aa%58%ff%82%f3%36%a4%ff%09%b4%c5%f5%7f%85%c7%bf%8b%32%f9%3f%72%50%30%87%b3%d6%26%26%6c%39%86%71%96%a3%02%d9%5a%00%b4%fe%3e%eb%4c%cc%89%46%76%37%2a%bc%11%76%3f%f0%5d%31%66%8e%71%6e%71%f6%6e%ff%de%03%99%f8%de%10%33%85%cf%40%b4%7f%76%20%61%65%2c%23%ed%98%3b%d6%15%5c%6b%62%33%70%09%4c%db%32%e6%3e%8a%f6%39%00%28%b7%b0%e5%b4%42%44%9a%8c%62%a9%68%19%5c%36%33%42%47%7f%86%65%49%e7%89%68%1b%31%e8%0d%b8%b8%8c%ad%84%2d%b8%26%c4%d6%19%4e%dc%34%13%f4%34%bd%ea%6c%d3%cc%22%59%64%8e%3d%67%f7%92%1f%d9%6d%1c%42%86%e9%60%36%86%17%68%da%d5%b8%e0%e4%c0%1e%c4%16%b9%19%64%89%63%69%06%4e%c4%46%c2%41%1d%dc%07%79%aa%21%b7%cd%64%a6%5d%01%9b%ed%5c%07%cc%fb%ec%91%49%43%c8%bb%9e%9d%73%e6%94%61%1a%8c%8c%b2%bd%c6%75%0e%7b%3d%4b%64%6e%d8%6d%d8%3b%93%87%10%76%4d%bb%86%99%4b%c3%2e%1b%91%8f%ad%99%01%35%bb%13%0c%c0%d0%06%0d%2b%af%f1%0c%d8%65%b9%00%a7%fd%81%98%91%94%83%40%cc%f4%39%96%da%a0%05%21%42%18%d3%88%1d%81%83%32%38%39%30%da%61%8b%5b%08%99%1d%d6%70%62%81%88%80%3c%b0%ce%b8%99%d0%10%d2%cc%44%6f%ce%17%48%11%73%a6%5c%7c%37%68%f3%d0%ee%60%b9%2f%c6%78%d7%da%aa%0e%eb%c8%ba%ce%cd%2a%09%2a%ad%9a%25%46%9d%2d%08%05%b4%b5%7a%51%c7%f3%3b%0d%bd%ea%90%6b%d3%f9%ac%fa%b1%e6%9d%3b%39%8e%79%82%d1%ea%8b%50%a5%7b%da%5e%18%9b%71%d8%92%49%e6%70%4b%18%40%fe%75%35%44%19%1a%4b%5c%8e%dd%b8%f3%9c%a8%6c%d2%5e%5e%ff%d2%f6%9c%c7%de%78%2e%3a%86%25%df%a9%80%6e%38%8c%8d%85%c3%90%8c%08%fb%b3%74%24%c8%87%ce%bb%3b%cb%75%af%48%e1%59]hex%
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# Length of not-encoded content is 16512 what is greater than default value of
# CURL_MAX_WRITE_SIZE (16384)
-<data>
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: zstd\r
-Content-Length: 47\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: zstd
+Content-Length: 47
+
%hex[%28%b5%2f%fd%64%80%3f%0d%01%00%88%30%31%32%33%34%35%36%37%38%39%41%42%43%44%45%46]hex%
%hex[%04%00%7c%9f%60%78%00%04%1a%1d%d2%ab%4d%3a%97%82%af%b9%9c]hex%
</data>
-<datacheck nonewline="yes">
-HTTP/1.1 200 OK\r
-Date: Mon, 29 Nov 2004 21:56:53 GMT\r
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29\r
-Vary: Accept-Encoding\r
-Content-Type: text/html; charset=ISO-8859-1\r
-Content-Encoding: zstd\r
-Content-Length: 47\r
-\r
+<datacheck crlf="headers" nonewline="yes">
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: zstd
+Content-Length: 47
+
%repeat[128 x 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF%0a]%
</datacheck>
<strippart>
s/^Accept-Encoding: [a-zA-Z, ]*/Accept-Encoding: xxx/
</strippart>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK swsclose\r
-Location: ../moo.html/?name=d a niel&testcase=/%TESTNUMBER0002 \r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/?name=d a niel&testcase=/%TESTNUMBER0002%repeat[4 x ]%
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose\r
-Location: ../moo.html/?name=d a niel&testcase=/%TESTNUMBER0002 \r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/?name=d a niel&testcase=/%TESTNUMBER0002%repeat[4 x ]%
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: whohoo.:12345
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: whohoo:12345
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a/b/%TESTNUMBER HTTP/1.1
Host: attack.invalid:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</command>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK swsclose\r
-Location: ../m o o.html/%TESTNUMBER0002 \r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: ../m o o.html/%TESTNUMBER0002%repeat[4 x ]%
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose\r
-Location: ../m o o.html/%TESTNUMBER0002 \r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 302 OK swsclose
+Location: ../m o o.html/%TESTNUMBER0002%repeat[4 x ]%
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Accept-Ranges: bytes
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /func_test/del_cookie HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
server: nginx
date: Tue, 07 Mar 2023 15:14:41 GMT
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 301 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: http://anotherhost.example:2023/%TESTNUMBER0002?moo.html
</data>
-<data2 crlf="yes" nocheck="yes">
+<data2 crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 6
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 301 move along
Date: Tue, 09 Nov 2010 14:49:00 GMT
Accept-Ranges: bytes
-foo-
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Accept-Ranges: bytes
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Content-Length: 0\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Content-Length: 0
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<stripfile>
s/local port == (\d+)/local port == [digits]/
</stripfile>
-<stdout>
-HTTP/1.1 200 OK\r
-Content-Length: 0\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK
+Content-Length: 0
+
local port == [digits]
local ip == 127.0.0.1
remote_ip == %HOSTIP
remote_port == %HTTPPORT
-HTTP/1.1 200 OK\r
-Content-Length: 0\r
-\r
+HTTP/1.1 200 OK
+Content-Length: 0
+
local port == [digits]
local ip == 127.0.0.1
remote_ip == %HOSTIP
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Content-Length: 6\r
-Content-Type: text/1\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Content-Length: 6
+Content-Type: text/1
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-Head: yesyes\r
-Alt-Svc: h1="%HOST6IP:%HTTP6PORT", ma=315360000; persist=0\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-Head: yesyes
+Alt-Svc: h1="%HOST6IP:%HTTP6PORT", ma=315360000; persist=0
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-Head: yesyes\r
-Alt-Svc: h1="%HOST6IP:%HTTP6PORT", ma=315360000; persist=0\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-Head: yesyes
+Alt-Svc: h1="%HOST6IP:%HTTP6PORT", ma=315360000; persist=0
+
-foo-
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-Head: yesyes\r
-Alt-Svc: h1="%HOST6IP:%HTTP6PORT", ma=315360000; persist=0\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-Head: yesyes
+Alt-Svc: h1="%HOST6IP:%HTTP6PORT", ma=315360000; persist=0
+
-foo-
</stdout>
<stripfile>
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /439/?name=me&noval&aim=b%aad&&&weirdo=*.//- HTTP/1.1
Host: fake.fake.fake:8000
Authorization: AWS4-HMAC-SHA256 Credential=user/19700101/us-east-2/es/aws4_request, SignedHeaders=host;x-amz-date, Signature=9dd8592929306832a6673d10063491391e486e5f50de4647ea7c2c797277e0a6
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 403 not OK at all\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Funny-head: yesyes\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 403 not OK at all
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
-foo-
</connect>
</reply>
<verify>
# we let it CONNECT to the server to confirm HSTS but deny from there
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT this.hsts.example.:443 HTTP/1.1
Host: this.hsts.example.:443
User-Agent: curl/%VERSION
Proxy-Connection: Keep-Alive
</protocol>
-<stdout>
-HTTP/1.1 403 not OK at all\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Funny-head: yesyes\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 403 not OK at all
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
https://this.hsts.example./%TESTNUMBER
</stdout>
# Proxy CONNECT aborted
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 403 not OK at all\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Funny-head: yesyes\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 403 not OK at all
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
-foo-
</connect>
</reply>
<verify>
# we let it CONNECT to the server to confirm HSTS but deny from there
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT this.hsts.example:443 HTTP/1.1
Host: this.hsts.example:443
User-Agent: curl/%VERSION
Proxy-Connection: Keep-Alive
</protocol>
-<stdout>
-HTTP/1.1 403 not OK at all\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Funny-head: yesyes\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 403 not OK at all
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
https://this.hsts.example/%TESTNUMBER
</stdout>
# Proxy CONNECT aborted
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a/b/%TESTNUMBER HTTP/1.1
Host: attack.invalid:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a/b/%TESTNUMBER HTTP/1.1
Host: attack.invalid:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a/b/%TESTNUMBER HTTP/1.1
Host: attack.invalid:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 200 OK\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+
</connect>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Strict-Transport-Security: max-age=604800
-foo-
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Strict-Transport-Security: max-age=6048000
<verify>
# we let it CONNECT to the server to confirm HSTS but deny from there
-<proxy crlf="yes">
+<proxy crlf="headers">
GET http://this.hsts.example./%TESTNUMBER HTTP/1.1
Host: this.hsts.example.
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file name="%LOGDIR/contents%TESTNUMBER" crlf="yes">
+<file name="%LOGDIR/contents%TESTNUMBER" crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Server: Microsoft-IIS/4.0\r
-Date: Tue, 25 Sep 2001 19:37:44 GMT\r
-Content-Type: text/html\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/4.0
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
%if large-time
-Set-Cookie: ckyPersistent=permanent; expires=Fri, 13-Feb-2525 11:56:27 GMT; path=/\r
+Set-Cookie: ckyPersistent=permanent; expires=Fri, 13-Feb-2525 11:56:27 GMT; path=/
%else
-Set-Cookie: ckyPersistent=permanent; expires=Fri, 13-Feb-2037 11:56:27 GMT; path=/\r
+Set-Cookie: ckyPersistent=permanent; expires=Fri, 13-Feb-2037 11:56:27 GMT; path=/
%endif
-Set-Cookie: ckySession=temporary; path=/\r
-Set-Cookie: ASPSESSIONIDQGGQQSJJ=GKNBDIFAAOFDPDAIEAKDIBKE; path=/\r
-Set-Cookie: justaname=; path=/;\r
-Set-Cookie: simplyhuge=%repeat[3998 x z]%\r
-Cache-control: private\r
-Content-Length: 41\r
-\r
+Set-Cookie: ckySession=temporary; path=/
+Set-Cookie: ASPSESSIONIDQGGQQSJJ=GKNBDIFAAOFDPDAIEAKDIBKE; path=/
+Set-Cookie: justaname=; path=/;
+Set-Cookie: simplyhuge=%repeat[3998 x z]%
+Cache-control: private
+Content-Length: 41
+
This server reply is for testing cookies
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: domain..tld:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 6
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
User-Agent: curl/%VERSION
Accept: */*
#
# Server-side
<reply>
-<data nocheck="yes" crlf="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.0
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /472/a=%E3%81%82 HTTP/1.1
Host: fake.fake.fake:8000
Authorization: AWS4-HMAC-SHA256 Credential=user/19700101/us-east-2/es/aws4_request, SignedHeaders=host;x-amz-date, Signature=b8783c8387a5249b084642126fe1f8e07e12a2847820fd5b6cd64b2047149da4
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 301 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 0
Location: https://%HOSTIP:%HTTPSPORT/%TESTNUMBER0002
</data>
-<data2 crlf="yes" nocheck="yes">
+<data2 crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 0
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://github.com/ HTTP/1.1
Host: github.com
Authorization: Basic %b64[debbie:second%0D]b64%
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 301 Follow this you fool
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
target
</data2>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 301 Follow this you fool
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://a.com/ HTTP/1.1
Host: a.com
Authorization: Basic %b64[alice:alicespassword]b64%
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Set-Cookie: name=value; expires=Fri Feb 13 11:56:27 GMT 2132
Set-Cookie: name2=value; expires=Fri Feb 13 11:56:27 ; 2132
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 301 Follow this you fool
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
target
</data2>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 301 Follow this you fool
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://a.com/ HTTP/1.1
Host: a.com
Authorization: Basic %b64[alice:alicespassword]b64%
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /[64dec-fail]/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /a HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 403 not OK at all\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Funny-head: yesyes\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 403 not OK at all
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
-foo-
</connect>
</reply>
<verify>
# we let it CONNECT to the server to confirm HSTS but deny from there
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT this.hsts.example:443 HTTP/1.1
Host: this.hsts.example:443
User-Agent: curl/%VERSION
Proxy-Connection: Keep-Alive
</protocol>
-<stdout>
-HTTP/1.1 403 not OK at all\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 6\r
-Connection: close\r
-Funny-head: yesyes\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 403 not OK at all
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
https://this.hsts.example/%TESTNUMBER
</stdout>
# Proxy CONNECT aborted
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[foo@bar:secret]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
HEAD /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
<file name="%LOGDIR/ip%TESTNUMBER">
IP %HOSTIP
</file>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
<servercmd>
connection-monitor
</servercmd>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+
</connect>
<data>
HTTP/1.1 200 OK swsclose
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT machine.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: machine.%TESTNUMBER:%HTTPPORT\r
-Proxy-Authorization: Basic %b64[test%2520:ing%2541]b64%\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT machine.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: machine.%TESTNUMBER:%HTTPPORT
+Proxy-Authorization: Basic %b64[test%2520:ing%2541]b64%
+Proxy-Connection: Keep-Alive
+
[DISCONNECT]
</proxy>
<protocol crlf="headers">
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: yes\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: yes
+Connection: close
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
HEAD /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsbounce\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 8\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsbounce
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 8
+
content
</data>
-<data1>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 9\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+
content2
</data1>
-<datacheck>
-HTTP/1.1 200 OK swsbounce\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 8\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK swsbounce
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 8
+
content
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 9\r
-\r
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+
content2
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[monster:underbed]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Date: Tue, 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
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[xxx:yyy]b64%
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://www.example.com:19999/%TESTNUMBER HTTP/1.1
Host: www.example.com:19999
Authorization: Basic %b64[xxx:yyy]b64%
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 47\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
file contents should appear once for each file
</data>
<datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Server: Microsoft-IIS/4.0\r
-Date: Tue, 25 Sep 2001 19:37:44 GMT\r
-Content-Type: text/html\r
-Connection: close\r
-Content-Length: 21\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/4.0
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Connection: close
+Content-Length: 21
+
This server says moo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
<reply>
-<data>
-HTTP/1.1 404 Badness\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Content-Length: 6\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 404 Badness
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+ETag: "21025-dc7-39462498"
+Content-Length: 6
+Content-Type: text/html
+Funny-head: yesyes
+
hejsan
</data>
-<data1>
-HTTP/1.1 200 Fine\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 13\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 Fine
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 13
+Connection: close
+Content-Type: text/html
+
fine content
</data1>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://usingproxy.com/ HTTP/1.1
Host: usingproxy.com
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</servercmd>
# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-Content-Length: 33\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
And you should ignore this data.
</data>
# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK\r
-Content-Length: 21\r
-Server: no\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK
+Content-Length: 21
+Server: no
+
Nice proxy auth sir!
</data1000>
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-Content-Length: 33\r
-\r
-HTTP/1.1 200 OK\r
-Content-Length: 21\r
-Server: no\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
+HTTP/1.1 200 OK
+Content-Length: 21
+Server: no
+
Nice proxy auth sir!
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-Content-Length: 33\r
-\r
-HTTP/1.1 200 OK\r
-Content-Length: 21\r
-Server: no\r
-\r
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
+HTTP/1.1 200 OK
+Content-Length: 21
+Server: no
+
Nice proxy auth sir!
</datacheck>
</reply>
works
so does it?
</data>
-<datacheck>
-Content-Length: 51\r
-Accept-ranges: bytes\r
+<datacheck crlf="yes">
+Content-Length: 51
+Accept-ranges: bytes
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</data>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</data>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
Hey you, authenticate or go away!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1002>
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</datacheck>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
Hey you, authenticate or go away!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1002>
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</datacheck>
</reply>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://www.example.com/moo/%TESTNUMBER;type=i HTTP/1.1
Host: www.example.com:21
Accept: */*
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://www.example.com/moo/%TESTNUMBER;type=a HTTP/1.1
Host: www.example.com:21
Accept: */*
<reply>
# as a bonus, ww use an excessive nonce length
-<data>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Digest realm="something fun to read", nonce="%repeat[400 x A]%"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Digest realm="something fun to read", nonce="%repeat[400 x A]%"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# This is supposed to be returned when the server gets the Digest
# Authorization: line passed-in from the client
-<data1000>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1000>
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Digest realm="something fun to read", nonce="%repeat[400 x A]%"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Digest realm="something fun to read", nonce="%repeat[400 x A]%"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</datacheck>
</reply>
<reply>
# as a bonus, ww use an excessive nonce length
-<data>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Digest realm="something fun to read", nonce="%repeat[400 x A]%"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Digest realm="something fun to read", nonce="%repeat[400 x A]%"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# This is supposed to be returned when the server gets the Digest
# Authorization: line passed-in from the client
-<data1000>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1000>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 Fine!\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Length: 6\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 Fine!
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Length: 6
+
hello
</data>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
Hey you, authenticate or go away!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1002>
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</datacheck>
</reply>
</info>
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Content-Length: 6
+Connection: close
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: ninja
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 7\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
MooMoo
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPSPORT
Accept: */*
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 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
+
hello
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://www.example.com/moo/%TESTNUMBER;type=i HTTP/1.1
Host: www.example.com:21
Accept: */*
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Accept-Ranges: bytes
+Content-Length: 6
+
hello
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://%HOSTIP:%FTPPORT/%TESTNUMBER;type=A HTTP/1.1
Host: %HOSTIP:%FTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please swsbounce\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please swsbounce\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 0\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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: 0
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
</data>
</reply>
<file name="%LOGDIR/ip%TESTNUMBER">
CL 0
</file>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-CSeq: 1\r
-Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE\r
-Curl-Private: swsclose\r
+<data crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 1
+Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
+Curl-Private: swsclose
</data>
</reply>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
OPTIONS rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER RTSP/1.0
CSeq: 1
User-Agent: test%TESTNUMBER
# Server-side
<reply>
-<data1>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Cseq: 1\r
-\r
+<data1 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Cseq: 1
+
</data1>
<data2>
i=A fake SDP reply
u=http://www.curl.example.com/fakesdp.ps
</data2>
-<data3>
-RTSP/1.0 200 Okie Dokie\r
-Server: RTSPD/libcurl-test\r
-Cseq: 3\r
-\r
+<data3 crlf="headers">
+RTSP/1.0 200 Okie Dokie
+Server: RTSPD/libcurl-test
+Cseq: 3
+
</data3>
-<data4>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-CSeq: 4\r
-Curl-private: swsclose\r
-Informational: Empty Options Response\r
-\r
+<data4 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 4
+Curl-private: swsclose
+Informational: Empty Options Response
+
</data4>
</reply>
<stdout mode="text">
text/html; charset=ISO-8859-4
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data1>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-CSeq: 2\r
-Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE\r
-Informational: CSeq Mismatch\r
-\r
+<data1 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 2
+Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
+Informational: CSeq Mismatch
+
</data1>
-<data2>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Session: asdf\r
-CSeq: 999\r
-\r
+<data2 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdf
+CSeq: 999
+
</data2>
-<data3>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Session: asdfWRONG\r
-Informational: Session ID mismatch\r
-Curl-Private: swsclose\r
-CSeq: 1000\r
-\r
+<data3 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdfWRONG
+Informational: Session ID mismatch
+Curl-Private: swsclose
+CSeq: 1000
+
</data3>
</reply>
# Server-side
<reply>
-<data1>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Session: asdf\r
-CSeq: 1\r
-Transport: RTP/AVP/TCP;unicast;interleaved=0-1\r
-\r
+<data1 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdf
+CSeq: 1
+Transport: RTP/AVP/TCP;unicast;interleaved=0-1
+
</data1>
-<data2>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-CSeq: 2\r
-Session: asdf\r
-\r
+<data2 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 2
+Session: asdf
+
</data2>
-<data3>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Cseq: 3\r
-Content-Length: 4\r
-Content-Type: fake/evil\r
-\r
+<data3 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Cseq: 3
+Content-Length: 4
+Content-Type: fake/evil
+
$99
</data3>
-<data4>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Session: asdf\r
-CSeq: 4\r
-\r
+<data4 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdf
+CSeq: 4
+
</data4>
<servercmd>
# Server-side
<reply>
-<data1>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Session: getparams-test\r
-CSeq: 1\r
-\r
+<data1 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+CSeq: 1
+
</data1>
-<data2>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Session: getparams-test\r
-Content-Type: text/parameters\r
-Content-Length: 32\r
-Cseq: 2\r
-\r
+<data2 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+Content-Type: text/parameters
+Content-Length: 32
+Cseq: 2
+
scale=enormous
speed=ludicrous
</data2>
-<data3>
-RTSP/1.0 204 OK\r
-Server: RTSPD/libcurl-test\r
-Session: getparams-test\r
-Cseq: 3\r
-\r
+<data3 crlf="headers">
+RTSP/1.0 204 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+Cseq: 3
+
</data3>
-<data4>
-RTSP/1.0 200 Okie Dokie\r
-Server: RTSPD/libcurl-test\r
-Session: getparams-test\r
-Cseq: 4\r
-Content-Length: 37\r
-\r
+<data4 crlf="headers">
+RTSP/1.0 200 Okie Dokie
+Server: RTSPD/libcurl-test
+Session: getparams-test
+Cseq: 4
+Content-Length: 37
+
packets_received: 1000
jitter: 0.314
</data4>
-<data5>
-RTSP/1.0 200 OK\r
-Server: RTSPD/libcurl-test\r
-Session: getparams-test\r
-CSeq: 5\r
-Curl-private: swsclose\r
-Informational: Empty Options Response\r
-\r
+<data5 crlf="headers">
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+CSeq: 5
+Curl-private: swsclose
+Informational: Empty Options Response
+
</data5>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data>
-RTSP/1.1234567 200 OK\r
-Server: RTSPD/libcurl-test\r
-CSeq: 1\r
-Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE\r
-Curl-Private: swsclose\r
+<data crlf="headers">
+RTSP/1.1234567 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 1
+Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
+Curl-Private: swsclose
</data>
<datacheck>
</datacheck>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
OPTIONS rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER RTSP/1.0
CSeq: 1
User-Agent: test567
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-ETag: "21025-dc7-39462498"\r
-Accept-Ranges: bytes\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 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>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please swsbounce\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
</data>
-<data1>
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</data1>
-<datacheck>
-HTTP/1.1 100 Continue\r
-Server: Microsoft-IIS/5.0\r
-Date: Sun, 03 Apr 2005 14:57:45 GMT\r
-X-Powered-By: ASP.NET\r
-\r
-HTTP/1.1 401 authentication please swsbounce\r
-Server: Microsoft-IIS/6.0\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 A OK\r
-Server: Microsoft-IIS/6.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
ok
</datacheck>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 302 eat this!\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: this-is-the-first.html\r
-Content-Length: 0\r
-Connection: close\r
-Location: and there's a second one too! / moo.html\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 eat this!
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: this-is-the-first.html
+Content-Length: 0
+Connection: close
+Location: and there's a second one too! / moo.html
+
</data>
-<datacheck>
-HTTP/1.1 302 eat this!\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: this-is-the-first.html\r
-Content-Length: 0\r
-Connection: close\r
+<datacheck crlf="headers">
+HTTP/1.1 302 eat this!
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: this-is-the-first.html
+Content-Length: 0
+Connection: close
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
# Server-side
<reply>
-<data>
-HTTP/1.1 200 all good!\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 0\r
-Connection: close\r
-Content-Type: changed/my/mind\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 all good!
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+Connection: close
+Content-Type: changed/my/mind
+
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</data>
-<datacheck>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</datacheck>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 302 eat this!\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: this-is-the-first.html\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 eat this!
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: this-is-the-first.html
+Content-Length: 0
+Connection: close
+
</data>
<datacheck>
[OPEN] counter: 1
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /?mooo/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Negotiate\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Negotiate
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
Hey you, authenticate or go away!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1002>
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Proxy-Authenticate: Negotiate\r
-Proxy-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 407 Authorization Required to proxy me my dear\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Things are fine in proxy land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Negotiate
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1
Host: test.remote.example.com
Accept: */*
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-foo-
</data>
# since the request runs twice
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-foo-
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-foo-
</datacheck>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: the-moo agent next generation
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: %TESTNUMBER0001\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: %TESTNUMBER0001
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-foo-
</data>
<data1>
\r
</data1>
-<datacheck>
-HTTP/1.1 302 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Location: %TESTNUMBER0001\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Transfer-Encoding: chunked\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 302 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: %TESTNUMBER0001
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Transfer-Encoding: chunked
+Connection: close
+Content-Type: text/html
+
this data is slightly larger than the first piece
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
blablabla
</data>
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Funny-head: yesyes\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
%if large-time
-Set-Cookie: test=yes; httponly; domain=foo.com; expires=Fri Feb 13 11:56:27 GMT 2525\r
-SET-COOKIE: test2=yes; domain=host.foo.com; expires=Fri Feb 13 11:56:27 GMT 2525\r
+Set-Cookie: test=yes; httponly; domain=foo.com; expires=Fri Feb 13 11:56:27 GMT 2525
+SET-COOKIE: test2=yes; domain=host.foo.com; expires=Fri Feb 13 11:56:27 GMT 2525
%else
-Set-Cookie: test=yes; httponly; domain=foo.com; expires=Fri Feb 13 11:56:27 GMT 2037\r
-SET-COOKIE: test2=yes; domain=host.foo.com; expires=Fri Feb 13 11:56:27 GMT 2037\r
+Set-Cookie: test=yes; httponly; domain=foo.com; expires=Fri Feb 13 11:56:27 GMT 2037
+SET-COOKIE: test2=yes; domain=host.foo.com; expires=Fri Feb 13 11:56:27 GMT 2037
%endif
-Set-Cookie: test3=maybe; domain=foo.com; path=/moo; secure\r
-Set-Cookie: test4=no; domain=nope.foo.com; path=/moo; secure\r
-Set-Cookie: test5=name; domain=anything.com; path=/ ; secure\r
-Set-Cookie: fake=fooledyou; domain=..com; path=/;\r
-Set-Cookie: supercookie=fooledyou; domain=.com; path=/;\r
-Content-Length: 4\r
-\r
+Set-Cookie: test3=maybe; domain=foo.com; path=/moo; secure
+Set-Cookie: test4=no; domain=nope.foo.com; path=/moo; secure
+Set-Cookie: test5=name; domain=anything.com; path=/ ; secure
+Set-Cookie: fake=fooledyou; domain=..com; path=/;
+Set-Cookie: supercookie=fooledyou; domain=.com; path=/;
+Content-Length: 4
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: www.host.foo.com
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: www.host.foo.com
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
Content-Length: 26
-\r
+
the content would go here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://we.want.that.site.com/%TESTNUMBER HTTP/1.1
Host: we.want.that.site.com
Proxy-Authorization: Basic %b64[fake:user]b64%
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
<name>
SMTP multipart using mime API
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= <body>This is the html version</body>;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@%LOGDIR/headers%TESTNUMBER" -F "=)" -F "=@%LOGDIR/test%TESTNUMBER.txt;headers=<%LOGDIR/headers%TESTNUMBER" -H "From: different" -H "To: another" -H "Reply-To: <followup@example.com>"
</file1>
<file2 name="%LOGDIR/headers%TESTNUMBER">
# This line is a comment
-X-fileheader1: This is a header from a file \r
+X-fileheader1: This is a header from a file%spc%\r
# This line is another comment. It precedes a folded header.
X-fileheader2: This is #a
<name>
SMTP multipart with transfer content encoders
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@%LOGDIR/test%TESTNUMBER.txt;encoder=base64" -H "From: different" -H "To: another"
<name>
SMTP multipart with 7bit encoder error
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@%LOGDIR/test%TESTNUMBER.txt;encoder=7bit" -H "From: different" -H "To: another"
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<data1000 crlf="yes">
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Still a bad password you moron\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-\r
-This is not the real page either\r
+<datacheck crlf="yes">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 301 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
hello
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
<datacheck>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://www.example.com/ HTTP/1.1
Host: www.example.com
Accept: */*
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK\r
-Location: http://example.net/tes t case=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 OK
+Location: http://example.net/tes t case=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
</data>
-<data2>
-HTTP/1.1 200 OK\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 5\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
body
</data2>
-<datacheck>
-HTTP/1.1 302 OK\r
-Location: http://example.net/tes t case=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 OK\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 5\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 302 OK
+Location: http://example.net/tes t case=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
body
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://example.com/please/gimme/%TESTNUMBER HTTP/1.1
Host: example.com
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK\r
-Location: http://example.net/there/it/is/../../tes t case=/%TESTNUMBER0002? yes no\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-\r
+<data crlf="headers">
+HTTP/1.1 302 OK
+Location: http://example.net/there/it/is/../../tes t case=/%TESTNUMBER0002? yes no
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
</data>
-<data2>
-HTTP/1.1 200 OK\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 5\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
body
</data2>
-<datacheck>
-HTTP/1.1 302 OK\r
-Location: http://example.net/there/it/is/../../tes t case=/%TESTNUMBER0002? yes no\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 0\r
-\r
-HTTP/1.1 200 OK\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 5\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 302 OK
+Location: http://example.net/there/it/is/../../tes t case=/%TESTNUMBER0002? yes no
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
body
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://example.com/gimme/%TESTNUMBER?foobar HTTP/1.1
Host: example.com
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</data>
-<datacheck>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 3\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
OK
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:4f:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:4f:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:4f:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:4f:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
This is supposed to be returned when the server gets a first
Authorization: NTLM line passed-in from the client -->
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1002>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</data>
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake swsclose\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
hello
</datacheck>
</reply>
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Thu, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 26
+
the content would go here
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /user1/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user1:foo1]b64%
#
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-foo-
</data>
# since the request runs twice
-<datacheck>
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-foo-
-HTTP/1.1 200 OK\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-Content-Type: text/html\r
-\r
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
-foo-
</datacheck>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: the-moo agent next generation
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPSPORT
User-Agent: CURLOPT_CAINFO_BLOB
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user1:with%20spaces%20and%20"%0a%0d%09a]b64%
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 401 You give me wrong password\r
-Server: Microsoft-IIS/5.0\r
-WWW-Authenticate: NTLM\r
-Content-Length: 46\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 401 You give me wrong password
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: NTLM
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
Wrong password dude. Get it fixed and return.
</data1002>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 401 You give me wrong password\r
-Server: Microsoft-IIS/5.0\r
-WWW-Authenticate: NTLM\r
-Content-Length: 46\r
-Content-Type: text/html; charset=iso-8859-1\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 401 You give me wrong password
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: NTLM
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
Wrong password dude. Get it fixed and return.
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user1:passwd1]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user2:passwd2]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[:5up3r53cr37]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[user:5up3r53cr37]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</client>
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
OPTIONS rtsp://%HOSTIP:%RTSPPORT/%TESTNUMBER RTSP/1.0
CSeq: 1
User-Agent: test567
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic\r
-WWW-Authenticate: Wild-and-crazy\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1002>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic\r
-WWW-Authenticate: Wild-and-crazy\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file crlf="yes" name="%LOGDIR/curl_response">
+<file name="%LOGDIR/curl_response" crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/to/here/ HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file crlf="yes" name="%LOGDIR/here">
+<file name="%LOGDIR/here" crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
-<file crlf="yes" name="%LOGDIR/curl_response">
+<file name="%LOGDIR/curl_response" crlf="headers">
-foo-
</file>
</verify>
#
# Server-side
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 funky chunky!\r
-Server: fakeit/0.9 fakeitbad/1.0\r
-Transfer-Encoding: chunked\r
-Trailer: chunky-trailer\r
-Connection: mooo\r
-ETag: W/"asdf"\r
-\r
-40\r
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
-30\r
-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\r
-21;heresatest=moooo\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+ETag: W/"asdf"
+
+40
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+30
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+21;heresatest=moooo
cccccccccccccccccccccccccccccccc
-\r
-0\r
-chunky-trailer: header data\r
-\r
+
+0
+chunky-trailer: header data
+
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Negotiate\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Negotiate
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 401 Authorization Required\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
Hey you, authenticate or go away!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
</data1002>
# This is supposed to be returned when the server gets the second
# request.
-<data10>
-HTTP/1.1 200 Things are fine\r
-Content-Type: yeah/maybe\r
-Content-Length: 42\r
-\r
+<data10 crlf="headers">
+HTTP/1.1 200 Things are fine
+Content-Type: yeah/maybe
+Content-Length: 42
+
Contents of that second request. Differn.
</data10>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Negotiate\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Authorization Required\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-Content-Length: 34\r
-\r
-HTTP/1.1 200 Things are fine\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 42\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Negotiate
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
Contents of that page you requested, sir.
-HTTP/1.1 200 Things are fine\r
-Content-Type: yeah/maybe\r
-Content-Length: 42\r
-\r
+HTTP/1.1 200 Things are fine
+Content-Type: yeah/maybe
+Content-Length: 42
+
Contents of that second request. Differn.
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /path/mine HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</info>
<reply>
-<data nocheck="yes">
-HTTP/1.1 200 OK swsclose\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-\r
+<data crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK swsclose
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Content-Length: 6
+Connection: close
+
-foo-
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<stdout>
-HTTP/1.1 200 OK swsclose\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-\r
+<stdout crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Content-Length: 6
+Connection: close
+
-foo-
-HTTP/1.1 200 OK swsclose\r
-Server: test-server/fake\r
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT\r
-Content-Length: 6\r
-Connection: close\r
-\r
+HTTP/1.1 200 OK swsclose
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Content-Length: 6
+Connection: close
+
-foo-
</stdout>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: ninja
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[hej:you]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:1
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<connect>
-HTTP/1.1 407 Authorization Required to proxy me swsclose\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-\r
+<connect crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
</connect>
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me swsclose\r
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Authorization Required to proxy me swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.remote.haxx.se.%TESTNUMBER:8990 HTTP/1.1
Host: test.remote.haxx.se.%TESTNUMBER:8990
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: [2200::33]:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic realm="foothis"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic realm="foothis"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic realm="foothis"\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 200 OK\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 23\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic realm="foothis"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
This IS the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: 12.34.56.78:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: this.is.a.host.name:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipns/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 200 OK swsclose\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Content-Type: text/html\r
-Set-Cookie: IPCZQX01af0fca5c=000010008168c200d25dfc4b; path=/; domain=.NOT_DISCLOSED.se\r
-Content-Length: 4\r
-\r
+<data crlf="headers">
+HTTP/1.1 200 OK swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Set-Cookie: IPCZQX01af0fca5c=000010008168c200d25dfc4b; path=/; domain=.NOT_DISCLOSED.se
+Content-Length: 4
+
boo
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: host.NOT_DISCLOSED.se
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /foo/bar/ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER/ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /some/path/ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /some/path/ipns/fancy.tld/a/b?foo=bar&aaa=bbb HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /ipfs/bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET / HTTP/1.1
Host: %repeat[254 x c]%:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
contents
</data>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+
</connect>
<datacheck>
HTTP/1.1 200 Mighty fine indeed\r
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT foo.host:%HTTPPORT HTTP/1.0\r
-Host: foo.host:%HTTPPORT\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT foo.host:%HTTPPORT HTTP/1.0
+Host: foo.host:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: foo.host:%HTTPPORT
Authorization: Basic %b64[foo:baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# this is returned first since we get no proxy-auth
-<connect>
-HTTP/1.1 400 Bad request\r
-Connection: close\r
-\r
+<connect crlf="headers">
+HTTP/1.1 400 Bad request
+Connection: close
+
</connect>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 400 Bad request
Connection: close
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.example:80 HTTP/1.1
Host: test.example:80
User-Agent: curl/%VERSION
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.example:80 HTTP/1.1
Host: test.example:80
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 404 nopes
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 404 nopes
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://foo.host/%TESTNUMBER HTTP/1.1
Host: foo.host
Authorization: Basic %b64[foo:alone-in-the-dark]b64%
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
</info>
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 401 Authorization Required swsclose
Server: Apache/1.3.27 (Darwin) PHP/4.1.2
WWW-Authenticate: Basic, Wild-and-crazy, NTLM
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001 crlf="yes">
+<data1001 crlf="headers">
HTTP/1.1 401 Now gimme that second request of crap
Server: Microsoft-IIS/5.0
Content-Length: 34
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002 crlf="yes">
+<data1002 crlf="headers">
HTTP/1.1 200 Things are fine in server land swsclose
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Finally, this is the real page!
</data1002>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 401 Authorization Required swsclose
Server: Apache/1.3.27 (Darwin) PHP/4.1.2
WWW-Authenticate: Basic, Wild-and-crazy, NTLM
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 0
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 0
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
</datacheck>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
</info>
<reply>
-<data1001 crlf="yes" nocheck="yes">
+<data1001 crlf="headers" nocheck="yes">
HTTP/1.1 401 Authorization Required swsclose
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAAAAAAAABAIgAAQIDBAUGBwgAAAAAAAAAAP////8wAAAAAgD3/0F%repeat[21841 x BQUF]%BQUEAAAAA
Content-Length: 0
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 200 OK\r
-Server: fake\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Server: fake
+
</connect>
<data nocheck="yes">
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 200 OK\r
-Server: fake\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Server: fake
+
</connect>
<data nocheck="yes">
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 200 OK\r
-Server: fake\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Server: fake
+
</connect>
<data nocheck="yes">
<reply>
# we use this as response to a CONNECT
-<connect nocheck="yes">
-HTTP/1.1 200 OK\r
-Server: fake\r
-\r
+<connect crlf="headers" nocheck="yes">
+HTTP/1.1 200 OK
+Server: fake
+
</connect>
<data nocheck="yes">
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
-foo-
</data>
-<data1 crlf="yes">
+<data1 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Connection: close
-bar-
</data1>
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 308 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
AUTH PLAIN
REPLY LOGIN A002 OK LOGIN completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
contents
</data>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+
</connect>
<datacheck>
HTTP/1.1 200 Mighty fine indeed\r
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.0\r
-Host: test.%TESTNUMBER:%HTTPPORT\r
-Proxy-Authorization: Basic %b64[youare:yourself]b64%\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.0
+Host: test.%TESTNUMBER:%HTTPPORT
+Proxy-Authorization: Basic %b64[youare:yourself]b64%
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: test.%TESTNUMBER:%HTTPPORT
Authorization: Basic %b64[iam:myself]b64%
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data>
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data>
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data>
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+body
+
+--
+ yours sincerely
</data>
</reply>
<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -u user:secret
</command>
-<file name="%LOGDIR/upload%TESTNUMBER">
-Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)\r
-From: Fred Foobar <foobar@example.COM>\r
-Subject: afternoon meeting\r
-To: joe@example.com\r
-Message-Id: <B27397-0100000@example.COM>\r
-MIME-Version: 1.0\r
-Content-Type: TEXT/PLAIN; CHARSET=US-ASCII\r
-\r
-Hello Joe, do you think we can meet at 3:30 tomorrow?\r
+<file name="%LOGDIR/upload%TESTNUMBER" crlf="yes">
+Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
+From: Fred Foobar <foobar@example.COM>
+Subject: afternoon meeting
+To: joe@example.com
+Message-Id: <B27397-0100000@example.COM>
+MIME-Version: 1.0
+Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
+
+Hello Joe, do you think we can meet at 3:30 tomorrow?
</file>
</client>
#
# Server-side
<reply>
-<data>
-* LIST () "/" /%TESTNUMBER/blurdybloop\r
-* LIST (\Noselect) "/" /%TESTNUMBER/foo\r
-* LIST () "/" /%TESTNUMBER/foo/bar\r
+<data crlf="yes">
+* LIST () "/" /%TESTNUMBER/blurdybloop
+* LIST (\Noselect) "/" /%TESTNUMBER/foo
+* LIST () "/" /%TESTNUMBER/foo/bar
</data>
</reply>
#
# Server-side
<reply>
-<data>
-* LSUB () "/" /%TESTNUMBER/blurdybloop\r
-* LSUB (\Noselect) "/" /%TESTNUMBER/foo\r
-* LSUB () "/" /%TESTNUMBER/foo/bar\r
+<data crlf="yes">
+* LSUB () "/" /%TESTNUMBER/blurdybloop
+* LSUB (\Noselect) "/" /%TESTNUMBER/foo
+* LSUB () "/" /%TESTNUMBER/foo/bar
</data>
</reply>
#
# Server-side
<reply>
-<data>
-* 17 EXISTS\r
-* 2 RECENT\r
-* OK [UNSEEN 8] Message 8 is first unseen\r
-* OK [UIDVALIDITY 3857529045] UIDs valid\r
-* OK [UIDNEXT 4392] Predicted next UID\r
-* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)\r
-* OK [PERMANENTFLAGS ()] No permanent flags permitted\r
+<data crlf="yes">
+* 17 EXISTS
+* 2 RECENT
+* OK [UNSEEN 8] Message 8 is first unseen
+* OK [UIDVALIDITY 3857529045] UIDs valid
+* OK [UIDNEXT 4392] Predicted next UID
+* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
+* OK [PERMANENTFLAGS ()] No permanent flags permitted
</data>
</reply>
#
# Server-side
<reply>
-<data>
-* STATUS %TESTNUMBER (MESSAGES 231 UIDNEXT 44292)\r
+<data crlf="yes">
+* STATUS %TESTNUMBER (MESSAGES 231 UIDNEXT 44292)
</data>
</reply>
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 407 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 407 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1002>
-<datacheck>
-HTTP/1.1 407 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 407 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
#
# Server-side
<reply>
-<data>
-* SEARCH 1 123 456 %TESTNUMBER\r
+<data crlf="yes">
+* SEARCH 1 123 456 %TESTNUMBER
</data>
</reply>
#
# Server-side
<reply>
-<data1>
-* 123 FETCH (FLAGS (\Seen \Deleted))\r
+<data1 crlf="yes">
+* 123 FETCH (FLAGS (\Seen \Deleted))
</data1>
</reply>
#
# Server-side
<reply>
-<data1>
-* 123 FETCH (FLAGS (\Seen \Deleted))\r
+<data1 crlf="yes">
+* 123 FETCH (FLAGS (\Seen \Deleted))
</data1>
-<data2>
-* 123 EXPUNGE\r
+<data2 crlf="yes">
+* 123 EXPUNGE
</data2>
</reply>
#
# Server-side
<reply>
-<data>
-* 22 EXPUNGE\r
-* 23 EXISTS\r
-* 3 RECENT\r
-* 14 FETCH (FLAGS (\Seen \Deleted))\r
+<data crlf="yes">
+* 22 EXPUNGE
+* 23 EXISTS
+* 3 RECENT
+* 14 FETCH (FLAGS (\Seen \Deleted))
</data>
</reply>
REPLY AUTHENTICATE +
REPLY AHVzZXIAc2VjcmV0 A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
# Server-side
<reply>
-<data>
-HTTP/1.1 407 We only deal with NTLM my friend\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
+<data crlf="headers">
+HTTP/1.1 407 We only deal with NTLM my friend
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
Proxy-Authenticate: NTLM
-\r
+
This is not the real page either!
</data>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Proxy-Authorization: Basic %b64[testuser:testpass]b64%
REPLY dXNlcg== + UGFzc3dvcmQ6
REPLY c2VjcmV0 A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTHENTICATE + PDE5NzIuOTg3NjU0MzIxQGN1cmw+
REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM1MzMzMjMxMzYzMzMyMzEzNzMzMzIzMSIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJpbWFwLzEyNy4wLjAuMSIscmVzcG9uc2U9YmU2MzgyNDkzNjJkN2FhMGUzNTM4NTA3Njc1MWFiNDgscW9wPWF1dGg= + cnNwYXV0aD04MWY5MDNlYjQ4MjNhZTkyMmRiNWYwNGNiNThjY2RlYg==
REPLY A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTHENTICATE +
REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
CAPA SASL-IR
REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTHENTICATE + UGFzc3dvcmQ6
REPLY c2VjcmV0 A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTHENTICATE + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
CAPA SASL-IR
REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
contents
</data>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+
</connect>
<datacheck>
HTTP/1.1 200 Mighty fine indeed\r
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: test.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: test.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /we/want/that/page/%TESTNUMBER HTTP/1.1
Host: test.%TESTNUMBER:%HTTPPORT
Authorization: Basic %b64[iam:my:;self]b64%
REPLY "AUTHENTICATE PLAIN" +
REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY "AUTHENTICATE PLAIN" +
REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY "AUTHENTICATE PLAIN" +
REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
# Server-side
<reply>
<servercmd>
-REPLY "LOGIN user.one secret" A002 OK LOGIN completed\r
-REPLY "LOGIN user.two secret" B002 OK LOGIN completed\r
+REPLY "LOGIN user.one secret" A002 OK LOGIN completed
+REPLY "LOGIN user.two secret" B002 OK LOGIN completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTHENTICATE +
REPLY dXNlcg== A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTHENTICATE +
REPLY = A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
CAPA SASL-IR
REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[iam:myself]b64%
CAPA SASL-IR
REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data>
-body\r
-\r
-+ Curl did not used to like this line\r
---\r
- yours sincerely\r
+<data crlf="yes">
+body
+
++ Curl did not used to like this line
+--
+ yours sincerely
</data>
-<datacheck>
-* 123 FETCH (BODY[1] {70}\r
-body\r
-\r
-+ Curl did not used to like this line\r
---\r
- yours sincerely\r
+<datacheck crlf="yes">
+* 123 FETCH (BODY[1] {70}
+body
+
++ Curl did not used to like this line
+--
+ yours sincerely
</datacheck>
</reply>
REPLY AUTHENTICATE +
REPLY %b64[n,a=user,%01host=127.0.0.1%01port=%IMAPPORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
CAPA SASL-IR
REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY welcome * PREAUTH ready to serve already!
REPLY CAPABILITY * CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED\r\nA001 OK CAPABILITY completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTHENTICATE +
REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= A002 OK AUTHENTICATE completed
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Proxy-Authorization: Basic %b64[testing:this]b64%
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
</servercmd>
# When doing LIST, we get the default list output hard-coded in the test
# POP3 server
-<data>
-1 100\r
-2 4294967400\r
-3 200\r
+<data crlf="yes">
+1 100
+2 4294967400
+3 200
</data>
</reply>
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-..body with a single dot first\r
-...triple dots...\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+..body with a single dot first
+...triple dots...
+
+--
+ yours sincerely
</data>
-<datacheck>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-.body with a single dot first\r
-..triple dots...\r
-\r
---\r
- yours sincerely\r
+<datacheck crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+.body with a single dot first
+..triple dots...
+
+--
+ yours sincerely
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
# Server-side
<reply>
<servercmd>
-CAPA UIDL USER\r
+CAPA UIDL USER
</servercmd>
-# When doing UIDL, we get the default list output hard-coded in the test\r
-# POP3 server\r
-<datacheck>
-1 1\r
-2 2\r
-3 4\r
+# When doing UIDL, we get the default list output hard-coded in the test
+# POP3 server
+<datacheck crlf="yes">
+1 1
+2 2
+3 4
</datacheck>
</reply>
# Server-side
<reply>
<servercmd>
-CAPA TOP USER\r
+CAPA TOP USER
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
</data>
</reply>
CAPA APOP
REPLY welcome +OK curl POP3 server ready to serve <1972.987654321\@curl>
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTH +
REPLY AHVzZXIAc2VjcmV0 +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY dXNlcg== + UGFzc3dvcmQ6
REPLY c2VjcmV0 +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTH + PDE5NzIuOTg3NjU0MzIxQGN1cmw+
REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
<servercmd>
AUTH NTLM
REPLY AUTH +
-REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM1MzMzMjMxMzYzMzMyMzEzNzMzMzIzMSIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJwb3AvMTI3LjAuMC4xIixyZXNwb25zZT0xODMxNTU0OGM3ZjNhMzdlNzE2ZmE4ZTkwZGZhYjliNixxb3A9YXV0aA== + cnNwYXV0aD1mZWNiMzZiNzA4NmUwYjk1ZDkwNjQ1OWVmYThjYzI5ZQ==
REPLY +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data1>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 15\r
-\r
+<data1 crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
the number one
</data1>
-<data2>
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 16\r
-\r
+<data2 crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
two is nice too
</data2>
# survives
#
<verify>
-<file name="%LOGDIR/dumpit%TESTNUMBER-#2.dump">
-HTTP/1.1 200 OK\r
-Funny-head: yesyes\r
-Content-Length: 16\r
-\r
+<file name="%LOGDIR/dumpit%TESTNUMBER-#2.dump" crlf="headers">
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
two is nice too
</file>
</verify>
REPLY AUTH +
REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
AUTH PLAIN
REPLY AUTH +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTH + UGFzc3dvcmQ6
REPLY c2VjcmV0 +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTH + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
AUTH XOAUTH2
REPLY AUTH +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY "AUTH PLAIN" +
REPLY AHVzZXIAc2VjcmV0 +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
<servercmd>
auth_required
</servercmd>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a
# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<data1000 crlf="headers">
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This IS the real page!
</data1000>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-Content-Type: text/html; charset=iso-8859-1\r
-Connection: close\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
This IS the real page!
</datacheck>
REPLY "AUTH PLAIN" +
REPLY AHVzZXIAc2VjcmV0 +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY "AUTH PLAIN" +
REPLY AHVzZXIAc2VjcmV0 +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
# Server-side
<reply>
<servercmd>
-REPLY "PASS secret" +OK Login successful\r
+REPLY "PASS secret" +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTH +
REPLY dXNlcg== +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTH +
REPLY = +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
AUTH EXTERNAL
REPLY AUTH +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
AUTH EXTERNAL
REPLY AUTH +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
REPLY AUTH +
REPLY %b64[n,a=user,%01host=127.0.0.1%01port=%POP3PORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
AUTH OAUTHBEARER
REPLY AUTH +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
This is supposed to be returned when the server gets a first
Authorization: NTLM line passed-in from the client -->
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 301 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Connection: close\r
-Location: /you/%TESTNUMBER0010\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/%TESTNUMBER0010
+
</data1002>
# This is the first reply after the redirection
-<data1011>
-HTTP/1.1 401 Now gimme that second round of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1011 crlf="headers">
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1011>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1012>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1012 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1012>
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 301 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Connection: close\r
-Location: /you/%TESTNUMBER0010\r
-\r
-HTTP/1.1 401 Now gimme that second round of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/%TESTNUMBER0010
+
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
REPLY AUTH +
REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= +OK Login successful
</servercmd>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
#
# Server-side
<reply>
-<data>
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+body
+
+--
+ yours sincerely
</data>
<servercmd>
POSTFETCH extra stuff sent in the envelope after the body
A004 FETCH 123 BODY[1]
A005 LOGOUT
</protocol>
-<file name="%LOGDIR/head-%TESTNUMBER">
- _ _ ____ _ \r
- ___| | | | _ \| | \r
- / __| | | | |_) | | \r
- | (__| |_| | _ {| |___ \r
- \___|\___/|_| \_\_____|\r
-* OK curl IMAP server ready to serve\r
-A001 BAD Command\r
-A002 OK LOGIN completed\r
-* 172 EXISTS\r
-* 1 RECENT\r
-* OK [UNSEEN 12] Message 12 is first unseen\r
-* OK [UIDVALIDITY 3857529045] UIDs valid\r
-* OK [UIDNEXT 4392] Predicted next UID\r
-* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)\r
-* OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited\r
-A003 OK [READ-WRITE] SELECT completed\r
-* 123 FETCH (BODY[1] {31}\r
-extra stuff sent in the envelope after the body)\r
-A004 OK FETCH completed\r
+<file name="%LOGDIR/head-%TESTNUMBER" crlf="yes">
+ _ _ ____ _%spc%%spc%%spc%%spc%%spc%
+ ___| | | | _ \| |%spc%%spc%%spc%%spc%
+ / __| | | | |_) | |%spc%%spc%%spc%%spc%
+ | (__| |_| | _ {| |___%spc%
+ \___|\___/|_| \_\_____|
+* OK curl IMAP server ready to serve
+A001 BAD Command
+A002 OK LOGIN completed
+* 172 EXISTS
+* 1 RECENT
+* OK [UNSEEN 12] Message 12 is first unseen
+* OK [UIDVALIDITY 3857529045] UIDs valid
+* OK [UIDNEXT 4392] Predicted next UID
+* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
+* OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited
+A003 OK [READ-WRITE] SELECT completed
+* 123 FETCH (BODY[1] {31}
+extra stuff sent in the envelope after the body)
+A004 OK FETCH completed
</file>
</verify>
</testcase>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://firsthost.com/ HTTP/1.1
Host: firsthost.com
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 302 go go go
Content-Length: 8
Location: http://user:pass@%HOSTIP:%HTTPPORT/basic-auth/user/%TESTNUMBER0002
notreal
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Content-Type: text/html
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[first:secret]b64%
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic\r
-WWW-Authenticate: Wild-and-crazy\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data>
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 301 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Connection: close\r
-Location: /you/%TESTNUMBER0010\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/%TESTNUMBER0010
+
</data1002>
# This is the first reply after the redirection
-<data10>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic\r
-WWW-Authenticate: Wild-and-crazy\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
+<data10 crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
This is not the real page
</data10>
-<data1011>
-HTTP/1.1 401 Now gimme that second round of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1011 crlf="headers">
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1011>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1012>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1012 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1012>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic\r
-WWW-Authenticate: Wild-and-crazy\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 301 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Connection: close\r
-Location: /you/%TESTNUMBER0010\r
-\r
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Basic\r
-WWW-Authenticate: Wild-and-crazy\r
-WWW-Authenticate: NTLM\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 26\r
-\r
-HTTP/1.1 401 Now gimme that second round of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 34\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/%TESTNUMBER0010
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<name>
SMTP with CRLF-dot-CRLF in data
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-\r
-.\r
-.\r
-\r
-.\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+
+.
+.
+
+.
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
<name>
RFC821-only SMTP server (EHLO not supported)
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
<name>
SMTP plain authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<name>
SMTP login authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<name>
SMTP CRAM-MD5 authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<servercmd>
AUTH NTLM
REPLY AUTH 334 NTLM supported
-REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated
</servercmd>
</reply>
<name>
SMTP NTLM authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T -
<name>
SMTP DIGEST-MD5 authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<name>
SMTP OAuth 2.0 (XOAUTH2) authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
<name>
SMTP without SIZE support
</name>
-<file name="%LOGDIR/test%TESTNUMBER.eml">
-From: different\r
-To: another\r
-\r
-body\r
+<file name="%LOGDIR/test%TESTNUMBER.eml" crlf="yes">
+From: different
+To: another
+
+body
</file>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml
</info>
# Server-side
<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Magic-Negotiate\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="daniel"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-Connection: close\r
-\r
+<data crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Magic-Negotiate
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="daniel"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+Connection: close
+
</data>
# This is supposed to be returned when the server gets a first
# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
+<data1001 crlf="headers">
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
This is not the real page either!
</data1001>
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<data1002 crlf="headers">
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</data1002>
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose\r
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2\r
-WWW-Authenticate: Magic-Negotiate\r
-WWW-Authenticate: NTLM\r
-WWW-Authenticate: Basic realm="daniel"\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 0\r
-Connection: close\r
-\r
-HTTP/1.1 401 Now gimme that second request of crap\r
-Server: Microsoft-IIS/5.0\r
-Content-Length: 34\r
-Content-Type: text/html; charset=iso-8859-1\r
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
-\r
-HTTP/1.1 200 Things are fine in server land swsclose\r
-Server: Microsoft-IIS/5.0\r
-Content-Type: text/html; charset=iso-8859-1\r
-Content-Length: 32\r
-\r
+<datacheck crlf="headers">
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Magic-Negotiate
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="daniel"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
Finally, this is the real page!
</datacheck>
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<name>
SMTP without terminating CRLF
</name>
-<stdin nonewline="yes">
-From: different\r
-To: another\r
-\r
+<stdin crlf="headers" nonewline="yes">
+From: different
+To: another
+
body
</stdin>
<command>
<name>
SMTP with SIZE support
</name>
-<file name="%LOGDIR/test%TESTNUMBER.eml">
-From: different\r
-To: another\r
-\r
-body\r
+<file name="%LOGDIR/test%TESTNUMBER.eml" crlf="yes">
+From: different
+To: another
+
+body
</file>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml
<name>
SMTP with large message SIZE
</name>
-<file name="%LOGDIR/test%TESTNUMBER.eml">
-From: different\r
-To: another\r
-\r
-body\r
+<file name="%LOGDIR/test%TESTNUMBER.eml" crlf="yes">
+From: different
+To: another
+
+body
</file>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml
<name>
SMTP invalid --mail-from
</name>
-<file name="%LOGDIR/test%TESTNUMBER.eml">
-From: different\r
-To: another\r
-\r
-body\r
+<file name="%LOGDIR/test%TESTNUMBER.eml" crlf="yes">
+From: different
+To: another
+
+body
</file>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from invalid -T %LOGDIR/test%TESTNUMBER.eml
<name>
SMTP without --mail-from
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com -T -
<name>
SMTP with invalid --mail-rcpt
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt invalid --mail-from sender@example.com -T -
<name>
SMTP with multiple --mail-rcpt
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
<name>
SMTP with multiple and invalid --mail-rcpt
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
<name>
SMTP plain authentication with initial response
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T -
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 416 Requested Range Not Satisfiable
Date: Fri, 24 Oct 2003 21:33:12 GMT
Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
</data>
# The body should be ignored.
-<datacheck crlf="yes">
+<datacheck crlf="headers">
HTTP/1.1 416 Requested Range Not Satisfiable
Date: Fri, 24 Oct 2003 21:33:12 GMT
Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=87-
<name>
SMTP login authentication with initial response
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T -
<reply>
<servercmd>
AUTH NTLM
-REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==\r
+REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated
</servercmd>
</reply>
<name>
SMTP NTLM authentication with initial response
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T -
<name>
SMTP OAuth 2.0 (XOAUTH2) authentication with initial response
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
#
# Server-side
<reply>
-<data>
-553-Ambiguous; Possibilities are:\r
-553-Joe Smith <joe.smith@example.com>\r
-553-Harry Smith <harry.smith@example.com>\r
-553 Melvin Smith <melvin.smith@example.com>\r
+<data crlf="yes">
+553-Ambiguous; Possibilities are:
+553-Joe Smith <joe.smith@example.com>
+553-Harry Smith <harry.smith@example.com>
+553 Melvin Smith <melvin.smith@example.com>
</data>
</reply>
#
# Server-side
<reply>
-<data>
-252 Send some mail and I'll try my best\r
+<data crlf="yes">
+252 Send some mail and I'll try my best
</data>
</reply>
# Server-side
<reply>
<servercmd>
-REPLY VRFY 550 Unknown user\r
+REPLY VRFY 550 Unknown user
</servercmd>
</reply>
#
# Server-side
<reply>
-<data>
-250-Joe Smith <joe.smith@example.com>\r
-250-Harry Smith <harry.smith@example.com>\r
-250 Melvin Smith <melvin.smith@example.com>\r
+<data crlf="yes">
+250-Joe Smith <joe.smith@example.com>
+250-Harry Smith <harry.smith@example.com>
+250 Melvin Smith <melvin.smith@example.com>
</data>
</reply>
#
# Server-side
<reply>
-<data>
-214-This server supports the following commands:\r
-214 HELO EHLO RCPT DATA RSET MAIL VRFY EXPN QUIT HELP\r
+<data crlf="yes">
+214-This server supports the following commands:
+214 HELO EHLO RCPT DATA RSET MAIL VRFY EXPN QUIT HELP
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<name>
SMTP CRAM-MD5 authentication with SASL downgrade
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<name>
SMTP NTLM authentication with SASL downgrade
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<name>
SMTP DIGEST-MD5 authentication with SASL downgrade
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
AUTH PLAIN
REPLY AUTH 334 PLAIN supported
REPLY dXNlci5vbmUAdXNlci5vbmUAc2VjcmV0 235 Authenticated
-REPLY dXNlci50d28AdXNlci50d28Ac2VjcmV0 235 Authenticated\r
+REPLY dXNlci50d28AdXNlci50d28Ac2VjcmV0 235 Authenticated
</servercmd>
</reply>
<name>
SMTP multiple connection authentication
</name>
-<file name="%LOGDIR/upload%TESTNUMBER">
-mail body\r
+<file name="%LOGDIR/upload%TESTNUMBER" crlf="yes">
+mail body
</file>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER001 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user.one:secret -T %LOGDIR/upload%TESTNUMBER -: smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER002 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user.two:secret -T %LOGDIR/upload%TESTNUMBER
<name>
RFC821-only SMTP with username and password
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<errorcode>
56
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
CONNECT test.anything.really.com:%TESTNUMBER HTTP/1.0
Host: test.anything.really.com:%TESTNUMBER
User-Agent: curl/%VERSION
<name>
SMTP with username and password but no AUTH capability
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
<name>
SMTP external authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
'smtp://user;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
<name>
SMTP external authentication without credentials
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
'smtp://;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
<name>
SMTP external authentication with initial response
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
'smtp://user;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T -
<name>
SMTP external authentication with initial response without credentials
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
'smtp://;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T -
<name>
SMTP OAuth 2.0 (OAUTHBEARER) authentication
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
<name>
SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
<name>
SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
<name>
SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
contents
</data>
-<connect>
-HTTP/1.1 200 Mighty fine indeed\r
-\r
+<connect crlf="headers">
+HTTP/1.1 200 Mighty fine indeed
+
</connect>
<datacheck>
HTTP/1.1 200 Mighty fine indeed\r
#
# Verify data after the test has been "shot"
<verify>
-<proxy>
-CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1\r
-Host: test.%TESTNUMBER:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Proxy-Connection: Keep-Alive\r
-\r
+<proxy crlf="headers">
+CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: test.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
</proxy>
<protocol crlf="headers" nonewline="yes">
POST /we/want/that/page/%TESTNUMBER HTTP/1.1
#
# Server-side
<reply>
-<data>
-250 <recipient@example.com>\r
+<data crlf="yes">
+250 <recipient@example.com>
</data>
</reply>
<name>
SMTP data with dot as first character
</name>
-<stdin>
-.This first line starts with a dot\r
+<stdin crlf="yes">
+.This first line starts with a dot
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
<name>
SMTP data with single dot-only line
</name>
-<stdin>
-.\r
+<stdin crlf="yes">
+.
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
<name>
SMTP plain authentication with alternative authorization identity
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T -
<name>
SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from Avs%hex[%c3%a4]hex%ndaren@example.com -T -
<name>
SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt St%hex[%c3%b6]hex%dmottagaren@example.com --mail-from sender@example.com -T -
<name>
SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@%hex[%c3%a5%c3%a4%c3%b6]hex%.se -T -
<name>
SMTP without SMTPUTF8 support - UTF-8 based recipient (host part only)
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@%hex[%c3%a5%c3%a4%c3%b6]hex%.se --mail-from sender@example.com -T -
<name>
SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@%hex[%c3%a5%c3%a4%c3%b6]hex%.se -T -
<name>
SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@%hex[%c3%a5%c3%a4%c3%b6]hex%.se --mail-from sender@example.com -T -
<name>
SMTP with SMTPUTF8 support - UTF-8 based sender
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from Avs%hex[%c3%a4]hex%ndaren@%hex[%c3%a5%c3%a4%c3%b6]hex%.se -T -
<name>
SMTP with SMTPUTF8 support - UTF-8 based recipient
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt St%hex[%c3%b6]hex%dmottagaren@%hex[%c3%a5%c3%a4%c3%b6]hex%.se --mail-from sender@example.com -T -
<servercmd>
CAPA SMTPUTF8
</servercmd>
-<data>
-252 Send some mail and I'll try my best\r
+<data crlf="yes">
+252 Send some mail and I'll try my best
</data>
</reply>
#
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
blaha
</data>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://firsthost.com/ HTTP/1.1
Host: firsthost.com
Authorization: Basic %b64[joe:secret]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://firsthost.com/ HTTP/1.1
Host: firsthost.com
Authorization: Basic %b64[joe:secret]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://firsthost.me./ HTTP/1.1
Host: firsthost.me.
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 302 go go go
Content-Length: 8
Location: http://%HOSTIP:%HTTPPORT/user/%TESTNUMBER0002
notreal
</data>
-<data2 crlf="yes">
+<data2 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 6
Content-Type: text/html
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Basic %b64[smith:doggie]b64%
#
# Server-side
<reply>
-<data>
-HTTP/1.0 200 OK\r
-Server: test-server/fake\r
-Content-Type: text/html\r
-Content-Length: 6\r
-\r
+<data crlf="headers">
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
blaha
</data>
</reply>
<name>
SMTPS with redundant explicit SSL request
</name>
-<stdin>
-From: different\r
-To: another\r
-\r
-body\r
+<stdin crlf="yes">
+From: different
+To: another
+
+body
</stdin>
<command>
--insecure --ssl-reqd --mail-rcpt recipient@example.com --mail-from sender@example.com -T - smtps://%HOSTIP:%SMTPSPORT/%TESTNUMBER
#
# Server-side
<reply>
-<data>
-From: me@somewhere\r
-To: fake@nowhere\r
-\r
-body\r
-\r
---\r
- yours sincerely\r
+<data crlf="yes">
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
</data>
</reply>
<errorcode>
33
</errorcode>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Range: bytes=9999999999-
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Server-side
<reply>
-<data crlf="yes">
+<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
<name>
SASL verify default mechanisms are reset by login options
</name>
-<stdin>
-mail body\r
+<stdin crlf="yes">
+mail body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T -
#
# Server-side
<reply>
-<data crlf="yes" nocheck="yes">
+<data crlf="headers" nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://somewhere.example/998 HTTP/1.1
Host: somewhere.example
Authorization: Basic %b64[alberto:einstein]b64%
#
# Verify data after the test has been "shot"
<verify>
-<protocol crlf="yes">
+<protocol crlf="headers">
GET http://somewhere.example/%TESTNUMBER HTTP/1.1
Host: somewhere.example
Authorization: Basic %b64[alberto:einstein]b64%
my (@entiretest) = @_;
my $show = 1;
my @out;
- my $data_crlf;
+ my $data_crlf = "";
my @pshow;
my @altshow;
my $plvl;
next;
}
if($show) {
- # The processor does CRLF replacements in the <data*> sections if
- # necessary since those parts might be read by separate servers.
- if($s =~ /^ *<data(.*)\>/) {
- if($1 =~ /crlf="yes"/) {
- $data_crlf = 1;
+ # The processor does CRLF replacements in the <data*> and <connect*>
+ # sections if necessary since those parts might be read by separate
+ # servers.
+ if($s =~ /^ *<(data|connect)(.*)\>/) {
+ if($2 =~ /crlf="yes"/) {
+ $data_crlf = "yes";
+ }
+ elsif($2 =~ /crlf="headers"/) {
+ $data_crlf = "headers";
}
}
- elsif(($s =~ /^ *<\/data/) && $data_crlf) {
- $data_crlf = 0;
+ elsif(($s =~ /^ *<\/(data|connect)/) && $data_crlf ne "") {
+ $data_crlf = "";
}
subvariables(\$s, $testnum, "%");
subbase64(\$s);
subsha256base64file(\$s);
substrippemfile(\$s);
- subnewlines(0, \$s) if($data_crlf);
+ subnewlines(1, \$s) if($data_crlf eq "yes");
+ subnewlines(0, \$s) if($data_crlf eq "headers");
push @out, $s;
}
}
logmsg " $testnum: IGNORED: Section client=>file has no name attribute\n";
return -1;
}
- my $fileContent = join('', @inputfile);
# make directories if needed
my $path = dirname($filename);
}
if(open(my $outfile, ">", "$filename")) {
binmode $outfile; # for crapage systems, use binary
+
if($fileattr{'nonewline'}) {
# cut off the final newline
- chomp($fileContent);
+ chomp($inputfile[-1]);
+ }
+ if($fileattr{'crlf'}) {
+ subnewlines(1, \$_) for @inputfile;
}
- print $outfile $fileContent;
+ print $outfile join('', @inputfile);
close($outfile);
} else {
logmsg "ERROR: cannot write $filename\n";
chomp($stdintest[-1]);
}
+ if($hash{'crlf'}) {
+ subnewlines(1, \$_) for @stdintest;
+ }
+
writearray($stdinfile, \@stdintest);
$cmdargs .= " <$stdinfile";
}
if($hash{'crlf'}) {
- subnewlines(0, \$_) for @validstdout;
+ if($hash{'crlf'} eq "headers") {
+ subnewlines(0, \$_) for @validstdout;
+ }
+ else {
+ subnewlines(1, \$_) for @validstdout;
+ }
}
$res = compare($runnerid, $testnum, $testname, "stdout", \@actual, \@validstdout);
}
if($hash{'crlf'}) {
- subnewlines(0, \$_) for @validstderr;
+ if($hash{'crlf'} eq "headers") {
+ subnewlines(0, \$_) for @validstderr;
+ }
+ else {
+ subnewlines(1, \$_) for @validstderr;
+ }
}
$res = compare($runnerid, $testnum, $testname, "stderr", \@actual, \@validstderr);
chomp($replycheckpart[-1]);
}
if($replycheckpartattr{'crlf'}) {
- subnewlines(0, \$_) for @replycheckpart;
+ if($replycheckpartattr{'crlf'} eq "headers") {
+ subnewlines(0, \$_) for @replycheckpart;
+ }
+ else {
+ subnewlines(1, \$_) for @replycheckpart;
+ }
}
push(@reply, @replycheckpart);
}
normalize_text(\@reply);
}
if($replyattr{'crlf'}) {
- subnewlines(0, \$_) for @reply;
+ if($replyattr{'crlf'} eq "headers") {
+ subnewlines(0, \$_) for @reply;
+ }
+ else {
+ subnewlines(1, \$_) for @reply;
+ }
}
}
}
if($hash{'crlf'}) {
- subnewlines(0, \$_) for @proxyprot;
+ if($hash{'crlf'} eq "headers") {
+ subnewlines(0, \$_) for @proxyprot;
+ }
+ else {
+ subnewlines(1, \$_) for @proxyprot;
+ }
}
$res = compare($runnerid, $testnum, $testname, "proxy", \@out, \@proxyprot);
normalize_text(\@generated);
}
if($hash{'crlf'}) {
- subnewlines(0, \$_) for @outfile;
+ if($hash{'crlf'} eq "headers") {
+ subnewlines(0, \$_) for @outfile;
+ }
+ else {
+ subnewlines(1, \$_) for @outfile;
+ }
}
for my $strip (@stripfilepar) {
return;
}
- if(($$thing =~ /^HTTP\/(1.1|1.0|2|3) [1-5][^\x0d]*\z/) ||
+ if(($$thing =~ /^HTTP\/(1.1|1.0|2|3) ([1-5]|9)[^\x0d]*\z/) ||
($$thing =~ /^(GET|HEAD|POST|PUT|DELETE|CONNECT) \S+ HTTP\/\d+(\.\d+)?/) ||
($$thing =~ /^(SETUP|GET_PARAMETER|OPTIONS|ANNOUNCE|DESCRIBE) \S+ RTSP\/\d+(\.\d+)?/) ||
(($$thing =~ /^[a-z0-9_-]+: [^\x0d]*\z/i) &&