add curl 7.16.0 to in tree libs

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3744 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris
2006-12-20 02:08:00 +00:00
parent a97672afa9
commit 5626cdd351
896 changed files with 211049 additions and 3 deletions
+7
View File
@@ -0,0 +1,7 @@
# $Id: DISABLED,v 1.3 2006-09-30 20:31:13 bagder Exp $
# This file can be used to specify test cases that should not run when all
# test cases are run by runtests.pl. Just add the plain test case numbers, one
# per line.
# Lines starting with '#' letters are treated as comments.
#230
+39
View File
@@ -0,0 +1,39 @@
iall:
install:
test:
EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test10 test109 test118 test13 test200 test28 test36 test47 test100 test11 \
test119 test14 test201 test29 test37 test5 test101 test110 test12 test15 \
test202 test3 test4 test6 test102 test111 test120 test16 test21 test30 \
test7 test103 test112 test121 test17 test22 test300 test8 test104 test113 \
test122 test18 test23 test301 test9 test105 test114 test123 test19 test24 \
test302 test43 test31 test106 test115 test124 test190 test25 test303 \
test44 test38 test107 test116 test125 test2 test26 test33 test45 test126 \
test304 test39 test32 test128 test48 test306 test130 test131 test132 \
test133 test134 test135 test305 test49 test50 test51 test52 test53 test54 \
test55 test56 test500 test501 test502 test503 test504 test136 test57 \
test137 test138 test58 test139 test140 test141 test59 test60 test61 \
test142 test143 test62 test63 test64 test65 test66 test144 test145 test67 \
test68 test41 test40 test42 test69 test70 test71 test72 test73 test146 \
test505 test74 test75 test76 test77 test78 test147 test148 test506 test79 \
test80 test81 test82 test83 test84 test85 test86 test87 test507 test149 \
test88 test89 test90 test508 test91 test92 test203 test93 test94 test95 \
test509 test510 test97 test98 test99 test150 test151 test152 test153 \
test154 test155 test156 test157 test158 test159 test511 test160 test161 \
test162 test163 test164 test512 test165 test166 test167 test168 test169 \
test170 test171 test172 test204 test205 test173 test174 test175 test176 \
test177 test513 test514 test178 test179 test180 test181 test182 test183 \
test184 test185 test186 test187 test188 test189 test191 test192 test193 \
test194 test195 test196 test197 test198 test515 test516 test517 test518 \
test210 test211 test212 test220 test221 test222 test223 test224 test206 \
test207 test208 test209 test213 test240 test241 test242 test519 test214 \
test215 test216 test217 test218 test199 test225 test226 test227 \
test228 test229 test233 test234 test235 test236 test520 \
test237 test238 test239 test243 test245 test246 test247 test248 test249 \
test250 test251 test252 test253 test254 test255 test521 test522 test523 \
test256 test257 test258 test259 test260 test261 test262 test263 test264 \
test265 test266 test267 test268 test269 test270 test271 test272 test273 \
test274 test275 test524 test525 test276 test277 test526 test527 test528 \
test530 DISABLED test278 test279 test531 test280 test529 test532 test533 \
test534 test535 test281
+403
View File
@@ -0,0 +1,403 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = tests/data
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/lib/config.h \
$(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CABUNDLE_FALSE = @CABUNDLE_FALSE@
CABUNDLE_TRUE = @CABUNDLE_TRUE@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
CURL_DISABLE_COOKIES = @CURL_DISABLE_COOKIES@
CURL_DISABLE_CRYPTO_AUTH = @CURL_DISABLE_CRYPTO_AUTH@
CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
CURL_DISABLE_VERBOSE_STRINGS = @CURL_DISABLE_VERBOSE_STRINGS@
CURL_EXTERN_SYMBOL = @CURL_EXTERN_SYMBOL@
CURL_HIDDEN_SYMBOLS = @CURL_HIDDEN_SYMBOLS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GREP = @GREP@
HAVE_ARES = @HAVE_ARES@
HAVE_LIBZ = @HAVE_LIBZ@
HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
IDN_ENABLED = @IDN_ENABLED@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
IPV6_ENABLED = @IPV6_ENABLED@
KRB4_ENABLED = @KRB4_ENABLED@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MANOPT = @MANOPT@
MIMPURE_FALSE = @MIMPURE_FALSE@
MIMPURE_TRUE = @MIMPURE_TRUE@
NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
NROFF = @NROFF@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKGADD_NAME = @PKGADD_NAME@
PKGADD_PKG = @PKGADD_PKG@
PKGADD_VENDOR = @PKGADD_VENDOR@
PKGCONFIG = @PKGCONFIG@
RANDOM_FILE = @RANDOM_FILE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_GNUTLS = @USE_GNUTLS@
USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
USE_SSLEAY = @USE_SSLEAY@
USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
VERSION = @VERSION@
VERSIONNUM = @VERSIONNUM@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test10 test109 test118 test13 test200 test28 test36 test47 test100 test11 \
test119 test14 test201 test29 test37 test5 test101 test110 test12 test15 \
test202 test3 test4 test6 test102 test111 test120 test16 test21 test30 \
test7 test103 test112 test121 test17 test22 test300 test8 test104 test113 \
test122 test18 test23 test301 test9 test105 test114 test123 test19 test24 \
test302 test43 test31 test106 test115 test124 test190 test25 test303 \
test44 test38 test107 test116 test125 test2 test26 test33 test45 test126 \
test304 test39 test32 test128 test48 test306 test130 test131 test132 \
test133 test134 test135 test305 test49 test50 test51 test52 test53 test54 \
test55 test56 test500 test501 test502 test503 test504 test136 test57 \
test137 test138 test58 test139 test140 test141 test59 test60 test61 \
test142 test143 test62 test63 test64 test65 test66 test144 test145 test67 \
test68 test41 test40 test42 test69 test70 test71 test72 test73 test146 \
test505 test74 test75 test76 test77 test78 test147 test148 test506 test79 \
test80 test81 test82 test83 test84 test85 test86 test87 test507 test149 \
test88 test89 test90 test508 test91 test92 test203 test93 test94 test95 \
test509 test510 test97 test98 test99 test150 test151 test152 test153 \
test154 test155 test156 test157 test158 test159 test511 test160 test161 \
test162 test163 test164 test512 test165 test166 test167 test168 test169 \
test170 test171 test172 test204 test205 test173 test174 test175 test176 \
test177 test513 test514 test178 test179 test180 test181 test182 test183 \
test184 test185 test186 test187 test188 test189 test191 test192 test193 \
test194 test195 test196 test197 test198 test515 test516 test517 test518 \
test210 test211 test212 test220 test221 test222 test223 test224 test206 \
test207 test208 test209 test213 test240 test241 test242 test519 test214 \
test215 test216 test217 test218 test199 test225 test226 test227 \
test228 test229 test233 test234 test235 test236 test520 \
test237 test238 test239 test243 test245 test246 test247 test248 test249 \
test250 test251 test252 test253 test254 test255 test521 test522 test523 \
test256 test257 test258 test259 test260 test261 test262 test263 test264 \
test265 test266 test267 test268 test269 test270 test271 test272 test273 \
test274 test275 test524 test525 test276 test277 test526 test527 test528 \
test530 DISABLED test278 test279 test531 test280 test529 test532 test533 \
test534 test535 test281
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/data/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/data/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
iall:
install:
test:
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
+53
View File
@@ -0,0 +1,53 @@
<info>
<keywords>
HTTP
HTTP GET
</keywords>
</info>
#
# Server-side
<reply name="1">
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes
<foo>
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET
</name>
<command>
http://%HOSTIP:%HTTPPORT/1
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /1 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+65
View File
@@ -0,0 +1,65 @@
<info>
<keywords>
HTTP
HTTP PUT
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.0 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
simple HTTP PUT from file
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/10 -T log/test10.txt
</command>
<file name="log/test10.txt">
Weird
file
to
upload
for
testing
the
PUT
feature
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /we/want/10 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 78
Expect: 100-continue
Weird
file
to
upload
for
testing
the
PUT
feature
</protocol>
</verify>
+57
View File
@@ -0,0 +1,57 @@
<info>
<keywords>
FTP
PASV
LIST
</keywords>
</info>
#
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
#
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP dir list PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
+57
View File
@@ -0,0 +1,57 @@
<info>
<keywords>
FTP
PORT
LIST
</keywords>
</info>
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP dir list, PORT with specified IP
</name>
<command>
ftp://%HOSTIP:%FTPPORT/ -P %HOSTIP
</command>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
PORT 127,0,0,1,243,212
TYPE A
LIST
QUIT
</protocol>
</verify>
+50
View File
@@ -0,0 +1,50 @@
<info>
<keywords>
FTP
PASV
RETR
</keywords>
</info>
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP RETR PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/102
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 102
RETR 102
QUIT
</protocol>
</verify>
+52
View File
@@ -0,0 +1,52 @@
<info>
<keywords>
FTP
PORT
RETR
</keywords>
</info>
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP RETR PORT with CWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/a/path/103 -P -
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strippart>
s/^LPRT.*[\r\n]*//
s/^EPRT.*[\r\n]*//
s/^(PORT 127,0,0,1,)([0-9,]+)/$1/
</strippart>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD a
CWD path
PORT 127,0,0,1,
TYPE I
SIZE 103
RETR 103
QUIT
</protocol>
</verify>
+41
View File
@@ -0,0 +1,41 @@
<info>
<keywords>
FTP
--head
</keywords>
</info>
# Server-side
<reply>
<size>
51
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP --head to get file size only
</name>
<command>
ftp://%HOSTIP:%FTPPORT/a/path/103 --head
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD a
CWD path
MDTM 103
TYPE I
SIZE 103
REST 0
QUIT
</protocol>
</verify>
+51
View File
@@ -0,0 +1,51 @@
<info>
<keywords>
FTP
PASV
TYPE A
RETR
</keywords>
</info>
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP user+password in URL and ASCII transfer
</name>
<command>
ftp://userdude:passfellow@%HOSTIP:%FTPPORT/103 --use-ascii
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
REPLY SIZE 500 no such command
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER userdude
PASS passfellow
PWD
EPSV
PASV
TYPE A
SIZE 103
RETR 103
QUIT
</protocol>
</verify>
+48
View File
@@ -0,0 +1,48 @@
<info>
<keywords>
FTP
EPSV
TYPE A
RETR
</keywords>
</info>
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP GET with type=A style ASCII URL using %20 codes
</name>
<command>
"ftp://%HOSTIP:%FTPPORT//path%20with%20%20spaces//and%20things2/106;type=A"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD /path with spaces
CWD and things2
EPSV
TYPE A
SIZE 106
RETR 106
QUIT
</protocol>
</verify>
+49
View File
@@ -0,0 +1,49 @@
<info>
<keywords>
FTP
EPSV
STOR
</keywords>
</info>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PASV upload file
</name>
<file name="log/test107.txt">
data
to
see
that FTP
works
so does it?
</file>
<command>
ftp://%HOSTIP:%FTPPORT/107 -T log/test107.txt
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<upload>
data
to
see
that FTP
works
so does it?
</upload>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
STOR 107
QUIT
</protocol>
</verify>
+54
View File
@@ -0,0 +1,54 @@
<info>
<keywords>
FTP
PORT
STOR
</keywords>
</info>
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PORT upload with CWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/CWD/STOR/RETR/108 -T log/upload108 -P -
</command>
<file name="log/upload108">
Moooooooooooo
upload this
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^PORT .*
^EPRT .*
^LPRT .*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD CWD
CWD STOR
CWD RETR
PORT 127,0,0,1,5,109
TYPE I
STOR 108
QUIT
</protocol>
<upload>
Moooooooooooo
upload this
</upload>
</verify>
+48
View File
@@ -0,0 +1,48 @@
<info>
<keywords>
FTP
EPSV
APPE
</keywords>
</info>
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PASV upload append
</name>
<command>
ftp://%HOSTIP:%FTPPORT/109 -T log/upload109 --append
</command>
<file name="log/upload109">
Moooooooooooo
upload this
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
APPE 109
QUIT
</protocol>
<upload>
Moooooooooooo
upload this
</upload>
</verify>
+72
View File
@@ -0,0 +1,72 @@
<info>
<keywords>
HTTP
HTTP GET
followlocation
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: data/110002.txt?coolsite=yes
Connection: close
This server reply is for testing a simple Location: following
</data>
<data2>
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</data2>
<datacheck>
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: data/110002.txt?coolsite=yes
Connection: close
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
simple HTTP Location: following
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/11 -L
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/11 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /want/data/110002.txt?coolsite=yes HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+52
View File
@@ -0,0 +1,52 @@
<info>
<keywords>
FTP
PASV
RETR
Resume
</keywords>
</info>
# Server-side
<reply>
<data>
expected to be a file without the first part
but we emulate that
</data>
<size>
85
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download resume with set limit
</name>
<command>
ftp://%HOSTIP:%FTPPORT/110 -C 20
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 110
REST 20
RETR 110
QUIT
</protocol>
</verify>
+45
View File
@@ -0,0 +1,45 @@
<info>
<keywords>
FTP
EPSV
Resume
FAILURE
</keywords>
</info>
# Server-side
<reply>
<size>
85
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download resume beyond file size
</name>
<command>
ftp://%HOSTIP:%FTPPORT/111 -C 2000
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
36
</errorcode>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
SIZE 111
QUIT
</protocol>
</verify>
+49
View File
@@ -0,0 +1,49 @@
<info>
<keywords>
FTP
EPSV
APPE
Resume
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PASV upload resume
</name>
<command>
ftp://%HOSTIP:%FTPPORT/112 -T log/upload112 -C 40
</command>
<file name="log/upload112">
this is the *****crap******** that we're gonna upload
worx?
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
APPE 112
QUIT
</protocol>
<upload>
gonna upload
worx?
</upload>
</verify>
+35
View File
@@ -0,0 +1,35 @@
<info>
<keywords>
FTP
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed login: USER not valid
</name>
<command>
ftp://%HOSTIP:%FTPPORT/113
</command>
<file name="log/ftpserver.cmd">
REPLY USER 314 bluah you fewl!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
67
</errorcode>
<protocol>
USER anonymous
</protocol>
</verify>
+36
View File
@@ -0,0 +1,36 @@
<info>
<keywords>
FTP
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed login: PASS not valid
</name>
<command>
ftp://%HOSTIP:%FTPPORT/114
</command>
<file name="log/ftpserver.cmd">
REPLY PASS 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
67
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
</protocol>
</verify>
+42
View File
@@ -0,0 +1,42 @@
<info>
<keywords>
FTP
PASV
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/115
</command>
<file name="log/ftpserver.cmd">
REPLY PASV 314 bluah you f00l!
REPLY EPSV 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
13
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
QUIT
</protocol>
</verify>
+44
View File
@@ -0,0 +1,44 @@
<info>
<keywords>
FTP
PORT
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/116 -P 127.0.0.1
</command>
<file name="log/ftpserver.cmd">
REPLY PORT 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
30
</errorcode>
<strip>
^PORT 127,0,0,1,.*
^EPRT .*
^LPRT .*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
QUIT
</protocol>
</verify>
+42
View File
@@ -0,0 +1,42 @@
<info>
<keywords>
FTP
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed TYPE
</name>
<command>
ftp://%HOSTIP:%FTPPORT/117
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 314 bluah you f00l!
REPLY TYPE 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
17
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
QUIT
</protocol>
</verify>
+46
View File
@@ -0,0 +1,46 @@
<info>
<keywords>
FTP
PASV
RETR
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed RETR
</name>
<command>
ftp://%HOSTIP:%FTPPORT/118
</command>
<file name="log/ftpserver.cmd">
REPLY RETR 314 bluah you f00l!
REPLY EPSV 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
19
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 118
RETR 118
QUIT
</protocol>
</verify>
+48
View File
@@ -0,0 +1,48 @@
<info>
<keywords>
FTP
PORT
RETR
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed RETR with PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/119 -P -
</command>
<file name="log/ftpserver.cmd">
REPLY RETR 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
19
</errorcode>
<strip>
^PORT.*
^EPRT .*
^LPRT .*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
TYPE I
SIZE 119
RETR 119
QUIT
</protocol>
</verify>
+53
View File
@@ -0,0 +1,53 @@
<info>
<keywords>
HTTP
HTTP GET
Range
</keywords>
</info>
# Server-side
<reply>
<data>
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
ink="#ffffff" vlink="#cccccc">
<table width=100% cellspacing=0 cellpadding=0 border=0>
<tr> 0123456
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP range support
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/12 -r 100-200
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/12 HTTP/1.1
Range: bytes=100-200
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+51
View File
@@ -0,0 +1,51 @@
<info>
<keywords>
FTP
PASV
RETR
post-quote
</keywords>
</info>
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
ftp download with post-quote delete operation
</name>
<command>
ftp://%HOSTIP:%FTPPORT/120 -Q "-DELE file"
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 120
RETR 120
DELE file
QUIT
</protocol>
</verify>
+49
View File
@@ -0,0 +1,49 @@
<info>
<keywords>
FTP
EPSV
RETR
post-quote
pre-quote
</keywords>
</info>
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
ftp download with post- and pre-transfer delete operations
</name>
<command>
ftp://%HOSTIP:%FTPPORT/121 -Q "-DELE after_transfer" -Q "DELE before_transfer"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
DELE before_transfer
EPSV
TYPE I
SIZE 121
RETR 121
DELE after_transfer
QUIT
</protocol>
</verify>
+43
View File
@@ -0,0 +1,43 @@
<info>
<keywords>
FTP
PASV
Resume
</keywords>
</info>
# Server-side
<reply>
<size>
5
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download resume with whole file already downloaded
</name>
<command>
ftp://%HOSTIP:%FTPPORT/122 -C 5
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 122
QUIT
</protocol>
</verify>
+38
View File
@@ -0,0 +1,38 @@
<info>
<keywords>
FTP
EPSV
Resume
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP upload resume with whole file already downloaded
</name>
<command>
ftp://%HOSTIP:%FTPPORT/123 -T log/upload123 -C 51
</command>
<file name="log/upload123">
--------------------------------------------------
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
QUIT
</protocol>
</verify>
+45
View File
@@ -0,0 +1,45 @@
<info>
<keywords>
FTP
PASV
RETR
</keywords>
</info>
# Server-side
<reply>
<data>
we can still send data even if pwd fails!
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed PWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/124
</command>
<file name="log/ftpserver.cmd">
REPLY PWD 314 bluah you f00l!
REPLY EPSV 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 124
RETR 124
QUIT
</protocol>
</verify>
+39
View File
@@ -0,0 +1,39 @@
<info>
<keywords>
FTP
FAILURE
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed CWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/125
</command>
<file name="log/ftpserver.cmd">
REPLY CWD 314 bluah you f00l!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
9
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD path
QUIT
</protocol>
</verify>
+46
View File
@@ -0,0 +1,46 @@
<info>
<keywords>
FTP
EPSV
RETR
RETRWEIRDO
</keywords>
</info>
# Server-side
<reply>
<data>
this is file contents
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download with multiple replies at once in RETR
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/126
</command>
<file name="log/ftpserver.cmd">
RETRWEIRDO
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
CWD lululul
EPSV
TYPE I
SIZE 126
RETR 126
QUIT
</protocol>
</verify>
+44
View File
@@ -0,0 +1,44 @@
<info>
<keywords>
FTP
PASV
RETR
--disable-epsv
</keywords>
</info>
# Server-side
<reply>
<data>
moooooooo
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP --disable-epsv
</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/127 --disable-epsv
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD path
CWD to
CWD file
PASV
TYPE I
SIZE 127
RETR 127
QUIT
</protocol>
</verify>
+55
View File
@@ -0,0 +1,55 @@
<info>
<keywords>
FTP
EPSV
STOR
--crlf
</keywords>
</info>
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP upload with --crlf
</name>
<command>
ftp://%HOSTIP:%FTPPORT/128 -T log/upload128 --crlf
</command>
<file name="log/upload128">
file
with unix newlines
meant to be
converted
with
the
--crlf option
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
STOR 128
QUIT
</protocol>
<upload>
file
with unix newlines
meant to be
converted
with
the
--crlf option
</upload>
</verify>
+42
View File
@@ -0,0 +1,42 @@
<info>
<keywords>
HTTP
HTTP custom request
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 Read you
Content-Length: 29
Deleted: suppose we got a header like this! ;-)
blabla custom request result
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP custom request 'DELETE'
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/13 -X DELETE
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
DELETE /want/13 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+66
View File
@@ -0,0 +1,66 @@
<info>
<keywords>
FTP
EPSV
LIST
netrc
</keywords>
</info>
#
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; no user/pass) dir list PASV
</name>
<command>
--netrc-optional ftp://%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER user1
PASS passwd1
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
+67
View File
@@ -0,0 +1,67 @@
<info>
<keywords>
FTP
EPSV
LIST
netrca
</keywords>
</info>
#
# Server-side
<reply>
#
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; user/no pass) dir list PASV
</name>
<command>
--netrc-optional ftp://user2@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER user2
PASS passwd2
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
+66
View File
@@ -0,0 +1,66 @@
<info>
<keywords>
FTP
EPSV
LIST
netrc
</keywords>
</info>
#
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; user/passwd supplied) dir list PASV
</name>
<command>
--netrc-optional ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER mary
PASS mark
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
+65
View File
@@ -0,0 +1,65 @@
<info>
<keywords>
FTP
EPSV
LIST
netrc
</keywords>
</info>
#
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (compulsory .netrc; ignored user/passwd) dir list PASV
</name>
<command>
-n ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER user1
PASS passwd1
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
+66
View File
@@ -0,0 +1,66 @@
<info>
<keywords>
FTP
EPSV
LIST
netrc
</keywords>
</info>
#
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; programmatic user/passwd) dir list PASV
</name>
<command>
--netrc-optional -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER romulus
PASS rhemus
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
+51
View File
@@ -0,0 +1,51 @@
<info>
<keywords>
FTP
EPSV
RETR
Range
</keywords>
</info>
# Server-side
<reply>
<data>
0123456789abcdef
0123456789abcdef
0123456789abcdef
0123456789abcdef
</data>
<datacheck nonewline=yes>
0123456789abc
</datacheck>
<size>
64
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP retrieve a byte-range
</name>
<command>
-r 4-16 ftp://%HOSTIP:%FTPPORT/135
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
SIZE 135
REST 4
RETR 135
QUIT
</protocol>
</verify>
+40
View File
@@ -0,0 +1,40 @@
<info>
<keywords>
FTP
EPSV
RETR
</keywords>
</info>
# Server-side
<reply>
<data>
0123456789abcdef
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with user and no password
</name>
<command>
-u user: ftp://%HOSTIP:%FTPPORT/136
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER user
PASS
PWD
EPSV
TYPE I
SIZE 136
RETR 136
QUIT
</protocol>
</verify>
+38
View File
@@ -0,0 +1,38 @@
# Server-side
<reply>
<data>
this is file contents
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download without size in RETR string
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/137
</command>
<file name="log/ftpserver.cmd">
RETRNOSIZE
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
CWD lululul
EPSV
TYPE I
SIZE 137
RETR 137
QUIT
</protocol>
</verify>
+41
View File
@@ -0,0 +1,41 @@
# Server-side
<reply>
<data>
this is file contents
</data>
<size>
-1
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download without size in RETR string and no SIZE command
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/138
</command>
<file name="log/ftpserver.cmd">
RETRNOSIZE
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
CWD lululul
EPSV
TYPE I
SIZE 138
RETR 138
QUIT
</protocol>
</verify>
+38
View File
@@ -0,0 +1,38 @@
# Server-side
<reply>
<data>
this is file contents
</data>
<mdtm>
213 20030409102659
</mdtm>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download a newer file with -z
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/139 -z "1 jan 1989"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
MDTM 139
EPSV
TYPE I
SIZE 139
RETR 139
QUIT
</protocol>
</verify>
+42
View File
@@ -0,0 +1,42 @@
<info>
<keywords>
HTTP
HTTP HEAD
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Server: thebest/1.0
Connection: close
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP HEAD with Connection: close
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/14 -i --head
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
HEAD /want/14 HTTP/1.1
User-Agent: curl/7.4.2-pre4 (sparc-sun-solaris2.7) libcurl 7.4.2-pre4
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+33
View File
@@ -0,0 +1,33 @@
# Server-side
<reply>
<data>
</data>
<mdtm>
213 20030409102659
</mdtm>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download file with -z, expected to not transfer
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/140 -z "1 jan 2004"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
MDTM 140
QUIT
</protocol>
</verify>
+39
View File
@@ -0,0 +1,39 @@
# Server-side
<reply>
<data>
</data>
<mdtm>
213 20030409102659
</mdtm>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download info with -I
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/141 -I
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
MDTM 141
TYPE I
SIZE 141
REST 0
QUIT
</protocol>
<stdout>
Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT
</stdout>
</verify>
+183
View File
@@ -0,0 +1,183 @@
# Server-side
<reply>
<data>
many parts there are
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP URL with 150 dir levels
</name>
<command>
ftp://%HOSTIP:%FTPPORT/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD part1
CWD part2
CWD part3
CWD part4
CWD part5
CWD part6
CWD part7
CWD part8
CWD part9
CWD part10
CWD part11
CWD part12
CWD part13
CWD part14
CWD part15
CWD part16
CWD part17
CWD part18
CWD part19
CWD part20
CWD part21
CWD part22
CWD part23
CWD part24
CWD part25
CWD part26
CWD part27
CWD part28
CWD part29
CWD part30
CWD part31
CWD part32
CWD part33
CWD part34
CWD part35
CWD part36
CWD part37
CWD part38
CWD part39
CWD part40
CWD part41
CWD part42
CWD part43
CWD part44
CWD part45
CWD part46
CWD part47
CWD part48
CWD part49
CWD part50
CWD part51
CWD part52
CWD part53
CWD part54
CWD part55
CWD part56
CWD part57
CWD part58
CWD part59
CWD part60
CWD part61
CWD part62
CWD part63
CWD part64
CWD part65
CWD part66
CWD part67
CWD part68
CWD part69
CWD part70
CWD part71
CWD part72
CWD part73
CWD part74
CWD part75
CWD part76
CWD part77
CWD part78
CWD part79
CWD part80
CWD part81
CWD part82
CWD part83
CWD part84
CWD part85
CWD part86
CWD part87
CWD part88
CWD part89
CWD part90
CWD part91
CWD part92
CWD part93
CWD part94
CWD part95
CWD part96
CWD part97
CWD part98
CWD part99
CWD part100
CWD part101
CWD part102
CWD part103
CWD part104
CWD part105
CWD part106
CWD part107
CWD part108
CWD part109
CWD part110
CWD part111
CWD part112
CWD part113
CWD part114
CWD part115
CWD part116
CWD part117
CWD part118
CWD part119
CWD part120
CWD part121
CWD part122
CWD part123
CWD part124
CWD part125
CWD part126
CWD part127
CWD part128
CWD part129
CWD part130
CWD part131
CWD part132
CWD part133
CWD part134
CWD part135
CWD part136
CWD part137
CWD part138
CWD part139
CWD part140
CWD part141
CWD part142
CWD part143
CWD part144
CWD part145
CWD part146
CWD part147
CWD part148
CWD part149
CWD part150
EPSV
TYPE I
SIZE 142
RETR 142
QUIT
</protocol>
</verify>
+35
View File
@@ -0,0 +1,35 @@
# Server-side
<reply>
<data>
bla bla bla
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP URL with type=a
</name>
<command>
"ftp://%HOSTIP:%FTPPORT/%2ftmp/moo/143;type=a"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD /tmp
CWD moo
EPSV
TYPE A
SIZE 143
RETR 143
QUIT
</protocol>
</verify>
+40
View File
@@ -0,0 +1,40 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP NLST dir list without contents, using PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/ -P - -l
</command>
<file name="log/ftpserver.cmd">
REPLY NLST 450 No files found
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
PORT 127,0,0,1,243,212
TYPE A
NLST
QUIT
</protocol>
</verify>
+43
View File
@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP NLST dir list with weird reply code, using PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/ -P - -l
</command>
<file name="log/ftpserver.cmd">
REPLY NLST 550 Have a taste on this!
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
19
</errorcode>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
PORT 127,0,0,1,243,212
TYPE A
NLST
QUIT
</protocol>
</verify>
+46
View File
@@ -0,0 +1,46 @@
# Server-side
<reply>
<data>
this is file contents
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
persistant FTP with different paths
</name>
<command>
ftp://%HOSTIP:%FTPPORT/first/dir/here/146 ftp://%HOSTIP:%FTPPORT/146
</command>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD first
CWD dir
CWD here
EPSV
TYPE I
SIZE 146
RETR 146
CWD /nowhere/anywhere
EPSV
SIZE 146
RETR 146
QUIT
</protocol>
</verify>
+48
View File
@@ -0,0 +1,48 @@
# Server-side
<reply>
<data>
foo
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with --ftp-create-dirs (failing CWD)
</name>
<command>
ftp://%HOSTIP:%FTPPORT/first/dir/here/147 --ftp-create-dirs
</command>
<file name="log/ftpserver.cmd">
REPLY CWD 550 I won't allow this on my server
COUNT CWD 1
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD first
MKD first
CWD first
CWD dir
CWD here
EPSV
TYPE I
SIZE 147
RETR 147
QUIT
</protocol>
</verify>
+41
View File
@@ -0,0 +1,41 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with --ftp-create-dirs (failing MKD)
</name>
<command>
ftp://%HOSTIP:%FTPPORT/attempt/to/get/this/148 --ftp-create-dirs
</command>
<file name="log/ftpserver.cmd">
REPLY CWD 550 I won't allow this on my server
REPLY MKD 550 We will have no such thing
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<errorcode>
9
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD attempt
MKD attempt
QUIT
</protocol>
</verify>
+46
View File
@@ -0,0 +1,46 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with multiple uploads
</name>
<command>
-T log/upload148 ftp://%HOSTIP:%FTPPORT/dir1/148 -T log/upload148 ftp://%HOSTIP:%FTPPORT/dir2/148
</command>
<file name="log/upload148">
send away this contents
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD dir1
EPSV
TYPE I
STOR 148
CWD /nowhere/anywhere
CWD dir2
EPSV
STOR 148
QUIT
</protocol>
<file name="log/upload148">
send away this contents
</file>
</verify>
+55
View File
@@ -0,0 +1,55 @@
<info>
<keywords>
HTTP
HTTP GET
--write-out
</keywords>
</info>
# Server-side
<reply>
<data nocheck=true>
HTTP/1.4 200 OK
Fake: yes
Fake: yes
Fake: yes
Content-Length: 26
Repeated nonsense-headers
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
--write-out test
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/15 --write-out '%{url_effective} %{http_code} %{size_download}\n'
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<stdout>
HTTP/1.4 200 OK
Fake: yes
Fake: yes
Fake: yes
Content-Length: 26
Repeated nonsense-headers
http://127.0.0.1:%HTTPPORT/want/15 200 26
</stdout>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/15 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+84
View File
@@ -0,0 +1,84 @@
# Server-side
<reply>
# no <data> in this test since we have NTLM from the start
# 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
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Content-Length: 34
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
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
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Finally, this is the real page!
</data1002>
<datacheck>
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==
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!
</datacheck>
</reply>
# Client-side
<client>
<features>
NTLM
</features>
<server>
http
</server>
<name>
HTTP with NTLM authorization and --fail
</name>
<command>
http://%HOSTIP:%HTTPPORT/150 -u testuser:testpass --ntlm --fail
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
# We strip off a large chunk of the type-2 NTLM message since it depends on
# the local host name and thus differs on different machines!
<strippart>
s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
</strippart)
<protocol>
GET /150 HTTP/1.1
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /150 HTTP/1.1
Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+39
View File
@@ -0,0 +1,39 @@
# Server-side
<reply>
<data>
HTTP/1.0 401 BAD BOY
Server: swsclose
Content-Type: text/html
This contains a response code >= 400, so curl shouldn't display this. Even
though it's a response code that triggers authentication, we're not using
authentication so we should still fail.
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with an error code that might trick authentication
</name>
<command>
http://%HOSTIP:%HTTPPORT/151
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET /151 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+42
View File
@@ -0,0 +1,42 @@
# Server-side
<reply>
<data nocheck=1>
HTTP/1.0 401 BAD BOY
Server: swsclose
Content-Type: text/html
This contains a response code >= 400, so curl shouldn't display this. Even
though it's a response code that triggers authentication, we're not using
authentication so we should still fail.
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with an error code that might trick authentication and --fail
</name>
<command>
http://%HOSTIP:%HTTPPORT/152 --fail
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET /152 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
<errorcode>
22
</errorcode>
</verify>
+118
View File
@@ -0,0 +1,118 @@
# Server-side
<reply>
# reply back and ask for Digest auth
<data1>
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
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
<data1001>
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
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: 25
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
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>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with Digest authorization with stale=true
</name>
<command>
http://%HOSTIP:%HTTPPORT/1530001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/1530002
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^Authorization.*cnonce
^User-Agent:.*
</strip>
<protocol>
GET /1530001 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /1530001 HTTP/1.1
Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530001", response="f4f83139396995bac665f24a1f1055c7"
User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /1530002 HTTP/1.1
Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530002", response="f84511b014fdd0ba6494f42871079c32"
User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /1530002 HTTP/1.1
Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/1530002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm="MD5"
User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
<stdout>
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
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 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: 25
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>
+94
View File
@@ -0,0 +1,94 @@
# Server-side
<reply>
<servercmd>
auth_required
</servercmd>
<data>
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
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
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>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP PUT with --anyauth authorization (picking Digest)
</name>
<command>
http://%HOSTIP:%HTTPPORT/154 -T log/put154 -u testuser:testpass --anyauth
</command>
<file name="log/put154">
This is data we upload with PUT
a second line
line three
four is the number of lines
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /154 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 85
Expect: 100-continue
PUT /154 HTTP/1.1
Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/154", response="b71551e12d1c456e47d8388ecb2edeca"
User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 85
Expect: 100-continue
This is data we upload with PUT
a second line
line three
four is the number of lines
</protocol>
</verify>
+123
View File
@@ -0,0 +1,123 @@
# Server-side
<reply>
<servercmd>
auth_required
</servercmd>
<data>
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
Server: Microsoft-IIS/5.0
Content-Length: 34
Content-Type: text/html; charset=iso-8859-1
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
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 Recevied and all Things are fine swsclose
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Finally, this is the real page!
</data1002>
<datacheck>
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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Finally, this is the real page!
</datacheck>
</reply>
# Client-side
<client>
<features>
NTLM
</features>
<server>
http
</server>
<name>
HTTP PUT with --anyauth authorization (picking NTLM)
</name>
<command>
http://%HOSTIP:%HTTPPORT/155 -T log/put155 -u testuser:testpass --anyauth
</command>
<file name="log/put155">
This is data we upload with PUT
a second line
line three
four is the number of lines
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
# We strip off a large chunk of the type-2 NTLM message since it depends on
# the local host name and thus differs on different machines!
<strippart>
s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
</strippart)
<protocol>
PUT /155 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 85
Expect: 100-continue
PUT /155 HTTP/1.1
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 0
Expect: 100-continue
PUT /155 HTTP/1.1
Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 85
Expect: 100-continue
This is data we upload with PUT
a second line
line three
four is the number of lines
</protocol>
</verify>
+50
View File
@@ -0,0 +1,50 @@
# Server-side
<reply>
<data>
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>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP PUT with --anyauth (when the server requires none)
</name>
<command>
http://%HOSTIP:%HTTPPORT/156 -T log/put156 -u testuser:testpass --anyauth
</command>
<file name="log/put156">
This is data we upload with PUT
a second line
line three
four is the number of lines
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /156 HTTP/1.1
User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 85
Expect: 100-continue
This is data we upload with PUT
a second line
line three
four is the number of lines
</protocol>
</verify>
+37
View File
@@ -0,0 +1,37 @@
# Server-side
<reply>
<data>
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>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with --anyauth (when the server requires none)
</name>
<command>
http://%HOSTIP:%HTTPPORT/157 -u testuser:testpass --anyauth
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /157 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+48
View File
@@ -0,0 +1,48 @@
# Server-side
<reply>
<data>
HTTP/1.1 100 Continue swsclose
Silly-header: yeeeees
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP multipart formpost with only a 100 reply
</name>
<command>
http://%HOSTIP:%HTTPPORT/158 -F name=daniel
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
^Content-Type: multipart/form-data.*
^---------------------------.*
</strip>
<protocol>
POST /158 HTTP/1.1
User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 145
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------4f12fcdaa3bc
------------------------------4f12fcdaa3bc
Content-Disposition: form-data; name="name"
daniel
------------------------------4f12fcdaa3bc--
</protocol>
<errorcode>
52
</errorcode>
</verify>
+84
View File
@@ -0,0 +1,84 @@
# Server-side
<reply>
# no <data> in this test since we have NTLM from the start
# 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
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Content-Length: 34
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
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
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Finally, this is the real page!
</data1002>
<datacheck>
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==
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!
</datacheck>
</reply>
# Client-side
<client>
<features>
NTLM
</features>
<server>
http
</server>
<name>
HTTP with NTLM authorization when talking HTTP/1.0
</name>
<command>
http://%HOSTIP:%HTTPPORT/159 -u testuser:testpass --ntlm -0
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
# We strip off a large chunk of the type-2 NTLM message since it depends on
# the local host name and thus differs on different machines!
<strippart>
s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
</strippart)
<protocol>
GET /159 HTTP/1.0
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /159 HTTP/1.0
Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+49
View File
@@ -0,0 +1,49 @@
<info>
<keywords>
HTTP
HTTP GET
HTTP proxy Basic auth
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 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>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with proxy athorization
</name>
<command>
-U fake@user:§§§looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HTTPPORT http://we.want.that.site.com/16
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://we.want.that.site.com/16 HTTP/1.1
Proxy-Authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZw==
Host: we.want.that.site.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
+64
View File
@@ -0,0 +1,64 @@
# Server-side
<reply>
<data nocheck=true>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
surprise
</data>
<data1>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
surprise2
</data1>
<postcmd>
wait 1
</postcmd>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with delayed close, conn reuse, connection reset and retry
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/160 http://%HOSTIP:%HTTPPORT/wantmore/1600001
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<stdout>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
surprise
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
surprise2
</stdout>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/160 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /wantmore/1600001 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+39
View File
@@ -0,0 +1,39 @@
# Server-side
<reply>
<data>
1oooooooooooooooooooooooooooooooooooooooooo2
</data>
<size>
10928
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP RETR PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/161
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
SIZE 161
RETR 161
</protocol>
<errorcode>
18
</errrorcode>
</verify>
+49
View File
@@ -0,0 +1,49 @@
# Server-side
<reply>
<data1001 nocheck=1>
HTTP/1.0 407 BAD BOY
Proxy-Authenticate: Basic realm="Squid proxy-caching web server"
Server: swsclose
Content-Type: text/html
Even though it's the response code that triggers authentication, we're
using NTLM and the server isn't, so we should fail. We know the server
isn't because there's no Proxy-Authorization: NTLM header
</data1001>
</reply>
# Client-side
<client>
<features>
NTLM
</features>
<server>
http
</server>
<name>
HTTP GET asking for --proxy-ntlm when some other authentication is required
</name>
<command>
http://%HOSTIP:%HTTPPORT/162 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm --fail
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET http://127.0.0.1:%HTTPPORT/162 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:%HTTPPORT
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
<errorcode>
22
</errorcode>
</verify>
+70
View File
@@ -0,0 +1,70 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP multipart formpost with contents from a file
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/163 -F "name=<log/field163" -F tool=curl
</command>
# We create this file before the command is invoked!
<file name="log/field163">
contents
from
a
file
newlinens?
yes please
[tab][CR] too
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^(User-Agent:|Content-Type: multipart/form-data;|------------).*
</strip>
<protocol>
POST /we/want/163 HTTP/1.1
User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.0.0
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 304
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------c2d1767eb6ac
------------------------------c2d1767eb6ac
Content-Disposition: form-data; name="name"
contents
from
a
file
newlinens?
yes please
[tab][CR] too
------------------------------c2d1767eb6ac
Content-Disposition: form-data; name="tool"
curl
------------------------------c2d1767eb6ac--
</protocol>
</verify>
+58
View File
@@ -0,0 +1,58 @@
# Server-side
# This particular response is an exact excerpt from an actual Apache
# server when asked for a 0-10,12-15 range.
<reply>
<data>
HTTP/1.1 206 Partial Content swsclose
Date: Sat, 24 Apr 2004 09:24:49 GMT
Server: Apache/1.3.29 (Unix) mod_throttle/3.1.2 PHP/4.3.4 mod_fastcgi/2.4.0
Last-Modified: Tue, 23 Mar 2004 08:23:14 GMT
ETag: "53814a-ec5-405ff3f2"
Accept-Ranges: bytes
Content-Length: 187
Content-Type: multipart/byteranges; boundary=408a326132c
--408a326132c
Content-type: text/html
Content-range: bytes 0-10/3781
<html>
<hea
--408a326132c
Content-type: text/html
Content-range: bytes 12-15/3781
>
<t
--408a326132c--
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP range with multiple ranges
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/164 -r 0-10,12-15
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/164 HTTP/1.1
Range: bytes=0-10,12-15
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+48
View File
@@ -0,0 +1,48 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<features>
idn
</features>
<setenv>
CHARSET=ISO8859-1
</setenv>
<name>
HTTP over proxy with IDN host name
</name>
<command>
http://www.åäö.se/page/165 -x %HOSTIP:%HTTPPORT
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://www.xn--4cab6c.se/page/165 HTTP/1.1
Host: www.xn--4cab6c.se
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
+51
View File
@@ -0,0 +1,51 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP formpost a file with spaces in name
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/166 -F "name=@log/fie ld 166"
</command>
# We create this file before the command is invoked!
<file name="log/fie ld 166">
data inside the file
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^(User-Agent:|Content-Type: multipart/form-data;|------------).*
</strip>
<protocol>
POST /we/want/166 HTTP/1.1
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 223
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------b0b3d6d23991
------------------------------b0b3d6d23991
Content-Disposition: form-data; name="name"; filename="fie ld 166"
Content-Type: application/octet-stream
data inside the file
------------------------------b0b3d6d23991--
</protocol>
</verify>
+64
View File
@@ -0,0 +1,64 @@
# Server-side
<reply>
<data>
HTTP/1.1 401 Authorization Required swsclose
WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
</data>
<data1000>
HTTP/1.1 200 OK swsclose
Server: no
Nice auth sir!
</data1000>
<datacheck>
HTTP/1.1 401 Authorization Required swsclose
WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
HTTP/1.1 200 OK swsclose
Server: no
Nice auth sir!
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with proxy-requiring-Basic to site-requiring-Digest
</name>
<command>
http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:alot
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1
Proxy-Authorization: Basic Zm9vOmJhcg==
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1
Proxy-Authorization: Basic Zm9vOmJhcg==
Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/167", response="13c7c02a252cbe1c46d8669898a3be26"
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
+85
View File
@@ -0,0 +1,85 @@
# Server-side
<reply>
# this is returned first since we get no proxy-auth
<data>
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
WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
you should ignore this data too
</data1000>
<data1001>
HTTP/1.1 200 OK swsclose
Server: no
Nice auth sir!
</data1001>
<datacheck>
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
Nice auth sir!
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with proxy-requiring-Digest to site-requiring-Digest
</name>
<command>
http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/168", response="ca87f2d768a231e2d637a55698d5c416"
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
+114
View File
@@ -0,0 +1,114 @@
# Server-side
<reply>
# this is returned first since we get no proxy-auth
<data>
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
Content-Length: 27
Welcome to the end station
</data1000>
<data1001>
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 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
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
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
Server: Microsoft-IIS/5.0
Content-Length: 34
Content-Type: text/html; charset=iso-8859-1
Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
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>
# Client-side
<client>
<server>
http
</server>
<features>
NTLM
</features>
<name>
HTTP with proxy-requiring-NTLM to site-requiring-Digest
</name>
<command>
http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm --digest --user digest:alot
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
# We strip off a large chunk of the type-2 NTLM message since it depends on
# the local host name and thus differs on different machines!
<strippart>
s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAwADAHAAAAA).*/$1/
</strippart)
<protocol>
GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAwADAHAAAAA
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
Authorization: Digest username="digest", realm="r e a l m", nonce="abcdef", uri="/169", response="95d48591985a03c4b49cb962aa7bd3e6"
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
Host: data.from.server.requiring.digest.hohoho.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
+52
View File
@@ -0,0 +1,52 @@
<info>
<keywords>
HTTP
HTTP custom request
config file
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 27
This is the proof it works
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with config file on stdin
</name>
<stdin>
#
# Use a silly request without '--':
request MOOO
#
# Set the user-agent using a short-option:
-A "agent007 license to drill\t"
#
# long option *with* '--':
--max-time 180
</stdin>
<command>
-K - %HOSTIP:%HTTPPORT/that.site.com/17
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
MOOO /that.site.com/17 HTTP/1.1
User-Agent: agent007 license to drill
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+41
View File
@@ -0,0 +1,41 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
http
</server>
<features>
NTLM
</features>
<name>
HTTP POST with --proxy-ntlm and no SSL with no response
</name>
<command>
http://a.galaxy.far.far.away/170 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -F "dummy=value"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
POST http://a.galaxy.far.far.away/170 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 libidn/0.4.3
Host: a.galaxy.far.far.away
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 0
</protocol>
# 52 is CURLE_GOT_NOTHING
<errorcode>
52
</errorcode>
</verify>
+48
View File
@@ -0,0 +1,48 @@
# Server-side
<reply>
<data>
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 Location: following
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP, get cookie with dot prefixed full domain
</name>
<command>
-c log/jar171 -x %HOSTIP:%HTTPPORT http://z.x.com/171
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://z.x.com/171 HTTP/1.1
Host: z.x.com
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
<file name="log/jar171" mode=text>
# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
.z.x.com TRUE / FALSE 0 XToken xt
</file>
</verify>
+46
View File
@@ -0,0 +1,46 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Content-Length: 4
Connection: close
boo
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with cookies file and custom added cookie
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/172 -b log/jar172.txt -b "tool=curl; name=fool"
</command>
<file name="log/jar172.txt">
# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
.127.0.0.1 TRUE /silly/ FALSE 0 ismatch this
.127.0.0.1 TRUE / FALSE 0 partmatch present
127.0.0.1 FALSE /we/want/ FALSE 1391252187 nodomain value
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /we/want/172 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Cookie: nodomain=value; partmatch=present; tool=curl; name=fool
</protocol>
</verify>
+70
View File
@@ -0,0 +1,70 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP RFC1867-formpost a file from stdin with "faked" filename
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null"
</command>
<stdin>
line1
line2
line3
line4
line5
line6
line7
line8
</stdin>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^(User-Agent:|Content-Type: multipart/form-data;|------------).*
</strip>
<protocol>
POST /we/want/173 HTTP/1.1
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 359
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------5dbea401cd8c
------------------------------5dbea401cd8c
Content-Disposition: form-data; name="field1"
contents1
------------------------------5dbea401cd8c
Content-Disposition: form-data; name="fileupload"; filename="/dev/null"
Content-Type: application/octet-stream
line1
line2
line3
line4
line5
line6
line7
line8
------------------------------5dbea401cd8c--
</protocol>
</verify>
+42
View File
@@ -0,0 +1,42 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 beng 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
This is not the real page
</data>
</reply>
# Client-side
<client>
#
<server>
http
</server>
<name>
HTTP POST --anyauth to server not requiring any auth at all
</name>
<command>
http://%HOSTIP:%HTTPPORT/174 -u testuser:testpass --anyauth -d "junkelijunk"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol nonewline=yes>
POST /174 HTTP/1.1
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 11
Content-Type: application/x-www-form-urlencoded
junkelijunk
</protocol>
</verify>
+71
View File
@@ -0,0 +1,71 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 beng 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
Server: Microsoft-IIS/6.0
Content-Type: text/html; charset=iso-8859-1
content for you
</data1>
<datacheck>
HTTP/1.1 200 beng 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 for you
</datacheck>
</reply>
# Client-side
<client>
#
<server>
http
</server>
<name>
HTTP POST --digest to server not requiring any auth at all
</name>
<command>
http://%HOSTIP:%HTTPPORT/175 -u auser:apasswd --digest -d "junkelijunk"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol nonewline=yes>
POST /175 HTTP/1.1
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
POST /175 HTTP/1.1
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 11
Content-Type: application/x-www-form-urlencoded
junkelijunk
</protocol>
</verify>
+75
View File
@@ -0,0 +1,75 @@
# Server-side
<reply>
# the first request has NTLM type-1 included, and then the 1001 is returned
<data1001>
HTTP/1.1 200 beng 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
</data1001>
# the second request should be auth-less and then this is returned.
<data>
HTTP/1.1 200 moo swsclose
Server: Microsoft-IIS/6.0
Content-Type: text/html; charset=iso-8859-1
content for you
</data>
<datacheck>
HTTP/1.1 200 beng 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 for you
</datacheck>
</reply>
# Client-side
<client>
<features>
NTLM
</features>
<server>
http
</server>
<name>
HTTP POST --ntlm to server not requiring any auth at all
</name>
<command>
http://%HOSTIP:%HTTPPORT/176 -u auser:apasswd --ntlm -d "junkelijunk"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol nonewline=yes>
POST /176 HTTP/1.1
Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
POST /176 HTTP/1.1
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 11
Content-Type: application/x-www-form-urlencoded
junkelijunk
</protocol>
</verify>
+40
View File
@@ -0,0 +1,40 @@
# Server-side
<reply>
<data>
HTTP/1.1 302 *MOVED* swsclose swsbounce
Server: Microsoft-IIS/6.0
Location: /mooooo/177
Content-Type: text/html; charset=iso-8859-1
</data>
</reply>
# Client-side
<client>
#
<server>
http
</server>
<name>
HTTP POST --digest to server doing a 302-location response
</name>
<command>
http://%HOSTIP:%HTTPPORT/177 -u auser:apasswd --digest -d "junkelijunk"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
POST /177 HTTP/1.1
User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
</protocol>
</verify>
+41
View File
@@ -0,0 +1,41 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: -6
Content-Type: text/html
Funny-head: yesyes
moooooooooooo
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
simple HTTP GET with negative Content-Length
</name>
<command>
http://%HOSTIP:%HTTPPORT/178
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /178 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>
+47
View File
@@ -0,0 +1,47 @@
# Server-side
<reply>
<data>
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>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP using proxy and cookies with path checks
</name>
<command>
http://supertrooper.fake/c/179 -b log/injar179 -x %HOSTIP:%HTTPPORT
</command>
<file name="log/injar179">
supertrooper.fake FALSE /a FALSE 2139150993 mooo indeed
supertrooper.fake FALSE /b FALSE 0 moo1 indeed
supertrooper.fake FALSE /c FALSE 2139150993 moo2 indeed
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://supertrooper.fake/c/179 HTTP/1.1
Host: supertrooper.fake
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
Cookie: moo2=indeed
</protocol>
</verify>
+88
View File
@@ -0,0 +1,88 @@
<info>
<keywords>
HTTP
HTTP GET
{} list
</keywords>
</info>
# Server-side
<reply>
<data nocheck=1>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
moo
</data>
<data2>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
foo
</data2>
<data3>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
hoo
</data3>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
multiple requests using {} in URL
</name>
<command>
'%HOSTIP:%HTTPPORT/{18,180002,180003}'
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /18 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /180002 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /180003 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
<stdout>
--_curl_--127.0.0.1:%HTTPPORT/18
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
moo
--_curl_--127.0.0.1:%HTTPPORT/180002
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
foo
--_curl_--127.0.0.1:%HTTPPORT/180003
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
hoo
</stdout>
</verify>
+57
View File
@@ -0,0 +1,57 @@
<reply>
<data>
HTTP/1.0 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP 1.0 PUT
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/180 -T log/test180.txt --http1.0
</command>
<file name="log/test180.txt">
Weird
file
to
upload
for
testing
the
PUT
feature
</file>
</reply>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /we/want/180 HTTP/1.0
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 78
Weird
file
to
upload
for
testing
the
PUT
feature
</protocol>
</verify>
+58
View File
@@ -0,0 +1,58 @@
<reply>
<data>
HTTP/1.0 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP 1.0 POST
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/181 --data-binary @log/test181.txt --http1.0
</command>
<file name="log/test181.txt">
Weird
file
to
upload
for
testing
the
POST
feature
</file>
</reply>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
POST /we/want/181 HTTP/1.0
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 79
Content-Type: application/x-www-form-urlencoded
Weird
file
to
upload
for
testing
the
POST
feature
</protocol>
</verify>
+35
View File
@@ -0,0 +1,35 @@
# Server-side
<reply>
<data sendzero=yes>
</data>
<size>
0
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download an empty file
</name>
<command>
ftp://%HOSTIP:%FTPPORT/182
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
SIZE 182
RETR 182
QUIT
</protocol>
</verify>
+50
View File
@@ -0,0 +1,50 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
moo
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<features>
SSL
</features>
<name>
HTTP GET two URLs over a single proxy with persistent connection
</name>
<command>
http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://%HOSTIP:%HTTPPORT
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET http://deathstar.another.galaxy/183 HTTP/1.1
User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
Host: deathstar.another.galaxy
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
GET http://a.galaxy.far.far.away/183 HTTP/1.1
User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
Host: a.galaxy.far.far.away
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
+69
View File
@@ -0,0 +1,69 @@
# Server-side
<reply>
<data>
HTTP/1.1 301 OK swsbounce
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
Location: http://yet.another.host/184
moo
</data>
<data1>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
moo
</data1>
<datacheck>
HTTP/1.1 301 OK swsbounce
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
Location: http://yet.another.host/184
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
moo
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<features>
SSL
</features>
<name>
HTTP replace Host: when following Location: to new host
</name>
<command>
http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET http://deathstar.another.galaxy/184 HTTP/1.1
User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
Host: another.visitor.stay.a.while.stay.foreeeeeever
GET http://yet.another.host/184 HTTP/1.1
Host: yet.another.host
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
+69
View File
@@ -0,0 +1,69 @@
# Server-side
<reply>
<data>
HTTP/1.1 301 OK swsbounce
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
Location: go/west/185
moo
</data>
<data1>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
moo
</data1>
<datacheck>
HTTP/1.1 301 OK swsbounce
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
Location: go/west/185
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 4
moo
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<features>
SSL
</features>
<name>
HTTP replace Host: when following Location: on the same host
</name>
<command>
http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET http://deathstar.another.galaxy/185 HTTP/1.1
User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
Host: another.visitor.stay.a.while.stay.foreeeeeever
GET http://deathstar.another.galaxy/go/west/185 HTTP/1.1
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive
Host: another.visitor.stay.a.while.stay.foreeeeeever
</protocol>
</verify>
+53
View File
@@ -0,0 +1,53 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP RFC1867-type formposting with types on text fields
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/186 -F "name=daniel;type=moo/foo" -F "html= <body>hello</body>;type=text/html"
</command>
# We create this file before the command is invoked!
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^(User-Agent:|Content-Type: multipart/form-data;|------------).*
</strip>
<protocol>
POST /we/want/186 HTTP/1.1
User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.1 c-ares/1.2.0 libidn/0.5.2
Host: 127.0.0.1:%HTTPPORT
Accept: */*
Content-Length: 305
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------212d9006ceb5
------------------------------212d9006ceb5
Content-Disposition: form-data; name="name"
Content-Type: moo/foo
daniel
------------------------------212d9006ceb5
Content-Disposition: form-data; name="html"
Content-Type: text/html
<body>hello</body>
------------------------------212d9006ceb5--
</protocol>
</verify>
+65
View File
@@ -0,0 +1,65 @@
# Server-side
<reply>
<data>
HTTP/1.1 301 This is a weirdo text message
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: /root/1870002.txt?coolsite=yes
Connection: close
This server reply is for testing a simple Location: following
</data>
<data2>
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</data2>
<datacheck>
HTTP/1.1 301 This is a weirdo text message
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: /root/1870002.txt?coolsite=yes
Connection: close
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP redirect with bad host name separation and slash in parameters
</name>
<command>
http://%HOSTIP:%HTTPPORT?oh=what-weird=test/187 -L
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /?oh=what-weird=test/187 HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
GET /root/1870002.txt?coolsite=yes HTTP/1.1
Host: 127.0.0.1:%HTTPPORT
Accept: */*
</protocol>
</verify>

Some files were not shown because too many files have changed in this diff Show More