aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/data/Makefile.inc2
-rw-r--r--tests/data/test13212
-rw-r--r--tests/data/test14204
-rw-r--r--tests/data/test15522
-rw-r--r--tests/data/test8002
-rw-r--r--tests/data/test8014
-rw-r--r--tests/data/test8022
-rw-r--r--tests/data/test8032
-rw-r--r--tests/data/test8042
-rw-r--r--tests/data/test8192
-rw-r--r--tests/data/test8202
-rw-r--r--tests/data/test8212
-rw-r--r--tests/data/test8222
-rw-r--r--tests/data/test8232
-rw-r--r--tests/data/test8242
-rw-r--r--tests/data/test8252
-rw-r--r--tests/data/test8262
-rw-r--r--tests/data/test8272
-rw-r--r--tests/data/test8282
-rw-r--r--tests/data/test8302
-rw-r--r--tests/data/test8312
-rw-r--r--tests/data/test8322
-rw-r--r--tests/data/test8332
-rw-r--r--tests/data/test8342
-rw-r--r--tests/data/test8352
-rw-r--r--tests/data/test8362
-rw-r--r--tests/data/test8372
-rw-r--r--tests/data/test8382
-rw-r--r--tests/data/test8392
-rw-r--r--tests/data/test8402
-rw-r--r--tests/data/test8422
-rw-r--r--tests/data/test8432
-rw-r--r--tests/data/test8442
-rw-r--r--tests/data/test8452
-rw-r--r--tests/data/test8462
-rw-r--r--tests/data/test84749
-rwxr-xr-xtests/ftpserver.pl8
37 files changed, 93 insertions, 38 deletions
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 0980ff003..aa0b03e3c 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -93,7 +93,7 @@ test809 test810 test811 test812 test813 test814 test815 test816 test817 \
test818 test819 test820 test821 test822 test823 test824 test825 test826 \
test827 test828 test829 test830 test831 test832 test833 test834 test835 \
test836 test837 test838 test839 test840 test841 test842 test843 test844 \
-test845 test846 \
+test845 test846 test847 \
\
test850 test851 test852 test853 test854 test855 test856 test857 test858 \
test859 test860 test861 test862 test863 test864 test865 test866 test867 \
diff --git a/tests/data/test1321 b/tests/data/test1321
index ee1b47857..72a52c935 100644
--- a/tests/data/test1321
+++ b/tests/data/test1321
@@ -51,7 +51,7 @@ http
IMAP FETCH tunneled through HTTP proxy
</name>
<command>
-'imap://imap.1321:%IMAPPORT/1321/;UID=1' -u user:secret -p -x %HOSTIP:%PROXYPORT
+'imap://imap.1321:%IMAPPORT/1321/;MAILINDEX=1' -u user:secret -p -x %HOSTIP:%PROXYPORT
</command>
</client>
diff --git a/tests/data/test1420 b/tests/data/test1420
index a5e1c5214..081ac6bbb 100644
--- a/tests/data/test1420
+++ b/tests/data/test1420
@@ -36,7 +36,7 @@ imap
SSL_CERT_FILE=
</setenv>
<command>
-'imap://%HOSTIP:%IMAPPORT/1420/;UID=1' -u user:secret --libcurl log/test1420.c
+'imap://%HOSTIP:%IMAPPORT/1420/;MAILINDEX=1' -u user:secret --libcurl log/test1420.c
</command>
</client>
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
- curl_easy_setopt(hnd, CURLOPT_URL, "imap://%HOSTIP:%IMAPPORT/1420/;UID=1");
+ curl_easy_setopt(hnd, CURLOPT_URL, "imap://%HOSTIP:%IMAPPORT/1420/;MAILINDEX=1");
curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
diff --git a/tests/data/test1552 b/tests/data/test1552
index c5b1b5728..48e55cb51 100644
--- a/tests/data/test1552
+++ b/tests/data/test1552
@@ -39,7 +39,7 @@ IMAP multi transfer error without curl_multi_remove_handle
lib1552
</tool>
<command>
-'imap://%HOSTIP:%IMAPPORT/1552/;UID=1'
+'imap://%HOSTIP:%IMAPPORT/1552/;MAILINDEX=1'
</command>
</client>
diff --git a/tests/data/test800 b/tests/data/test800
index 360206b43..6b74da90f 100644
--- a/tests/data/test800
+++ b/tests/data/test800
@@ -31,7 +31,7 @@ imap
IMAP FETCH message
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/800/;UID=1' -u '"user:sec"ret{'
+'imap://%HOSTIP:%IMAPPORT/800/;MAILINDEX=1' -u '"user:sec"ret{'
</command>
</client>
diff --git a/tests/data/test801 b/tests/data/test801
index 0012d3e4d..90766f79f 100644
--- a/tests/data/test801
+++ b/tests/data/test801
@@ -25,10 +25,10 @@ body
imap
</server>
<name>
-IMAP FETCH message by UID and SECTION
+IMAP FETCH message by MAILINDEX and SECTION
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/801/;UID=123/;SECTION=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/801/;MAILINDEX=123/;SECTION=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test802 b/tests/data/test802
index 17349a89a..19206a75d 100644
--- a/tests/data/test802
+++ b/tests/data/test802
@@ -29,7 +29,7 @@ imap
IMAP SELECT UIDVALIDITY Success
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/802;UIDVALIDITY=3857529045/;UID=123/;SECTION=TEXT' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret
</command>
</client>
diff --git a/tests/data/test803 b/tests/data/test803
index 5b8cc9eb6..834e4211d 100644
--- a/tests/data/test803
+++ b/tests/data/test803
@@ -24,7 +24,7 @@ imap
IMAP SELECT UIDVALIDITY Failure
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/803;UIDVALIDITY=12345/;UID=123' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret
</command>
</client>
diff --git a/tests/data/test804 b/tests/data/test804
index c6dfccf4a..90635c22c 100644
--- a/tests/data/test804
+++ b/tests/data/test804
@@ -28,7 +28,7 @@ imap
IMAP doesn't perform SELECT if re-using the same mailbox
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/804/;UID=123/;SECTION=1' 'imap://%HOSTIP:%IMAPPORT/804/;UID=456/;SECTION=2.3' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/804/;MAILINDEX=123/;SECTION=1' 'imap://%HOSTIP:%IMAPPORT/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret
</command>
</client>
diff --git a/tests/data/test819 b/tests/data/test819
index d0aa47ba5..b88e35055 100644
--- a/tests/data/test819
+++ b/tests/data/test819
@@ -37,7 +37,7 @@ imap
IMAP plain authentication
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/819/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/819/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test820 b/tests/data/test820
index f638f1cb6..0fe9bf2d6 100644
--- a/tests/data/test820
+++ b/tests/data/test820
@@ -37,7 +37,7 @@ imap
IMAP login authentication
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/820/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/820/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test821 b/tests/data/test821
index aee373b9a..6c511c1ef 100644
--- a/tests/data/test821
+++ b/tests/data/test821
@@ -40,7 +40,7 @@ crypto
IMAP CRAM-MD5 authentication
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/821/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/821/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test822 b/tests/data/test822
index a6c0407e6..60f0cf1d3 100644
--- a/tests/data/test822
+++ b/tests/data/test822
@@ -48,7 +48,7 @@ CURL_GETHOSTNAME=curlhost
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
<command>
-'imap://%HOSTIP:%IMAPPORT/822/;UID=1' -u testuser:testpass
+'imap://%HOSTIP:%IMAPPORT/822/;MAILINDEX=1' -u testuser:testpass
</command>
<precheck>
chkhostname curlhost
diff --git a/tests/data/test823 b/tests/data/test823
index 25c59ec60..32bd9d189 100644
--- a/tests/data/test823
+++ b/tests/data/test823
@@ -43,7 +43,7 @@ crypto
IMAP DIGEST-MD5 authentication
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/823/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/823/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test824 b/tests/data/test824
index e646eec76..96c8e87b9 100644
--- a/tests/data/test824
+++ b/tests/data/test824
@@ -37,7 +37,7 @@ imap
IMAP OAuth 2.0 (XOAUTH2) authentication
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/824/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+'imap://%HOSTIP:%IMAPPORT/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
diff --git a/tests/data/test825 b/tests/data/test825
index 6532b3ace..b489e95de 100644
--- a/tests/data/test825
+++ b/tests/data/test825
@@ -38,7 +38,7 @@ imap
IMAP plain authentication with initial response
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/825/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/825/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test826 b/tests/data/test826
index 0f9282945..a1125e2f4 100644
--- a/tests/data/test826
+++ b/tests/data/test826
@@ -38,7 +38,7 @@ imap
IMAP login authentication with initial response
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/826/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/826/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test827 b/tests/data/test827
index 5005271e1..1329ed237 100644
--- a/tests/data/test827
+++ b/tests/data/test827
@@ -49,7 +49,7 @@ CURL_GETHOSTNAME=curlhost
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
<command>
-'imap://%HOSTIP:%IMAPPORT/827/;UID=1' -u testuser:testpass
+'imap://%HOSTIP:%IMAPPORT/827/;MAILINDEX=1' -u testuser:testpass
</command>
<precheck>
chkhostname curlhost
diff --git a/tests/data/test828 b/tests/data/test828
index c86516a60..912aeff3d 100644
--- a/tests/data/test828
+++ b/tests/data/test828
@@ -38,7 +38,7 @@ imap
IMAP OAuth 2.0 (XOAUTH2) authentication with initial response
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/828/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+'imap://%HOSTIP:%IMAPPORT/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
diff --git a/tests/data/test830 b/tests/data/test830
index 5803bb11e..c7812b794 100644
--- a/tests/data/test830
+++ b/tests/data/test830
@@ -33,7 +33,7 @@ crypto
IMAP CRAM-MD5 graceful cancellation
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/830/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/830/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test831 b/tests/data/test831
index 8bff7eac0..fdcae29c1 100644
--- a/tests/data/test831
+++ b/tests/data/test831
@@ -40,7 +40,7 @@ CURL_GETHOSTNAME=curlhost
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
<command>
-'imap://%HOSTIP:%IMAPPORT/831/;UID=1' -u testuser:testpass
+'imap://%HOSTIP:%IMAPPORT/831/;MAILINDEX=1' -u testuser:testpass
</command>
<precheck>
chkhostname curlhost
diff --git a/tests/data/test832 b/tests/data/test832
index 044edb192..360654ab0 100644
--- a/tests/data/test832
+++ b/tests/data/test832
@@ -35,7 +35,7 @@ crypto
IMAP DIGEST-MD5 graceful cancellation
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/832/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/832/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test833 b/tests/data/test833
index b5fa03f9e..dc8214b8e 100644
--- a/tests/data/test833
+++ b/tests/data/test833
@@ -44,7 +44,7 @@ crypto
IMAP CRAM-MD5 authentication with SASL downgrade
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/833/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/833/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test834 b/tests/data/test834
index 17101ddfc..fc131773b 100644
--- a/tests/data/test834
+++ b/tests/data/test834
@@ -51,7 +51,7 @@ CURL_GETHOSTNAME=curlhost
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
<command>
-'imap://%HOSTIP:%IMAPPORT/834/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/834/;MAILINDEX=1' -u user:secret
</command>
<precheck>
chkhostname curlhost
diff --git a/tests/data/test835 b/tests/data/test835
index 34f28b71b..400233c0c 100644
--- a/tests/data/test835
+++ b/tests/data/test835
@@ -46,7 +46,7 @@ crypto
IMAP DIGEST-MD5 authentication with SASL downgrade
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/835/;UID=1' -u user:secret
+'imap://%HOSTIP:%IMAPPORT/835/;MAILINDEX=1' -u user:secret
</command>
</client>
diff --git a/tests/data/test836 b/tests/data/test836
index 035d48ffe..9478042ed 100644
--- a/tests/data/test836
+++ b/tests/data/test836
@@ -36,7 +36,7 @@ imap
IMAP multiple connection authentication
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/836/;UID=1' -u user.one:secret -: 'imap://%HOSTIP:%IMAPPORT/836/;UID=2' -u user.two:secret
+'imap://%HOSTIP:%IMAPPORT/836/;MAILINDEX=1' -u user.one:secret -: 'imap://%HOSTIP:%IMAPPORT/836/;UID=2' -u user.two:secret
</command>
</client>
diff --git a/tests/data/test837 b/tests/data/test837
index d5974634e..032726681 100644
--- a/tests/data/test837
+++ b/tests/data/test837
@@ -37,7 +37,7 @@ imap
IMAP external authentication
</name>
<command>
-'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/837/;UID=1'
+'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/837/;MAILINDEX=1'
</command>
</client>
diff --git a/tests/data/test838 b/tests/data/test838
index da2d28d05..f5378fb40 100644
--- a/tests/data/test838
+++ b/tests/data/test838
@@ -37,7 +37,7 @@ imap
IMAP external authentication without credentials
</name>
<command>
-'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/838/;UID=1'
+'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/838/;MAILINDEX=1'
</command>
</client>
diff --git a/tests/data/test839 b/tests/data/test839
index 2a544c1cf..508fb8e57 100644
--- a/tests/data/test839
+++ b/tests/data/test839
@@ -38,7 +38,7 @@ imap
IMAP external authentication with initial response
</name>
<command>
-'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/839/;UID=1'
+'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/839/;MAILINDEX=1'
</command>
</client>
diff --git a/tests/data/test840 b/tests/data/test840
index eaf1aeea4..1e85af396 100644
--- a/tests/data/test840
+++ b/tests/data/test840
@@ -38,7 +38,7 @@ imap
IMAP external authentication with initial response without credentials
</name>
<command>
-'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/840/;UID=1'
+'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/840/;MAILINDEX=1'
</command>
</client>
diff --git a/tests/data/test842 b/tests/data/test842
index d5aabbca8..e86abd430 100644
--- a/tests/data/test842
+++ b/tests/data/test842
@@ -38,7 +38,7 @@ imap
IMAP OAuth 2.0 (OAUTHBEARER) authentication
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/842/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+'imap://%HOSTIP:%IMAPPORT/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
# The protocol section doesn't support ways of specifying the raw data in the
# base64 encoded message so we must assert this
diff --git a/tests/data/test843 b/tests/data/test843
index a1c31a454..e286fd93f 100644
--- a/tests/data/test843
+++ b/tests/data/test843
@@ -39,7 +39,7 @@ imap
IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/843/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+'imap://%HOSTIP:%IMAPPORT/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
# The protocol section doesn't support ways of specifying the raw data in the
# base64 encoded message so we must assert this
diff --git a/tests/data/test844 b/tests/data/test844
index 055a9d2f4..2cdb265fa 100644
--- a/tests/data/test844
+++ b/tests/data/test844
@@ -30,7 +30,7 @@ imap
IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/844/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+'imap://%HOSTIP:%IMAPPORT/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
# The protocol section doesn't support ways of specifying the raw data in the
# base64 encoded message so we must assert this
diff --git a/tests/data/test845 b/tests/data/test845
index e23b3d69e..d8b557488 100644
--- a/tests/data/test845
+++ b/tests/data/test845
@@ -31,7 +31,7 @@ imap
IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/845/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+'imap://%HOSTIP:%IMAPPORT/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
# The protocol section doesn't support ways of specifying the raw data in the
# base64 encoded message so we must assert this
diff --git a/tests/data/test846 b/tests/data/test846
index b363ffd18..8d4d3c5fc 100644
--- a/tests/data/test846
+++ b/tests/data/test846
@@ -33,7 +33,7 @@ imap
IMAP PREAUTH response
</name>
<command>
-'imap://%HOSTIP:%IMAPPORT/846/;UID=1' -u notused:still-provided
+'imap://%HOSTIP:%IMAPPORT/846/;MAILINDEX=1' -u notused:still-provided
</command>
</client>
diff --git a/tests/data/test847 b/tests/data/test847
new file mode 100644
index 000000000..d4c104332
--- /dev/null
+++ b/tests/data/test847
@@ -0,0 +1,49 @@
+<testcase>
+<info>
+<keywords>
+IMAP
+Clear Text
+FETCH
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+imap
+</server>
+ <name>
+IMAP FETCH message
+ </name>
+ <command>
+'imap://%HOSTIP:%IMAPPORT/847/;UID=1' -u '"user:sec"ret{'
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+A001 CAPABILITY
+A002 LOGIN "\"user" "sec\"ret{"
+A003 SELECT 847
+A004 UID FETCH 1 BODY[]
+A005 LOGOUT
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 97f7b8ea5..d401be24c 100755
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -1560,7 +1560,13 @@ sub UID_imap {
if ($selected eq "") {
sendcontrol "$cmdid BAD Command received in Invalid state\r\n";
}
- elsif (($command ne "COPY") && ($command ne "FETCH") &&
+ elsif (substr($command, 0, 5) eq "FETCH"){
+ my $func = $commandfunc{"FETCH"};
+ if($func) {
+ &$func($args, $command);
+ }
+ }
+ elsif (($command ne "COPY") &&
($command ne "STORE") && ($command ne "SEARCH")) {
sendcontrol "$cmdid BAD Command Argument\r\n";
}