22 REPLY EPSV 500 no such command
23 REPLY FAIL 500 this might not be a failure!
33 --libcurl for FTP with quote ops
36 ftp://%HOSTIP:%FTPPORT/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/test1405.c
40 # Verify data after the test has been "shot"
44 PASS ftp@example.com
\r
58 <file name="log/test1405.c" mode="text">
59 /********* Sample code generated by the curl command line tool **********
60 * All curl_easy_setopt() options are documented at:
61 * https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
62 ************************************************************************/
63 #include <curl/curl.h>
65 int main(int argc, char *argv[])
69 struct curl_slist *slist1;
70 struct curl_slist *slist2;
71 struct curl_slist *slist3;
74 slist1 = curl_slist_append(slist1, "NOOP 1");
75 slist1 = curl_slist_append(slist1, "*FAIL");
77 slist2 = curl_slist_append(slist2, "NOOP 3");
79 slist3 = curl_slist_append(slist3, "NOOP 2");
80 slist3 = curl_slist_append(slist3, "*FAIL HARD");
82 hnd = curl_easy_init();
83 curl_easy_setopt(hnd, CURLOPT_URL, "ftp://%HOSTIP:%FTPPORT/1405");
84 curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
85 curl_easy_setopt(hnd, CURLOPT_QUOTE, slist1);
86 curl_easy_setopt(hnd, CURLOPT_POSTQUOTE, slist2);
87 curl_easy_setopt(hnd, CURLOPT_PREQUOTE, slist3);
88 curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
89 curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
91 /* Here is a list of options the curl code used that cannot get generated
92 as source easily. You may select to either not use them or implement
95 CURLOPT_WRITEDATA set to a objectpointer
96 CURLOPT_WRITEFUNCTION set to a functionpointer
97 CURLOPT_READDATA set to a objectpointer
98 CURLOPT_READFUNCTION set to a functionpointer
99 CURLOPT_SEEKDATA set to a objectpointer
100 CURLOPT_SEEKFUNCTION set to a functionpointer
101 CURLOPT_ERRORBUFFER set to a objectpointer
102 CURLOPT_STDERR set to a objectpointer
103 CURLOPT_DEBUGFUNCTION set to a functionpointer
104 CURLOPT_DEBUGDATA set to a objectpointer
105 CURLOPT_HEADERFUNCTION set to a functionpointer
106 CURLOPT_HEADERDATA set to a objectpointer
110 ret = curl_easy_perform(hnd);
112 curl_easy_cleanup(hnd);
114 curl_slist_free_all(slist1);
116 curl_slist_free_all(slist2);
118 curl_slist_free_all(slist3);
123 /**** End of sample code ****/
126 # CURLOPT_USERAGENT and CURLOPT_MAXREDIRS requires HTTP protocol
127 # support, IOW depends on configuration - just ignore these.
128 $_ = '' if /CURLOPT_USERAGENT/
129 $_ = '' if /CURLOPT_MAXREDIRS/
130 # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with
131 # configurations - just ignore them
132 $_ = '' if /CURLOPT_SSL_VERIFYPEER/
133 $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
134 $_ = '' if /CURLOPT_HTTP_VERSION/