[evolution-data-server] IMAPX: LIST-STATUS is an extension of LIST-EXTENDED.



commit 89f962c43e4c69022736ab1da27129884b36f712
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Sep 3 16:14:56 2013 -0400

    IMAPX: LIST-STATUS is an extension of LIST-EXTENDED.
    
    When capabilities are extensions of other capabilities, make sure the
    prerequisite capability flags are set even if the server did not list
    them explicitly.  LIST-STATUS is one such example.

 camel/camel-imapx-utils.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/camel/camel-imapx-utils.c b/camel/camel-imapx-utils.c
index 1ec71fb..f88147a 100644
--- a/camel/camel-imapx-utils.c
+++ b/camel/camel-imapx-utils.c
@@ -524,6 +524,13 @@ imapx_parse_capability (CamelIMAPXStream *stream,
                }
        }
 
+       /* Some capabilities are extensions of other capabilities.
+        * Make sure all prerequisite capability flags are present. */
+
+       /* LIST-STATUS is an extension of LIST-EXTENDED. */
+       if (CAMEL_IMAPX_HAVE_CAPABILITY (cinfo, LIST_STATUS))
+               cinfo->capa |= imapx_lookup_capability ("LIST-EXTENDED");
+
        if (local_error != NULL) {
                g_propagate_error (error, local_error);
                imapx_free_capability (cinfo);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]