Olivier reported that even though he used CURLOPT_PORT, libcurl clearly still

used the default port. He was right. I fixed the problem and added the test
cases 521, 522 and 523 to verify the fix.
This commit is contained in:
Daniel Stenberg 2005-04-18 19:41:04 +00:00
parent c904b6b5bf
commit 63d109f7be
8 changed files with 197 additions and 17 deletions

View file

@ -34,7 +34,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test199 test225 test226 test227 test230 test231 test232 test228 \
test229 test233 test234 test235 test236 test520 test237 test238 \
test239 test243 test245 test246 test247 test248 test249 test250 \
test251 test252 test253 test254 test255
test251 test252 test253 test254 test255 test521 test522 test523
# The following tests have been removed from the dist since they no longer
# work. We need to fix the test suite's FTPS server first, then bring them

59
tests/data/test521 Normal file
View file

@ -0,0 +1,59 @@
<info>
<keywords>
FTP
PASV
CURLOPT_PORT
</keywords>
</info>
#
# Server-side
<reply>
<data>
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
</data>
</reply>
#
# Client-side
<client>
<server>
ftp
</server>
<tool>
lib521
</tool>
<name>
FTP dir list PASV with CURLOPT_PORT
</name>
<command>
ftp://%HOSTIP/520/ %FTPPORT
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER xxx
PASS yyy
PWD
CWD 520
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>

59
tests/data/test522 Normal file
View file

@ -0,0 +1,59 @@
<info>
<keywords>
HTTP
HTTP GET
CURLOPT_PORT
</keywords>
</info>
#
# Server-side
<reply>
<data nocheck=1>
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
hello
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<tool>
lib521
</tool>
<name>
HTTP GET with CURLOPT_PORT
</name>
<command>
http://%HOSTIP/522 %HTTPPORT
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /522 HTTP/1.1
Authorization: Basic eHh4Onl5eQ==
Host: 127.0.0.1:%HTTPPORT
Pragma: no-cache
Accept: */*
</protocol>
<stdout>
hello
</stdout>
</verify>

View file

@ -40,7 +40,7 @@ SUPPORTFILES = first.c test.h
# These are all libcurl test programs
noinst_PROGRAMS = lib500 lib501 lib502 lib503 lib504 lib505 lib506 lib507 \
lib508 lib509 lib510 lib511 lib512 lib513 lib514 lib515 lib516 lib517 \
lib518 lib519 lib520
lib518 lib519 lib520 lib521 lib523
lib500_SOURCES = lib500.c $(SUPPORTFILES)
lib500_LDADD = $(LIBDIR)/libcurl.la
@ -125,3 +125,11 @@ lib519_DEPENDENCIES = $(LIBDIR)/libcurl.la
lib520_SOURCES = lib520.c $(SUPPORTFILES)
lib520_LDADD = $(LIBDIR)/libcurl.la
lib520_DEPENDENCIES = $(LIBDIR)/libcurl.la
lib521_SOURCES = lib521.c $(SUPPORTFILES)
lib521_LDADD = $(LIBDIR)/libcurl.la
lib521_DEPENDENCIES = $(LIBDIR)/libcurl.la
lib523_SOURCES = lib523.c $(SUPPORTFILES)
lib523_LDADD = $(LIBDIR)/libcurl.la
lib523_DEPENDENCIES = $(LIBDIR)/libcurl.la

16
tests/libtest/lib521.c Normal file
View file

@ -0,0 +1,16 @@
#include "test.h"
int test(char *URL)
{
CURLcode res;
CURL *curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, URL);
curl_easy_setopt(curl, CURLOPT_PORT, atoi(arg2));
curl_easy_setopt(curl, CURLOPT_USERPWD, "xxx:yyy");
curl_easy_setopt(curl, CURLOPT_VERBOSE, TRUE);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
return (int)res;
}

17
tests/libtest/lib523.c Normal file
View file

@ -0,0 +1,17 @@
#include "test.h"
int test(char *URL)
{
CURLcode res;
CURL *curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_PROXY, arg2);
curl_easy_setopt(curl, CURLOPT_URL, URL);
curl_easy_setopt(curl, CURLOPT_PORT, 19999);
curl_easy_setopt(curl, CURLOPT_USERPWD, "xxx:yyy");
curl_easy_setopt(curl, CURLOPT_VERBOSE, TRUE);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
return (int)res;
}