push is not working for the outlook.com 06/94606/3 accepted/tizen/common/20161102.122120 accepted/tizen/ivi/20161102.073535 accepted/tizen/mobile/20161102.073503 accepted/tizen/wearable/20161102.073516 submit/tizen/20161102.044810
authorsireesha.t <sireesha.t@samsung.com>
Wed, 12 Oct 2016 06:31:50 +0000 (12:01 +0530)
committerintae jeon <intae.jeon@samsung.com>
Tue, 1 Nov 2016 09:10:47 +0000 (02:10 -0700)
[Problem]“Push” is not working for the “outlook.com “ .
[Cause & Measure] Cause: In gmail EXISTS response is coming first then RECENT response.In outlook RECENT response coming first then EXISTS.
In code once we read first response, we are not reading second response but sync procedure kept under EXISTS response. So for outlook server we are not doing sync operation .
Measure: Modified code to read both EXISTS and RECENT responses.

Change-Id: I2de6a9ecd013e06110d8c17f2cd86bd7ca012088
Signed-off-by: intae, jeon <intae.jeon@samsung.com>
email-core/email-core-imap-idle.c

index 3d97cb3..63d2a09 100755 (executable)
@@ -252,10 +252,14 @@ static int emcore_parse_imap_idle_response(char *multi_user_name,
                                if (strstr(p, "EXIST") != NULL) {
                                        if (!emcore_imap_idle_insert_sync_event(multi_user_name, input_account_id, input_mailbox_id, &err))
                                                EM_DEBUG_EXCEPTION_SEC("Syncing mailbox[%d] failed with err_code [%d]", input_mailbox_id, err);
-                               } else
+                                       EM_SAFE_FREE(p);
+                                       break;
+                               }
+                               else {
                                        EM_DEBUG_LOG("Skipped this message");
-                               EM_SAFE_FREE(p);
-                               break;
+                                       EM_SAFE_FREE(p);
+                               }
+
                        }
                } else if (p && (!strncmp(p, "+", 1))) {
                        /* Bad response from server */