113498266Sopenharmony_ci<testcase> 213498266Sopenharmony_ci# Based on test851 313498266Sopenharmony_ci<info> 413498266Sopenharmony_ci<keywords> 513498266Sopenharmony_ciPOP3 613498266Sopenharmony_ciClear Text 713498266Sopenharmony_ciLIST 813498266Sopenharmony_ci--libcurl 913498266Sopenharmony_ci</keywords> 1013498266Sopenharmony_ci</info> 1113498266Sopenharmony_ci 1213498266Sopenharmony_ci# 1313498266Sopenharmony_ci# Server-side 1413498266Sopenharmony_ci<reply> 1513498266Sopenharmony_ci<servercmd> 1613498266Sopenharmony_ciREPLY LIST +OK %TESTNUMBER 100\r\n. 1713498266Sopenharmony_ci</servercmd> 1813498266Sopenharmony_ci</reply> 1913498266Sopenharmony_ci 2013498266Sopenharmony_ci# 2113498266Sopenharmony_ci# Client-side 2213498266Sopenharmony_ci<client> 2313498266Sopenharmony_ci<server> 2413498266Sopenharmony_cipop3 2513498266Sopenharmony_ci</server> 2613498266Sopenharmony_ci<name> 2713498266Sopenharmony_ci--libcurl for POP3 LIST one message 2813498266Sopenharmony_ci</name> 2913498266Sopenharmony_ci<setenv> 3013498266Sopenharmony_ciSSL_CERT_FILE= 3113498266Sopenharmony_ci</setenv> 3213498266Sopenharmony_ci<command> 3313498266Sopenharmony_cipop3://%HOSTIP:%POP3PORT/%TESTNUMBER -l -u user:secret --libcurl %LOGDIR/test%TESTNUMBER.c 3413498266Sopenharmony_ci</command> 3513498266Sopenharmony_ci# Need ftp so the FTP options are written in the --libcurl template 3613498266Sopenharmony_ci<features> 3713498266Sopenharmony_ciftp 3813498266Sopenharmony_ci</features> 3913498266Sopenharmony_ci</client> 4013498266Sopenharmony_ci 4113498266Sopenharmony_ci# 4213498266Sopenharmony_ci# Verify data after the test has been "shot" 4313498266Sopenharmony_ci<verify> 4413498266Sopenharmony_ci<protocol> 4513498266Sopenharmony_ciCAPA 4613498266Sopenharmony_ciUSER user 4713498266Sopenharmony_ciPASS secret 4813498266Sopenharmony_ciLIST %TESTNUMBER 4913498266Sopenharmony_ciQUIT 5013498266Sopenharmony_ci</protocol> 5113498266Sopenharmony_ci<file name="%LOGDIR/test%TESTNUMBER.c" mode="text"> 5213498266Sopenharmony_ci/********* Sample code generated by the curl command line tool ********** 5313498266Sopenharmony_ci * All curl_easy_setopt() options are documented at: 5413498266Sopenharmony_ci * https://curl.se/libcurl/c/curl_easy_setopt.html 5513498266Sopenharmony_ci ************************************************************************/ 5613498266Sopenharmony_ci#include <curl/curl.h> 5713498266Sopenharmony_ci 5813498266Sopenharmony_ciint main(int argc, char *argv[]) 5913498266Sopenharmony_ci{ 6013498266Sopenharmony_ci CURLcode ret; 6113498266Sopenharmony_ci CURL *hnd; 6213498266Sopenharmony_ci 6313498266Sopenharmony_ci hnd = curl_easy_init(); 6413498266Sopenharmony_ci curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L); 6513498266Sopenharmony_ci curl_easy_setopt(hnd, CURLOPT_URL, "pop3://%HOSTIP:%POP3PORT/%TESTNUMBER"); 6613498266Sopenharmony_ci curl_easy_setopt(hnd, CURLOPT_DIRLISTONLY, 1L); 6713498266Sopenharmony_ci curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret"); 6813498266Sopenharmony_ci curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); 6913498266Sopenharmony_ci curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L); 7013498266Sopenharmony_ci curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L); 7113498266Sopenharmony_ci 7213498266Sopenharmony_ci /* Here is a list of options the curl code used that cannot get generated 7313498266Sopenharmony_ci as source easily. You may choose to either not use them or implement 7413498266Sopenharmony_ci them yourself. 7513498266Sopenharmony_ci 7613498266Sopenharmony_ci CURLOPT_WRITEDATA was set to an object pointer 7713498266Sopenharmony_ci CURLOPT_WRITEFUNCTION was set to a function pointer 7813498266Sopenharmony_ci CURLOPT_READDATA was set to an object pointer 7913498266Sopenharmony_ci CURLOPT_READFUNCTION was set to a function pointer 8013498266Sopenharmony_ci CURLOPT_SEEKDATA was set to an object pointer 8113498266Sopenharmony_ci CURLOPT_SEEKFUNCTION was set to a function pointer 8213498266Sopenharmony_ci CURLOPT_ERRORBUFFER was set to an object pointer 8313498266Sopenharmony_ci CURLOPT_STDERR was set to an object pointer 8413498266Sopenharmony_ci CURLOPT_DEBUGFUNCTION was set to a function pointer 8513498266Sopenharmony_ci CURLOPT_DEBUGDATA was set to an object pointer 8613498266Sopenharmony_ci CURLOPT_HEADERFUNCTION was set to a function pointer 8713498266Sopenharmony_ci CURLOPT_HEADERDATA was set to an object pointer 8813498266Sopenharmony_ci 8913498266Sopenharmony_ci */ 9013498266Sopenharmony_ci 9113498266Sopenharmony_ci ret = curl_easy_perform(hnd); 9213498266Sopenharmony_ci 9313498266Sopenharmony_ci curl_easy_cleanup(hnd); 9413498266Sopenharmony_ci hnd = NULL; 9513498266Sopenharmony_ci 9613498266Sopenharmony_ci return (int)ret; 9713498266Sopenharmony_ci} 9813498266Sopenharmony_ci/**** End of sample code ****/ 9913498266Sopenharmony_ci</file> 10013498266Sopenharmony_ci<stripfile> 10113498266Sopenharmony_ci# These options vary with configurations - just ignore them 10213498266Sopenharmony_ci# CURLOPT_INTERLEAVEDATA requires RTSP (HTTP) protocol 10313498266Sopenharmony_ci$_ = '' if /CURLOPT_USERAGENT/ 10413498266Sopenharmony_ci$_ = '' if /CURLOPT_MAXREDIRS/ 10513498266Sopenharmony_ci$_ = '' if /CURLOPT_SSL_VERIFYPEER/ 10613498266Sopenharmony_ci$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/ 10713498266Sopenharmony_ci$_ = '' if /CURLOPT_HTTP_VERSION/ 10813498266Sopenharmony_ci$_ = '' if /CURLOPT_HTTP09_ALLOWED/ 10913498266Sopenharmony_ci$_ = '' if /CURLOPT_INTERLEAVEDATA/ 11013498266Sopenharmony_ci</stripfile> 11113498266Sopenharmony_ci</verify> 11213498266Sopenharmony_ci</testcase> 113