diff options
author | Milan Crha <mcrha@redhat.com> | 2023-04-19 14:59:41 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2023-04-19 14:59:41 +0200 |
commit | e8e751b65ed927e0028575045692fc38e9cceefe (patch) | |
tree | 7956561d2d8f77bf1c1070f7149baf0ac6119ca6 | |
parent | b8186d1caf4e0a73e7a96f2da96bd0c2d3f06870 (diff) | |
download | evolution-data-server-e8e751b65ed927e0028575045692fc38e9cceefe.tar.gz |
I#469 - IMAPx: Ignore 'Permission denied' error on refresh
Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/469
-rw-r--r-- | src/camel/providers/imapx/camel-imapx-server.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c index 1c4160288..1464042ca 100644 --- a/src/camel/providers/imapx/camel-imapx-server.c +++ b/src/camel/providers/imapx/camel-imapx-server.c @@ -5675,6 +5675,15 @@ camel_imapx_server_refresh_info_sync (CamelIMAPXServer *is, success = camel_imapx_server_process_command_sync (is, ic, _("Error running STATUS"), cancellable, error); + /* Ignore permission errors from possibly write-only mailboxes */ + if (!success && ic->status && ic->status->result == IMAPX_NO && ic->status->text && + camel_strstrcase (ic->status->text, "Permission denied")) { + camel_imapx_command_unref (ic); + g_clear_object (&selected_mailbox); + g_clear_error (error); + return TRUE; + } + camel_imapx_command_unref (ic); } g_clear_object (&selected_mailbox); |