113 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
<testcase>
 | 
						|
# Based on test800
 | 
						|
<info>
 | 
						|
<keywords>
 | 
						|
IMAP
 | 
						|
Clear Text
 | 
						|
FETCH
 | 
						|
--libcurl
 | 
						|
</keywords>
 | 
						|
</info>
 | 
						|
 | 
						|
#
 | 
						|
# Server-side
 | 
						|
<reply>
 | 
						|
<data>
 | 
						|
From: me@somewhere
 | 
						|
To: fake@nowhere
 | 
						|
 | 
						|
body
 | 
						|
 | 
						|
--
 | 
						|
  yours sincerely
 | 
						|
</data>
 | 
						|
</reply>
 | 
						|
 | 
						|
#
 | 
						|
# Client-side
 | 
						|
<client>
 | 
						|
<server>
 | 
						|
imap
 | 
						|
</server>
 | 
						|
 <name>
 | 
						|
--libcurl for IMAP FETCH message
 | 
						|
 </name>
 | 
						|
<setenv>
 | 
						|
SSL_CERT_FILE=
 | 
						|
</setenv>
 | 
						|
<command>
 | 
						|
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret --libcurl log/test%TESTNUMBER.c
 | 
						|
</command>
 | 
						|
</client>
 | 
						|
 | 
						|
#
 | 
						|
# Verify data after the test has been "shot"
 | 
						|
<verify>
 | 
						|
<protocol>
 | 
						|
A001 CAPABILITY
 | 
						|
A002 LOGIN user secret
 | 
						|
A003 SELECT %TESTNUMBER
 | 
						|
A004 FETCH 1 BODY[]
 | 
						|
A005 LOGOUT
 | 
						|
</protocol>
 | 
						|
<file name="log/test%TESTNUMBER.c" mode="text">
 | 
						|
/********* Sample code generated by the curl command line tool **********
 | 
						|
 * All curl_easy_setopt() options are documented at:
 | 
						|
 * https://curl.se/libcurl/c/curl_easy_setopt.html
 | 
						|
 ************************************************************************/
 | 
						|
#include <curl/curl.h>
 | 
						|
 | 
						|
int main(int argc, char *argv[])
 | 
						|
{
 | 
						|
  CURLcode ret;
 | 
						|
  CURL *hnd;
 | 
						|
 | 
						|
  hnd = curl_easy_init();
 | 
						|
  curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
 | 
						|
  curl_easy_setopt(hnd, CURLOPT_URL, "imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1");
 | 
						|
  curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
 | 
						|
  curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
 | 
						|
  curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L);
 | 
						|
  curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
 | 
						|
 | 
						|
  /* Here is a list of options the curl code used that cannot get generated
 | 
						|
     as source easily. You may choose to either not use them or implement
 | 
						|
     them yourself.
 | 
						|
 | 
						|
  CURLOPT_WRITEDATA set to a objectpointer
 | 
						|
  CURLOPT_WRITEFUNCTION set to a functionpointer
 | 
						|
  CURLOPT_READDATA set to a objectpointer
 | 
						|
  CURLOPT_READFUNCTION set to a functionpointer
 | 
						|
  CURLOPT_SEEKDATA set to a objectpointer
 | 
						|
  CURLOPT_SEEKFUNCTION set to a functionpointer
 | 
						|
  CURLOPT_ERRORBUFFER set to a objectpointer
 | 
						|
  CURLOPT_STDERR set to a objectpointer
 | 
						|
  CURLOPT_DEBUGFUNCTION set to a functionpointer
 | 
						|
  CURLOPT_DEBUGDATA set to a objectpointer
 | 
						|
  CURLOPT_HEADERFUNCTION set to a functionpointer
 | 
						|
  CURLOPT_HEADERDATA set to a objectpointer
 | 
						|
 | 
						|
  */
 | 
						|
 | 
						|
  ret = curl_easy_perform(hnd);
 | 
						|
 | 
						|
  curl_easy_cleanup(hnd);
 | 
						|
  hnd = NULL;
 | 
						|
 | 
						|
  return (int)ret;
 | 
						|
}
 | 
						|
/**** End of sample code ****/
 | 
						|
</file>
 | 
						|
<stripfile>
 | 
						|
# These options vary with configurations - just ignore them
 | 
						|
# CURLOPT_INTERLEAVEDATA requires RTSP (HTTP) protocol
 | 
						|
$_ = '' if /CURLOPT_USERAGENT/
 | 
						|
$_ = '' if /CURLOPT_MAXREDIRS/
 | 
						|
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
 | 
						|
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
 | 
						|
$_ = '' if /CURLOPT_HTTP_VERSION/
 | 
						|
$_ = '' if /CURLOPT_INTERLEAVEDATA/
 | 
						|
</stripfile>
 | 
						|
</verify>
 | 
						|
</testcase>
 |