xref: /aosp_15_r20/external/curl/tests/data/test1407 (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker<testcase>
2*6236dae4SAndroid Build Coastguard Worker# Based on test851
3*6236dae4SAndroid Build Coastguard Worker<info>
4*6236dae4SAndroid Build Coastguard Worker<keywords>
5*6236dae4SAndroid Build Coastguard WorkerPOP3
6*6236dae4SAndroid Build Coastguard WorkerClear Text
7*6236dae4SAndroid Build Coastguard WorkerLIST
8*6236dae4SAndroid Build Coastguard Worker--libcurl
9*6236dae4SAndroid Build Coastguard Worker</keywords>
10*6236dae4SAndroid Build Coastguard Worker</info>
11*6236dae4SAndroid Build Coastguard Worker
12*6236dae4SAndroid Build Coastguard Worker#
13*6236dae4SAndroid Build Coastguard Worker# Server-side
14*6236dae4SAndroid Build Coastguard Worker<reply>
15*6236dae4SAndroid Build Coastguard Worker<servercmd>
16*6236dae4SAndroid Build Coastguard WorkerREPLY LIST +OK %TESTNUMBER 100\r\n.
17*6236dae4SAndroid Build Coastguard Worker</servercmd>
18*6236dae4SAndroid Build Coastguard Worker</reply>
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard Worker#
21*6236dae4SAndroid Build Coastguard Worker# Client-side
22*6236dae4SAndroid Build Coastguard Worker<client>
23*6236dae4SAndroid Build Coastguard Worker<server>
24*6236dae4SAndroid Build Coastguard Workerpop3
25*6236dae4SAndroid Build Coastguard Worker</server>
26*6236dae4SAndroid Build Coastguard Worker<name>
27*6236dae4SAndroid Build Coastguard Worker--libcurl for POP3 LIST one message
28*6236dae4SAndroid Build Coastguard Worker</name>
29*6236dae4SAndroid Build Coastguard Worker<setenv>
30*6236dae4SAndroid Build Coastguard WorkerSSL_CERT_FILE=
31*6236dae4SAndroid Build Coastguard Worker</setenv>
32*6236dae4SAndroid Build Coastguard Worker<command>
33*6236dae4SAndroid Build Coastguard Workerpop3://%HOSTIP:%POP3PORT/%TESTNUMBER -l -u user:secret --libcurl %LOGDIR/test%TESTNUMBER.c
34*6236dae4SAndroid Build Coastguard Worker</command>
35*6236dae4SAndroid Build Coastguard Worker# Need ftp so the FTP options are written in the --libcurl template
36*6236dae4SAndroid Build Coastguard Worker<features>
37*6236dae4SAndroid Build Coastguard Workerftp
38*6236dae4SAndroid Build Coastguard Worker</features>
39*6236dae4SAndroid Build Coastguard Worker</client>
40*6236dae4SAndroid Build Coastguard Worker
41*6236dae4SAndroid Build Coastguard Worker#
42*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot"
43*6236dae4SAndroid Build Coastguard Worker<verify>
44*6236dae4SAndroid Build Coastguard Worker<protocol>
45*6236dae4SAndroid Build Coastguard WorkerCAPA
46*6236dae4SAndroid Build Coastguard WorkerUSER user
47*6236dae4SAndroid Build Coastguard WorkerPASS secret
48*6236dae4SAndroid Build Coastguard WorkerLIST %TESTNUMBER
49*6236dae4SAndroid Build Coastguard WorkerQUIT
50*6236dae4SAndroid Build Coastguard Worker</protocol>
51*6236dae4SAndroid Build Coastguard Worker<file name="%LOGDIR/test%TESTNUMBER.c" mode="text">
52*6236dae4SAndroid Build Coastguard Worker/********* Sample code generated by the curl command line tool **********
53*6236dae4SAndroid Build Coastguard Worker * All curl_easy_setopt() options are documented at:
54*6236dae4SAndroid Build Coastguard Worker * https://curl.se/libcurl/c/curl_easy_setopt.html
55*6236dae4SAndroid Build Coastguard Worker ************************************************************************/
56*6236dae4SAndroid Build Coastguard Worker#include <curl/curl.h>
57*6236dae4SAndroid Build Coastguard Worker
58*6236dae4SAndroid Build Coastguard Workerint main(int argc, char *argv[])
59*6236dae4SAndroid Build Coastguard Worker{
60*6236dae4SAndroid Build Coastguard Worker  CURLcode ret;
61*6236dae4SAndroid Build Coastguard Worker  CURL *hnd;
62*6236dae4SAndroid Build Coastguard Worker
63*6236dae4SAndroid Build Coastguard Worker  hnd = curl_easy_init();
64*6236dae4SAndroid Build Coastguard Worker  curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
65*6236dae4SAndroid Build Coastguard Worker  curl_easy_setopt(hnd, CURLOPT_URL, "pop3://%HOSTIP:%POP3PORT/%TESTNUMBER");
66*6236dae4SAndroid Build Coastguard Worker  curl_easy_setopt(hnd, CURLOPT_DIRLISTONLY, 1L);
67*6236dae4SAndroid Build Coastguard Worker  curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
68*6236dae4SAndroid Build Coastguard Worker  curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
69*6236dae4SAndroid Build Coastguard Worker  curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L);
70*6236dae4SAndroid Build Coastguard Worker  curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
71*6236dae4SAndroid Build Coastguard Worker
72*6236dae4SAndroid Build Coastguard Worker  /* Here is a list of options the curl code used that cannot get generated
73*6236dae4SAndroid Build Coastguard Worker     as source easily. You may choose to either not use them or implement
74*6236dae4SAndroid Build Coastguard Worker     them yourself.
75*6236dae4SAndroid Build Coastguard Worker
76*6236dae4SAndroid Build Coastguard Worker  CURLOPT_WRITEDATA was set to an object pointer
77*6236dae4SAndroid Build Coastguard Worker  CURLOPT_WRITEFUNCTION was set to a function pointer
78*6236dae4SAndroid Build Coastguard Worker  CURLOPT_READDATA was set to an object pointer
79*6236dae4SAndroid Build Coastguard Worker  CURLOPT_READFUNCTION was set to a function pointer
80*6236dae4SAndroid Build Coastguard Worker  CURLOPT_SEEKDATA was set to an object pointer
81*6236dae4SAndroid Build Coastguard Worker  CURLOPT_SEEKFUNCTION was set to a function pointer
82*6236dae4SAndroid Build Coastguard Worker  CURLOPT_ERRORBUFFER was set to an object pointer
83*6236dae4SAndroid Build Coastguard Worker  CURLOPT_STDERR was set to an object pointer
84*6236dae4SAndroid Build Coastguard Worker  CURLOPT_DEBUGFUNCTION was set to a function pointer
85*6236dae4SAndroid Build Coastguard Worker  CURLOPT_DEBUGDATA was set to an object pointer
86*6236dae4SAndroid Build Coastguard Worker  CURLOPT_HEADERFUNCTION was set to a function pointer
87*6236dae4SAndroid Build Coastguard Worker  CURLOPT_HEADERDATA was set to an object pointer
88*6236dae4SAndroid Build Coastguard Worker
89*6236dae4SAndroid Build Coastguard Worker  */
90*6236dae4SAndroid Build Coastguard Worker
91*6236dae4SAndroid Build Coastguard Worker  ret = curl_easy_perform(hnd);
92*6236dae4SAndroid Build Coastguard Worker
93*6236dae4SAndroid Build Coastguard Worker  curl_easy_cleanup(hnd);
94*6236dae4SAndroid Build Coastguard Worker  hnd = NULL;
95*6236dae4SAndroid Build Coastguard Worker
96*6236dae4SAndroid Build Coastguard Worker  return (int)ret;
97*6236dae4SAndroid Build Coastguard Worker}
98*6236dae4SAndroid Build Coastguard Worker/**** End of sample code ****/
99*6236dae4SAndroid Build Coastguard Worker</file>
100*6236dae4SAndroid Build Coastguard Worker<stripfile>
101*6236dae4SAndroid Build Coastguard Worker# These options vary with configurations - just ignore them
102*6236dae4SAndroid Build Coastguard Worker# CURLOPT_INTERLEAVEDATA requires RTSP (HTTP) protocol
103*6236dae4SAndroid Build Coastguard Worker$_ = '' if /CURLOPT_USERAGENT/
104*6236dae4SAndroid Build Coastguard Worker$_ = '' if /CURLOPT_MAXREDIRS/
105*6236dae4SAndroid Build Coastguard Worker$_ = '' if /CURLOPT_SSL_VERIFYPEER/
106*6236dae4SAndroid Build Coastguard Worker$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
107*6236dae4SAndroid Build Coastguard Worker$_ = '' if /CURLOPT_HTTP_VERSION/
108*6236dae4SAndroid Build Coastguard Worker$_ = '' if /CURLOPT_HTTP09_ALLOWED/
109*6236dae4SAndroid Build Coastguard Worker$_ = '' if /CURLOPT_INTERLEAVEDATA/
110*6236dae4SAndroid Build Coastguard Worker</stripfile>
111*6236dae4SAndroid Build Coastguard Worker</verify>
112*6236dae4SAndroid Build Coastguard Worker</testcase>
113