imap: change from "FETCH" to "UID FETCH"

... and add "MAILINDEX".

As described in #2789, this is a suggested solution.  Changing UID=xx to
actually get mail with UID xx and add "MAILINDEX" to get a mail with a
special index in the mail box (old behavior).  So MAILINDEX=1 gives the
first non deleted mail in the mail box.

Fixes #2789
Closes #2815
This commit is contained in:
Nicklas Avén 2018-07-31 13:12:18 +02:00 committed by Daniel Stenberg
parent 2825f46d95
commit 6987fcef65
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
40 changed files with 139 additions and 59 deletions

View file

@ -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";
}