From 7d68101f83a28323fa24b1f705881415ccbe6467 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 3 Mar 2006 13:09:30 +0000 Subject: Prevent uploading to a URL that has no file name part. --- tests/data/test524 | 44 ++++++++++++++++++++++++++++++++++++++++++++ tests/libtest/Makefile.am | 8 ++++++-- tests/libtest/lib524.c | 15 +++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 tests/data/test524 create mode 100644 tests/libtest/lib524.c (limited to 'tests') diff --git a/tests/data/test524 b/tests/data/test524 new file mode 100644 index 000000000..36946667c --- /dev/null +++ b/tests/data/test524 @@ -0,0 +1,44 @@ + + +FTP +UPLOAD + + + +# +# Server-side + + + +# +# Client-side + + +ftp + + +lib524 + + +FTP upload with target URL ending with slash + +# first URL then proxy + +ftp://%HOSTIP:%FTPPORT/path/to/ + + + +# +# Verify data after the test has been "shot" + + +USER anonymous +PASS curl_by_daniel@haxx.se +PWD + + +# 3 is CURLE_URL_MALFORMAT + +3 + + diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am index ccbe2aa16..2af887726 100644 --- a/tests/libtest/Makefile.am +++ b/tests/libtest/Makefile.am @@ -5,7 +5,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 1998 - 2005, Daniel Stenberg, , et al. +# Copyright (C) 1998 - 2006, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -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 lib521 lib523 + lib518 lib519 lib520 lib521 lib523 lib524 lib500_SOURCES = lib500.c $(SUPPORTFILES) lib500_LDADD = $(LIBDIR)/libcurl.la @@ -133,3 +133,7 @@ lib521_DEPENDENCIES = $(LIBDIR)/libcurl.la lib523_SOURCES = lib523.c $(SUPPORTFILES) lib523_LDADD = $(LIBDIR)/libcurl.la lib523_DEPENDENCIES = $(LIBDIR)/libcurl.la + +lib524_SOURCES = lib524.c $(SUPPORTFILES) +lib524_LDADD = $(LIBDIR)/libcurl.la +lib524_DEPENDENCIES = $(LIBDIR)/libcurl.la diff --git a/tests/libtest/lib524.c b/tests/libtest/lib524.c new file mode 100644 index 000000000..be9f43466 --- /dev/null +++ b/tests/libtest/lib524.c @@ -0,0 +1,15 @@ +#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_UPLOAD, 1); + curl_easy_setopt(curl, CURLOPT_VERBOSE, TRUE); + + res = curl_easy_perform(curl); + curl_easy_cleanup(curl); + return (int)res; +} + -- cgit v1.2.3