Don't assert() on MYRIGHTS SELECT/EXAMINE response: Refs #6205

This doesn't solve #6205, as other unknown responses can cause this
problem as well, but it does fix this for the most-commonly reported
cause of this issue, MYRIGHTS.
This commit is contained in:
Kai Mast 2013-02-25 12:55:15 -08:00 committed by Jim Nelson
parent 668d5b8de6
commit 8d4761461f
3 changed files with 13 additions and 1 deletions

1
THANKS
View file

@ -13,6 +13,7 @@ Victor Eduardo <victor@elementaryos.org>
Daniel Foré <daniel@elementaryos.org> Daniel Foré <daniel@elementaryos.org>
Sven Hagemann <sven@rednose.nl> Sven Hagemann <sven@rednose.nl>
Timo Kluck <tkluck@infty.nl> Timo Kluck <tkluck@infty.nl>
Kai Mast <mail@kai-mast.de>
Thomas Moschny <thomas.moschny@gmx.de> Thomas Moschny <thomas.moschny@gmx.de>
Robert Park <rbpark@exolucere.ca> Robert Park <rbpark@exolucere.ca>
Mario Sanchez Prada <msanchez@igalia.com> Mario Sanchez Prada <msanchez@igalia.com>

View file

@ -90,6 +90,10 @@ public class Geary.Imap.SelectExamineResults : Geary.Imap.CommandResults {
ok_response.response_code.get_as_list(1)); ok_response.response_code.get_as_list(1));
break; break;
case ResponseCodeType.MYRIGHTS:
// not implemented
break;
default: default:
message("Unknown line in SELECT/EXAMINE response: \"%s\"", data.to_string()); message("Unknown line in SELECT/EXAMINE response: \"%s\"", data.to_string());
break; break;

View file

@ -14,7 +14,8 @@ public enum Geary.Imap.ResponseCodeType {
TRY_CREATE, TRY_CREATE,
UIDVALIDITY, UIDVALIDITY,
UIDNEXT, UIDNEXT,
UNSEEN; UNSEEN,
MYRIGHTS;
public string to_string() { public string to_string() {
switch (this) { switch (this) {
@ -48,6 +49,9 @@ public enum Geary.Imap.ResponseCodeType {
case UNSEEN: case UNSEEN:
return "unseen"; return "unseen";
case MYRIGHTS:
return "myrights";
default: default:
assert_not_reached(); assert_not_reached();
} }
@ -85,6 +89,9 @@ public enum Geary.Imap.ResponseCodeType {
case "unseen": case "unseen":
return UNSEEN; return UNSEEN;
case "myrights":
return MYRIGHTS;
default: default:
throw new ImapError.PARSE_ERROR("Unknown response code \"%s\"", value); throw new ImapError.PARSE_ERROR("Unknown response code \"%s\"", value);
} }