22 REPLY EPSV 500 no such command
23 REPLY FAIL 500 this might not be a failure!
33 --libcurl for FTP with quote ops
39 ftp://%HOSTIP:%FTPPORT/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/test1405.c
43 # Verify data after the test has been "shot"
61 <file name="log/test1405.c" mode="text">
62 /********* Sample code generated by the curl command line tool **********
63 * All curl_easy_setopt() options are documented at:
64 * https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
65 ************************************************************************/
66 #include <curl/curl.h>
68 int main(int argc, char *argv[])
72 struct curl_slist *slist1;
73 struct curl_slist *slist2;
74 struct curl_slist *slist3;
77 slist1 = curl_slist_append(slist1, "NOOP 1");
78 slist1 = curl_slist_append(slist1, "*FAIL");
80 slist2 = curl_slist_append(slist2, "NOOP 3");
82 slist3 = curl_slist_append(slist3, "NOOP 2");
83 slist3 = curl_slist_append(slist3, "*FAIL HARD");
85 hnd = curl_easy_init();
86 curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
87 curl_easy_setopt(hnd, CURLOPT_URL, "ftp://%HOSTIP:%FTPPORT/1405");
88 curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
89 curl_easy_setopt(hnd, CURLOPT_QUOTE, slist1);
90 curl_easy_setopt(hnd, CURLOPT_POSTQUOTE, slist2);
91 curl_easy_setopt(hnd, CURLOPT_PREQUOTE, slist3);
92 curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
93 curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
95 /* Here is a list of options the curl code used that cannot get generated
96 as source easily. You may select to either not use them or implement
99 CURLOPT_WRITEDATA set to a objectpointer
100 CURLOPT_INTERLEAVEDATA set to a objectpointer
101 CURLOPT_WRITEFUNCTION set to a functionpointer
102 CURLOPT_READDATA set to a objectpointer
103 CURLOPT_READFUNCTION set to a functionpointer
104 CURLOPT_SEEKDATA set to a objectpointer
105 CURLOPT_SEEKFUNCTION set to a functionpointer
106 CURLOPT_ERRORBUFFER set to a objectpointer
107 CURLOPT_STDERR set to a objectpointer
108 CURLOPT_DEBUGFUNCTION set to a functionpointer
109 CURLOPT_DEBUGDATA set to a objectpointer
110 CURLOPT_HEADERFUNCTION set to a functionpointer
111 CURLOPT_HEADERDATA set to a objectpointer
115 ret = curl_easy_perform(hnd);
117 curl_easy_cleanup(hnd);
119 curl_slist_free_all(slist1);
121 curl_slist_free_all(slist2);
123 curl_slist_free_all(slist3);
128 /**** End of sample code ****/
131 # CURLOPT_USERAGENT and CURLOPT_MAXREDIRS requires HTTP protocol
132 # support, IOW depends on configuration - just ignore these.
133 $_ = '' if /CURLOPT_USERAGENT/
134 $_ = '' if /CURLOPT_MAXREDIRS/
135 # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with
136 # configurations - just ignore them
137 $_ = '' if /CURLOPT_SSL_VERIFYPEER/
138 $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
139 $_ = '' if /CURLOPT_HTTP_VERSION/